]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Allow compilation with mingw64 albeit with warnings due to lack of
[grub2.git] / ChangeLog
CommitLineData
4b4eeb3c
VS
12013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Allow compilation with mingw64 albeit with warnings due to lack of
4 %llx/%llu.
5
6 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
7 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
8 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
9 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
10 on mingw64.
11 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
12
f4e0adc0
VS
132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Remove leftover references to some of the system headers.
16
e0127364
VS
172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
20 read.
21
20d53541
VS
222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
25 of strerror.
26
5a869940
VS
272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Split out blocklist retrieving from setup.c to
30 grub-core/osdep/blocklist.c and add windows implementation since
31 generic version doesn't work on NTFS on Windows due to aggressive
32 unflushable cache.
33
c06c7520
VS
342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
37 files.
38
8f53bb3f
VS
392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
42 Cut tailing newline. Remove arbitrary limitation. Always use
43 grub_util_tchar_to_utf8.
44
148f1007
VS
452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
48 * tests/printf_unit_test.c (printf_test): Add %% tests.
49 Reported by: Paulo Flabiano Smorigo.
50
af3b06be
VS
512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
54 implement fsync.
55
27f9d02e
VS
562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * configure.ac: Check for nvlist_lookup_string in nvpair since we
59 use nvlist_lookup_string and don't use nvlist_print.
60
f6a81f0a
VS
612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
62
63 Add wrappers around rename, unlink, mkdir, opendir, readdir and
64 closedir to handle filename charset translation.
65
d7750b32
VS
662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * include/grub/emu/hostdisk.h: Move file operations to
69 * include/grub/emu/hostfile.h: ... here.
70
2859196e
VS
712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
74 unicode path.
75
c018c968
VS
762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
79
7e45abce
VS
802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
83 and remove export.h.
84
23934da2
VS
852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/kern/emu/error.c: Removed.
88 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
89 explicitly as it's already in libgnu.a.
90
c11ebcc8
VS
912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
94 config-util.h include.
95
70671037
VS
962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
97
98 Split emunet into platform-dependent and GRUB-binding parts. Keep
99 platform-dependent part in kernel for easy access to OS functions.
100
25ac643a
VS
1012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
104 open/read/write.
105
69ca5876
VS
1062013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/osdep/windows/emuconsole.c: New file.
109
d9d68ef0
AB
1102013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
111
112 * conf/Makefile.extra-dist: Add osdep/*/init.c
113
58e211cc
VS
1142013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
117
588744d0
VS
1182013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * util/grub-probe.c (probe): Separate different drives in hint-str
121 by spaces and not newlines.
122 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
123
44016e52
AB
1242013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
125
126 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
127 Handle CD-ROMs.
128
6de9ee86
VS
1292013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
130
131 Pass-through unknown E820 types. It required reorganisation of mmap
132 module.
133
f8f3f155
AB
1342013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
135
136 * Makefile.util.def: Add osdep/init.c to grub-mount files.
137
b73249d2
VS
1382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
139
140 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
141 fseeko.
142
dac86b18 1432013-10-14 qwertial <qwertial>
144
145 * grub-core/gdb_grub.in: Fix overflow and wrong field.
146
17614b84
JM
1472013-10-14 Jon McCune <jonmccune@google.com>
148
149 * docs/grub.texi: Document new signatures possibility.
150
6de292cb
VS
1512013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
154
84379b61
VS
1552013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
158 missing prototype.
159 (grub_util_tchar_to_utf8): Likewise.
160
21d85db1
VS
1612013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
164 * grub-core/kern/emu/main.c: Add missing include.
165 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
166 Don't call grub_util_init_nls.
167 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
168 Likewise.
169
66a1b3ee
VS
1702013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
173 stat.
174
e19bec17
VS
1752013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
178
ee8c1b29
VS
1792013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
182
bb338aaf
VS
1832013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Add a wrapper for fopen. On unix-like systems just pass-through. On
186 windows use unicode version.
187
ae5540d3
VS
1882013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
189
190 Move set_program_name and init_nls to host_init. On windows
191 fix in this fuction console and argument charset as well.
192
4cd3c4fe
AB
1932013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
194
195 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
196 GRUB_ENABLE_CRYPTODISK.
197
198 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
199 GRUB_ENABLE_CRYPTODISK.
200 * util/grub-mkconfig_lib.in: Likewise.
201
78170f3e
CCZ
2022013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
203
204 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
205
3414b6c0
MC
2062013-10-12 Melki Christian <Christian.melki@saabgroup.com>
207
208 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
209 error when enabling debug.
210
6d0740e8
IB
2112013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
212
213 * configure.ac: Use -melf_*_obsd on openbsd.
214
ff2d4dc4
VS
2152013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
218
eac6ae82
VS
2192013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * include/grub/misc.h: Use gnu_printf rather than printf as format
222 template since our functions are independent of libc.
223
ba9baabe
VS
2242013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * util/grub-setup.c (setup): Move copying of partition table as
227 futher up as possible to avoid possible overwrite by floppy routines.
228
2292013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
230
231 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
232
145e2369
VT
2332013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
234
235 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
236 * docs/grub.texi: Likewise.
237
3530bc9d
VS
2382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
241 it's mostly unused. Move vestiges to the callers.
242
fb9f59c3
VS
2432013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
246 version of salt and hash. Use grub_snprintf rather than snprintf.
247
9be1c255
VS
2482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * docs/grub.texi: Fix problem with braces.
251
ed8c0887
VS
2522013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * conf/Makefile.extra-dist: Fix extra-dist list.
255 * grub-core/Makefile.core.def: Likewise.
256
f72ab14e
VS
2572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * docs/grub.texi: Document disk names used on Windows and AROS.
260
2fe53a22
VS
2612013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
264 with AROS devs.
265 * grub-core/osdep/aros/hostdisk.c: Likewise.
266
71c1d67a
VS
2672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Avoid including hostfile.h when not necessarry as it pulls
270 in OS-specific headers which may redefine generic names
271 like "far".
272
ad297ec7
VT
2732013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
274
275 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
276 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
277 scrollbar_bottom_pad
278 * docs/grub.texi: Likewise.
279
6e9e5dc9
VT
2802013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
281
282 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
283
761c718b
VS
2842013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
285
286 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
287
37149a2f
VS
2882013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
291 Removed.
292 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
293 Made static.
294
3837a151
VS
2952013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
298 leftover.
299
caca1c70
VS
3002013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
301
302 Move OS-specific driver configuration to grub_util_fd_open. This
303 moves OS-dependent parts from kern/emu/hostdisk.c to
304 grub-core/osdep/*/hostdisk.c.
305
f7676b70
VS
3062013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * util/grub-mkimage.c (generate_image): Use size_t instead of
309 grub_size_t.
310 * util/grub-mkimagexx.c (locate_sections): Likewise.
311 (load_image): Likewise.
312
22f98db2
VS
3132013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
316 size_t.
317 (grub_util_write_image): Likewise.
318
b102ce69
VS
3192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
322 get random when no RNG is available.
323 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
324
acbbe5cb
VS
3252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * include/grub/util/lvm.h: Removed.
328
2112fb3f
VS
3292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
332 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
333
79f78fbf
VS
3342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/osdep/windows/sleep.c: Add missing config.h.
337
c2e6f705
VS
3382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
341
aabe433a
VS
3422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/net/drivers/emu/emunet.c: Move to ..
345 * grub-core/osdep/linux/emunet.c: ..here.
346
9a2c903f
VS
3472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * util/ieee1275/ofpath.c: Move to ...
350 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
351 * grub-core/osdep/basic/ofpath.c: ..here.
352
4a445f58
VS
3532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
354
355 Move password-querying (util-version) routines to grub-core/osdep.
356
c1ca4244
VS
3572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
358
359 Move sleep routines to grub-core/osdep.
360
672fa55e
VS
3612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Move OS-dependent files to grub-core/osdep and document it.
364
a5b0365a
VS
3652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
368 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
369
29072e99
VS
3702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
373
f8772ea7
VS
3742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/misc.c: Remove leftover inclusion of malloc.h.
377
a1a315e7
VS
3782013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * include/grub/setjmp.h: Remove leftover GRUBOF.
381
cef86fef
VS
3822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * util/raid.c: Fold into ...
385 * util/getroot_linux.c: ... here. Make all functions static.
386
c4cf25ee
VS
3872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
390 macros to GRUB ones.
391
53a5f5c2
VT
3922013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
393
394 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
395 occasional bug. If there are too many boot entries or too low
396 scrollbar height then we need to use another formula to calculate
397 the position and size of the scrollbar thumb.
398
de300af2
VS
3992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
400
c4cf25ee 401 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 402
c5827364
VT
4032013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
404
405 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
406 * docs/grub.texi: Likewise.
407
dd2ed8b0
VT
4082013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
409
410 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
411 viewport.
412
7286c384
VT
4132013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
414
ffdfc1f3
VT
415 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
416 minimal width calculations.
7286c384 417
ea547e14
VS
4182013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * docs/grub.texi: Update note on colors on emu console.
421
b726be76
VS
4222013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
425 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
426 it's FS and not GRUB limitation.
427
a5f6ade6
VS
4282013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
431
3b0f3aa2
VS
4322013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
435
1db38304
ST
4362013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
437
438 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
439 kernels by version order.
440
fb295fc0
VS
4412013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
444
47345010
VS
4452013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
446
447 Add AROS hostdisk and getroot routines.
448
bf25f879
VS
4492013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Make cryptodisk and diskfilter probe data retrievable programmatically
452 and not just printable.
453
24ca4512
VS
4542013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Split random retrieving code into separate files.
457
c7c177f0
VS
4582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
461 R_ARM_V4BX.
462
d71b45ae
VS
4632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
466 condition.
467 * grub-core/tests/fake_input.c: Likewise.
468 * grub-core/tests/cmdline_cat_test.c: Likewise.
469
e44b9a83
VS
4702013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/video/capture.c: Do not do finalization when .fini
473 is called as there is explicit capture_end.
474
4fa60739
VS
4752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
478 changing windows to avoid crash.
479
17c8bc37
VS
4802013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
483
9d4d7977
VS
4842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * po/exclude.pot: Add several strings to exclude.
487
0caa407c
VS
4882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
491
9ae393da
VS
4922013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * autogen.sh: Add ./util/grub-gen-widthspec.c and
495 ./util/grub-gen-asciih.c to exclude list.
496
498d5033
VS
4972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
500 and don't mark error strings for translation.
501
7d93298f
VS
5022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
505 properly in case of missing block size.
506
b2cae20c
VS
5072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/lib/arm/setjmp.S: Add missing license section.
510
3896d6b4
VS
5112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * po/swiss.sed: Add replacement for key names and for term computer.
514
ebc1da55
VT
5152013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
516
517 * grub-core/gfxmenu/theme_loader.c: New global options for the
518 theme background image handling. desktop-image-scale-method,
519 desktop-image-h-align, desktop-image-v-align.
520 * grub-core/gfxmenu/view.c: Likewise.
521 * include/gfxmenu_view.h: Likewise.
522 * include/bitmap_scale.h: Proportional scale functions introduced.
523 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
524 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
525 cases of unexpected input variables for scale functions.
526 * docs/grub.texi: Updated documentation for new options.
527
c5739143
VS
5282013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
531
be74aeb3
VT
5322013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
533
534 * grub-core/tests/checksums.h: Corrected due to changes in
535 bilinear interpolation function.
536
d999ac72
VT
5372013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
538
539 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
540 to eliminate artefacts in bilinear interpolation.
541
2b131610
VS
5422013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/video/readers/tga.c: Support paletted tga.
545
de6e5ff8
VS
5462013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
549 incorrect cbcr setting when in color mode.
550
fa31ee9c
VS
5512013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/video/readers/png.c: Support paletted images and clean up
554 greyscale support.
555
e84f8188
VS
5562013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
559 usage of wrong table which resulted in mishandling of 4-byte
560 sequences.
561
5622013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
563
564 * grub-core/term/terminfo.c: Add Home and End key sequences.
565
d72bff09
VS
5662013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/video/readers/png.c (grub_png_decode_image_header):
569 Fix formula for computing total number of bytes.
570
29648c5d
VS
5712013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
574 image processing, fix big-endian and support grayscale.
575
4a876492
VS
5762013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
579 Correctly will with maximum transparency when using index color.
580
3ccf16df
VS
5812013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/video/readers/png.c: Support grayscale
584
5852013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
586
587 * grub-core/video/readers/jpeg.c: Support grayscale.
588
3ccf16df 5892013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
590
591 * grub-core/commands/loadenv.c: Support skipping signature check
592 and variable names filtering.
593
30b7f58f
VS
5942013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
597 * grub-core/kern/emu/hostfs.c: Likewise.
598 * util/getroot_unix.c: Likewise.
599
bab7b1eb
VS
6002013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
603 Migrate all explicit defines to this new one.
604
43b1c99d
VS
6052013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
608 grub_util_fd_strerror when using grub_util_fd_*.
609 (grub_util_fd_open_device): Likewise.
610 (grub_util_biosdisk_read): Likewise.
611 (grub_util_biosdisk_write): Likewise.
612 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
613 (grub_util_fd_strerror): Likewise.
614 (grub_util_fd_sync): Likewise.
615 (grub_util_fd_close): Likewise.
616 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
617 (grub_util_fd_close): Likewise.
618 (grub_util_fd_strerror): Likewise.
619 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
620 function proto rather than macro.
621 (grub_util_fd_sync): Likewise.
622 (grub_util_fd_open): Likewise.
623 (grub_util_fd_strerror): New proto.
624
e8fd80bc
VS
6252013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
628 platforms on which it doesn't work.
629
bf645fda
VS
6302013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
633 stat immediately to where it's used.
634
5177ba14
VS
6352013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * util/getroot.c (grub_util_check_block_device): Move to ...
638 * util/getroot_unix.c (grub_util_check_block_device): ... here.
639 * util/getroot.c (grub_util_check_char_device): Move to ...
640 * util/getroot_unix.c (grub_util_check_char_device): ... here.
641
9db826e1
VS
6422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
645 disk closing logic.
646
49120085
AB
6472013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
648
649 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
650
b3328b68
AB
6512013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
652
653 * docs/grub.texi (File name syntax): Document ZFS filenames
654 (/volume@snapshot/...).
655
3fff48ab
VS
6562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
659 Always return full path. Fixes a problem with mkrelpath.
660
39cfdaa9
PFS
6612013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
662
663 * util/grub-install.in: Add GPT PReP support.
664 * util/grub-probe.c (probe): Support GPT partition type.
665 (main): Support -t gpt_parttype.
666
7c680e1f 6672013-09-23 Aleš Nesrsta <starous@volny.cz>
668
669 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
670
890bdabe
MM
6712013-09-23 Massimo Maggi <me@massimo-maggi.eu>
672
673 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
674
9c262ff9
TH
6752013-09-23 Tim Hardeck <thardeck>
676
677 * util/grub.d/10_hurd.in: Filter out character for the class.
678 * util/grub.d/10_kfreebsd.in: Likewise.
679 * util/grub.d/10_linux.in: Likewise.
680 * util/grub.d/20_linux_xen.in: Likewise.
681
d755342a
MC
6822013-09-23 Melki Christian <Christian.melki@saabgroup.com>
683
684 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
685 "changed".
686
68b77707
JT
6872013-09-23 Josh Triplett <josh@joshtriplett.org>
688
689 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
690 boot partition.
691
efa68bfa
VS
6922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
695 doesn't use posix_wrap. Keep literal -fno-builtin however.
696
d9104204
VS
6972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
700
c248781a 7012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7022013-09-23 neil
703
5830df88 704 * configure.ac: Do not enable -Wmissing-noreturn as its
705 usefulness is limited and creates problems on some OS notably with
706 code generated by bison.
707
7082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7092013-09-23 neil
710
711 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 712 supported by all gcc and when it is, it's already enabled by -Wall.
713
621bed69
VS
7142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
717 desactivated use of EDID at all.
718
71764dc8 7192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7202013-09-23 neil
721
722 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
723 video if no text is available.
724
affce7d4 7252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
7262013-09-23 neil
727
728 * configure.ac: Substitute TARGET_RANLIB.
729
7302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7312013-09-23 neil
affce7d4
VS
732
733 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
734
735 Based on patches from AROS.
736
0e8daad0 7372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 7382013-09-23 neil
0e8daad0
VS
739
740 * grub-core/Makefile.am: Override STRIP and RANLIB.
741 * configure.ac: compute TARGET_RANLIB.
742 * INSTALL: Document TARGET_RANLIB
743
744 Based on patches from AROS.
745
3f7d9c82
VS
7462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
749 that floppies are unpartitioned.
750
bca8873a
VS
7512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
754 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
755
7562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
759 less nice but more portable.
760 * grub-core/lib/posix_wrap/wchar.h: Likewise.
761
a47a78be
VS
7622013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
765 for cheat_fd.
766 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
767 functions.
768 (grub_cryptodisk_cheat_insert): Likewise.
769 (grub_cryptodisk_close): Likewise.
770
e85a5d5c
VS
7712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
774 Use windows path for DEFAULT_DIRECTORY.
775
dad9fa6b
VS
7762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
779 difference was likely just gcc version, not anything mingw-related.
780
7e518ca8
VS
7812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Use Winapi on both cygwin and mingw32 to share more code between both.
784
d68d0157
AB
7852013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
786
787 * util/grub-install.in: Add --grub-editenv option.
788 * util/grub-install_header (grub_compress_file): Explicitly check for
789 plain file to avoid cp error.
790
775b284d
AB
7912013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
792
793 * docs/grub.texi (Device syntax): Document new LVM UUID based device
794 names; fix LVM driver name (lvm, not lv).
795 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
796 names.
797
3ff4063d
VS
7982013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
801 files rather than one file with loads of #if's.
802 * util/getroot.c: Likewise.
803
287faafe
VS
8042013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
807
d1983764
VS
8082013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
811 GNU/Hurd to the list of checked PRNG.
812
15ce95c4
VS
8132013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * configure.ac: On FreeBSD use -melf_*_fbsd format.
816
207862dd 8172013-09-21 Ales Nesrsta <starous@volny.cz>
818
7c680e1f 819 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 820
63653cfd
VS
8212013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
824 * grub-core/disk/lvm.c: Add LVM UUIDs.
825 * util/getroot.c: Use LVM UUIDs whenever possible.
826
f5d3e7ef
AB
8272013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
828
829 * docs/grub.texi (Networking commands): Add documentation for
830 network related commands.
831
53c6b7d6
VS
8322013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/getroot.c (grub_util_open_dm): Check major rather than the name
835 to determine if device is handled by devmapper.
836 (convert_system_partition_to_system_disk): Likewise.
837 (get_dm_uuid): Don't check explicitly if device is mapped, it's
838 already done in grub_util_open_dm.
839
e70d6736
LL
8402013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
841
842 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
843 Clean up stack manipulation (sync_caches_armv*)
844
90379808
VS
8452013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * util/lvm.c: Remove since unused. Remove remaining references.
848
386701a8
VS
8492013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Handle the case of partitioned LVM properly.
852
853 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
854 Stop on meeting LVM, mpath or DMRAID.
855 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
856 (read_device_map): Likewise.
857 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
858 device is full disk rather than erroring out on LVM and similar cases.
859
53070787
VS
8602013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
863
1bc783bd
VS
8642013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
867 4K before the end.
868 Reported by: Leif Lindholm
869
436ad5c3
PW
8702013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
8712013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
874 codes.
875
607319c9
CW
8762013-09-18 Colin Watson <cjwatson@ubuntu.com>
877
878 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
879 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
880
d404d154
DR
8812013-09-18 Douglas Ray <dougray@cpan.org>
882
883 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
884 as secure.
885
28851ef6
AN
8862013-09-18 Aleš Nesrsta <starous@volny.cz>
887
888 * docs/grub.texi: Fix broken link.
889
897c3bc6
MC
8902013-09-18 Melki Christian <Christian.melki@saabgroup.com>
891
892 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
893 to break endless loop.
894
f1630459
VS
8952013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * util/grub-fstest.c: Fix several printf formats.
898 * util/grub-mkimage.c: Likewise.
899 * util/grub-mkimagexx.c: Likewise.
900 * util/grub-script-check.c: Likewise.
901
64463dfd
VS
9022013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
905 error.
906
48972495
VS
9072013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
910
5dd5e64b
VS
9112013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
914 removed in current versions cygwin_conv_*.
915
1c1f31e5
VS
9162013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * configure.ac: Disable efiemu runtime on cygwin.
919
c546a259
VS
9202013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
923 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
924
81690478
VS
9252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
928 error message.
929
6b87c10a
VS
9302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
933 windows variant.
934 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
935 data.
936
8f0baaac
VS
9372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
940 when on x86 and not cygwin.
941 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
942 -Wl,-melf_x86_64.
943
b224c266
VS
9442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * configure.ac: Set CPP to build one when checkoing for freetype for
947 build.
948
506b336b
VS
9492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
952 [!GRUB_BUILD]: Remove has_argument.
953
8c8c87b7
VS
9542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
957 Replace with a dummy.
958
7dc5ca13
VS
9592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * configure.ac: Don't change host_os from mingw to cygwin.
962
c3302aa5
VS
9632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * configure.ac: Change target_os from windows to cygwin.
966
7b780018
VS
9672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Handle grub-pe2elf and grub-mkfont for cases when build != host.
970
971 * Makefile.am (build-grub-mkfont): Don't include gnulib.
972 (build-grub-gen-asciih): Likewise.
973 (build-grub-gen-widthspec): Likewise.
974 * Makefile.util.def (grub-pe2elf): Remove.
975 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
976 * configure.ac: Separate tests for build.
977 Move ./build-grub-pe2elf to grub-core.
978 Fix typo.
979 * grub-core/Makefile.am (build-grub-pe2elf): New target.
980 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
981 defined.
982 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
983 constants.
984 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
985 * util/grub-pe2elf.c: Simplify not to rely on getopt.
986 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
987
984cfd8a
VS
9882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
991 mingw32 as well based on grub_util_get_disk_size.
992 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
993 grub_util_get_fd_size.
994 (sync): Removed.
995 (fsync): Moved to ...
996 * grub-core/kern/emu/misc.c (fsync): ... here.
997
f82d79c9
VS
9982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * include/grub/mm.h (grub_extend_alloc): Remove.
1001 * grub-core/loader/i386/pc/plan9.c: Use own version of
1002 grub_extend_alloc with appropriate types.
1003
fd7dd66d
VS
10042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1007
43ffba7c
VS
10082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1011
3c7eac44
VS
10122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Fix dependencies on cygwin.
1015
1016 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1017 dependencies when used and defined.
1018 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1019
bdb5ba47
VS
10202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1023 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1024
ed7fbf43
VS
10252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1028 implementation available to cause compile-time rather than runtime
1029 error.
1030
fc46e9fc
VS
10312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * util/grub-fstest.c: Don't check for symlinks on windows.
1034
7f68269a
VS
10352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * INSTALL: Mention unavailability of man pages when cross-compiling.
1038
8ed358e0
VS
10392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1042 and gcry_log_bug.
1043 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1044
fc97214f
VS
10452013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * INSTALL: Document cross-compilation.
1048 * acinclude.m4: Determine whether nm support -P and --defined-only.
1049 * configure.ac: Add TARGET_ to all variables pertaining to target
1050 that don't have it yet.
1051 * gentpl.py: Likewise.
1052 * grub-core/Makefile.am: Likewise.
1053 * grub-core/genmod.sh.in: Likewise.
1054 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1055 as well.
1056
ca1fb563
IB
10572013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1058
1059 * configure.ac: Remove -Wempty-body. It's not essential and needs
1060 recent gcc.
1061
0031b229
IB
10622013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1063
1064 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1065 * util/getroot.c: Likewise.
1066
54ea2f44
VS
10672013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/disk/ahci.c: Add needed explicit cast.
1070 * grub-core/lib/backtrace.c: Likewise.
1071 * grub-core/net/ip.c: Likewise.
1072 * grub-core/net/tcp.c: Likewise.
1073 * grub-core/net/udp.c: Likewise.
1074
3c601f8c
VS
10752013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1078
1d679dda
VS
10792013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * util/import_gcry.py: Add final newline in visibility.h.
1082
00c28dd9
VS
10832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * conf/Makefile.common: Fix typo.
1086
32af299a
VS
10872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1090
e733cf52
VS
10912013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * Makefile.am (widthspec.h): Fix typo.
1094 * util/grub-gen-widthspec.c: Likewise.
1095
c6b066f2
VS
10962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Move ascii.h and widthspec.h generation to a separate build-time-only
1099 tool.
1100
ad1fe3f9 11012013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1102
1103 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1104 Always fill bootdisk info and improve check for NetBSD disklabel.
1105
92a52dd4
VS
11062013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * conf/Makefile.extra-dist: Add util/bin2h.c.
1109 Reported by: floppym.
1110
b2e9d276
VS
11112013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1114
7b966834
VS
11152013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * configure.ac: Disable unifont and starfield if no freetype was found.
1118
d5c1eef1
VS
11192013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1122 on NetBSD and OpenBSD.
1123
66345b50 11242013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1125
1126 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1127
66345b50 11282013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1129
1130 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1131 reduced. Inheritant options are processed during the theme loading.
1132
66345b50 11332013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1134
1135 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1136
369508b3
AS
11372013-08-14 Avik Sil <aviksil@in.ibm.com>
1138
1139 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1140
11412013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1142
1143 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1144 using qemu.
1145
6f27a3f6
PFS
11462013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1147
1148 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1149 remove-potcdate.sed.
1150
c6ed362a
AB
11512013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1152
1153 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1154 unused attribute from pull argument.
1155
5e7d9464
AB
11562013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1157
1158 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1159 memory leak.
1160
dea55e2a
AB
11612013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1162
1163 * util/getroot.c (pull_lvm_by_command): add --separator option
1164 to vgs call to disable padding of output to 10 characters.
1165
f0b94ded
VS
11662013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1169 here ...
1170 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1171 here.
1172
b828fb5d
VS
11732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1176 length.
1177
7c9d0c39
VS
11782013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1181 full Canadian cross. Tested with build=x86_64, host=arm,
1182 target=ppc-ieee1275.
1183
816719c8
VS
11842013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Error if no $BUILD_CC could be found.
1187 Reported by: DevHC.
1188
2af2353b
VS
11892013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1192 i386-multiboot.
1193
797abd0a
VS
11942013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1197 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1198
36e87d25
CW
11992013-08-13 Colin Watson <cjwatson@ubuntu.com>
1200
1201 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1202 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1203 falling back to the partition device, otherwise a later call to this
1204 function may fail spuriously.
1205 Reported by Axel Beckert. Fixes Debian bug #708614.
1206
273349fe
GS
12072013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1208
1209 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1210
418f86c6
GS
12112013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1212
1213 Prevent shadowing of stdlib's devname(3) on BSD.
1214
1215 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1216 and devlast to diskname and disklast, respectively.
1217
c137aea0
CW
12182013-08-11 Colin Watson <cjwatson@ubuntu.com>
1219
1220 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1221
272dc8df 12222013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1223
1224 * docs/grub.texi: Introduce terminal window position options:
1225 terminal-left: terminal window's left position
1226 terminal-top: terminal window's top position
1227 terminal-width: terminal window's width
1228 terminal-height: terminal window's height
1229 terminal-border: terminal window's border width
1230 * grub-core/gfxmenu/theme-loader.c: Likewise.
1231 * include/grub/gfxmenu_view.h: Likewise.
1232 * po/exlude.pot: Likewise.
1233 * grub-core/gfxmenu/view.c: Likewise.
1234 Also updated minimal window size.
1235 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1236 * grub-core/tests/checksums.h: Update (terminal window height
1237 is adjusted now for low resolution screen)
b4743461 1238
748a4533
VS
12392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1242 position).
1243
fca5f944
VS
12442013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * po/exclude.pot: Add few recent exceptions.
1247
4f47d809
VS
12482013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * tests/grub_func_test.in: Add unicode.pf2.
1251
a62ae90c
VS
12522013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1255 standard rather than noral color, in line with other terminals.
1256
4ed41392
VS
12572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1260 analysis.
1261
3719fbc5
VS
12622013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1265
459b1d91
VS
12662013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1269 inappropriate printf.
1270
f4e1ab9d
AB
12712013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1272
1273 * .bzrignore: Remove grub-core/lib/dtc-grub,
1274 grub-core/Makefile.libfdt.def
1275 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1276
fa471bfa
VS
12772013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * include/grub/video.h (grub_video_register): Keep double-linked as
1280 well as single-linked invariants.
1281 Reported by: qwertial.
1282
d65be02b
VS
12832013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/commands/nativedisk.c (get_uuid): Handle
1286 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1287
ba8bc620
VT
12882013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1289
1290 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1291 maximum of NW, N, NE heights instead of N's height and maximum of
1292 NW, W, SW widths instead of W's width. (So the box will be always
1293 correctly drawn)
1294
4f0ad029
GS
12952013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1296
1297 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1298 Fix misuse of variable count.
1299
43d53b72
LL
13002013-07-18 Leif Lindholm <leif.lindholm@arm.com>
13012013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
13022013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1303
43d53b72
LL
1304 New ports to arm-uboot and arm-efi.
1305 Mostly by Leif Lindholm with some additions from
1306 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1307
88f8d146
VS
13082013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1311 and not before.
1312 Reported by: Leon Drugi.
1313
3f42504c
VS
13142013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1317 Reported by: Paulo Flabiano Smorigo.
1318
d110499b
VT
13192013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1320
1321 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1322
a8674ad3
VT
13232013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1324
1325 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1326
286fe4b3
VS
13272013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1330
1bd57aa3
VS
13312013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1334
7a87d69f
AB
13352013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1336
1337 * grub-core/net/bootp.c: Export net_* variables.
1338 * grub-core/net/net.c: Likewise.
1339
b2182299
VS
13402013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1343
795b3dc0
VS
13442013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1347
68714c43
VS
13482013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1351
af211bab
VS
13522013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1355
0036f02d
MM
13562013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1357
1358 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1359 <= 0.
1360
6d0ddff3
MM
13612013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1362
1363 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1364 functions.
1365
038016f4
MM
13662013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1367
1368 * grub-core/fs/zfs/zfs_lz4.c: New file.
1369 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1370
776bdce2
MM
13712013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1372
1373 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1374
c71dbd40
MM
13752013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1376
1377 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1378 (check_pool_label): Likewise.
1379 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1380
13812013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1382
1383 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1384
8e67b50f
AB
13852013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1386
1387 * docs/grub.texi (Commands): Document postition parameters
1388 for menuentry command.
1389
f5ae3717
AB
13902013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1391
1392 * util/grub-mknetdir.in: Remove stray line from help output.
1393
9c28da2a
VS
13942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Remove early sm712 init as there is no reason for it (the "watchdog"
1397 effect was due to wrong GPIO map).
1398
139072b8
VS
13992013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/commands/pcidump.c: Remove static variables.
1402
c6a61bda
VS
14032013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1406
51369614
VS
14072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * configure.ac: Move delimiter after the infos.
1410
efa8640a
VS
14112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1414
6f80a7b2
VS
14152013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1418 not filling whole 8x16 space.
1419
a2371e19
VS
14202013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1423
64fce2d8
VS
14242013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * configure.ac: Indicate which liblzma is used if any.
1427
eb272d84
PW
14282013-06-21 Paul Wise <pabs3@bonedaddy.net>
14292013-06-21 Craig Sanders <savannah@taz.net.au>
1430
1431 * util/grub-reboot.in: Document submenu usage.
1432
a9e5abee
CW
14332013-06-25 Colin Watson <cjwatson@ubuntu.com>
1434
1435 * .bzrignore: Update with a number of new test-related files.
1436
e639c204
CW
14372013-06-25 Colin Watson <cjwatson@ubuntu.com>
1438
1439 * util/grub-script-check.c: Fail on scripts containing no
1440 commands, to guard against corrupted grub-mkconfig setups that
1441 produce no useful output.
1442 * tests/grub_script_no_commands.in: New test.
1443 * Makefile.util.def (grub_script_no_commands): Add.
1444 Reported by Hans Putter. Fixes Debian bug #713886.
1445
a4c89b17
AB
14462013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1447
1448 * grub-core/disk/diskfilter.c: Forgot to remove comment
1449 from previous commit.
1450
5b06b53c
AB
14512013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1452
1453 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1454 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1455
702da5c9
AB
14562013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1457
1458 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1459
aa62a5b7
AB
14602013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1461
1462 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1463 rescan diskfilter devices until nothing new is found.
1464
4aa237c8
VS
14652013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1468
93d8479b
VS
14692013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Don't try to detect cbfs on *-emu.
1472
837222cc
VS
14732013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1476
99c971af
VS
14772013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Add support for processed coreboot payload chainloading.
1480
e6930a45
VS
14812013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Enable coreboot information commands even when not loaded as
1484 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1485
5027af38
VS
14862013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Support for cbfs. Also factor out the part which is common
1489 for all archives to a separate module. This splits tar from cpio
1490 as they are very different but keeps cpio, cpio_be, odc and newc
1491 together since they're very similar.
1492
a5b55c4b
DM
14932013-06-15 David Michael <fedora.dm0@gmail.com>
1494
1495 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1496 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1497
0301a8b3
VS
14982013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * tests/grub_script_eval.in: Really add the eval test.
1501
3d84cb17
VS
15022013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Move flavour-specific parts out of common cpio.c file and
1505 rename remaining to cpio_common.c
1506
593e430c
AB
15072013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1508
1509 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1510 off new function grub_script_execute_new_scope. Change callers to use
1511 either of them as appropriate.
1512 * grub-core/commands/eval.c: New command eval.
1513 * docs/grub.texi (Commands): Document it.
1514
63c29849
AB
15152013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1516
1517 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1518 to fetch values when listing.
1519
cc284112
AB
15202013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1521
1522 Fix make dist on non-pc.
1523
15242013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1525
1526 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1527 without a device name.
1528
69544d1e
VS
15292013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Remove enable_executable_check as it's not needed anymore.
1532 Reported by: dougray.
1533
96dbe648
VS
15342013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1537 ambigouos RAID before discovering RAIDs on top of it.
1538 Reported by: bodom.
1539
ccfc0bdb
VS
15402013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Fix typo (failback vs fallback).
1543
f2587088
AB
15442013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1545
1546 * util/grub.d/30_os-prober.in: Add support for probing EFI
1547 System Partition (as of os-prober 1.58).
1548
cec5cf0c
VS
15492013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * configure.ac: Add yet another path to unifont. For parabola.
1552
e40b4596
JT
15532013-05-30 Josh Triplett <josh@joshtriplett.org>
1554
1555 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1556 handling to copy the killed characters to the kill buffer as
1557 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1558 stored as char. Eliminates UCS4 truncation and corruption
1559 observed when killing characters with Ctrl-u and yanking them
1560 back with Ctrl-y.
1561
fc4c4fdd
VS
15622013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Detach optional parts of gfxterm and integrate in with coreboot init.
1565
6570b205
VS
15662013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Move blit and fill dispatcher to appropriate files to decrease export
1569 and relocation overhead.
1570
b8323067
VS
15712013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1574 functions.
1575
3cc1878f
VS
15762013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/Makefile.am: Fix compilation problem with some
1579 automake versions.
1580
4b80e43c
VS
15812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1584
57e0c20c
VS
15852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1588 automake versions.
1589
4fd42c53
VS
15902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1593 SSDT.
1594
1e908b34
RS
15952013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1596
1597 * grub-core/partmap/dfly.c: New partition map.
1598
1359e474
VS
15992013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1602 checking.
1603 Reported by: Francesco Lavra.
1604
17806392
AB
16052013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1606
1607 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1608 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1609 false conditions.
1610 * conf/Makefile.common: define dist_grubconf_DATA
1611
cdce14fa
VS
16122013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 Progressively skip menu elements on small terminals rather
1615 than crashing.
1616
c8d6cc3c
VS
16172013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1620 to avoid losing last column.
1621
a73b31ce
VS
16222013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * po/exclude.pot: Add missing string "%C".
1625
1202c764
VS
16262013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1629 after the test.
1630
50268344
VS
16312013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * util/grub-install.in: Gettextize "Not found" message.
1634
62b15edf
VS
16352013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Fix distfiles list.
1638 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1639
16402013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1641
1642 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1643 present.
1644 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1645
709ad61b
VS
16462013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1649
d128901a
VS
16502013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1653 attribute since structure is not necessarily aligned.
1654
34b22f5c
AB
16552013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1656
1657 * docs/grub.texi (Device syntax): Clarify description of network
1658 drives.
1659
0f7e980b
VS
16602013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1663 for vasprintf presence.
1664
30b03dc2
VS
16652013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * util/grub-install.in: Handle efibootmgr presence check.
1668 Reported by: Leif Lindholm.
1669
0dc11c08
VS
16702013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1673 new strings to translate.
1674
f8024c3f
VS
16752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1678 yet another string (pun intended) to translate.
1679
b4c1da62
VS
16802013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * po/POTFILES-shell.in: Autogenerate it.
1683
0ef7478b
VS
16842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1687
8200fa15
VS
16882013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1691 misnomer.
1692
091945b2
AB
16932013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1694
1695 * docs/grub.texi (Network): Add description of net_default_interface,
1696 net_default_ip and net_default_mac. Rewrite variables description
1697 to emphasize that they are per-interface.
1698
0e7b2e32
VS
16992013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 New test: cmdline and cat.
1702
16f7c8f6
VS
17032013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/commands/cat.c: Show UTF-8 characters.
1706
3e912fda
VS
17072013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * conf/Makefile.common: Poison float and double on non-emu.
1710
ee0220bc
VS
17112013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * configure.ac: Don't disable extended registers on emu.
1714
89e0240c
VS
17152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * configure.ac: Don't use extended registers on x86_64.
1718 Reported by: Peter Jones.
1719
e56d9637
VS
17202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/term/efi/console.c: Fix compile error.
1723
8098f655
VS
17242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Compressed HFS+ support.
1727
16940e07
VS
17282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1731 pixel".
1732
c5dbc13d
VS
17332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Menu color test.
1736
011f8ae8
VS
17372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/tests/setjmp_test.c: New test.
1740
2aa072d7
VS
17412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 New variables 'net_default_*' to determine MAC/IP of default interface.
1744
43fe02cb
VS
17452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * tests/gettext_strings_test.in: A test to check for strings not
1748 marked for translation.
1749
bed06142
VS
17502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * autogen.sh: Exclude unused libgcrypt files from translation.
1753
fb2666b5
VS
17542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Simplify few strings.
1757
d22840ec
VS
17582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Mark few forgotten strings for translation.
1761
e34092fd
VS
17622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1765 rather than printf.
1766
47cf82b4
VS
17672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1770 rather than printf.
1771 * grub-core/video/readers/tga.c: Likewise.
1772
1eed0e6e
VS
17732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * tests/priority_queue_unit_test.cc: New test.
1776
c5b7697b
VS
17772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1780 than printf.
1781
5945c2f8
AB
17822013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1783
1784 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1785 variable for one time boot menu entry.
1786
fa292343
B
17872013-05-05 Bean <bean123ch@gmail.com>
1788
1789 * grub-core/commands/testspeed.c: New command testspeed.
1790
310d4214
VS
17912013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 Factor-out human-size printing.
1794
85002bf3
VS
17952013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Agglomerate more mallocs to speed-up gfxterm.
1798
22b06e96
VS
17992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Speed-up gfxterm by slightly agglomerating mallocs.
1802
b7c036bc
VS
18032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 More video checks.
1806
92323d1f
VS
18072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 Speed-up gfxterm by saving intermediate results in index+alpha
1810 format.
1811
0fb356a3
VS
18122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1815 test.
1816
44dea3f9
VS
18172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1820 line of timeout as it may contain the rest of long line.
1821
14af86e4
VS
18222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/normal/main.c: Fix freed memory dereference.
1825
03f7c8c3
VS
18262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 Fix several memory leaks.
1829
c686014c
VS
18302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1833
0788a695
VS
18342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1837
daf01d61
VS
18382013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Fix test -a and -o precedence.
1841 Reported by: adrian15.
1842
82ae74d7
VS
18432013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1846
8cec7bd4
AB
18472013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1848
1849 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1850 and add it as source to functional_test module.
1851
aa73d688
VS
18522013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1855
c104b6f9
VS
18562013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 New series of tests for gfxterm and gfxmenu.
1859
7391c4d5
VS
18602013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1863 the theme path relative to $prefix/themes.
1864
cff50118
VS
18652013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1868 Fix order bug.
1869 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1870
7c332bdc
VS
18712013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1874 descriptor.
1875
a4f9a5ff
VS
18762013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1879 grub_gfxmenu_timeout_notifications.
1880 (grub_gfxmenu_view_destroy): Likewise.
1881
b5a2114d
VS
18822013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1885
a8905e8a
VS
18862013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Several fixes to ieee1275 and big-endian video.
1889
813c1622
VS
18902013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Add missing exports on mips.
1893
3f3e7326
VS
18942013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1897 if no unifont is found.
1898 Restore original keyboard.
1899
095accd1
VS
19002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1903 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1904
50361660
VS
19052013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 First automated video test (running videotest and comparing results)
1908
cd0f6eec
VS
19092013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1912 instead of 2 to have full RGB/CMY test pattern.
1913
3f9634e5
VS
19142013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 Add few more tests.
1917
583e5b64
VS
19182013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1921 ARCS. All users updated.
1922
aa7bcb99
VS
19232013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1926
95ef1a54
VS
19272013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1930
46546fc5
VS
19312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1934 Reported by: qwertial.
1935
3476e0ef
VT
19362013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1937
1938 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1939 with syntax "XXX deg"/"XXX °".
1940
96f33fed
VS
19412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Make PCI init in i386-qemu port more robust.
1944
19452013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1946
1947 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1948 cached view is reused.
1949 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1950 open boot menus.
1951
c53b4e67
VS
19522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Unify more code in grub-install_header.
1955
f7457fb2
VS
19562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Add few new tests.
1959
e2f27a8c
VS
19602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Enforce disabling of firmware disk drivers when native drivers kick in.
1963
ef9d8cd5
VS
19642013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/commands/nativedisk.c: Customize the list of modules on
1967 platform. Don't try to search for disks already using native drivers.
1968
f7bf6c31
VS
19692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1972 platforms.
1973
bdc4add8
VS
19742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1977 handling of variables containing backslash.
1978
e9e46c9a
VS
19792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1982 dereference.
1983 Reported by: qwertial.
1984
0e90dee8
VS
19852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1988
e0aacf24
VS
19892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1992 dereference.
1993 Reported by: qwertial.
1994
3c0003c3
VS
19952013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1998
adb7d667
VS
19992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2002
7cd0df84
VS
20032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 New command `nativedisk'.
2006
02adbb93
VS
20072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2010 * grub-core/loader/i386/bsd.c: Likewise.
2011
9fb0fd4f
VS
20122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2015
bd69257a
VS
20162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2019 grub_get_unaligned16 rather than shifts.
2020
178c2764
VS
20212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/kern/file.c: Use const char * rather than casting to
2024 non-const.
2025
eadfad24
VS
20262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/commands/probe.c: Add missing grub_device_close.
2029
9f73ebd4
VS
20302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * INSTALL: Document linguas.sh.
2033
965fa829
VS
20342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Remove POTFILES.in and regenerate it in autogen.sh.
2037
d417ddc4
VS
20382013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Move --directory/--override-directorry to grub-install_header and unify.
2041
f97ec546
VS
20422013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/term/morse.c: Macroify dih and dah.
2045
b2d7470c
PFS
20462013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2047
2048 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2049
141e2a78
VS
20502013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/term/ns8250.c: Systematically probe ports by writing
2053 to SR before using them.
2054
1dd70ebd
PFS
20552013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2056
2057 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2058 disks.
2059 (check_sas): Get sas_adress info.
2060
c796a107
VS
20612013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2064 ports.
2065
43168646
LD
20662013-04-27 Leon Drugi <eyak>
2067
2068 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2069 BSS clearing.
2070
e7b8fd08
VS
20712013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Core compression test.
2074
17f9fd29
VS
20752013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Implement grub_machine_get_bootlocation for ARC.
2078
dc2a6c8b
VS
20792013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 Improve AHCI detection and command issuing.
2082
f25a2ba6
VS
20832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 Fix pseries test.
2086
a6393224
VS
20872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Make 'make check' work on emu.
2090
db99fbe8
VS
20912013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Replace libcurses with our own vt100 handling for the ease of testing
2094 and decreasing prerequisites.
2095
b24ca7cd
VS
20962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2099
63314aa4
VS
21002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2103 compile when not needed.
2104
c1b00fff
VS
21052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * tests/pseries_test.in: New test.
2108
f93e89ef
VS
21092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 Add test to check that different boot mediums work.
2112
c4b456d3
VS
21132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2116 ofw limited ISO support.
2117
5fe67f39
VS
21182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * configure.ac: Fix loongson conditional.
2121
7f63a64f
VS
21222013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 Enable mipsel-arc.
2125
b04b5990
VS
21262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 Add serial on ARC platform.
2129
88d2f302
VS
21302013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2133 commit.
2134
86eb23bc
VS
21352013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * tests/partmap_test.in: Add missing double semicolon.
2138
eec3bb75
VS
21392013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * util/grub-mkrescue.in: Fix loongson filename.
2142
e0810df3
VS
21432013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * util/grub-mkrescue.in: Move all files that don't have a location
2146 set in stone under /boot/grub. Use ISO hard links rather than copies
2147 to save some space.
2148
65a6b30b
VS
21492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2152 bogus SLOF values.
2153
6aff0107
VS
21542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Make check work on mips-arc.
2157
5e013e56
VS
21582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/grub-mkrescue.in: Alias sashARCS as sash.
2161
d1989e2e
VS
21622013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2165 it's serial.
2166
1a25e72c
VS
21672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * util/grub-install.in: Fix target fo qemu_mips.
2170 Fix extension on EFI.
2171
a59a9826
VS
21722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2175 in front of chosen entry to mark it even if highlighting is lost.
2176
1a40f80c
VS
21772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2180 gfxpayload=keep if cbfb is active.
2181
e343549c
VS
21822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2185
45fbd9a2
VS
21862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Add missing video ids to coreboot and ieee1275 video.
2189
ab1440bd
VS
21902013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * util/grub-mkrescue.in: Add mips-arc support.
2193
cdeb8324
VS
21942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2197
8528c879
VS
21982013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Move mips-arc link address. Previous link address was chosen
2201 in belief that RAM on SGI platforms grows down while in fact it
2202 grows up from an unusual base.
2203
17fca573
VS
22042013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2207 Fix a type which prevented CD-ROM and floppy boot.
2208
d178788e
VS
22092013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 Support coreboot framebuffer.
2212
2213 * grub-core/video/i386/coreboot/cbfb.c: New file.
2214
fe4c3e7e
VS
22152013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2218 detecting too small regions.
2219
ec2dd179
VS
22202013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2223
872dac83
VS
22242013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2227 Remove dprintf.
2228 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2229
90ec4b7f
VS
22302013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2233 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2234 * grub-core/loader/powerpc/ieee1275/linux.c
2235 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2236
f32555dd
VS
22372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2240 Look for /boot-rom as well as /rom/boot-rom.
2241
38649799
VS
22422013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2245 handling when creating text_layer failed.
2246 * grub-core/video/video.c (grub_video_create_render_target):
2247 Set result to 0 on error.
2248 (grub_video_delete_render_target): Do not dereference NULL.
2249
aeace7f7
VS
22502013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2253 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2254 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2255 (grub_linux_load64): Mask out 2 high bits.
2256
4eafa175
AB
22572013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2258
2259 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2260 more place.
2261
daaa64bd
VS
22622013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Add support for pseries and other bootinfo machines to grub-mkrescue.
2265
2266 Tested by: Paulo Flabiano Smorigo.
2267
d0d2daa6
VS
22682013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * util/grub-mkrescue.in: Add GPT for EFI boot.
2271
b193e100
VS
22722013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2275 It improves performance in qemu.
2276
a0f8f3ac
VS
22772013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * build-aux/snippet: Add missing gnulib files.
2280
284df0e2
AB
22812013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2282
2283 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2284
740201f3
AB
22852013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2286
2287 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2288
a7e03923
PJ
22892013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
22902013-04-15 Peter Jones <pjones@redhat.com>
2291
2292 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2293 sectors.
2294 Based on patch by Peter Jones.
2295
25fc51a8
VS
22962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 Fix DMRAID partition handling.
2299
88017d47
VS
23002013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * tests/grub_cmd_date.in: Skip on sparc64.
2303
fa7d914e
VS
23042013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2307 firmware error messages.
2308
cbe57a48
VS
23092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2312 source and destination differ.
2313
21aecce0
VS
23142013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2317 detection.
2318
25092d29
VS
23192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2322 match config-util.h to avoid warnings and increase compatibility.
2323
79451522 23242013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 23252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2326
2327 Add option to compress files on install/image creation.
2328
78b7d77b
VS
23292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * docs/grub-dev.texi: Rearrange menu to match the section order.
2332 Reported by: Bryan Hundven.
2333
cc2fa5ec
VS
23342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2337
b49fe879
VS
23382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 Move GRUB out of system area when using xorriso 1.2.9 or later.
2341
5351da81
VS
23422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * tests/grub_cmd_date.in: Add missing exit 1.
2345
c9d586ea
VS
23462013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * tests/partmap_test.in: Skip on sparc64.
2349
3f729741
VS
23502013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 Support grub-shell on sparc64.
2353
8ca86b3a
VS
23542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 Support mkrescue on sparc64.
2357
aa1af9bb
VS
23582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2361 Needed on OpenBIOS due to incomplete device tree.
2362
ac4fea79
VS
23632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2366 would be otherwise excluded.
2367
23682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2369
2370 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2371 Inline name defines used only once.
2372
fe22b071
VS
23732013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Fix memory leaks in ofnet.
2376 Reported by: Francesco Lavra.
2377
9d21381b
VS
23782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * docs/man/grub-glue-efi.h2m: Add missing file.
2381
07aec23c
VS
23822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2385
67ab8353
VS
23862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Better support Apple Intel Macs on CD.
2389
ba44ca6d
VS
23902013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Replace stpcpy with grub_stpcpy in tools.
2393
bbdd6305
VS
23942013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Handle Japanese special keys.
2397 Reported by: Hiroyuki YAMAMORI.
2398 Codes supplied by: Hiroyuki YAMAMORI.
2399
8573d302
VS
24002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * util/grub-mkimage.c: Document memdisk implying --prefix.
2403
d70dbab7
VS
24042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2407 much we can do about it anyway.
2408
51a4c3e3
AN
24092013-04-12 Aleš Nesrsta <starous@volny.cz>
2410
2411 Fix handling of split transfers.
2412
92c8f58d
VS
24132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/net/http.c: Fix bad free.
2416
b7d17a49
VS
24172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2420 than buffer size.
2421
a3d566d4
VS
24222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2425
a936af56
VS
24262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * tests/util/grub-shell.in: Fix it on powerpc.
2429
51212234
VS
24302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 Turn off QEMU ACPI-way since new releases don't have shutdown port
2433 anymore.
2434
a21eec9e
VS
24352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * docs/grub.texi: Update coreboot status info.
2438
e3734b84
VS
24392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * tests/grub_cmd_date.in: New test for datetime.
2442
f9d40055
VS
24432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * tests/partmap_test.in: Fix missing qemudisk setting.
2446
dbc56d8f
VS
24472013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Support i386-ieee1275 grub-mkrescue and make check on it.
2450
a79b8a15
VS
24512013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2454 feature for it.
2455
48f39bb4
VS
24562013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2459 GRUB_CMDLINE_XEN_DEFAULT.
2460 Reported by: Marc Warne (GigaTux) <gigatux>
2461
053cfcdd
VS
24622013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Import new gnulib.
2465
93cd84df
VS
24662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Use ACPI shutdown intests as traditional port was removed.
2469
f4b1fa4f
AB
24702013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2471
2472 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2473 distinction.
2474
49818a59
VS
24752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2478 Fix few warining messages and leaks while on it.
2479
9277a306
AB
24802013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2481
2482 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2483 links under grub-core/lib/libgcrypt-grub/mpi.
2484
d5e2a158
VS
24852013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Fix ia64-efi image generation on big-endian machines. Deduplicate
2488 some code while on it.
2489 Reported by: Leif Lindholm.
2490
18866643
AB
24912013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2492
2493 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2494 as extra_dist.
2495
ca53deb8
AB
24962013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2497
2498 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2499
d4c4b8e1
BH
25002013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2501
2502 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2503 texinfo-5.1.
2504
47043f95
VS
25052013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/normal/term.c: Few more fixes for menu entry editor
2508 rendering.
2509 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2510
a3216068
VS
25112013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/normal/term.c: Few more fixes for menu entry editor
2514 rendering.
2515 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2516
21026747
AB
25172013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2518
2519 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2520 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2521
59624ca8
AB
25222013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2523
2524 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2525 instead of hardcoding grub.mo.
2526
1f44478c
FN
25272013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2528
2529 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2530
eeada7b1
VS
25312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2534 grub-core/disk/geli.c.
2535
132867de
VS
25362013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/grub-mkfont.c: Prefer enum to #define.
2539
de73de17
VS
25402013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2543
1865baa7
VS
25442013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2547
ce7d92a9
VS
25482013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2551
52eab656
VS
25522013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2555
98b23b95
VS
25562013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * include/grub/bsdlabel.h: Use enums.
2559
0467a5dd
VS
25602013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Move GRUB_CHAR_BIT to types.h.
2563
16cc9f03
AB
25642013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2565
2566 * docs/grub.texi: Document more user commands.
2567
3152aecb
AB
25682013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2569
2570 * docs/grub.texi: Document menuentry --id option.
2571
c506fc30
FL
25722013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2573
2574 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2575
aa428238
VS
25762013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 Unify file copying setup across different install scripts. Add
2579 options for performing partial install.
2580
efe0cdda
PJ
25812013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25822013-04-04 Peter Jones <pjones@redhat.com>
2583
2584 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2585
f75835bd
VS
25862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Use TSC as a possible time source on i386-ieee1275.
2589
2cd5ce6c
VS
25902013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2593 Init err.
2594
c9625630
VS
25952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * util/grub-setup.c (setup): Handle some corner cases.
2598
be008941
VS
25992013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2602
1a78d573
VS
26032013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/commands/verify.c: Save verified file to avoid it being
2606 tampered with after verification was done.
2607
db8ff59f
VS
26082013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2611 reported width by one to compensate for curesor algorithm problem.
2612
91bf46b1
VS
26132013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 Fix screen corruption in menu entry editor and simplify the code
2616 flow while on it.
2617
a7b1d693
AB
26182013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2619
2620 * util/grub-mount.c (fuse_init): Return error if fuse_main
2621 failed.
2622
31df9ad8
FL
26232013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2624
2625 * include/grub/elf.h: Add missing ARM relocation codes and fix
2626 existing ones.
2627
07f392eb
VT
26282013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2629
2630 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2631
9efd73ec 26322013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
26332013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2636 into account when calculating radius.
2637
26382013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2639
2640 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2641
4985ddaa
VT
26422013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2643
2644 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2645
8c3635ff
RS
26462013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2647
2648 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2649 missing closing bracket.
2650
74a35e69
RS
26512013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2652
2653 * INSTALL: Mention xorriso requirement.
2654
40f1c000
AB
26552013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2656
2657 * grub-core/commands/verify.c: Fix hash algorithms values for
2658 the first three hashes - they start with 1, not with 0.
2659
e75fdee4
VS
26602013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2663 Try terminating EFI services several times due to quirks in some
2664 implementations.
2665
33028f4c
CW
26662013-03-26 Colin Watson <cjwatson@ubuntu.com>
2667
2668 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2669 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2670 BankField extended opcodes.
2671 (get_sleep_type): Add minimal scope handling (just enough to
2672 handle setting the scope to the root path).
2673 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2674 * include/grub/acpi.h: Add enumeration values for Event, Device,
2675 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2676
33871a10
VT
26772013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2678
2679 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2680 memory leak.
2681
8990963a
VS
26822013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/disk/ahci.c: Give more time for AHCI request.
2685
daae8f9e
VS
26862013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2689 command.
2690
6a7fb94b
VS
26912013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 Replace the region at 0 from coreboot tables to available in BSD
2694 memory map.
2695
ff99babd
VS
26962013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2699 non-BIOS platforms.
2700
30d6b1b2
VS
27012013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2704 platforms.
2705
6ccd0b31
VS
27062013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2709 handling of multi-device filesystems.
2710
23c9cc04
VS
27112013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2714 platforms.
2715
ce50dbd7
VS
27162013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Add new 'proc' filesystem framework and put luks_script into it.
2719
d975e8d5
VS
27202013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2723 and qemu.
2724
e73ba5e8
VS
27252013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2728
92750e4c
VS
27292013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Add ability to generate newc additions on runtime.
2732
0ec45a68
VS
27332013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2736 description.
2737
320abd43
VS
27382013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * po/POTFILES.in: Regenerate.
2741
d7a6506e
VS
27422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/commands/verify.c (hashes): Add several hashes
2745 from the spec.
2746
8fe05def
VS
27472013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 Slight improve in USB-related boot-time checkpoints.
2750
524e2766
VS
27512013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/commands/boottime.c: Fix copyright header.
2754
cc19857a
VS
27552013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2758 coreboot tables content. Support for cbmemc.
2759
ef8810e9
VS
27602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 Fix a conflict between ports structures with 2 controllers of
2763 same kind.
2764
e9dabdfa
VS
27652013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * include/grub/boottime.h: Add missing file.
2768
f6df57d2
VS
27692013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Initialize USB ports in parallel to speed-up boot.
2772
d745dda7
VS
27732013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Fix USB devices not being detected when requested
2776 due to delayed attach.
2777
e5a2dd7b
VS
27782013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2779
e744219b
VS
2780 Implement boot time analysis framework.
2781
27822013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2785 descriptor to just receive it as argument rather than endpoint
2786 address.
2787
5dd6f587
VS
27882013-03-19 Aleš Nesrsta <starous@volny.cz>
2789
2790 Better estimate the maximum USB transfer size.
2791
2f1071d5
VS
27922013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Resend a packet if we got the wrong buffer in status.
2795
46ecfc49
VS
27962013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2799 multiplication rather than division.
2800
ea811130
VS
28012013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2804 than divisions.
2805
d2789cf0
VS
28062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2809 operations to have intended shifts and not divisions.
2810
a9c94590
VS
28112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2814 intended shifts rather than division.
2815
84cfe81b
VS
28162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2819 computation for some years before epoch. Avode confusing division
2820 while on it.
2821
21344ef6
VS
28222013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/video/i386/pc/vbe.c
2825 (grub_video_vbe_print_adapter_specific_info): Replace division by
2826 shifts.
2827
3f2b4d1a
VS
28282013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 Adjust types in gdb module to have intended unsigned shifts rather than
2831 signed divisions.
2832
3dac5878
VS
28332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2836 maximum size is 4G - 1 on hfs
2837
5341c0fb
VS
28382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2841
fc3ff2a2
VS
28422013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2845 function.
2846
81455e8e
AB
28472013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2848
2849 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2850 causing gcc error with gcc 4.7.1.
2851
efd4f117
NZ
28522013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2853
2854 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2855 dereference null pointer. While the code is technically correct, gcc
2856 may eliminate a null check if pointer is already dereferenced.
2857
e11645f4
NZ
28582013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2859
2860 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2861 OOM check.
2862 * grub-core/normal/term.c (read_terminal_list): Likewise.
2863
77468368
VS
28642013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 Lift up core size limits on some platforms. Fix potential memory
2867 corruption with big core on small memory systems. Document remaining
2868 limits.
2869
f6b58fe5
VS
28702013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2873 gotoxy to 0,0.
2874
19ce697d
VS
28752013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Remove all trampoline support. Add -Wtrampolines when
2878 present. Remove symbols used for trampolines to make
2879 link fail if trampolines are present.
2880
73b5d90f
VS
28812013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2884 append out of its parent.
2885
cb758e96
VS
28862013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2889 parent.
2890
3188131f
VS
28912013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2894 all vars to a macro. All users updated.
2895
e42b2514
VS
28962013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2899 i386-ieee1275.
2900
83e1a1a1
VS
29012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2904
1d5a880f
VS
29052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2908
6e4146c4
VS
29092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Move to more hookless approach in IEEE1275 devices handling.
2912
99fcda8a
VS
29132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/kern/term.c (grub_term_normal_color),
2916 (grub_term_highlight_color): Add back lost defaults.
2917
73bf57e2
VS
29182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 Make elfload not use hooks. Opt for flags and iterators instead.
2921
7f8c105f
VS
29222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2925 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2926
396d4091
VS
29272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2930
29312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2934 hook pass-through parameter. All users updated and unnested.
2935
74a27421
VS
29362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2939 out of its parent.
2940
b46d4213
VS
29412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/fs/hfs.c: Remove nested functions.
2944
e114c3cc
VS
29452013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2948 the context through.
2949 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2950
f9b7d780
VS
29512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * util/grub-editenv.c (list_variables): Move print_var out of its
2954 parent.
2955
ca9c2608
VS
29562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2959 function.
2960
5d983f5f
VS
29612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/gentrigtables.c: Make tables const.
2964
3056d3e7
VS
29652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 Remove nested functions from videoinfo iterators.
2968
e2303774
VS
29692013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2972 for 64-bit platforms.
2973
f42e3a2f
VS
29742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2977 a FOR_CHILDREN macro.
2978
be174e5e
VS
29792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2982 platform from firmware path.
2983
0789b672
VS
29842013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 Enable linux16 on non-BIOS systems for i.a. memtest.
2987
2988 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2989 correctly.
2990 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2991
005a9c32
VS
29922013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2995 Fix end of table condition.
2996
ff2b3cd9
VS
29972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3000 out of its parent.
3001
4fc40ff8
VS
30022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/fs/jfs.c: Remove nested functions.
3005
be42d97a
VS
30062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/fs/minix.c: Remove nested functions.
3009
99373ce4
VS
30102013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/fs/iso9660.c: Remove nested functions.
3013
5aec2afe
VS
30142013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3017 of parent function.
3018
6c69e691
VS
30192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * util/grub-fstest.c: Remove nested functions.
3022
43c91882
VS
30232013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/loader/machoXX.c: Remove nested functions.
3026
4eb8b756
CW
30272013-02-27 Colin Watson <cjwatson@ubuntu.com>
3028
3029 Remove nested functions from disk and file read hooks.
3030
3031 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3032 (struct grub_disk): Add read_hook_data member.
3033 * include/grub/file.h (struct grub_file): Likewise.
3034 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3035 argument.
3036
3037 Update all callers.
3038
df6da5a5
AB
30392012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3040
3041 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3042 Fix off by one error in enumerating extended partitions.
3043
21aecde5
AB
30442013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3045
3046 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3047 memory leak if device name is not found.
3048
f1a19118
AB
30492013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3050
3051 * grub-core/normal/menu_entry.c (update_screen): remove
3052 unused variable `off' which caused scroll down arrow to be always shown.
3053
958bfd20
AB
30542013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3055
3056 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3057 access to unallocated memory.
3058
b7b78edb
AB
30592013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3060
3061 * Makefile.util.def: Add partmap/msdos.c to common library.
3062 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3063 * grub-core/disk/ldm.c: Check for existence of
3064 GRUB_PC_PARTITION_TYPE_LDM.
3065
28d468d6
VS
30662013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3069 sizes and display sector size.
3070
d55ffb02
VS
30712013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Implement new command cmosdump.
3074
b5ea6ce0
VS
30752013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3076
3077 Support Openfirmware disks with non-512B sectors.
3078
3079 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3080 size of the disk.
3081 * (grub_ofdisk_get_block_size): New function.
3082 * (grub_ofdisk_prepare): Use the correct block size.
3083 * (grub_ofdisk_read): Likewise.
3084 * (grub_ofdisk_write): Likewise.
3085 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3086 New proto.
3087
cc0e476f
VS
30882013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3091
c5dbdc33
VS
30922013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3095 on first error.
3096
3f078c0f
VS
30972013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3100 freeing it.
3101
66a93674
VS
31022013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 Implement USBDebug (full USB stack variant).
3105
c9f0c134
VS
31062013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3109 unless they have unexpected values.
3110
cfe1288b
VS
31112013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3114 grub_print_error.
3115
e42b9969
VS
31162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3119 zero-out of port structure.
3120
cf94fd62
VS
31212013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3124 of extended attributes.
3125
f81ef4b5
AB
31262013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3127
3128 * util/grub-install.in: change misleading comment about
3129 device.map creation
3130
af18fdb4
VS
31312013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3134 when menu highlight color isn't set.
3135
08bcec50
M
31362013-01-27 C. Masloch <pushbx@38.de>
3137
3138 Improve FreeDOS direct loading support compatibility.
3139
3140 * include/grub/i386/relocator.h (grub_relocator16_state):
3141 New member ebp.
3142 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3143 variable.
3144 (grub_relocator16_boot): Handle %ebp.
3145 * grub-core/lib/i386/relocator16.S: Likewise.
3146 * grub-core/loader/i386/pc/freedos.c:
3147 Load BPB to pass kernel which partition to load from.
3148 Check that kernel file is not too large.
3149 Set register dl to BIOS unit number as well.
3150
7782b8a6
CW
31512013-01-22 Colin Watson <cjwatson@ubuntu.com>
3152
3153 * util/grub-reboot.in (usage): Document the need for
3154 GRUB_DEFAULT=saved.
3155 * util/grub-set-default.in (usage): Likewise.
3156 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3157
e661c180
VS
31582013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3161 than defining WORDS_BIGENDIAN manually.
3162
1c22ca9a
VS
31632013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3166 invariants.
3167
d44892fe
CW
31682013-01-21 Colin Watson <cjwatson@ubuntu.com>
3169
3170 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3171 nested.
3172 (blit_comb: add_device_width): Likewise.
3173
5fdbaed1
CW
31742013-01-21 Colin Watson <cjwatson@ubuntu.com>
3175
3176 Remove nested functions from USB iterators.
3177
3178 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3179 (grub_usb_controller_iterate_hook_t): Likewise.
3180 (grub_usb_iterate): Add hook_data argument.
3181 (grub_usb_controller_iterate): Likewise.
3182 (struct grub_usb_controller_dev.iterate): Likewise.
3183
3184 Update all implementations and callers.
3185
4250985a
VS
31862013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3189 margin when not needed.
3190
7d8848f3
VS
31912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3192
bc136973 3193 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3194
31952013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3196
bc136973
VS
3197 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3198 asterisk.
7d8848f3 3199
ed12a003
CW
32002013-01-21 Colin Watson <cjwatson@ubuntu.com>
3201
3202 Fix powerpc and sparc64 build failures caused by un-nesting memory
3203 map iterators.
3204
6a0db449
CW
32052013-01-21 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3208 parameter declarations.
3209
ccd86b21
VS
32102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3213
822b726b
VS
32142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Improve spkmomdem reliability by adding a separator between bytes.
3217
115c2cc1
CW
32182013-01-21 Colin Watson <cjwatson@ubuntu.com>
3219
3220 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3221 an Acer registration utility with several sightings in the wild.
3222 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3223
fc524edf
CW
32242013-01-21 Colin Watson <cjwatson@ubuntu.com>
3225
3226 Remove nested functions from filesystem directory iterators.
3227
3228 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3229 (struct grub_fs.dir): Add hook_data argument.
3230
3231 Update all implementations and callers.
3232
53d3e4e3
CW
32332013-01-21 Colin Watson <cjwatson@ubuntu.com>
3234
3235 * docs/grub.texi (Multi-boot manual config): Fix typo for
3236 "recommended".
3237
c821711f
LL
32382013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3239
3240 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3241 until after its use in generate_image.
3242
6a0debbd
CW
32432013-01-20 Colin Watson <cjwatson@ubuntu.com>
3244
3245 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3246 initrd size to addr_min, since the initrd will be allocated after
3247 this address.
3248
f41e08db
AB
32492013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3250
3251 * conf/Makefile.common: Fix autogen rules to pass definition
3252 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3253
77529e0f
LL
32542013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3255
3256 * include/grub/elf.h: Update ARM definitions based on binutils.
3257
b879aa7b
VS
32582013-01-20 Aleš Nesrsta <starous@volny.cz>
3259
3260 Split long USB transfers into short ones.
3261
8eb8284d
AB
32622013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3263
3264 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3265 is interrupted by ESC.
3266
08dad2dc
VS
32672013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * util/grub-script-check.c (main): Uniform the error message.
3270
6c724b85
CW
32712013-01-20 Colin Watson <cjwatson@ubuntu.com>
3272
3273 Remove nested functions from ELF iterators.
3274
25239370
CW
32752013-01-20 Colin Watson <cjwatson@ubuntu.com>
3276
3277 Remove nested functions from device iterators.
3278
3279 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3280 (grub_arc_iterate_devs): Add hook_data argument.
3281 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3282 (struct grub_ata_dev.iterate): Add hook_data argument.
3283 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3284 (grub_device_iterate): Add hook_data argument.
3285 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3286 (struct grub_disk_dev.iterate): Add hook_data argument.
3287 (grub_disk_dev_iterate): Likewise.
3288 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3289 Likewise.
3290 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3291 Likewise.
3292 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3293 type.
3294 (struct grub_partition_map.iterate): Add hook_data argument.
3295 (grub_partition_iterate): Likewise.
3296 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3297 (struct grub_scsi_dev.iterate): Add hook_data argument.
3298
3299 Update all callers.
3300
6c0314d6
CW
33012013-01-20 Colin Watson <cjwatson@ubuntu.com>
3302
3303 Fix typos for "developer" and "development".
3304
600dc5f1
VS
33052013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 Add license header to spkmodem-recv.c.
3308
17334a6b
VS
33092013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Rewrite spkmodem to use PIT for timing. Double the speed.
3312
7d462559
VS
33132013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Add new command pcidump.
3316
b78d6c32
VS
33172013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 New terminal outputs using serial: morse and spkmodem.
3320
34f71cb8
VS
33212013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 Improve bidi handling in entry editor.
3324
4542e71b
VS
33252013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3328 argument to prevent name collision.
3329
09fd6d82
CW
33302013-01-15 Colin Watson <cjwatson@ubuntu.com>
3331
3332 Remove nested functions from script reading and parsing.
3333
3334 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3335 getline_data argument, passed to getline.
3336 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3337 getline_data argument, passed to grub_parser_split_cmdline.
3338 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3339 lexerstate->getline_data to lexerstate->getline.
3340 (grub_script_lexer_init): Add getline_data argument, saved in
3341 lexerstate->getline_data.
3342 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3343 argument, passed to grub_script_parse.
3344 * grub-core/script/script.c (grub_script_parse): Add getline_data
3345 argument, passed to grub_script_lexer_init.
3346 * include/grub/parser.h (grub_parser_split_cmdline): Update
3347 prototype. Update all callers to pass appropriate getline data.
3348 (struct grub_parser.parse_line): Likewise.
3349 (grub_rescue_parse_line): Likewise.
3350 * include/grub/reader.h (grub_reader_getline_t): Add void *
3351 argument.
3352 * include/grub/script_sh.h (struct grub_lexer_param): Add
3353 getline_data member.
3354 (grub_script_parse): Update prototype. Update all callers to pass
3355 appropriate getline data.
3356 (grub_script_lexer_init): Likewise.
3357 (grub_normal_parse_line): Likewise.
3358
3359 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3360 data argument.
3361 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3362 static instead of nested. Rename to ...
3363 (grub_parser_execute_getline): ... this.
3364 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3365 data argument.
3366 * grub-core/normal/main.c (read_config_file: getline): Make static
3367 instead of nested. Rename to ...
3368 (read_config_file_getline): ... this.
3369 (grub_normal_read_line): Add unused data argument.
3370 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3371 getline): Make static instead of nested. Rename to ...
3372 (grub_script_execute_sourcecode_getline): ... this.
3373 * util/grub-script-check.c (main: get_config_line): Make static
3374 instead of nested.
3375
d0d4b8a0
CW
33762013-01-15 Colin Watson <cjwatson@ubuntu.com>
3377
3378 Remove nested functions from memory map iterators.
3379
3380 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3381 argument, passed to hook.
3382 * grub-core/kern/i386/coreboot/mmap.c
3383 (grub_linuxbios_table_iterate): Likewise.
3384 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3385 instead of nested.
3386 (grub_machine_mmap_iterate): Add hook_data argument.
3387 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3388 Add hook_data argument, passed to hook.
3389 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3390 Likewise.
3391 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3392 Likewise.
3393 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3394 Likewise.
3395 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3396 Likewise.
3397 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3398 Likewise.
3399 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3400 Likewise.
3401 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3402 (grub_machine_mmap_iterate): Likewise.
3403 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3404 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3405 prototype.
3406 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3407 Remove NESTED_FUNC_ATTR from here and from all users.
3408 (grub_mmap_iterate): Update prototype.
3409 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3410 pass appropriate hook data.
3411 (grub_machine_mmap_iterate): Likewise.
3412
3413 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3414 static instead of nested.
3415 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3416 Rename to ...
3417 (lsmmap_hook): ... this.
3418 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3419 Likewise.
3420 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3421 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3422 heap_init): Likewise.
3423 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3424 Rename to ...
3425 (mmap_iterate_hook): ... this.
3426 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3427 Likewise.
3428 * grub-core/lib/ieee1275/relocator.c
3429 (grub_relocator_firmware_get_max_events: count): Likewise.
3430 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3431 to ...
3432 (grub_relocator_firmware_fill_events_iter): ... this.
3433 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3434 hook): Likewise. Rename to ...
3435 (grub_relocator_alloc_chunk_align_iter): ... this.
3436 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3437 Rename to ...
3438 (generate_e820_mmap_iter): ... this.
3439 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3440 Rename to ...
3441 (count_hook): ... this.
3442 (grub_linux_boot: hook): Likewise. Rename to ...
3443 (grub_linux_boot_mmap_find): ... this.
3444 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3445 (grub_linux_boot_mmap_fill): ... this.
3446 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3447 hook): Likewise. Rename to ...
3448 (grub_fill_multiboot_mmap_iter): ... this.
3449 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3450 hook): Likewise. Rename to ...
3451 (count_hook): ... this.
3452 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3453 hook): Likewise. Rename to ...
3454 (grub_fill_multiboot_mmap_iter): ... this.
3455 * grub-core/loader/powerpc/ieee1275/linux.c
3456 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3457 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3458 Likewise. Rename to ...
3459 (alloc_phys_choose): ... this.
3460 (determine_phys_base: get_physbase): Likewise.
3461 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3462 find_hook): Likewise.
3463 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3464 (malloc_hook: count_hook): Likewise.
3465 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3466 Likewise. Rename to ...
3467 (lower_hook): ... this.
3468 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3469 (upper_hook): ... this.
3470 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3471 (post64_hook): ... this.
3472 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3473 Likewise. Rename to ...
3474 (lower_hook): ... this.
3475 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3476 (upper_hook): ... this.
3477 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3478 (grub_mmap_iterate: fill_hook): Likewise.
3479 (fill_mask): Pass addr and mask within a single struct.
3480 (grub_cmd_badram: hook): Make static instead of nested. Rename
3481 to ...
3482 (badram_iter): ... this.
3483 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3484 (cutmem_iter): ... this.
3485
22099030
VS
34862013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3489 delimit path in strings using quotes.
3490 * util/getroot.c (grub_guess_root_devices): Likewise.
3491 (grub_make_system_path_relative_to_its_root): Likewise.
3492 * util/grub-probe.c (probe): Likewise.
3493 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3494 (xrealpath): Likewise.
3495
4a9950ec
VS
34962013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Fix compilation with older compilers.
3499
3500 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3501 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3502 declarations.
3503 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3504 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3505 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3506 identifier with b.
3507 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3508 * include/grub/crypto.h: Add type defines.
3509 * util/import_gcrypth.sed: Remove duplicate type defines.
3510
adcc6020
VS
35112013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 New command list_trusted.
3514
3515 * grub-core/commands/verify.c (grub_cmd_list): New function.
3516
a4528937
CW
35172013-01-13 Colin Watson <cjwatson@ubuntu.com>
3518
3519 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3520 info message.
3521
ca3a7446
CW
35222013-01-13 Colin Watson <cjwatson@ubuntu.com>
3523
3524 Remove nested functions from PCI iterators.
3525
3526 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3527 passed to hook. Update all callers to pass appropriate hook data.
3528 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3529 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3530 Remove NESTED_FUNC_ATTR from here and from all users.
3531 (grub_pci_iterate): Update prototype.
3532 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3533 instead of nested. Rename to ...
3534 (grub_cs5536_find_iter): ... this.
3535 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3536 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3537 Likewise.
3538 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3539 Likewise.
3540 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3541 Likewise.
3542 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3543 Likewise.
3544 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3545 * grub-core/video/radeon_fuloong2e.c
3546 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3547 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3548 find_card): Likewise.
3549 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3550 Likewise.
3551
f8e98fee
VS
35522013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/commands/verify.c: Mark messages for translating.
3555
055b36b6
VS
35562013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3559 fatal.
3560
f7ff879b
VS
35612013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3564 fatal.
3565
35662013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3567
3568 * autogen.sh: Do not try to delete nonexistant files.
3569 * util/import_gcrypth.sed: Add some missing header removals.
3570
01323d49
CW
35712013-01-12 Colin Watson <cjwatson@ubuntu.com>
3572
3573 Clean up dangling references to grub-setup.
3574 Fixes Ubuntu bug #1082045.
3575
3576 * docs/grub.texi (Images): Refer generally to grub-install rather
3577 than directly to grub-setup.
3578 (Installing GRUB using grub-install): Remove direct reference to
3579 grub-setup.
3580 (Device map) Likewise.
3581 (Invoking grub-install): Likewise.
3582 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3583 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3584 * util/grub-install.in (usage): Likewise.
3585
3586 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3587 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3588 grub-setup.
3589 * configure.ac: Remove grub_setup output variable.
3590
3591 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3592 to grub-bios-setup.
3593 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3594 grub-setup to grub-sparc64-setup.
3595
5e3b8dcb
VS
35962013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Import gcrypt public-key cryptography and implement signature checking.
3599
535714bd
VS
36002013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/fs/ntfs.c: Ue more appropriate types.
3603 * grub-core/fs/ntfscomp.c: Likewise.
3604 * include/grub/ntfs.h: Likewise.
3605
3e4f3566
VS
36062013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 Support Apple FAT binaries on non-Apple platforms.
3609
3610 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3611 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3612 Likewise.
3613 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3614 Apple FAT binaries.
3615
4dedb13f
VS
36162013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3619 sector devices.
3620
f8861eaf
CW
36212013-01-07 Colin Watson <cjwatson@ubuntu.com>
3622
3623 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3624 explicitly zeroing elements.
3625 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3626 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3627 of elements in a structure already allocated using grub_zalloc.
3628 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3629
86065b0a
CW
36302013-01-07 Colin Watson <cjwatson@ubuntu.com>
3631
3632 * docs/grub.texi (grub_cpu): New subsection.
3633 (grub_platform): Likewise.
3634
c6f1e92f
VS
36352013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3638
f797ec85
VS
36392013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3642 divisions.
3643
033d0b4b
VS
36442013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3647 * grub-core/fs/ntfscomp.c: Likewise.
3648 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3649 (grub_ntfs_comp): Likewise.
3650
21d1b9a0
VS
36512013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3654 Rename to ...
3655 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3656 of groups_per_block. All users updated.
3657
10ca8645
VS
36582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3661 grub_error properly.
3662 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3663 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3664
a4c3ed4c
VS
36652013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3668 always in /boot/zfs.
3669 Reported by: Yuta Satoh.
3670
0b716507
YS
36712013-01-03 Yuta Satoh <nigoro>
3672
3673 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3674 ${grub_probe}
3675
00c05e22
VS
36762013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * configure.ac: Extend -Wno-trampolines to host.
3679
dadddb76
VS
36802013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3683 entry->len = 0.
3684
54ce53ca
CW
36852013-01-03 Colin Watson <cjwatson@ubuntu.com>
3686
3687 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3688 (Invoking grub-script-check): Likewise.
3689
8912efca
CW
36902013-01-03 Colin Watson <cjwatson@ubuntu.com>
3691
3692 * docs/grub.texi (Invoking grub-mount): New section.
3693 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3694
c3fc8394
CW
36952013-01-02 Colin Watson <cjwatson@ubuntu.com>
3696
3697 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3698 test failures, so that a failing unit test correctly causes 'make
3699 check' to fail.
3700
45d26abb
CW
37012013-01-02 Colin Watson <cjwatson@ubuntu.com>
3702
3703 Fix failing printf test.
3704
3705 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3706 '$' in the correct order when collecting type information.
3707
971dd2c6
CW
37082013-01-02 Colin Watson <cjwatson@ubuntu.com>
3709
3710 * docs/grub.texi (configfile): Explain environment variable
3711 handling.
3712 (source): New section.
3713 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3714
5c67ea6c
CW
37152012-12-31 Colin Watson <cjwatson@ubuntu.com>
3716
3717 Remove several trivially-unnecessary uses of nested functions.
3718
3719 * grub-core/commands/i386/pc/sendkey.c
3720 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3721 instead of nested.
3722 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3723 Rename to ...
3724 (legacy_file_getline): ... this.
3725 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3726 Likewise.
3727 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3728 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3729 to ...
3730 (probe_dummy_iter): ... this.
3731 * grub-core/kern/i386/coreboot/mmap.c
3732 (grub_linuxbios_table_iterate: check_signature): Likewise.
3733 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3734 check_varstate): Likewise. Mark inline.
3735 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3736 an additional parameter.
3737 (find_long: fnd_long): Likewise. Pass two additional parameters.
3738 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3739 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3740 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3741 Likewise. Rename to ...
3742 (grub_cmos_find_port_iter): ... this.
3743 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3744 Rename to ...
3745 (find_rtc_iter): ... this.
3746
3747 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3748 function directly into the function body, since it is only called
3749 once.
3750
33a68ac6
CW
37512012-12-30 Colin Watson <cjwatson@ubuntu.com>
3752
3753 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3754 __attribute__ ((unused)).
3755 * grub-core/video/bochs.c (find_card): Likewise.
3756 * grub-core/video/cirrus.c (find_card): Likewise.
3757 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3758 * grub-core/video/sis315pro.c (find_card): Likewise.
3759 * grub-core/video/sm712.c (find_card): Likewise.
3760
608b647a
CW
37612012-12-28 Colin Watson <cjwatson@ubuntu.com>
3762
3763 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3764 Fixes Savannah bug #37821.
3765
fd49ceb3
CW
37662012-12-28 Colin Watson <cjwatson@ubuntu.com>
3767
3768 Apply program name transformations at build-time rather than at
3769 run-time. Fixes Debian bug #696465.
3770
3771 * acinclude.m4 (grub_TRANSFORM): New macro.
3772 * configure.ac: Create output variables with transformed names for
3773 most programs.
3774 * util/bash-completion.d/grub-completion.bash.in: Use
3775 pre-transformed variables for program names.
3776 * util/grub-install.in: Likewise.
3777 * util/grub-kbdcomp.in: Likewise.
3778 * util/grub-mkconfig.in: Likewise.
3779 * util/grub-mkconfig_lib.in: Likewise.
3780 * util/grub-mknetdir.in: Likewise.
3781 * util/grub-mkrescue.in: Likewise.
3782 * util/grub-mkstandalone.in: Likewise.
3783 * util/grub-reboot.in: Likewise.
3784 * util/grub-set-default.in: Likewise.
3785 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3786 * tests/util/grub-shell-tester.in: Remove unused assignment.
3787 * tests/util/grub-shell.in: Likewise.
3788 * util/grub.d/00_header.in: Likewise.
3789
7024b3c0
CW
37902012-12-28 Colin Watson <cjwatson@ubuntu.com>
3791
3792 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3793
3794 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3795 HAVE_RAW_DECL_GETS.
3796 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3797
e3501b13
VS
37982012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3801 Reported by: Eriks Latosheks <foresterlv>.
3802
b40c88a9
VS
38032012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * docs/grub.texi (Network): Update instructions on generating netboot
3806 image.
3807
ce96d01c
VS
38082012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3811 around device name if necessarry.
3812
0f596201
PFS
38132012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3814
3815 * util/grub-install.in: Follow the symbolic link parameter added
3816 to the file command.
3817
600d5bdb
AB
38182012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3819
3820 * util/grub-install.in: Remove stale TODO.
3821
64ebd2f4
PFS
38222012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3823
3824 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3825 dynamic allocation for the bootpath buffer.
3826
74b2fe3e
DTB
38272012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3828
3829 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3830 window too small.
3831
969b804f
VS
38322012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3835 argument rather than font name. All users updated.
3836 (grub_gfxterm_set_window): Likewise.
3837
b9f5ebd6
VT
38382012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3839
3840 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3841 from working.
3842
258f43b7
VS
38432012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * util/getroot.c (convert_system_partition_to_system_disk): Support
3846 nbd disks.
3847
cc1ce5f9
VS
38482012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3851 infinite loop on corrupted FS.
3852
e77a16ca
VS
38532012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Fix big-endian mtime.
3856
3857 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3858 together sec and usec.
3859 (grub_ufs_dir): Use correct byteswapping for UFS time.
3860
d9c48c7b
VS
38612012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 Support big-endian UFS1.
3864
3865 * Makefile.util.def (libgrubmods): Add ufs_be.c
3866 * grub-core/Makefile.core.def (ufs1_be): New module.
3867 * grub-core/fs/ufs_be.c: New file.
3868 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3869 the file.
3870
2f9f40ba
LL
38712012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3872
3873 * include/grub/types.h: Fix functionality unaffecting typo in
3874 GRUB_TARGET_WORDSIZE conditional macro.
3875
48ff0889
PFS
38762012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3877
3878 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3879
03711240
GS
38802012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3881
3882 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3883 that /netbsd appears first (when it exists).
3884
a31b11bd
CJ
38852012-10-12 Christoph Junghans <ottxor@gentoo.org>
3886
3887 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3888 Fixes Savannah bug #37558.
3889
e8a5d5d4
CW
38902012-10-12 Colin Watson <cjwatson@ubuntu.com>
3891
3892 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3893 description of extract_entries_configfile.
3894
38952012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3896
3897 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3898 preferred_address.
3899 (grub_cmd_linux): Likewise.
3900 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3901 preferred_lifetime. Update all users.
3902
288c757d
CW
39032012-09-26 Colin Watson <cjwatson@ubuntu.com>
3904
3905 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3906 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3907
0d35da3f
CW
39082012-09-26 Colin Watson <cjwatson@ubuntu.com>
3909
3910 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3911 errors from grub-probe to /dev/null, not stdout.
3912
b78c3127
VS
39132012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3916 sector 1.
3917
473959f0
CW
39182012-09-24 Colin Watson <cjwatson@ubuntu.com>
3919
3920 * util/grub-install.in: Make the error message if $source_dir
3921 doesn't exist more useful.
3922
794c8c33
CW
39232012-09-22 Colin Watson <cjwatson@ubuntu.com>
3924
3925 Fix grub-emu build on FreeBSD.
3926
3927 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3928 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3929 headers on Linux.
3930 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3931 implementation is currently Linux-specific.
3932 * util/getroot.c (exec_pipe): Define only on Linux or when either
3933 libzfs or libnvpair is unavailable.
3934 (find_root_devices_from_poolname): Remove unused path variable.
3935
86d08fdb
CW
39362012-09-19 Colin Watson <cjwatson@ubuntu.com>
3937
3938 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3939 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3940 should fit before end == 63.
3941
735abf54
CW
39422012-09-19 Colin Watson <cjwatson@ubuntu.com>
3943
3944 * util/grub-setup.c (write_rootdev): Remove unused core_img
3945 parameter. Update all callers.
3946 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3947 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3948 GRUB_SETUP_BIOS.
3949
140acd3c
VS
39502012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3953 (grub_add_tab): New function.
3954 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3955 * util/grub.d/10_illumos.in: Likewise.
3956 * util/grub.d/10_kfreebsd.in: Likewise.
3957 * util/grub.d/10_linux.in: Likewise.
3958 * util/grub.d/10_netbsd.in: Likewise.
3959 * util/grub.d/10_windows.in: Likewise.
3960 * util/grub.d/10_xnu.in: Likewise.
3961 * util/grub.d/20_linux_xen.in: Likewise.
3962 * util/grub.d/30_os-prober.in: Likewise.
3963
7ddffdad
VS
39642012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3967 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3968 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3969 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3970 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3971 ieee1275-nocursor.
3972 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3973 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3974
4e092454
VS
39752012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3978 le-conversion.
3979 Reported by: BURETTE, Bernard.
3980
735abf54 39812012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3982
3983 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3984 from comment.
3985
dfd39dbd
CW
39862012-09-14 Colin Watson <cjwatson@ubuntu.com>
3987
3988 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3989 IEEE1275 machines. Fixes powerpc-emu compilation.
3990 * include/grub/terminfo.h: Likewise.
3991
3bfa763c
VS
39922012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3995 a const pointer.
3996 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3997 const pointer.
3998 (efiemu_set_variable): Make vendor_guid a const pointer.
3999
250e475b
VS
40002012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Don't require grub-mkconfig_lib to generate manpages for programs.
4003
4004 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4005 dependencies, don't add grub-mkconfig_lib.
4006 (program): Pass empty adddeps.
4007 (script): Pass grub-mkconfig_lib as adddeps.
4008
592fd0e4
VS
40092012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4012 * util/getroot.c (grub_find_device): Likewise.
4013 (get_mdadm_uuid): Likewise.
4014 (grub_util_is_imsm): Likewise.
4015 (grub_util_pull_device): Likewise.
4016 * util/grub-probe.c (probe): Likewise.
4017
801a3027
BG
40182012-09-10 Benoit Gschwind <gschwind>
4019
4020 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4021 (devs): Add devpath_8.
4022
c5052c81
PJ
40232012-09-08 Peter Jones <pjones@redhat.com>
4024
4025 * grub-core/Makefile.core.def (efifwsetup): New module.
4026 * grub-core/commands/efi/efifwsetup.c: New file.
4027 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4028 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4029 New define.
4030 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4031
8e832f71
JS
40322012-09-05 Jiri Slaby <jslaby@suse.cz>
4033
4034 * configure.ac: Add SuSe path.
4035
f0f55752
CW
40362012-09-05 Colin Watson <cjwatson@ubuntu.com>
4037
4038 * NEWS: Fix typo.
4039
ecadc4c2
CW
40402012-09-05 Colin Watson <cjwatson@ubuntu.com>
4041
4042 * util/import_gcry.py: Sort cipher_files, to make build system
4043 generation more deterministic.
4044
64498f25
VS
40452012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4048 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4049 (grub_set_datetime): Likewise.
4050
9cc836a2
VS
40512012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4054 warnings.
4055
bcfcea01
VS
40562012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4059
a4099485
VS
40602012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4063
265c162a
CW
40642012-09-04 Colin Watson <cjwatson@ubuntu.com>
4065
4066 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4067 required for checkouts from bzr, but it may be useful for users or
4068 distributors wishing to update translations against a tarball
4069 distribution, and it can be helpful for the tarball to be a superset
4070 of what's in bzr.
4071
3d171e95
CW
40722012-09-04 Colin Watson <cjwatson@ubuntu.com>
4073
4074 * Makefile.am (EXTRA_DIST): Add
4075 grub-core/tests/boot/linux.init-mips.S,
4076 grub-core/tests/boot/linux.init-ppc.S, and
4077 grub-core/tests/boot/linux-ppc.cfg.
4078
f2c2503e
CW
40792012-09-04 Colin Watson <cjwatson@ubuntu.com>
4080
4081 * grub-core/mmap/mips/loongson: Remove empty directory.
4082
40832012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4084
4085 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4086 gone.
4087
ab2163d5
CW
40882012-09-04 Colin Watson <cjwatson@ubuntu.com>
4089
4090 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4091 grub-sparc64-setup.
4092
ce938140
GS
40932012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4094
4095 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4096
529f58a5
GS
40972012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4098
4099 * po/POTFILES.in: Regenerated.
4100
16cf79e9
GS
41012012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4102
4103 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4104 (NetBSD): New subsection.
4105
39b27f1e 41062012-07-22 Ales Nesrsta <starous@volny.cz>
4107
4108 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4109 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4110
a885261b
VS
41112012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4114 * util/grub.d/10_hurd.in: Add missing quoting.
4115 * util/grub.d/10_illumos.in: Likewise.
4116 * util/grub.d/10_kfreebsd.in: Likewise.
4117 * util/grub.d/10_linux.in: Likewise.
4118 * util/grub.d/20_linux_xen.in: Likewise.
4119
7bd29c01
VS
41202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 New command `lsefi'.
4123
4124 * grub-core/Makefile.core.def (lsefi): New module.
4125 * grub-core/commands/efi/lsefi.c: New file.
4126 * include/grub/efi/api.h: Add more GUIDs.
4127
ac625d8f
VS
41282012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4131 (grub_bsd_elf32_hook): Likewise.
4132 (grub_bsd_elf64_size_hook): Likewise.
4133 (grub_bsd_elf64_hook): Likewise.
4134 (grub_bsd_load_elf): Likewise.
4135
e73bb801
VS
41362012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4139 if hash function is unavailable.
4140 (dec_stream_header): Likewise.
4141
e81db8b5
VS
41422012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4145 filter state.
4146
d187a1c3
VS
41472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Fix coreboot compilation.
4150
4151 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4152 (grub_vga_text_init_real): ... this.
4153 (grub_vga_text_fini): Rename to ...
4154 (grub_vga_text_fini_real): ... this.
4155
91a05f64
VS
41562012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4159
6af96df7
VS
41602012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/lib/legacy_parse.c: Support clear and testload.
4163
4d569e12
VS
41642012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4167
073b57bb
VS
41682012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4171
a706f4cc
VS
41722012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/net/tftp.c (ack): Fix endianness problem.
4175 (tftp_receive): Likewise.
4176 Reported by: Michael Davidsaver.
4177
e7850aa9
VS
41782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4181
41822012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4185 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4186 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4187
35692881
VS
41882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4191 efi_mmap_size.
4192 Reported by: Stuart Hayes.
4193
c35fc5bd
VS
41942012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4197
4198 * grub-core/Makefile.core.def (mda_text): New module.
4199 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4200 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4201 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4202 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4203 here.
4204 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4205 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4206 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4207 here.
4208 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4209 to ..
4210 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4211 ... here
4212 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4213 here.
4214 * grub-core/term/i386/vga_common.c: Removed.
4215 * include/grub/i386/vga_common.h: Likewise.
4216 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4217 (grub_vga_cr_bw_read): Likewise.
4218 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4219 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4220 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4221 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4222 grub_vga_cr_read/grub_vga_cr_write.
4223 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4224
5f91f701
VS
42252012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * configure.ac: Bump version to 2.00.
4228 * grub-core/normal/main.c (features): Add feature_200_final.
4229
0c4f85f6
VS
42302012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
42312012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4232
4233 * NEWS: Fix unclarity and language mistakes.
4234
f923ad22
VS
42352012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4238 additional size to 3 pages.
4239 Reported by: Stuart Hayes.
4240
d22029ba
VS
42412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * NEWS: Add 2.00 entry.
4244
58eee08f
VS
42452012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4248 put explicit "/" for empty path.
4249 (wildcard_expand): Improve dprintf.
4250
c59bdff7
VS
42512012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4254 it's equal to currnode. This can happen with "" symlink.
4255
5e6a440a
YB
42562012-06-27 Yves Blusseau <blusseau@zetam.org>
4257
4258 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4259 echo shell command by printf command.
4260
73a68bcb
VS
42612012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4264 the value returned by firmware is the maximal position, not diumension.
4265 (grub_terminfo_output_state): Use a more sane fallback.
4266
392a603b
VS
42672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4270
42d0867f
VS
42712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4274 frequency to 150 MHz.
4275
489509f4
VS
42762012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 Apple fixes.
4279
4280 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4281 __APPLE_
4282 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4283 definition.
4284 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4285
9f3fc883
VS
42862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 Handle slash in HFS label.
4289
4290 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4291 (grub_hfs_dir): Tanslate slash.
4292 (grub_hfs_label): Don't translate slash.
4293
54853fd7
VS
42942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4297 network protocol listing since it introduces problematic dependency on
4298 net module.
4299
4dc02ddf
VS
43002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4303
c50c867d
VS
43042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Init video early on yeeloong to avoid being rebooted by watchdog.
4307
4308 * grub-core/Makefile.am (gensm712): New target.
4309 (sm712_start.S): Likewise.
4310 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4311 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4312 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4313 description.
4314 * include/grub/vga.h: Move registry definitions to...
4315 * include/grub/vgaregs.h: ... here.
4316
5f92c8a1
VS
43172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4320 signedness.
4321
e9e6f111
VS
43222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4325 platforms with firmware disk drivers in the core.
4326
754ad9eb
VS
43272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4330 informative verbose message.
4331 (read_lv): Handle 64-bit segment size.
4332
315654c2
VS
43332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4336
fb022c79
VS
43372012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4340 character but still remove trainling spaces.
4341 (grub_fat_label): Ignore archive flag.
4342
8645f72c
VS
43432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4346 cast between linux_kernel_header and linux_kernel_params.
4347
36498496
VS
43482012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4351 type for size.
4352 (grub_raid6_recover_func_t): Likewise.
4353 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4354 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4355
0b5ea6b8
VS
43562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4359
650cfcfe
GS
43602012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4361
4362 Fix overflow.
4363
4364 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4365 [__NetBSD__]: Add explicit cast before bitshift.
4366
8a4d6a44
VS
43672012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * configure.ac: Bump to 2.00~rc1.
4370
2fb97ed3
VS
43712012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4374 half of $a0.
4375
1fa097dc
VS
43762012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
43772012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4378
4379 * docs/grub.texi: Fix search syntax.
4380 (Multi-boot manual config): Put msdos rather than GPT example.
4381 Grammar corrections.
4382
c890ba78
VS
43832012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4386
0f92dca7
VS
43872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4390
3988c4a0
VS
43912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4394 message on double free. Put the value of magic in case of mismatch.
4395
9e86d4c5
VS
43962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 Speed-up video on yeeloong.
4399
4400 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4401 add cached_ptr.
4402 (grub_video_sm712_video_fini): Unmap cached_ptr.
4403 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4404 (grub_video_sm712_set_active_render_target): Removed.
4405 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4406 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4407 sync caches.
4408
ed24c312
VS
44092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Avoid flushing the same line multiple times on loongson.
4412
4413 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4414 Step in 32 bytes and not 1 byte.
4415 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4416 Likewise.
4417
d1718e7d
VS
44182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4421 subvolumes.
4422
982f1909
VS
44232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Implement flow control for http.
4426
4427 * grub-core/net/http.c (parse_line): Handle response 206.
4428 (http_receive): Stall if too many packets are in the queue.
4429 (http_establish): Fix range header.
4430 (http_seek): Fix double free.
4431 (http_close): Likewise.
4432 (http_packets_pulled): New function.
4433 (grub_http_protocol): Set http_seek
4434 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4435 (ack_real): Set window depending on i_stall.
4436 (grub_net_send_tcp_packet): Likewise.
4437 (grub_net_tcp_stall): New function.
4438 (grub_net_tcp_unstall): Likewise.
4439 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4440 (grub_net_tcp_unstall): Likewise.
4441
bd407d6e
VS
44422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4445
c7564b8e
VS
44462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4449
a3706162
VS
44502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * tests/util/grub-shell.in: Fix a typo.
4453
b27069e0
VS
44542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Implement flow control for tftp.
4457
4458 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4459 packets but stop only if stop condition is satisfied.
4460 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4461 `stall' instead of `eof' as stop condition.
4462 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4463 (http_err): Likewise.
4464 * grub-core/net/tftp.c (ack): Replace the first argument with data
4465 instead of socket.
4466 (tftp_receive): Stall if too many packets are in wait queue.
4467 (tftp_packets_pulled): New function.
4468 (grub_tftp_protocol): Set packets_pulled.
4469 * include/grub/net.h (grub_net_packets): New field count.
4470 (grub_net_put_packet): Increment count.
4471 (grub_net_remove_packet): Likewise.
4472 (grub_net_app_protocol): New field `packets_pulled'.
4473 (grub_net): New field `stall'.
4474
6b9cfac6
VS
44752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4478 sync part to handle them.
4479
f35abd81
VS
44802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4483 * grub-core/net/drivers/ieee1275/ofnet.c
4484 (grub_ieee1275_net_config_real): Likewise.
4485
0e7ec820
VS
44862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4489 the direct route for server/gateway.
4490
9d611a31
VS
44912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4494 IP address to server name since we may not hame the DNS.
4495
418f45ab
VS
44962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4499 freeing random buffer on failure.
4500 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4501
44a0efc1
VS
45022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4505
531e2241
VS
45062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4509 reserved bytes.
4510 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4511 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4512 Handle malloc error correctly.
4513
cde393c9
VS
45142012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4517 blocks.
4518
538478d0
VS
45192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4522 increment.
4523
9b55efe0
VS
45242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4527 none is explicitly specified.
4528
9eb832c3
VS
45292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4532 while reallocating.
4533
d6b7c7c9
VS
45342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 Respect netmask from bootp/dhcp.
4537
4538 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4539 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4540 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4541 into ...
4542 (grub_net_add_ipv4_local): ... this.
4543 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4544 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4545 (grub_net_add_ipv4_local): New proto.
4546
67caf9eb
VS
45472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4550 determining EFI memory map size.
4551
43657558
VS
45522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4555
eb6d0dd3
VS
45562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4559 when looking for partition separator.
4560
31230544
VS
45612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4564 Escape commas.
4565
918a2517
VS
45662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Restructure FAT driver to avoid hook in label reading as it hits a
4569 GCC bug.
4570
4571 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4572 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4573 (grub_fat_iterate_dir): Split into ...
4574 (grub_fat_iterate_init): ... this, ...
4575 (grub_fat_iterate_fini): ... this, ...
4576 (grub_fat_iterate_dir_next): ... and this. All users updated.
4577
9f1d654e
VS
45782012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4581 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4582 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4583 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4584 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4585 New fields last_key and last_key_time.
4586 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4587 extended key-esc into extended key-extended key.
4588
52f0f643
VS
45892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 Avoid unnecessary memcpy of whole video buffer.
4592
4593 * grub-core/video/fb/video_fb.c (dirty): New struct.
4594 (framebuffer): Add members current_dirty and previous_dirty.
4595 (dirty): New function.
4596 (grub_video_fb_fill_rect): Update dirty.
4597 (common_blitter): Likewise.
4598 (grub_video_fb_scroll): Likewise.
4599 (doublebuf_blit_update_screen): Copy only dirty part.
4600 (doublebuf_pageflipping_update_screen): Likewise.
4601 (grub_video_fb_doublebuf_blit_init): Init dirty.
4602 (doublebuf_pageflipping_init): Likewise.
4603 (grub_video_fb_setup): Likewise.
4604
e169a180
VS
46052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4608 poll rate.
4609
48556879
VS
46102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 Fix wildcard regexp dot and other special characters handling.
4613 Reported by: Robert Mabee.
4614
4615 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4616 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4617 (split_path): Trigger expansion on '?'.
4618 (unescape): New function.
4619 (wildcard_expand): Unescape parts copied without globbing.
4620 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4621 (grub_script_arglist_to_argv): Don't unescape expansions.
4622
0494408e
VS
46232012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * include/grub/net.h (grub_net_card): New member txbufsize.
4626 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4627 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4628 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4629 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4630 txbufsize.
4631 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4632 compatible property to check for macs. Set
4633 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4634 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4635 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4636 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4637 (send_card_buffer): Use txbuf.
4638 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4639 nested function out of the parent while on it.
4640
cc35fe8f
VS
46412012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4644 presence check.
4645 (grub_ieee1275_net_config_real): Fix config pointer.
4646
970a0a09
VS
46472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4650 filename parsing to non-block devices.
4651
3e19bf87
VS
46522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4655
c62d1a0c
VS
46562012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4659 All users updated.
4660
ef76bec3
VS
46612012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4664 UUID search command even if hints probing failed.
4665
46662012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4667
4668 * po/POTFILES.in: Regenerated.
4669
70aaf305
VS
46702012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Speed-up video on fuloong.
4673
4674 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4675 New function.
4676 (grub_pci_device_unmap_range): Handle non-cached address.
4677 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4678 add direct_ptr.
4679 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4680 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4681 (grub_video_sis315pro_set_active_render_target): Removed.
4682 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4683 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4684 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4685 sync caches.
4686 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4687 New proto.
4688
10400f0b
VS
46892012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * docs/grub.texi (Multi-boot manual config): New section.
4692
ba67e2c6
VS
46932012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Avoid slow read-back from VRAM.
4696
4697 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4698 Move from here ...
4699 * grub-core/video/fb/video_fb.c
4700 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4701 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4702 (front_target): Remove front_target. Add pages.
4703 (grub_video_fb_init): Skip setting front_pages.
4704 (grub_video_fb_fini): Likewise.
4705 (doublebuf_blit_update_screen): Use pages.
4706 (grub_video_fb_doublebuf_blit_init): Likewise.
4707 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4708 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4709 (grub_video_fb_setup): Prefer doublebuffing.
4710
377c98cb
VS
47112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4714 gzio.
4715
eac49cff
VS
47162012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 Add loongson tests.
4719
4720 * tests/util/grub-shell.in: Handle loongson.
4721 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4722 drivers.
4723 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4724 Reboot instead of shutdown if REBOOT is defined.
4725
0321415e
VS
47262012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4729 sized ports since unlike on real hardware qemu supports only 32-bit
4730 regs.
4731
3f2bdd8f
VS
47322012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4735 * util/grub-mkrescue.in: Handle loongson.
4736
29a049c9
VS
47372012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4740 Set is_part appropriately.
4741 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4742 names. Canonicalize partition without full disk.
4743
4abde346
VS
47442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Revert usb-quiesce since it's wrong.
4747
4748 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4749 (grub_ofdisk_init): Don't do quiesce.
4750
61f1d93b
VS
47512012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4754 PowerMac workaround to Xserves as well.
4755 Information supplied by: Benjamin Herrenschmidt.
4756
a09eb541
VS
47572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Don't assume that beginning address is also the entry point on ppc.
4760
4761 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4762 (grub_linux_boot): Use linux_entry.
4763 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4764 (grub_linux_load64): Likewise.
4765
505b3c9b
VS
47662012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4769
cbe0b4ef
VS
47702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4773 needlessly lose the console.
4774
3006e981
VS
47752012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4778 space.
4779
4e5a96b0
VS
47802012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4781
7da036bb
VS
4782 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4783 than current grub_get_rtc() not implemented when booted with
4784 coreboot without TSC.
4785
4786 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4787 Add machine/time.h to kernel headers on loongson.
4788 * grub-core/Makefile.core.def (kernel): Remove
4789 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4790 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4791 (grub_get_rtc): Likewise.
4792 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4793 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4794 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4795 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4796 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4797 rather than installing known non-working time source.
4798 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4799 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4800 * include/grub/time.h: Don't include machine/time.h.
4801 * include/grub/efi/time.h: Removed.
4802 * include/grub/i386/efi/time.h: Likewise.
4803 * include/grub/i386/ieee1275/time.h: Likewise.
4804 * include/grub/powerpc/ieee1275/time.h: Likewise.
4805 * include/grub/sparc64/ieee1275/time.h: Likewise.
4806 * include/grub/x86_64/efi/time.h: Likewise.
4807
48082012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4811
4812 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4813 value.
4814 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4815 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4816 with dotless variants when any combining above is present.
4817
5561c22d
VS
48182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4821 text and not binary.
4822
96f7e60e
VS
48232012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Stop polling as soon as we have the packet we were waiting for.
4826
4827 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4828 All users updated.
4829 * grub-core/net/arp.c (have_pending): New var.
4830 (pending_req): Likewise.
4831 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4832 stop indicator.
4833 (grub_net_arp_receive): Set have_pending.
4834 * grub-core/net/dns.c (recv_data): New field stop.
4835 (recv_hook): Set stop.
4836 (grub_net_dns_lookup): Init stop and use as stop condition.
4837 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4838 condition.
4839 * grub-core/net/net.c (grub_net_poll_cards): New argument
4840 stop_condition. Stop when it goes true.
4841 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4842 indicator.
4843 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4844
3e747239
VS
48452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Keep TX and RX buffers on EFI rather than always allocate new ones.
4848
4849 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4850 card. All users updated.
4851 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4852 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4853 (get_card_packet): Likewise.
4854 (grub_efinet_findcards): Init new fields.
4855
f695e99a
VS
48562012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4859 compilation error on sparc64.
4860
9e5e66d1
VS
48612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 Use ITC on IA64 rather than broken routine based on daytime.
4864
4865 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4866 ia64.
4867 (grub_get_rtc) [__ia64__]: Likewise.
4868 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4869 (get_itc): New function.
4870 (grub_rtc_get_time_ms): Likewise.
4871 (grub_machine_init): Calibrate ITC.
4872 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4873 Keep only on non-ia64. Don't export since it's broken and used only
4874 if TSC is unavailable.
4875
a1767404
VS
48762012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4879 even if it's used.
4880 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4881 Skip if parent is unused.
4882
34b2bced
VS
48832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4886
5e619f40
VS
48872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 Fix wildcard escaping.
4890
4891 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4892 * grub-core/script/execute.c (wildcard_escape): .. to here.
4893 Don't escape dot.
4894 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4895 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4896 Don't escape dot.
4897 * grub-core/script/execute.c (gettext_append): Always escape.
4898 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4899 * grub-core/script/yylex.l: Don't cut away the escaping.
4900 * tests/grub_script_echo1.in: Add tests with wildcard.
4901
c8ca5855
VS
49022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4905 (ftdi_hw_configure): Likewise.
4906 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4907 define.
4908 (real_config): Handle 1.5 stop bits.
4909 (pl2303_hw_configure): Likewise.
4910
7183452c
VS
49112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * Makefile.am: Add ppc linux bootcheck.
4914 * grub-core/tests/boot/linux-ppc.cfg: New file.
4915 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4916
f57c84cd
VS
49172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * tests/grub_script_expansion.in: Skip network protocols.
4920
ecfc6207
VS
49212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4924
8d03d284
VS
49252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4928 --rom-directory.
4929 Add -graft-points.
4930
61c42af0
VS
49312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 ESCC serial driver for conducting sautomated tests in qemu.
4934 Not tested on real hardware.
4935
4936 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4937 * grub-core/term/ieee1275/escc.c: New file.
4938 * grub-core/Makefile.core.def (escc): New module.
4939
08fd1291
VS
49402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4943 invalid on error.
4944 (serial_hw_fetch): Don't read invalid handle.
4945 (serial_hw_put): Don't write into invalid handle.
4946
08dafeea
VS
49472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Add a 1.5 stop bits value.
4950
4951 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4952 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4953 GRUB_SERIAL_STOP_BITS_1_5.
4954
9068fdcf
VS
49552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4958 value rather than let it uninited.
4959
f4d5820f
VS
49602012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/commands/wildcard.c (+check_file): New function.
4963 (wildcard_expand): Don't expand to non-existing files, expand with
4964 suffix and not attempt to expand if not needed.
4965
3d2de9a7
VS
49662012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4969 out of partitions containing other partitions.
4970
c5c81ff9
VS
49712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4974 on some qemu versions with GRUB.
4975
4976 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4977 define.
4978 (grub_openbsd_bootarg_pcibios): New struct.
4979 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4980 Add PCIINFO.
4981
08a14e0b
VS
49822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * tests/util/grub-shell.in: Trim firmware output on EFI.
4985
cede3ca3
VS
49862012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4989 and coreboot since it's already in kernel.
4990
558d3a60
VS
49912012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4994 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4995 to here. New return value start. All users updated.
4996 Recursively scan linear mappings.
4997 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4998 proto.
4999 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5000 Use grub_util_get_dm_node_linear_info.
5001 * util/getroot.c (convert_system_partition_to_system_disk): Use
5002 grub_util_info rather than grub_dprintf.
5003 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5004
60fde14d
VS
50052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5008
5009 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5010 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5011
24bd8838
VS
50122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * include/grub/types.h (grub_set_unaligned64): New function.
5015 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5016 (setup): Likewise.
5017
7bc06a49
VS
50182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5021 (grub_ofdisk_fini): Quiesce USB devices.
5022
49cea015
VS
50232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5026 caches.
5027
8dcbe03b
VS
50282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5031
5b258735
VS
50322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/disk/pata.c (grub_pata_pio_read)
5035 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5036 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5037
37ba07eb
VS
50382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 Extend automated tests to qemu-mips.
5041
5042 * Makefile.am: reorganise tests and enable qemu-mips.
5043 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5044 * grub-core/tests/boot/linux.init-mips.S: New file.
5045 * tests/partmap_test.in: Handle ata0 disks.
5046 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5047 non-pc i386.
5048
070038f8
VS
50492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5052 ia64.
5053 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5054 quotes while on it.
5055
004be2cd
VS
50562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5059 (grub_halt): Likewise.
5060 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5061
b1622487
VS
50622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/term/serial.c (grub_serial_register)
5065 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5066 the behaviour in line with x86 platforms.
5067
b7b4ab33
VS
50682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5071 (grub_ata_strncpy): Likewise.
5072 (grub_ata_identify): Add missing byteswaps.
5073
5e3535ae
VS
50742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5077 byte-swap.
5078 (screen_read_char): Likewise.
5079 (grub_vga_text_cls): Likewise.
5080
c21b17e6
VS
50812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5084 filenames.
5085 (make_file_path): Likewise.
5086
bf293dec
VS
50872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5090 machines.
5091 Tested by: Paulo Flabiano Smorigo.
5092 Crucial information about API supplied by: Coleen <Last name unknown>.
5093 Reviewed by: Coleen <Last name unknown>.
5094
81f6ef0e
VS
50952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * util/grub-mkimage.c: Disable -Wcast-align.
5098
7284143a
VS
50992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5102 as they are fatal.
5103
b99f3e00
VS
51042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5107
944f752d
VS
51082012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/grub-probe.c (escape_of_path): Fix double free.
5111
6cce6f38
VS
51122012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/commands/videoinfo.c (hook): Show pitch.
5115
1e1eb50e
VS
51162012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5119
1c715b5a
VS
51202012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5123 (probe): Add ieee1275 to OFW devices.
5124
007ae52d
VS
51252012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5128
4557a36d
VS
51292012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 Handle IBM OFW path.
5132
5133 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5134 available.
5135 (of_path_of_scsi): Handle vdevice.
5136
efbeefe9
VS
51372012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5140 Allocate in multiples of 16 to avoid adding a few bytes free region the
5141 windows bugs upon.
5142
15a940bb
VS
51432012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5146 Allocate in multiples of 16 to avoid adding a few bytes free region the
5147 windows bugs upon.
5148 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5149
6e5efd60
VS
51502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5153 resolutions.
5154 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5155 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5156
0d3d137e
IS
51572012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5158
5159 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5160
45dbe300
VS
51612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5164 resulted in \\ at the end of the line.
5165
6d8db947
VS
51662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5169 (grub_parser_cmdline_state): Likewise.
5170 (grub_parser_split_cmdline): Likewise.
5171
de89d338
VS
51722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5175 /dev/root and /dev/dm-*.
5176
00d41dee
VS
51772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5180 fix partially stale display.
5181
f95d1f11
VS
51822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5185 substraction.
5186
6297e197
VS
51872012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5190 Fix MBR remapping workaround.
5191 (grub_util_biosdisk_read) [__linux__]: Likewise.
5192
8a7ecad3
VS
51932012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5196
2b34f944
VS
51972012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * configure.ac: Bump to beta6.
5200
684aef11
CW
52012012-05-31 Christer Weinigel <christer@weinigel.se>
5202
5203 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5204
05b0bb91
VS
52052012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5208 (grub_cmd_linux): Likewise.
5209
bda36bfa
CW
52102012-05-31 Christer Weinigel <christer@weinigel.se>
5211
5212 Fix EHCI low-speed.
5213
5214 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5215 (GRUB_EHCI_MULT_TWO): Likewise.
5216 (GRUB_EHCI_MULT_THREE): Likewise.
5217 (GRUB_EHCI_CMASK_MASK): New enum value.
5218 (GRUB_EHCI_SMASK_MASK): Likewise.
5219 (GRUB_EHCI_CMASK_OFF): Likewise.
5220 (GRUB_EHCI_SMASK_OFF): Likewise.
5221 (grub_ehci_pci_iter): Enable periodic schedule.
5222 (grub_ehci_parse_notrun): Likewise.
5223 (grub_ehci_restore_hw): Likewise.
5224 (grub_ehci_setup_qh): Set flags for low speed transfers.
5225 (grub_ehci_find_qh): Use periodic list for low speed.
5226 (grub_ehci_setup_transfer): Check periodic queue as well.
5227 (grub_ehci_check_transfer): Likewise.
5228 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5229
e12bcb1c
PFS
52302012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5231
5232 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5233 parameter is used.
5234
bcc75fb3
PJ
52352012-05-31 Peter Jones <pjones@redhat.com>
5236
5237 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5238 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5239 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5240
f19cb95e
VS
52412012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5244 uninited variable. Allocate at least setup_sects.
5245
a4e5ca80
VS
52462012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 Fix handling of EFI with big memory maps.
5249
5250 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5251 (real_mode_mem): Likewise.
5252 (real_mode_target): Likewise.
5253 (real_mode_pages): Likewise.
5254 (prot_mode_pages): Likewise.
5255 (linux_params): New var.
5256 (linux_cmdline): Likewise.
5257 (free_pages): Don't set real mode variables.
5258 (allocate_pages): Don't allocate real mode memory.
5259 (grub_e820_add_region): Remove the limit.
5260 (grub_linux_boot): Allocate and copy real mode memory.
5261 (grub_linux_unload): Free linux_cmdline.
5262 (grub_cmd_linux): Use temporary storage for parameters.
5263 (grub_cmd_initrd): Likewise.
5264 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5265 (linux_kernel_params): Make it 1K big.
5266
ddb73558
VS
52672012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * Makefile.util.def: Remove -Wno-format.
5270 * grub-core/Makefile.core.def: Likewise.
5271
1c4afb60
VS
52722012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * tests/cmp_unit_test.c: Add missing failure message.
5275 * tests/example_unit_test.c: Likewise.
5276 * tests/printf_unit_test.c: Likewise.
5277
941e3a6d
VS
52782012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5281 relaxation of protective MBR requirements.
5282
b105df76
VS
52832012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * configure.ac: Add condition for COND_HOST_XNU.
5286 * Makefile.util.def (10_xnu): New script.
5287 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5288
84e1569e
VS
52892012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5292 objconv bug.
5293
130c0f77
VS
52942012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5297 Binary on other platforms stays identical.
5298
6fd0b143
VS
52992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5302 Apple.
5303
0af1751d
VS
53042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5307
176d5f7d
VS
53082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5311 rather than defining size_t ourselves to avoid conflict.
5312
7de5e20a
VS
53132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5316 initialisation to avoid __bzero reference.
5317
f7143efe
VS
53182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5321 version.
5322 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5323 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5324 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5325 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5326 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5327
e6ad0555
VS
53282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5331 * grub-core/kern/misc.c: Likewise.
5332 * grub-core/loader/i386/xnu.c: Likewise.
5333 * include/grub/i386/tsc.h: Likewise.
5334 * include/grub/symbol.h: Likewise.
5335
4a5a3c4a
VS
53362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5339 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5340 on older compiler.
5341
037f6d90
VS
53422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5345 Implement Apple flavour.
5346 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5347
f7194551
VS
53482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5351 (memmove) [__APPLE__]: Likewise.
5352 (memcpy) [__APPLE__]: Likewise.
5353 (memset) [__APPLE__]: Likewise.
5354 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5355 (memmove) [__APPLE__]: Likewise.
5356 (memcpy) [__APPLE__]: Likewise.
5357 (memset) [__APPLE__]: Likewise.
5358
85a730ca
VS
53592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5362 dependency discard.
5363
40e80b94
VS
53642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/normal/main.c (read_config_file): Provide config_file and
5367 config_directory.
5368 * util/grub.d/41_custom.in: Use config_directoy when available.
5369
9da59c32
VS
53702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5373 (grub_bfs_dir): Likewise.
5374
2787ae53
PJ
53752012-05-27 Peter Jones <pjones@redhat.com>
5376
5377 The old code gives arguments to a printf function which can't work
5378 correctly, and the compiler complains.
5379
5380 * grub-core/tests/example_functional_test.c (example_test): Add
5381 missing text.
5382 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5383 * include/grub/test.h (grub_test_assert_helper): New declaration.
5384 (grub_test_assert): Use grub_test_assert_helper.
5385
526ef13d
VS
53862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5389 (exfctest): ... this to avoid overlong filenames.
5390 All users updated.
5391
20dd511c
VS
53922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 Handle "." and ".." on squashfs.
5395
5396 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5397 Make inode numbers into stack.
5398 (grub_squash_read_symlink): Use stack.
5399 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5400 (make_root_node): Fill stack.
5401 (grub_squash_open): Use stack.
5402
1d80c62a
VS
54032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5406 freeing.
5407
d336f652
VS
54082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5411 stderr on test calls.
5412
8b43f587
VS
54132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5416
80a3dc3f
VS
54172012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5420
47e297d4
VS
54212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5424 "..".
5425
df042ccb
VS
54262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5429 (grub_hfsplus_iterate_dir): Add "." and "..".
5430
fc977f48
VS
54312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5434 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5435
f3250e5f
VS
54362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5439 (find_path): Handle "." and "..".
5440
fd8ed4c5
VS
54412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5444 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5445 (grub_affs_iterate_dir): Handle hardlinks.
5446
4ce776d2
MG
54472012-05-26 Matthew Garrett <mjg@redhat.com>
5448
5449 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5450 (grub_efi_console_fini): Likewise.
5451 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5452 (grub_video_gop_fill_mode_info): Rename to ...
5453 (grub_video_gop_fill_real_mode_info): ... this.
5454 (grub_video_gop_fill_mode_info): New function.
5455 (grub_video_gop_setup): Setup double framebuffer.
5456 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5457 Free offscreen.
5458 (grub_video_gop_swap_buffers): Copy framebuffer.
5459 (grub_video_gop_fini): Free offscreen buffer.
5460 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5461 New enum.
5462 (grub_efi_gop_blt_pixel): New struct.
5463
683031ba
VS
54642012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * gentpl.py: Remove error disabling for objconv.
5467
c2deb798
VS
54682012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * configure.ac: Remove -Wunitialized as it's not available on older
5471 compilers.
5472
54732012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5474
5475 Fix extent overflow comparator.
5476
5477 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5478 (grub_hfsplus_read_block): Set type.
5479 (grub_hfsplus_cmp_extkey): Compare type.
5480
d6b1fd36
VS
54812012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5484
0a9aa0f6
VS
54852012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5488 than 0.
5489
8360e159
VS
54902012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5493 (dejavu_bold_14.pf2): New target.
5494
501b9e4b
VS
54952012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * configure.ac: Fix djvu font detection.
5498
7026b0e2
VS
54992012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5502 ext* instead of ext2.
5503
c2a51ade
VS
55042012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5507 name with \0.
5508
8f803a5d
JU
55092012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5510
5511 * docs/grub-dev.texi: Remove dot from .png.
5512
13c6353f
VS
55132012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5516 protective entry in any slot.
5517 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5518 if protective entry is found in any slot.
5519
5520 Protective entry in non-first slot make no sense but is a widespread
5521 brain damage.
5522
4cf6be1b
VS
55232012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5526
937d1c44
VS
55272012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5530 with old reiserfs.
5531 (grub_reiserfs_open): Don't free root.
5532
021d90ec
VS
55332012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5536 after freeing for safety.
5537
967b2b64
VS
55382012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5541 Reported by: Jordan Uggla.
5542
34274d02
JU
55432012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5544
967b2b64
VS
5545 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5546 actual implementation. Specifically, clarify that the grub menu will
5547 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5548 passed.
34274d02 5549
dcaaae9d
BH
55502012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5551
5552 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5553 of r0.
5554
7086ad52
VS
55552012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 Remove unjustified hard dependency of normal.mod on gfxterm.
5558
5559 * include/grub/term.h (grub_term_output): New member fullscreen.
5560 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5561 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5562 (grub_gfxterm): Set .fullscreen.
5563 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5564 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5565
37ed2c9b
VS
55662012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5569 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5570 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5571
a4469c88
VS
55722012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5575
4e461486
VS
55762012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5579 a bad FS.
5580
aa78f5c4
VS
55812012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5584 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5585
197626b5
VS
55862012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5589 (grub_jfs_mount): Fill caseins.
5590 (grub_jfs_find_file): Respect caseins.
5591
8ad3f28c
VS
55922012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5595 through UTF-16.
5596
0c6c324e
VS
55972012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5600 New argument origpath. All users updated.
5601
c6666ba6
VS
56022012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5605 (read_attr): Ensure that we read start of possibly compressed block.
5606
e28e5fe5
VS
56072012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5610 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5611 All users updated.
5612
5fc23ab2
VS
56132012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5616 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5617 (dejavu.pf2): Replace with ...
5618 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5619 this.
5620
79dbc21c
VS
56212012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * util/grub.d/20_linux_xen.in: Add missing line.
5624
d2fcfb0c
VS
56252012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5628 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5629 (grub_utf16_to_utf8): Likewise.
5630
5560e9d6
VS
56312012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5634 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5635 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5636 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5638 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5639
56402012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5641
5642 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5643 a bad FS.
5644
5560e9d6 56452012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5646
5647 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5648 (grub_udf_read_symlink): Handle read_string failure.
5649
5eae3175
VS
56502012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5653 comment.
5654
c1ad82db
VS
56552012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 Fix handling of UDF symlinks.
5658
5659 * grub-core/fs/udf.c (read_string): New argument outbuf.
5660 All users updated.
5661 (grub_ufs_read_symlink): Rename to ...
5662 (grub_udf_read_symlink): ... this. All users updated.
5663 Handle symlinks with more than one component.
5664
33eca6e0
VS
56652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5668 symlinks. Replace leading colon with a slash.
5669
57f4a70b
VS
56702012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5673 filename.
5674
38c8ee20
VS
56752012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5678 match in inner node.
5679
2e57f28f
VS
56802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5683 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5684 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5685 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5686 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5687 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5688 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5689 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5690 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5691
fe8c2f11
VS
56922012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 Use grub-probe and not cmp to check that disk is empty.
5695
5696 * util/grub-install.in: Use grub-probe for zero-check.
5697 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5698 (probe): Handle PRINT_ZERO_CHECK.
5699 (argp_parser): Handle -t zero_check.
5700
57012012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5702
5703 Flush block cache on adding disk to device map.
5704
5705 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5706 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5707 adding.
5708 (read_device_map): Likewise.
5709 (open_device): Flush on opening.
5710
690434e8
VS
57112012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5714 (handle_symlink): Fix off-by-one error.
5715 Canonicalize the target.
5716 (grub_cpio_dir): Canonicalize the name.
5717 Fix memory leak.
5718 Set directory.
5719 (grub_cpio_open): Canonicalize the name.
5720
742d2be6
VS
57212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5724 handling.
5725
3244fe96
VS
57262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5729 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5730
8aeb1837
VS
57312012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5734 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5735 All users updated.
8aeb1837 5736
9133fd05
VS
57372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5740 counterpart.
5741
6d521c5b
VS
57422012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 Fix UFS1 big file support.
5745
5746 * grub-core/fs/ufs.c (INODE): Removed.
5747 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5748 64-bit.
5749 (INODE_MODE): Simplify.
5750 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5751 (grub_ufs_lookup_symlink): Don't use INODE.
5752
21b82e17
VS
57532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5756
5757 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5758 (grub_minix_data): Replace log_block_size with block_size.
5759 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5760 (grub_minix_mount): Fill block_size.
5761
57622012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5763
5764 * configure.ac: Bump to beta5.
5765
f417ed04
VS
57662012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 Fix wrapped HFS+ handling.
5769
5770 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5771 blocks_start. All users updated.
5772 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5773 wrapping offset.
5774 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5775
607d282b
VS
57762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 Fix long symlinks on reiserfs.
5779
5780 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5781 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5782 (grub_reiserfs_iterate_dir): Save size for non-directories.
5783 (grub_reiserfs_open): Don't reread stat block as we already know the
5784 size.
5785 (grub_reiserfs_read): Split into...
5786 (grub_reiserfs_read_real): ... and ...
5787 (grub_reiserfs_read): ...this.
5788
ae16024d
VS
57892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 Fix non-indexed JFS.
5792
5793 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5794 (grub_jfs_data): New field namecomponentlen.
5795 (grub_jfs_mount): Fill namecomponentlen.
5796 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5797
eea1e26e
VS
57982012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5801 * tests/grub_script_echo1.in: Add tests.
5802
df760f77
VS
58032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * util/grub-install.in: Ignore empty devicetree directory.
5806
5efb817d
B
58072012-05-08 Bean <bean123ch@gmail.com>
5808
5809 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5810 All users updated.
5811 (free_rsm): Free header as well.
5812 (free_old_fragments): Fix memory leak.
5813 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5814 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5815 (destroy_pq): Likewise.
5816 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5817
668ea6d2
VS
58182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5821 resulting hash as a precaution.
5822
1739b1fe
VS
58232012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5826 '_' in variable names.
5827 * grub-core/net/net.c (grub_net_network_level_interface_register):
5828 Likewise.
5829
6ae485aa
VS
58302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Fix AFFS with non-512B blocks.
5833
5834 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5835 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5836 (grub_affs_data): Replace blocksize with log_blocksize.
5837 (grub_affs_read_block): Fix non-512B blocks.
5838 (grub_affs_read_symlink): Likewise.
5839 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5840 (grub_affs_read): Fix non-512B blocks.
5841 (grub_affs_label): Likewise.
5842 (grub_affs_mtime): Likewise.
5843 (grub_affs_mount): Fix block detection routine.
5844
d20fab84
VS
58452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Add filesystem mtime to AFFS.
5848
5849 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5850 (aftime2ctime): New function.
5851 (grub_affs_dir): Use aftime2ctime.
5852 (grub_affs_label): Fix return value.
5853 (grub_affs_mtime): New function.
5854 (grub_affs_fs): Add mtime.
5855
e87b10f5
VS
58562012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5859 UTF-8.
5860
7dceec9b
VS
58612012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5864 UTF-8.
5865
2f48221f
VS
58662012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5869
dacd85cf
VS
58702012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5873 flags.
5874 (FLAGS_CASE_SENSITIVE): New enum value.
5875 (cache_entry): New struct.
5876 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5877 cache_size and cache.
5878 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5879 Add log_blocksize and fshelp_flags.
5880 (grub_sfs_read_extent): Handle non-512 blocks.
5881 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5882 (grub_sfs_read_file): Handle non-512 blocks.
5883 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5884 fshelp_flags.
5885 (grub_sfs_read_symlink): Handle non-512 blocks.
5886 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5887 (grub_sfs_dir): Free cache.
5888 (grub_sfs_close): Likewise.
5889
24e9a854
VS
58902012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5893 filesystems.
5894
62ace64d
VS
58952012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5898
83b2e89c
VS
58992012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5902
75ccaea3
VS
59032012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5906 (grub_sfs_read_extent): Likewise.
5907 (grub_sfs_read_block): Likewise.
5908 (grub_sfs_mount): Likewise.
5909 (grub_sfs_iterate_dir): Likewise.
5910 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5911 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5912
1b8463f2
VS
59132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Fix errors on compressed NTFS with 512B clusters.
5916
5917 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5918 types.
5919 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5920 not 0.
5921 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5922 Relax check for inline extents.
5923 (ntfscomp): Return correct -1 on error and not 0.
5924
4f8e368f
VS
59252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * util/grub-install.in: Fix handling of prefix containing spaces.
5928
6f5d5ee8
VS
59292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5932 (grub_squash_read_data): Fix offset byte-swapping.
5933
ce41ab7a
VS
59342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5937 per common usage and preffered in several parts of code.
5938 (grub_memcmp): Likewise.
5939 (grub_strncmp): Likewise.
5940 * include/grub/misc.h (grub_strcasecmp): Likewise.
5941 (grub_strncasecmp): Likewise.
5942 * Makefile.util.def (cmp_test): New test.
5943 (grub_script_strcmp): Likewise.
5944 * tests/cmp_unit_test.c: New file.
5945 * tests/grub_script_strcmp.in: Likewise.
5946 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5947
49717bf4
VS
59482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * include/grub/pci.h: Move enums into no-asm part.
5951
0a308f64
VS
59522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5955
1796965f
ST
59562012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5957
5958 * util/getroot.c (find_hurd_root_device): Try to make error message
5959 and comments to translators clearer.
5960
4e9b2819
VS
59612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5964
076aeb50
VS
59652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5968 btrfs.
5969
19424d94
VS
59702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * docs/grub.cfg: Update.
5973
ebb73076
VS
59742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * docs/grub.texi (PXE): Remove not present variables.
5977
9a1b669c
VS
59782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/net/net.c (defserver_set_env): New function.
5981 (defserver_get_env): Likewise.
5982 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5983
d38bf7d3
VS
59842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5987 entries.
5988
59892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5990
5991 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5992 * grub-core/kern/emu/hostdisk.c: Likewise.
5993
e5e4ca48
ST
59942012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5995
5996 Handle hurd userspace partitions.
5997
5998 * util/getroot.c (find_hurd_root_device): New function.
5999 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6000
56bb5dd5
VS
60012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6004 names.
6005 Reported by: Bastian Blank.
6006
9e8bc27a
VS
60072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6010 crossing page boundary.
6011
aa01499d
VS
60122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Fix B-tree search in BFS, especially in presence of non-ASCII
6015 characters.
6016
6017 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6018 (find_in_b_tree): Use standard bsearch + btree algorithm.
6019
57006035
VS
60202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6023 and so on.
6024
9d34bb85
MG
60252012-05-03 Matthew Garrett <mjg@redhat.com>
60262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 Suspend broadcom cards in order to stop their DMA.
6029
6030 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6031 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6032 (pci): Don't build on x86 EFI.
6033 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6034 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6035 New function.
6036 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6037 stop_broadcom if running on EFI.
6038 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6039 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6040 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6041 (grub_pci_find_capability): New proto.
6042
01aab997
VS
60432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * docs/grub.texi: Remove dot from the extension as it apparently
6046 doesn't work with some makeinfo versions.
6047
fbd8dca6
VS
60482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6051 with GRUB expectance.
6052
dab797f4
VS
60532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6056
1516bfb4
VS
60572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6060 zero after directory block since last entry may be not 0-terminated if
6061 it ends on block boundary. Use continue instead of if spanning whole
6062 loop.
6063
a3a0eace
VS
60642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Support 4K sectors UDF inline files.
6067
6068 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6069 (grub_udf_extended_file_entry): Likewise.
6070 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6071 All users updated.
6072 (get_fshelp_size): New function.
6073 (grub_udf_read_icb): Read whole block.
6074 (grub_udf_iterate_dir): Likewise.
6075 (grub_udf_dir): Likewise.
6076 (grub_udf_open): Likewise.
6077
c82f16c1
VS
60782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6081
59fd2aac
VS
60822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6085 inline symlinks in addition to workaround.
6086
3b4afb4d
VS
60872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6090
f45c794a
VS
60912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6094
f25cecbd
VS
60952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6098
bb9a34e8
VS
60992012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Fix reiserfs big seek times.
6102
6103 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6104 exact. All users updated.
6105 (grub_reiserfs_read): Use nearest btree search for seeking.
6106 Fix return value on error.
6107
dc478aea
VS
61082012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6111 entries.
6112 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6113 * docs/grub.texi: Update menuentry description.
6114
8db10f47
VS
61152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6118 crash when embedding onto filesystem.
6119
bcb288ed
VS
61202012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6123 name.
6124
a626fdd7
VS
61252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6128
b2f68477
VS
61292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6132 commit.
6133
ba15b2af
B
61342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
61352012-05-01 Bean <bean123ch@gmail.com>
6136
6137 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6138
a188012e
VS
61392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6142 Special behaviour for len = 0 to read whole file isn't used anywhere and
6143 can cause buffer ovewrflows in several places.
6144
f0a53ed2
VS
61452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6148
5ed554f0
VS
61492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Handle RAIDZ on non-512B sectors.
6152
6153 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6154 max_children_ashift.
6155 (fill_vdev_info_real): Fill max_children_ashift.
6156 (read_device): Use max_children_ashift.
6157
ddc58357
VS
61582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6161
e3282399
VS
61622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6165 disk names.
6166 * docs/grub.texi: Update device.map parts.
6167
ee618bd4
VS
61682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 Don't scan into non-diskfilter devices having diskfilter names.
6171
6172 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6173 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6174 handling.
6175 (scan_disk_hook): New function.
6176
bdf88864
B
61772012-04-29 Bean <bean123ch@gmail.com>
6178
6179 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6180 allocation.
6181
32745f51
MK
61822012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6183
6184 * configure.ac: Detect starfield theme font path
6185 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6186
bc95c8c0
VS
61872012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6190 geometry on serial consoles.
6191
147fbcab
VS
61922012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6195 because of network consoles.
6196
0f42c889
VS
61972012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6200 handling.
6201
4a3594c9
VS
62022012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6205 falls on Q syndrom.
6206
5cb53879
VS
62072012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6210 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6211
b282dfe5
VS
62122012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6215 Allocate at lest 8192 for temporary buffer as required for lzo.
6216
daa59f47
VS
62172012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6220 to cluster_bits, since it's already added in.
6221 (grub_fat_read_data): Likewise.
6222
986748ce
VS
62232012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6226 as long as cluster size is multiple of 512 bytes.
6227
a20f6ad0
VS
62282012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * util/grub-mkrescue.in: Fix locale directory.
6231
385f9abb
VS
62322012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/kern/emu/hostdisk.c (map): Make static.
6235
1c557d30
B
62362012-04-23 Bean <bean123ch@gmail.com>
6237
6238 * util/grub-fstest.c (fstest): Add missing break.
6239
524b5d3a
ST
62402012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6241
6242 Fix hurd build.
6243
6244 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6245 not define nr variable.
fe4824e9 6246 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6247 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6248 grub_find_device): Do not define.
524b5d3a 6249
9a06490c
VS
62502012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 Fix kfreebsd compile and behaviour.
6253
6254 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6255 format-security.
6256 * util/getroot.c: Fix wait.h include.
6257 (grub_guess_root_devices): Error if grub_find_device fails.
6258 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6259 (grub_util_get_dev_abstraction): Likewise.
6260 (grub_util_pull_device): Likewise.
6261 (grub_util_get_grub_dev): Likewise.
6262 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6263
48143d96
VS
62642012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 Fix and unify wholedisk detection.
6267
6268 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6269 is_part. All users updated.
6270 (device_is_wholedisk): Removed.
6271 (grub_util_biosdisk_get_grub_dev): Use is_part.
6272
ebbd24f3
VS
62732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6276 mode.
6277
56f7aa1e
VS
62782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * configure.ac: Bump to beta4.
6281
9c815e01
VS
62822012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6285 --fs-uuid --set UUID syntax.
6286
59e2651a
VS
62872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6290 disunification.
6291
54e03cfc
VS
62922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6295
81092a75
MK
62962012-04-18 Mads Kiilerich <mads@kiilerich.com>
6297
6298 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6299
f8315e14
MG
63002012-04-18 Mike Gilbert <floppym@gentoo.org>
6301
6302 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6303
1501ac21
B
63042012-04-18 Bean <bean123ch@gmail.com>
6305
6306 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6307 place.
6308
cb7f944e
VS
63092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6312 users updated.
6313 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6314 corresponding to GRUB partitions.
6315 (grub_util_biosdisk_write): Likewise.
6316
b72d44a1
VS
63172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 Scan mdraid before LVM.
6320
6321 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6322 (grub_diskfilter_register_front): ... this.
6323 (grub_diskfilter_register_back): New function.
6324 All users of grub_diskfilter_register updated.
6325
33d918b8
VS
63262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * util/grub-install.in: Fix an automatic target detection bug.
6329
c6ca973d
VS
63302012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * util/grub-install.in: New option --efi-directory.
6333
b41be562
VS
63342012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6337 boot services if we have no other choice.
6338
63392012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6342 document it.
6343 * tests/util/grub-shell.in: Update to --directory.
6344
e0595a73
VS
63452012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6348
4ed80652
VS
63492012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6352 (grub_minix_read_file): Likewise.
6353 (grub_minix_read_inode): Likewise.
6354 (grub_minix_find_file): Likewise.
6355 (grub_minix_dir): Likewise.
6356
56008077
VS
63572012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * util/grub-setup.c (setup): Fix partition handling and blocklist
6360 check.
6361
ee520775
VS
63622012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6365 redundant buggy overlap check.
6366
16fc9293
VS
63672012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6370 and grub-mknetdir.
6371
9bab65c4
VS
63722012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6375 kh.loadflags on pre-2.00 kernels.
6376
3c491b47
VS
63772012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Terminate UNDI and PXE before launching the payload to avoid problems
6380 with DMA.
6381
6382 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6383 (grub_loader_flags): ... this. All users updated.
6384 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6385 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6386 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6387 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6388 function.
6389 (grub_pxe_restore): Likewise.
6390 (fini_hnd): New var.
6391 (GRUB_MOD_INIT): Register shutdown hook.
6392 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6393 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6394 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6395 (grub_loader_set): Rename second argument to flags.
6396
851ffada
VS
63972012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6400 written bytes.
6401 (grub_get_num_of_utf8_bytes): New function.
6402 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6403 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6404 executing it.
6405 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6406 (grub_ucs4_to_utf8): Change return type.
6407
491c57a8
VS
64082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6411 warning.
851ffada
VS
6412 * grub-core/fs/bfs.c (hop_level): Likewise.
6413 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6414
756773df
VS
64152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/lib/adler32.c: Recode due to license unclearness.
6418
fd556a96
VS
64192012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6422 (test_header): Likewise.
6423
9f9d3f69
VS
64242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 Fix --help formatting.
6427
6428 * util/grub-mkconfig_lib.in (print_option_help): New function.
6429 (grub_fmt): Likewise.
6430 * util/grub-install.in: Use print_option_help and grub_fmt.
6431 * util/grub-kbdcomp.in: Likewise.
6432 * util/grub-mkconfig.in: Likewise.
6433 * util/grub-mknetdir.in: Likewise.
6434 * util/grub-mkrescue.in: Likewise.
6435 * util/grub-mkstandalone.in: Likewise.
6436 * util/grub-reboot.in: Likewise.
6437 * util/grub-set-default.in: Likewise.
6438 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6439
561ec77e
VS
64402012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * linguas.sh: Remove autogenerated *.po.
6443
7ec2b021
VS
64442012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * po/README: Move language fetcing to ...
6447 * linguas.sh: ... here.
6448 * po/README: Point to linguas.sh.
6449
a88f3270
VS
64502012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * po/README: Exclude ko.po due to disclaimer problems.
6453
d61357ce
VS
64542012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6457 len = 0.
6458 (grub_gettext_translate_real): Handle 0th string.
6459 (grub_gettext_translate): Ensure that "" isn't translated.
6460
505e41dc
VS
64612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6464 TRANSLATORS comment.
6465 (grub_diskfilter_print_partmap): Propagate changing of error into
6466 warning.
6467
e44092db
VS
64682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6471 to uint64_t to prevent overflow.
6472 (grub_diskfilter_lv): Increase start_extent and extent_count
6473 to uint64_t to prevent overflow.
6474
9b83956a
VS
64752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * configure.ac: Increase version.
6478
da0d5b3f
VS
64792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6482
6483 * po/Rules-translit: New file.
6484 * po/arabic.sed: Likewise.
6485 * po/cyrillic.sed: Likewise.
6486 * po/greek.sed: Likewise.
6487 * po/hebrew.sed: Likewise.
6488 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6489 * po/Makefile.in.in: Add extra_dist4.
6490
ac66b453
VS
64912012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6494
6495 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6496 modify names. Introduce MODE_BIGENDIAN.
6497 * grub-core/fs/minix_be.c: New file.
6498 * grub-core/fs/minix2_be.c: Likewise
6499 * grub-core/fs/minix3_be.c: Likewise.
6500 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6501 minix3_be.
6502 * grub-core/Makefile.core.def (minix_be): New module.
6503 (minix2_be): Likewise.
6504 (minix3_be): Likewise.
6505
65062012-04-01 Felix <email@hamburg.de>
6507
6508 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6509 (devs): Add MBP 2011.
6510
0a2d5a82
VS
65112012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6514
d1625889
VS
65152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/normal/cmdline.c (print_completion): New field
6518 prompt_len.
6519 (grub_cmdline_get): Handle width properly.
6520
6d36a236
VS
65212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6524
9576977e
VS
65252012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6528 after 29th of February.
9576977e 6529
d73ff15d
VS
65302012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Fix exfat endianness handling.
6533
6534 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6535 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6536 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6537 Byte-swap utf16 when necessary.
6538 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6539
bbb39a45
AB
65402012-03-31 Anton Blanchard <anton@samba.org>
65412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 Fix btrfs endianness handling.
6544
6545 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6546 (lower_bound): Make root uint64_t. Use root in le.
6547 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6548 (find_path): Fix template key init.
6549 (grub_btrfs_dir): Fix mtime byteswap.
6550 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6551
354e0af7
VS
65522012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6555 recursion_depth. Break infinite resursions. All users updated.
6556
4e75f21c
VS
65572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6560 after free.
6561 Reported by: Peter Jones.
6562
25581802
AB
65632012-03-31 Anton Blanchard <anton@samba.org>
6564
6565 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6566 8 bit values.
6567
08fbf92e
VS
65682012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * util/grub-install.in: Fix nvram call for PreP.
6571
5d1182a6
VS
65722012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6575 the error when some elements are missing into a warning.
6576
3f8cdd90
VS
65772012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6580
51006716
CW
65812012-03-28 Colin Watson <cjwatson@ubuntu.com>
6582
6583 * docs/grub.texi (Invoking grub-probe): New section.
6584 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6585
e1bd676b
VS
65862012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Fix tab and wide character handling in editor and menu.
6589
6590 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6591 agglomerate control characters with combining marks.
6592 (bidi_line_wrap): Allow break on tab.
6593 (grub_unicode_get_comb_start): New function.
6594 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6595 and tab correctly.
6596 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6597 with a space.
6598 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6599 fixed_tab_size. All users updated.
6600 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6601 (grub_term_getcharwidth): Handle \t.
6602 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6603 and copy.
6604
22e6a774
VS
66052012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Handle big-endian mdraid.
6608
6609 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6610 * grub-core/Makefile.core.def (mdraid09_be): New module.
6611 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6612 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6613 * grub-core/disk/mdraid_linux_be.c: New file.
6614
3c0eae66
VS
66152012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6618
b6cf74c9
VS
66192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6622 missing quotes which caused confusion among translators.
6623
83c93b9c
VS
66242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * util/grub-mkconfig_lib.in: Fix typo.
6627
ac6fd218
VS
66282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6631 spaces.
6632 * tests/grub_script_leading_whitespace.in: New file.
6633 * Makefile.util.def (grub_script_leading_whitespace): New test.
6634
ba287dd8
VS
66352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6638 to work.
6639
d2d58d0a
VS
66402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6643 starts with control character.
6644
0382d9bb
VS
66452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6648 overflow.
6649 (grub_gdb_outbuf): Likewise.
6650
d83ff9f9
VS
66512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6654 zero terminator. Fixes a crash.
6655
2282da4a
VS
66562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6659 beyond 4 GiB.
6660 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6661 images independently of preffered adderss field.
6662
0ae4f0bd
VS
66632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6666 * grub-core/commands/regexp.c: Likewise.
6667 * grub-core/loader/i386/linux.c: Likewise.
6668 * grub-core/partmap/msdos.c: Likewise.
6669 * grub-core/script/execute.c: Likewise.
6670 * grub-core/term/gfxterm.c: Likewise.
6671
546fbe9b
VS
66722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 Add variable parsing in $"..." and fix several mismatches with bash.
6675
6676 * Makefile.util.def (grub_script_gettext): New test.
6677 * grub-core/script/execute.c (parse_string): New function.
6678 (gettext_append): Likewise.
6679 (grub_script_arglist_to_argv): Use gettext_append.
6680 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6681 * tests/grub_script_gettext.in: New file.
6682
9fdb2d7b
VS
66832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Fix handling of leading spaces in scripts.
6686
6687 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6688 spaces.
6689 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6690 other than skipping \r. All users updated.
6691 * tests/grub_script_echo1.in: Add space-related tests.
6692 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6693
1a1ac4f6
VS
66942012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6697
b63d89b6
VS
66982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * configure.ac: Bump up the version to beta2.
6701
17f38c0f
VS
67022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 Fix gettext reload bugs (e.g. inability to disable gettext
6705 once enabled).
6706
6707 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6708 main_context and secondary_context. All functions updated.
6709 (grub_gettext_translate): Rename to ...
6710 (grub_gettext_translate_real): ... this. Return NULL on failed
6711 translate.
6712 (grub_gettext_translate): Handle secondary context.
6713 (grub_gettext_delete_list): Close file and zero-out the context.
6714 (grub_mofile_open): Don't call grub_gettext_delete_list.
6715 Don't close file.
6716 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6717 if locale="" to avoid pointless error message.
6718 (grub_gettext_env_write_lang): Update lang even if load fails.
6719 Handle secondary context.
6720 (grub_gettext_reread_prefix): New function.
6721 (read_main): Likewise.
6722 (read_secondary): Likewise.
6723 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6724 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6725 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6726 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6727
8e56f870
VS
67282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * configure.ac: Decrease warning level to avoid spurious warnings and
6731 to be able to compile with GCC 4.2.
6732 * Makefile.util.def: Remove -Wno-error=logical-op.
6733
82f6d455
WB
67342012-03-10 William Bittner <william.bittner@gmail.com>
6735
6736 * util/import_unicode.py: Add missing brackets around string for
6737 python 3 support.
6738
1ecd61a4
VS
67392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Fix efi chainloader on network root.
6742
6743 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6744 network devices.
6745 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6746 New function.
6747
14361ee8
VS
67482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6751 unused show_text member.
6752 * docs/grub.texi: Document "text" property.
6753
922aabf3
VS
67542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6757 in dprintf.
6758
ec316771
VS
67592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Fix IMSM handling on Fedora.
6762
6763 * util/getroot.c (grub_util_is_imsm): New function.
6764 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6765
0f021838
VS
67662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * Makefile.am: Strip gold section.
6769 * conf/Makefile.common: Likewise.
6770 * gentpl.py: Likewise.
6771 * grub-core/Makefile.core.def: Likewise.
6772 * grub-core/genmod.sh.in: Likewise.
6773
1039c8eb
VS
67742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6777 * util/grub.d/20_linux_xen.in: Likewise.
6778 Based on Debian patch.
6779
6dd412cd
VS
67802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * util/grub.d/10_linux.in: Fix syntax error resulting in
6783 Richard Laager's patch.
6784 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6785
3fd8bae5
VS
67862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6789 dependencies.
6790
7eea1671
RL
67912012-03-10 Richard Laager <rlaager@wiktel.com>
6792
6793 * util/grub.d/10_linux.in: Fix ZFS root passing.
6794
e8e0566b
VS
67952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6798 * grub-core/commands/xnu_uuid.c: Likewise.
6799 * grub-core/loader/efi/appleloader.c: Likewise.
6800 * grub-core/script/execute.c: Likewise.
6801 * grub-core/script/main.c: Likewise.
6802 * util/grub-mkfont.c: Likewise.
6803
1acc5b1f
VS
68042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * util/grub-mkfont.c (options): Use more appropriate "select" that
6807 "set" for face index.
6808
35d70620
VS
68092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * util/grub-editenv.c (options): Gettextize command summaries.
6812
c9eb96b5
VS
68132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6816 "out of memory" error messagge.
6817
1f493136
VS
68182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6821 of diskfilter for diskfilter on diskfilter support.
6822
6d790129
VS
68232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6826
005f46c9
VS
68272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6830 themes/starfield.
6831
c8f778a0
VS
68322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6835
de1e64eb
VS
68362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6839
c6d54211
VS
68402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6843 of error message.
6844
dd390777
VS
68452012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6848
5fd1c522
VS
68492012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6852 message.
c6d54211 6853 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6854
fae01f6c
VS
68552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6858 Gettextize.
6859 * util/grub-mount.c (options): Likewise.
6860
292fdaff
VS
68612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6864 gettextize.
6865 * grub-core/commands/search_wrap.c (options): Likewise.
6866
ecdbae77
VS
68672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6870
52bfedfa
VS
68712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6874 size calculation.
6875 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6876 none is known.
6877
55b20e58
VS
68782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6881 "temporary" since it's used in identifier and is limited in space.
6882
fda9d101
VS
68832012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * po/POTFILES.in: Regenerate. Include *.h since they contain
6886 translatable strings as well.
6887
6a0295e2
VS
68882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6891 byte-swap on big-endian.
6892 Reported by: Lennart Sorensen
6893
807fb77c
VS
68942012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6897 (allocate_pages): Improve dprintf.
6898 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6899 code32_start. Fill code32_start and kernel_alignment in params.
6900 (grub_cmd_initrd): Use prot_init_space.
6901
61ac50ba
VS
69022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6905
abdd26dd
VS
69062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * util/grub-install.in: Add missing dot at the end of sentence.
6909
6e69da9c
VS
69102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6913 * grub-core/commands/videotest.c: Likewise.
6914 * grub-core/loader/i386/linux.c: Likewise.
6915
4a929343
VS
69162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6919 sentence.
6920 Reported by: Milo Casagrande.
6921
bb51c6c6
VS
69222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6925 * grub-core/commands/gptsync.c: Likewise.
6926 * grub-core/commands/hashsum.c: Likewise.
6927 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6928 * grub-core/commands/legacycfg.c: Likewise.
6929 * grub-core/io/gzio.c: Likewise.
6930 * grub-core/net/net.c: Likewise.
6931 * grub-core/term/gfxterm.c: Likewise.
6932 * grub-core/term/terminfo.c: Likewise.
6933 * grub-core/tests/test_blockarg.c: Likewise.
6934 * grub-core/video/video.c: Likewise.
6935 * util/grub-install.in: Likewise.
6936 * util/grub-mkfont.c: Likewise.
6937
b2b149cb
VS
69382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6941
c7c080ad
VS
69422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6945 Reported by: David Prévot.
c7c080ad 6946
f2e243c0
VS
69472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6950 description.
6951
09963c76
VS
69522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * util/grub-script-check.c (main): Fix a syntax error message which was
6955 unclear.
6956
a50514a8
VS
69572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6960
4650daec
VS
69612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6964 messages.
6965
69662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6967
6968 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6969 without argument.
6970 * util/grub-mount.c (options): Likewise.
6971
bbc5a342
VS
69722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6975
ef292a87
VS
69762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/net/http.c: Add TRANSLATORS comments.
6979 * grub-core/normal/cmdline.c: Likewise.
6980 * grub-core/normal/misc.c: Likewise.
6981 * grub-core/partmap/msdos.c: Likewise.
6982 * grub-core/parttool/msdospart.c: Likewise.
6983 * grub-core/script/execute.c: Likewise.
6984 * grub-core/script/main.c: Likewise.
6985 * grub-core/term/terminfo.c: Likewise.
6986 * grub-core/video/bitmap.c: Likewise.
6987 * util/grub-install.in: Likewise.
6988 * util/grub-mkimage.c: Likewise.
6989 * util/grub-mklayout.c: Likewise.
6990 * util/grub-setup.c: Likewise.
6991
0fc19bd0
VS
69922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6995 with similar messages in grub-fstest.
6996
d95862ef
VS
69972012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * util/grub-install.in: Unify "option requires an argument" message
7000 with similar messages in other files.
7001 * util/grub-mkconfig.in: Likewise.
7002
b7308f90
VS
70032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * util/grub-set-default.in: Replace printf with gettext_printf (the
7006 string in in question is already translated from grub-reboot)
7007
559dc587
VS
70082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * configure.ac: Bump up the version to beta1.
7011
1a11761f
VS
70122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7015 case when min_align = 0.
7016
24539abd
VS
70172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7020 and fix a case when line_start overflows.
7021
32bd735b
VS
70222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * util/grub-reboot.in (usage): Mention id posibility.
7025 * util/grub-set-default.in (usage): Likewise.
7026
1a2fd1e6
VS
70272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7030 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7031 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7032 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7033 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7034 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7035 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7036
90eeab76
VS
70372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/commands/menuentry.c (options): Remove
7040 GRUB_ARG_OPTION_REPEATABLE.
7041 Reported by: Andreas Vogel
7042
5ad1be82
AV
70432012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7044
7045 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7046
cb055286
HE
70472012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7048
7049 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7050 error.
7051
93b1cd79
VS
70522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Use sort -V by the idea of Georgi Georgiev.
7055
7056 * util/grub-mkconfig_lib.in (version_sort): New function.
7057 (version_test_numeric): Use version_sort.
7058
0cdc126c
VS
70592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 Use submenus in grub-mkconfig.
7062
7063 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7064 * util/grub-mkconfig_lib.in (grub_quote): New function.
7065 (gettext_printf): Use gettext and not gettext_quoted to fix several
7066 messages.
7067 * util/grub.d/10_hurd.in: Use submenus.
7068 * util/grub.d/10_kfreebsd.in: Likewise.
7069 * util/grub.d/10_linux.in: Likewise.
7070 * util/grub.d/10_netbsd.in: Likewise.
7071 * util/grub.d/20_linux_xen.in: Likewise.
7072 * util/grub.d/30_os-prober.in: Likewise.
7073 * util/grub.d/10_illumos.in: Add missing quoting.
7074 * util/grub.d/10_windows.in: Likewise.
7075
d9bef9bc
VS
70762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 Fix menu title instability bug.
7079
7080 * grub-core/commands/menuentry.c (options): New option --id.
7081 (grub_normal_add_menu_entry): New argument id. All users updated.
7082 (grub_cmd_menuentry): Handle --id.
7083 (grub_menu_init): Accept unknown arguments.
7084 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7085 feature_menuentry_options.
7086 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7087 saved_entry.
7088 (get_entry_number): Match with id as well.
7089 * include/grub/menu.h (grub_menu_entry): New member id.
7090 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7091 * util/grub.d/00_header.in: Define menuentry_id_option.
7092 * util/grub.d/10_hurd.in: Define id.
7093 * util/grub.d/10_illumos.in: Likewise.
7094 * util/grub.d/10_kfreebsd.in: Likewise.
7095 * util/grub.d/10_linux.in: Likewise.
7096 * util/grub.d/10_netbsd.in: Likewise.
7097 * util/grub.d/10_windows.in: Likewise.
7098 * util/grub.d/20_linux_xen.in: Likewise.
7099 * util/grub.d/30_os-prober.in: Likewise.
7100
71012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7102
7103 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7104 "scope" with "body".
7105
7c8d0ce7
VS
71062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7109 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7110 prot_size and prot_file_size.
7111
49de079b
VS
71122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7115 All users updated. If easily=1 require raid-5/-6 to be full.
7116 (is_node_readable): Likewise.
7117 (scan_devices): Scan incomplete but readable LVs at the end.
7118 (grub_diskfilter_memberlist): Pull missing devices.
7119 (insert_array): Skip scanning until device is complete or scan is
7120 done otherwise.
7121 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7122 check.
7123 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7124 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7125
aff05d45
MG
71262012-03-03 Matthew Garrett <mjg@redhat.com>
71272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 Avoid EFI boot services when loading Linux.
7130
7131 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7132 avoid_efi_bootservices. All users updated.
7133 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7134 argument avoid_efi_bootservices. All users updated.
7135 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7136 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7137 align, min_align, relocatable, prefered_address. All users updated.
7138 Allocate avoiding boot services if kernel is relocatable.
7139 (grub_cmd_linux): Check if kernel is relocatable.
7140 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7141 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7142 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7143 avoid_efi_boot_services.
7144 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7145 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7146 (linux_kernel_params): Likewise.
7147
3935dde2
MG
71482012-03-03 Matthew Garrett <mjg@redhat.com>
71492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 Use EDID on EFI.
7152
7153 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7154 datasize_out.
7155 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7156 modes. Set gop_handle.
7157 (grub_video_gop_get_edid): New function.
7158 (grub_gop_get_preferred_mode): Likewise.
7159 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7160 (grub_video_efi_gop_adapter): Set .get_edid.
7161 * include/grub/efi/edid.h: New file.
7162 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7163
32107ec0
VS
71642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * util/grub-install.in: Load efivars unconditionally.
7167
e70a2c50
VS
71682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * po/Rules-piglatin: Change suffix from .po-update-en to
7171 .po-update-en-piglatin.
7172
8f9cace1
VS
71732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 Add a pig farm.
7176
7177 * po/piglatin.sed: New file.
7178 * po/en@piglatin.header: Likewise.
7179 * po/Rules-piglatin: Likewise.
7180 * po/README: Add en@piglatin to autogenerated languages.
7181
8f95d002
VS
71822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7185 "Command for ...".
7186 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7187 "Check" since we don't check anything.
7188 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7189 is 64-bit one.
7190 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7191 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7192 (grub_md_sha512_real): Likewise.
7193
805a8dcc
VS
71942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/commands/gptsync.c: Fix typographic quoting.
7197 * grub-core/commands/ieee1275/suspend.c: Likewise.
7198 * grub-core/commands/parttool.c: Likewise.
7199 * grub-core/commands/search_wrap.c: Likewise.
7200 * grub-core/commands/videoinfo.c: Likewise.
7201 * grub-core/gfxmenu/gui_label.c: Likewise.
7202 * grub-core/hello/hello.c: Likewise.
7203 * grub-core/kern/emu/main.c: Likewise.
7204 * grub-core/net/net.c: Likewise.
7205 * grub-core/normal/menu.c: Likewise.
7206 * grub-core/normal/menu_text.c: Likewise.
7207 * grub-core/normal/misc.c: Likewise.
7208 * util/grub-editenv.c: Likewise.
7209 * util/grub-install.in: Likewise.
7210 * util/grub-kbdcomp.in: Likewise.
7211 * util/grub-mkconfig.in: Likewise.
7212 * util/grub-mknetdir.in: Likewise.
7213 * util/grub-mkrescue.in: Likewise.
7214 * util/grub-mkstandalone.in: Likewise.
7215 * util/grub-reboot.in: Likewise.
7216 * util/grub-set-default.in: Likewise.
7217 * util/grub-setup.c: Likewise.
7218 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7219
40211ab8
VS
72202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7223 * grub-core/commands/keystatus.c: Likewise.
7224 * grub-core/commands/loadenv.c: Likewise.
7225 * grub-core/commands/probe.c: Likewise.
7226 * grub-core/commands/regexp.c: Likewise.
7227 * grub-core/commands/true.c: Likewise.
7228 * grub-core/commands/videoinfo.c: Likewise.
7229 * grub-core/disk/cryptodisk.c: Likewise.
7230 * grub-core/disk/ldm.c: Likewise.
7231 * grub-core/disk/loopback.c: Likewise.
7232 * grub-core/disk/luks.c: Likewise.
7233 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7234 * grub-core/kern/disk.c: Likewise.
7235 * grub-core/kern/emu/hostdisk.c: Likewise.
7236
0c7d99c7
VS
72372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7240 * util/grub-install.in: Add missing quote in the comment.
7241
e7d2559b
VS
72422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7245 * grub-core/commands/lsmmap.c: Likewise.
7246 * grub-core/commands/minicmd.c: Likewise.
7247 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7248 * grub-core/commands/regexp.c: Likewise.
7249 * grub-core/gdb/gdb.c: Likewise.
7250 * grub-core/term/gfxterm.c: Likewise.
7251 * util/grub-mkconfig.in: Likewise.
7252 * util/grub-mkfont.c: Likewise.
7253 * util/grub-mklayout.c: Likewise.
7254 * util/grub-mknetdir.in: Likewise.
7255 * util/grub-mkrescue.in: Likewise.
7256 * util/grub.d/30_os-prober.in: Likewise.
7257
49ce9e50
VS
72582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7261 with "Direct color" and "Packed" with "Packed pixel".
7262 (grub_cmd_videoinfo): Simplify legend.
7263
e4b791fa
VS
72642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7267 absolutely unclear error message.
7268
fd1265cb
VS
72692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * util/grub-mkstandalone.in: Remove confusing leftover print.
7272
8822a8a0
VS
72732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7276 comments.
7277 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7278 (GRUB_MOD_INIT): Likewise.
7279 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7280 VGA mode.
7281 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7282 comments.
7283 * util/grub-install.in (usage): Likewise.
7284 Spell ID in whole letters.
7285 Add missing ending dot.
7286 Quote variables.
7287 * util/grub-reboot.in: Fix capitalisation.
7288 * util/grub-set-default.in: Likewise.
7289
937fd0cc
VS
72902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7293 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7294 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7295 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7296 Disable -Werror for -Wdeprecated-declarations.
7297 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7298 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7299 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7300 (grub_util_get_grub_dev): Make luks handling dependent on
7301 HAVE_DEVICE_MAPPER and not __linux__.
7302 (get_win32_path): Fix format security.
7303 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7304 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7305 Don't try grub_find_zpool_from_dir.
7306 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7307 #ifdef-out paresdir.
7308
1bab1ae3
VS
73092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * util/grub-pe2elf.c (usage): Add missing noreturn.
7312 (write_section_data): Rename name to shname to avoid shadowing.
7313 (write_symbol_table): Rename name to symname to avoid shadowing.
7314 Fix write_reloc_section call.
7315
ef023e42
VS
73162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7319 to ensure that it's after the last byte of .text.
7320
48afcb75
VS
73212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * util/ieee1275/ofpath.c (my_isdigit): New function.
7324 (trailing_digits): Use my_isdigit.
7325 (strip_trailing_digits): Likewise.
7326
88d51eff
VS
73272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7330 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7331
17edc2ba
VS
73322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/kern/i386/pc/startup.S: Define __start.
7335
ad5518d7
VS
73362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7339 strip already transforms he format.
7340
9e95e1bf
VS
73412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7344
9cc3ee5c
VS
73452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * util/grub-install.in: Add missing gettext init.
7348 * util/grub-kbdcomp.in: Likewise.
7349 * util/grub-mkconfig.in: Likewise.
7350 * util/grub-mknetdir.in: Likewise.
7351 * util/grub-mkrescue.in: Likewise.
7352 * util/grub-mkstandalone.in: Likewise.
7353 * util/grub-reboot.in: Likewise.
7354 * util/grub-set-default.in: Likewise.
7355 * util/grub.d/00_header.in: Likewise.
7356 * util/grub.d/10_hurd.in: Likewise.
7357 * util/grub.d/10_windows.in: Likewise.
7358 * util/grub.d/30_os-prober.in: Likewise.
7359 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7360
49e08a06
VS
73612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * po/Rules-swiss: Fix header comment.
7364
3809cb41
AV
73652012-02-29 Andreas Vogel <anvoit>
7366
7367 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7368 resulted in leak of arguments.
7369
fa6ec573
VS
73702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7373 reed_solomon_size const definition instead of computing it since
7374 Apple assembler doesn't support the later.
7375
22899b9c
VS
73762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * gentpl.py (kernel): Rewrite Apple part.
7379
a132afc3
VS
73802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7383
9d742bd4
VS
73842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7387 ELF section gap.
7388 (load_image): Likewise.
7389
f04a9a21
VS
73902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * configure.ac: Fix a typo in previous commit.
7393
46cf439c
VS
73942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Don't add -Wl,-N on Apple platform.
7397
7398 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7399 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7400
c4c48c54
VS
74012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/Makefile.core.def (lzma_decompress): Use
7404 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7405
31a12124
VS
74062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/genmod.sh.in: Rewrite the Apple part.
7409
4f3aa1af
VS
74102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7413 comparison.
7414
7bd8b0c7
VS
74152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * acinclude.m4 (grub_CHECK_PIC): New test.
7418 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7419
97304d7c
VS
74202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7423 to avoid the warning.
7424
fb883812
VS
74252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7428 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7429 after. All users updated.
7430
a121c964
VS
74312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 Use the common size routine in hostfs so we can read disks as well.
7434
7435 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7436 (grub_util_get_fd_size): ... this. Return size in bytes.
7437 All users updated.
7438 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7439 grub_util_get_fd_size.
7440
c66d6410
VS
74412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7444 Add blocksize retrieval.
7445
dfc8aeb0
VS
74462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * configure.ac: Restore CFLAGS after efiemu check.
7449
403e25a5
VS
74502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7453 Apple bug.
7454
382775d1
VS
74552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7458
6fd4e6e4
VS
74592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7462 (grub_cmd_halt): Likewise.
7463
bea359d6
VS
74642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7467 for local arithmetics.
7468 Break %sp init into 2 instructions.
7469 Add 0 byte at the end.
7470
32eb6ee1
VS
74712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7474 before loops.
7475
e8377389
VS
74762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7479 for context.
7480
8cb17de7
VS
74812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/disk/ldm.c (make_vg): Init part.name.
7484 (grub_ldm_detect): Silence spurious warning.
7485 (grub_util_is_ldm): Likewise.
7486
595717e6
VS
74872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7490 sane value to avoid a spurious warning.
7491
c4b7e588
VS
74922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7495 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7496
59824957
VS
74972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7500 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7501
70115b99
VS
75022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7505 hardcoding the relevant info.
7506
56733740
VS
75072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7510 missing const qualifiers.
7511 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7512
43481481
VS
75132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * util/getroot.c [__APPLE__]: Add missing includes.
7516 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7517
3cb38f01
VS
75182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7521
d9dbf11e
VS
75222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7525 avoid conflicts.
7526
0c42a45d
VS
75272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7530
46c34eb0
VS
75312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7534 and grub_file_close call.
7535
99ce1597
VS
75362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Add LZSS Mach-O support (needed for new xnu kernelcache).
7539
7540 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7541 * grub-core/loader/lzss.c: New file.
7542 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7543 on Mach-O open failure.
7544 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7545 Don't free cmdsXX in uncompressedXX is set.
7546 (grub_macho_file): Init new fields.
7547 New argument is_64bit. All users updated.
7548 Handle compressed. Error out if no suitable architecture is found.
7549 Don't close file.
7550 (grub_macho_open): New argument is_64bit. All users updated.
7551 * grub-core/loader/macho32.c: Add defines for new fields.
7552 * grub-core/loader/macho64.c: Likewise.
7553 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7554 (grub_macho_parse): Handle compressed.
7555 Defer actual processing if compressed.
7556 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7557 "filename". All users updated.
7558 (grub_macho_size): New argument "filename". All users updated.
7559 (grub_macho_get_entry_point): Likewise.
7560 (grub_macho_load): Handle compressed.
7561 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7562 (GRUB_MACHO_LZSS_OFFSET): New define.
7563 (grub_decompress_lzss): New proto.
7564 * include/grub/machoload.h (grub_macho_file): New fields to handle
7565 compressed.
7566 (grub_macho_contains_macho64): Remove proto.
7567 (grub_macho_contains_macho32): Likewise.
7568 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7569
ebd17d6f
VS
75702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7573
2702b4e4
VS
75742012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 Fix make dist.
7577
7578 * Makefile.am (starfield_theme_files): New var.
7579 (starfield_DATA): Use starfield_theme_files.
7580 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7581 Add bootcheck-related files.
7582 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7583 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7584 and font_char_metrics.txt.
7585 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7586 (setjmp): Add lib/ia64/longjmp.S.
7587 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7588 * po/POTFILES.in: Regenerate.
7589 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7590 DISTFILES.common.extra1.
7591 * util/devicemap.c: Removed.
7592 * grub-core/lib/i386/relocator_backward.S: Likewise.
7593 * util/import_gcry.py: Remove unused files. Add extra_dist for
7594 ChangeLog.
7595
cf1adfdf
VS
75962012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7599 grub_gettext_delete_list before changing grub_gettext_max to avoid
7600 running out of array bounds.
7601
76022012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7603
7604 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7605 grub_vga_text_init/grub_vga_text_fini.
7606
cf1adfdf 76072012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7608
7609 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7610
541d92e9
VS
76112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * configure.ac: Bump to 2.00~beta0.
7614
7931dddf
VS
76152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7618 missing initialisation.
7619
f1b16fa3
VS
76202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7623
83ddae23
VS
76242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Support v2 xnu boot arguments.
7627
7628 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7629 New argument fsbfreq_out.
7630 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7631 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7632 be used.
7633 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7634 darwin_version.
7635 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7636 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7637 (grub_xnu_boot_params): Rename to ...
7638 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7639 (grub_xnu_boot_params_v2): New struct.
7640
dc693fe6
VS
76412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7644 zeroing of CRC field before computing CRC.
7645
5a6e39c2
VS
76462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7649 Change order of allocations to decrease fragmentation.
7650
6c21f5d7
VS
76512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7654
cfe456dc
CW
76552012-02-27 Colin Watson <cjwatson@ubuntu.com>
7656
7657 Use write-combining MTRR to speed up video with buggy BIOSes.
7658
7659 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7660 (cpuid): New define.
7661 (rdmsr): Likewise.
7662 (wrmsr): Likewise.
7663 (mtrr_base): Likewise.
7664 (mtrr_mask): Likewise.
7665 (grub_vbe_enable_mtrr_entry): New function.
7666 (grub_vbe_enable_mtrr): Likewise.
7667 (grub_vbe_disable_mtrr): Likewise.
7668 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7669 control off to BIOS.
7670 (grub_video_vbe_init): Fill mtrr.
7671 (grub_video_vbe_fini): Disable mtrr.
7672 (grub_video_vbe_get_info_and_fini): Likewise.
7673 (grub_video_vbe_setup): Enable mtrr.
7674
e3c78337
CW
76752012-02-27 Colin Watson <cjwatson@ubuntu.com>
7676
7677 * include/grub/partition.h (grub_partition_map): Change prototype of
7678 embed to take a maximum value for nsectors.
7679 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7680 * include/grub/fs.h (grub_fs): Likewise.
7681 * grub-core/partmap/msdos.c (embed_signatures): New array.
7682 (pc_partition_map_embed): Check for and avoid sectors matching any
7683 of the signatures in embed_signatures, up to max_nsectors.
7684 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7685 returned sector map to max_nsectors.
7686 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7687 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7688 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7689 * util/grub-setup.c (setup): Allow for the embedding area being
7690 split into multiple blocklists. Tell dest_partmap->embed the
7691 maximum number of sectors we care about.
7692
76932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7696 Specify blocklist_install and reserver_first_sector for all fs.
7697 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7698 blocklists.
7699
984b973f
VS
77002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * util/grub-install.in: Clarify strings.
7703 Fix source dir check.
7704
f122e0d6
RL
77052012-02-27 Richard Laager <rlaager@wiktel.com>
7706
7707 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7708 "zfs" and "fuse.zfs" as synonyms.
7709
071114bb
VS
77102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * configure.ac: Put platform and target_cpu substitutions back since
7713 they are used for directories.
7714
817e6abc
RL
77152012-02-27 Richard Laager <rlaager@wiktel.com>
77162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7719 * util/grub.d/20_linux_xen.in: Likewise.
7720
897b7419
RL
77212012-02-27 Richard Laager <rlaager@wiktel.com>
7722
7723 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7724 with full paths.
7725
a414bd15
RL
77262012-02-27 Richard Laager <rlaager@wiktel.com>
7727
7728 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7729 unescape.
7730
30ac48c4
VS
77312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 Don't use insecure popen in getroot.
7734
7735 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7736 (exec_pipe): ... here.
7737 (find_root_devices_from_poolname): Use exec_pipe.
7738
53f13848
VS
77392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 Remove platform and target_cpu replacement.
7742
7743 * configure.ac: Remove platform and target_cpu substitutions.
7744 * tests/util/grub-shell.in: Use modinfo.
7745 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7746 explicitly.
7747
90cb2803
VS
77482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Autodetect platform in grub-install but allow override.
7751
7752 * util/grub-install.in: Autodetect platform. Support --target and
7753 --directory. Read platform from modinfo.sh.
7754
b9136427
VS
77552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 Support btrfs multi-volume probe.
7758
7759 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7760 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7761 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7762 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7763 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7764 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7765 grub_find_root_devices_from_btrfs if on btrfs.
7766
c36e5cd1
VS
77672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 Remove any awareness of *.c util files about target.
7770
7771 * Makefile.util.def (grub-setup): Split to ...
7772 (grub-bios-setup): ... and this.
7773 (grub-sparc64-setup): ... and this.
7774 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7775 * docs/man/grub-setup.h2m: Split into ...
7776 * docs/man/grub-sparc64-setup.h2m: ... this.
7777 * docs/man/grub-bios-setup.h2m: ... and this.
7778 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7779 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7780 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7781 (grub_target_addr_t): Remove.
7782 (grub_target_size_t): Remove.
7783 (grub_target_ssize_t): Remove.
7784 * util/grub-install.in: Use new grub-*-setup.
7785 * util/grub-mkimagexx.c (Elf_Word): New define.
7786 (Elf_Half): Likewise.
7787 (Elf_Section): Likewise.
7788 (ELF_ST_TYPE): Likewise.
7789 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7790 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7791
584b2f8a
VS
77922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Replace grub_target_addr with more appropriate types.
7795
7796 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7797 grub_target_addr with grub_addr.
7798 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7799 grub_target_addr with grub_port.
7800 (grub_cmd_write): Likewise.
7801 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7802 grub_target_addr with grub_addr.
7803 (grub_cmd_write): Likewise.
7804 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7805
5a0dc6fb
VS
78062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7809 const qualifier for vendor_guid.
7810
786aff6e
VS
78112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7814 const qualifier.
7815 (efiemu_memequal): Likewise.
7816 (find_variable): Likewise.
7817
49017b17
VS
78182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 Fix missing console prototype on qemu-mips.
7821
7822 * include/grub/mips/qemu_mips/console.h: New file.
7823
c5988629
MG
78242012-02-27 Matthew Garrett <mjg@redhat.com>
78252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7828 * include/grub/efi/efi.h: Likewise.
7829 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7830 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7831 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7832 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7833 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7834 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7835
e33f8d69
MG
78362012-02-27 Matthew Garrett <mjg@redhat.com>
7837
7838 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7839
fb312cd9
VS
78402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7843 error.
7844
7134247c
VS
78452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * configure.ac: Remove inappropriate use of program_transform_name
7848 on grubdir and bootdir but allow explicit specification of those
7849 variables.
7850
6a313124
VS
78512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * util/grub-mknetdir.in (grub_prefix): Removed.
7854 (subdir): Use @bootdirname@ and @grubdirname@.
7855
2311c5ca
VS
78562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7859
7d5d60f7
VS
78602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * po/POTFILES.in: Regenerated.
7863
8151bc82
VS
78642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 Remove improper use of program_transform_name on pkglibrootdir.
7867
7868 * configure.ac (pkglibrootdir): Removed.
7869 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7870 * util/grub-mkimage.c: Likewise.
7871
b4a6a533
VS
78722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7875 warning.
7876
668f304f
VS
78772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * util/grub-install.in: Use file identifier if no UUID is available
7880 or user explicitly prompted for it.
7881
665f2341
NP
78822012-02-27 Navdeep Parhar <nparhar@gmail.com>
7883
7884 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7885 (freebsd_get_zfs): New function.
7886 (grub_freebsd_boot): Pass zfs UUID.
7887 (grub_cmd_freebsd): Set zfs UUID.
7888
8151bc82 78892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7890
7891 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7892 pkglibrootdir.
7893
e4c498a1
MG
78942012-02-27 Mike Gilbert <floppym@gentoo.org>
7895
7896 Add configure flag to control libzfs integration.
7897
7898 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7899
1e9a9a3f
VS
79002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7903 device.
7904 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7905 small devices.
7906
036985b8
VS
79072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7910 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7911 be used on non-modules.
7912
7913 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7914 Rename to grub_boot_init.
7915 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7916 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7917 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7918 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7919 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7920 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7921 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7922 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7923 includes.
7924 (grub_machine_init): Remove empty inits.
7925 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7926 includes.
7927 (grub_machine_init): Remove empty inits.
7928 * grub-core/term/arc/console.c: Remove explicit proto.
7929 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7930 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7931 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7932 grub_at_keyboard_fini.
7933 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7934 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7935 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7936 grub_gfxterm_fini.
7937 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7938 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7939 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7940 grub_vgatext_fini.
7941 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7942 * grub-core/term/serial.c (GRUB_MOD_INIT)
7943 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7944 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7945 grub_serial_fini.
7946 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7947 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7948 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7949 grub_terminfo_fini.
7950 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7951 (GRUB_MOD_FINI): Likewise.
7952 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7953 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7954 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7955 grub_video_radeon_fuloong2e_fini.
7956 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7957 [LOONGSON]: Rename to grub_video_sis315pro_init.
7958 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7959 grub_video_sis315pro_fini.
7960 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7961 [LOONGSON]: Rename to grub_video_sm712_init.
7962 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7963 grub_video_sm712_fini.
7964 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7965 (grub_at_keyboard_fini): Likewise.
7966 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7967 Don't declare grub_{modname}_init.
7968 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7969 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7970 New proto.
7971 (grub_keylayouts_fini) [!EMU]: Likewise.
7972 * include/grub/serial.h (grub_serial_init) [!EMU]:
7973 New proto.
7974 (grub_serial_fini) [!EMU]: Likewise.
7975 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7976 New proto.
7977 (grub_terminfo_fini) [!EMU]: Likewise.
7978 * include/grub/video.h (grub_font_init) [!EMU]:
7979 New proto.
7980 (grub_font_fini) [!EMU]: Likewise.
7981 (grub_gfxterm_init) [!EMU]: Likewise.
7982 (grub_gfxterm_fini) [!EMU]: Likewise.
7983 (grub_video_sm712_init) [!EMU]: Likewise.
7984 (grub_video_sm712_fini) [!EMU]: Likewise.
7985 (grub_video_sis315pro_init) [!EMU]: Likewise.
7986 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7987 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7988 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7989
d5534665
VS
79902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Make nand a prefix for nand devices.
7993
7994 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7995
10133b5f
VS
79962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7999 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8000
8e307a62
VS
80012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * include/grub/env.h (grub_env_find): Remove prototype.
8004 * grub-core/kern/env.c (grub_env_find): Make static.
8005 (grub_env_set): Remove useless set.
8006
a4c65f34
VS
80072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/kern/i386/realmode.S: Remove useless align.
8010
d87893d5
VS
80112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * include/grub/dl.h (grub_dl_load_file): Don't export.
8014
50159add
VS
80152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8018 grub_dprintf.
8019
b2582b84
VS
80202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8023 grub_errors.
8024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8025 not reloading whole superblock but only the part which is really needed.
8026 Remove useless grub_errors.
8027 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8028 grub_errors.
8029
e2a83395
VS
80302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Don't export grub_get_rtc.
8033
8034 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8035 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8036
e7d2a906
VS
80372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8040
6cf1363b
VS
80412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8044 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8045
eece3349
VS
80462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Remove prio_list.
8049
8050 * include/grub/list.h (grub_prio_list): Removed.
8051 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8052 GRUB_COMMAND_PRIO_MASK.
8053 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8054 GRUB_COMMAND_FLAG_ACTIVE.
8055 (grub_prio_list_insert): Removed.
8056 (grub_prio_list_remove): Likewise.
8057 (GRUB_AS_PRIO_LIST): Likewise.
8058 (GRUB_AS_PRIO_LIST_P): Likewise.
8059 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8060 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8061 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8062 * grub-core/kern/command.c (grub_register_command_prio): Inline
8063 the prio_list code.
8064 (grub_unregister_command): Likewise.
8065
94f064b4
VS
80662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 Fix interrupt mixup from previous commit.
8069
8070 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8071 (grub_realidt): New var.
8072 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8073 Load idt.
8074 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8075 New declaration.
8076 (grub_relocator16_boot): Set grub_relocator16_idt.
8077 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8078 (LOCAL(realidt)): ... this.
8079 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8080 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8081 (grub_realidt): New variable.
8082
27317084
VS
80832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8086 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8087 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8088 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8089 Gettextize.
8090 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8091 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8092 * po/POTFILES.in: Regenerate.
8093
47b40053
VS
80942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8097 errors.
8098
2b343101
VS
80992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8102 \0.
8103 (add_length): Likewise.
8104
ff27c3dd
LK
81052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
81062012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8107
8108 GDB serial and backtrace support.
8109
8110 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8111 (prot_to_real): Likewise.
8112 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8113 * grub-core/Makefile.core.def (backtrace): New module.
8114 (gdb): Likewise.
8115 * grub-core/gdb/cstub.c: New file.
8116 * grub-core/gdb/gdb.c: Likewise.
8117 * grub-core/gdb/i386/idt.c: Likewise.
8118 * grub-core/gdb/i386/machdep.S: Likewise.
8119 * grub-core/gdb/i386/signal.c: Likewise.
8120 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8121 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8122 * include/grub/backtrace.h: Likewise.
8123 * include/grub/gdb.h: Likewise.
8124 * include/grub/i386/gdb.h: Likewise.
8125
81262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8127
8128 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8129 New function.
8130 (add_length): Likewise.
8131 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8132 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8133 proto.
8134 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8135 __argp_get_display_len.
8136
ff27c3dd 81372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8138
8139 $"..." support in scripts.
8140
8141 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8142 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8143 * grub-core/script/yylex.l: Likewise.
8144 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8145 value.
8146
ff27c3dd 81472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8148
8149 * gentpl.py: Remove obsolete pkglib_DATA handling.
8150
ff27c3dd 81512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8152
8153 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8154 mailing list.
8155
8156 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8157 * util/grub-kbdcomp.in: Likewise.
8158 * util/grub-mkconfig.in: Likewise.
8159 * util/grub-mkconfig_lib.in: Likewise.
8160 * util/grub-mknetdir.in: Likewise.
8161 * util/grub-mkrescue.in: Likewise.
8162 * util/grub-mkstandalone.in: Likewise.
8163 * util/grub-reboot.in: Likewise.
8164 * util/grub-set-default.in: Likewise.
8165 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8166
ff27c3dd 81672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8168
8169 Remove GRUB_PREFIX.
8170
8171 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8172 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8173 used for backward compatibility.
8174
ff27c3dd 81752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8176
8177 Add new all_video module.
8178
8179 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8180 * grub-core/Makefile.core.def (all_video): New module.
8181 * grub-core/genmoddep.awk: Generate dependency of all_video from
8182 video.lst.
8183 * grub-core/lib/fake_module.c: New file.
8184 * grub-core/normal/main.c (features): Add feature_all_video_module.
8185 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8186 don't do explicit search again.
47454da5 8187 insmod all_video in load_video if available.
22c7ce85 8188
ff27c3dd 81892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8190
8191 Another round of string clarification and adding TRANSLATORS comments.
8192
ff27c3dd 81932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8194
8195 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8196
ff27c3dd 81972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8198
8199 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8200 to grub_ssize_t.
8201 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8202 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8203
ff27c3dd 82042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8205
8206 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8207 trailing newline implicitly. All users updated.
8208
ff27c3dd 82092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8210
8211 Implement serial on IEEE1275 and EFI.
8212
8213 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8214 on emu. Mention arc and emu as the only platforms without serial
8215 support.
8216 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8217 ieee1275 platforms.
8218 * grub-core/term/efi/serial.c: New file.
8219 * grub-core/term/ieee1275/serial.c: Likewise.
8220 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8221 specification if no ns8250 driver is available.
8222 (grub_cmd_serial): Likewise.
8223 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8224 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8225 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8226 (grub_efi_parity_type_t): New type.
8227 (grub_efi_stop_bits_t): Likewise.
8228 (grub_efi_serial_io_interface): New struct.
8229 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8230 available for all interfaces.
8231 Add EFI and IEEE1275 fields.
8232 (grub_ofserial_init): New proto.
8233 (grub_efiserial_init): Likeiwse.
8234 * util/grub.d/00_header.in: Don't check for the presence of serial
8235 module.
8236
ff27c3dd 82372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8238
8239 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8240 name as if it was an alias.
8241
114076ef
VS
82422012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/commands/lsacpi.c (options): Fix typo.
8245
6a656b0e
VS
82462012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 Convert grub-emu to argp.
8249
8250 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8251 emu.
8252 * util/argp_common.c: Rename to ...
8253 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8254 Add missing includes.
8255 * grub-core/kern/emu/main.c: Convert to argp.
8256 * po/POTFILES.in: Regenerate.
8257 * util/grub-install.in (usage): Make first letter lowcase in messages
8258 for uniformity.
8259 * util/grub-setup.c (options): Likewise.
8260
1e3f8ae8
VS
82612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8264 Put back accidently commented-out code.
8265
ed167a80
VS
82662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8269 loop check using Brent algorithm.
8270 (grub_hfsplus_btree_search): Likewise.
8271
6753c0ec
VS
82722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * util/grub-install.in: Fix usage of wrong device for PreP install.
8275
4e27343f
VS
82762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * conf/Makefile.common (CFLAGS_GNULIB): Add
8279 -Wno-unsafe-loop-optimizations.
8280 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8281 on tools.
8282 * grub-core/commands/legacycfg.c: Add pragma to skip
8283 -Wunsafe-loop-optimizations.
8284 (check_password_md5_real): Fix loop counter type.
8285 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8286 reading.
8287 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8288 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8289 loop condition.
8290 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8291 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8292 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8293 condition.
8294 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8295 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8296 avoid possible infinite loops.
8297 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8298 and -Wunsafe-loop-optimizations.
8299 * grub-core/script/yylex.l: Likewise.
8300 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8301 (print_glyphs): Avoid infinite loops.
8302 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8303
697f18b0
GS
83042012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8305
8306 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8307 to avoid infinite loop.
8308 (disp_acpi_rsdt_table): Likewise.
8309
274416e8
VS
83102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/font/font.c (grub_font_load): Add support for default
8313 path for fonts ($prefix/fonts).
8314 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8315 for checking if string is a path.
8316 * grub-core/normal/main.c (features): Add feature_default_font_path.
8317 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8318 * util/grub.d/00_header.in: Use default directory if possible.
8319 * util/grub-install.in: Install unicode.pf2.
8320
b3e08622
VS
83212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8324 * po/Rules-swiss: New file.
8325 * po/swiss.sed: Likewise.
8326
fe42ce09
VS
83272012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/fs/btrfs.c (find_device): Fix typos.
8330 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8331 * util/grub-mkrelpath.c (argp_parser): Likewise.
8332 Reported by: Yuri Chornoivan.
8333
72f1d065
DO
83342012-02-23 Dalet Omega <daletomega@gmail.com>
8335
8336 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8337 for usual informative messages.
8338
c5884973
DO
83392012-02-23 Dalet Omega <daletomega@gmail.com>
8340
8341 Starfield theme.
8342
8343 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8344 * conf/Makefile.common: Define starfielddir.
8345 * configure.ac: Configure starfield.
8346 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8347 * themes/starfield/README: Likewise.
8348 * themes/starfield/blob_w.png: Likewise.
8349 * themes/starfield/boot_menu_c.png: Likewise.
8350 * themes/starfield/boot_menu_e.png: Likewise.
8351 * themes/starfield/boot_menu_n.png: Likewise.
8352 * themes/starfield/boot_menu_ne.png: Likewise.
8353 * themes/starfield/boot_menu_nw.png: Likewise.
8354 * themes/starfield/boot_menu_s.png: Likewise.
8355 * themes/starfield/boot_menu_se.png: Likewise.
8356 * themes/starfield/boot_menu_sw.png: Likewise.
8357 * themes/starfield/boot_menu_w.png: Likewise.
8358 * themes/starfield/slider_c.png: Likewise.
8359 * themes/starfield/slider_n.png: Likewise.
8360 * themes/starfield/slider_s.png: Likewise.
8361 * themes/starfield/src/blob_nw.xcf: Likewise.
8362 * themes/starfield/src/bootmenu/: Likewise.
8363 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8364 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8365 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8366 * themes/starfield/src/slider_c.xcf: Likewise.
8367 * themes/starfield/src/slider_n.xcf: Likewise.
8368 * themes/starfield/src/slider_s.xcf: Likewise.
8369 * themes/starfield/src/terminalbox/: Likewise.
8370 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8371 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8372 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8373 * themes/starfield/starfield.png: Likewise.
8374 * themes/starfield/terminal_box_c.png: Likewise.
8375 * themes/starfield/terminal_box_e.png: Likewise.
8376 * themes/starfield/terminal_box_n.png: Likewise.
8377 * themes/starfield/terminal_box_ne.png: Likewise.
8378 * themes/starfield/terminal_box_nw.png: Likewise.
8379 * themes/starfield/terminal_box_s.png: Likewise.
8380 * themes/starfield/terminal_box_se.png: Likewise.
8381 * themes/starfield/terminal_box_sw.png: Likewise.
8382 * themes/starfield/terminal_box_w.png: Likewise.
8383 * themes/starfield/theme.txt: Likewise.
8384
17d73325
VS
83852012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * util/grub.d/00_header.in: Add missing export theme.
8388
dbebaf92
VS
83892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8392 already included.
8393 Reported by: Eren D.
8394
3d68bffb
VS
83952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * conf/Makefile.common (grubdatadir): Removed.
8398 (Makefile.am): Move eveything grubdata to pkgdata.
8399
4b59234d
VS
84002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/commands/acpihalt.c (get_sleep_type):
8403 Remove unused variable.
8404
463dcadc
VS
84052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8408 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8409 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8410 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8411 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8412 i18n with gettext no-op.
8413 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8414 GRUB_ACPI_OPCODE_STRING_CONST.
8415 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8416 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8417
e5b90c82
VS
84182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * po/POTFILES.in: Regenerate.
8421
2a704ca9
VS
84222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8425 -Wno-error=missing-noreturn.
8426
84f9d341
VS
84272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8430 condition to avoid possibly infinite loops.
8431 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8432 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8433
d46683f9
VS
84342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8437 condition to avoid possibly infinite loops.
8438
c44866b2
VS
84392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8442 on show_error.
8443
96790539
VS
84442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8447
1ba7e295
VS
84482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8451
21ffe8f1
VS
84522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * util/bin2h.c (usage): Add missing attribute noreturn.
8455
0ccb6b3c
VS
84562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8459 if the size isn't divisible by 512.
8460
b00d7fb6
VS
84612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Make list_push and list_remove functions rather than inline functions
8464 to decrease size and avoid aliasing violations.
8465
8466 * include/grub/list.h (grub_list_push): Move to ...
8467 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8468 * include/grub/list.h (grub_list_remove): Move to ...
8469 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8470
9d369087
VS
84712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8474 and -Wunused-result.
8475
af0250d9
VS
84762012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8479 Reported by: Seth Goldberg
8480
aad32b14
VS
84812012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8484
ac96441c
ST
84852012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8486
8487 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8488 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8489 command line.
8490 * docs/grub.texi (Simple configuration): Document
8491 GRUB_CMDLINE_GNUMACH.
8492
84932012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8494
8495 * conf/Makefile.common (platform_SCRIPTS): New variable.
8496 (platform_PROGRAMS): Likewise.
8497 * gentpl.py: Mark *,module and *.image for install.
8498 * grub-core/gdb_grub.in: Add a notice of expected environment.
8499 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8500 (gmodule.pl): Likewise.
8501
ac96441c 85022012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8503
8504 Replace grub_checkkey with grub_getkey_noblock.
8505
8506 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8507 (grub_getkey_noblock): ... this. All users updated.
8508
ac96441c 85092012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8510
8511 * grub-core/kern/emu/console.c: Move to ...
8512 * grub-core/term/emu/console.c: ...here.
8513 (grub_ncurses_getkey): Fix return value if no key is detected.
8514
e51b5666
VS
85152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8518 (grub_unit_test_fini): Likewise.
8519 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8520
85212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * include/grub/test.h (GRUB_UNIT_TEST)
8524
d9a62292
VS
85252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8528 Better error handling.
8529 (grub_script_return): Likewise.
8530 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8531
77c9182f
VS
85322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8535 rimplicit redifinition.
8536
edb13cf9
VS
85372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8540 GRUB.
8541
a9e9dc7c
VS
85422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8545 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8546 prompt here.
8547
b4ba8e02
VS
85482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8551 as GRUB_ERR_BUG. Don't malloc if no device is available.
8552
dded5540
VS
85532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8556 Mark calling with invalid term as GRUB_ERR_BUG.
8557
0cf69874
VS
85582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8561 packets rather than raising an error.
8562
59bfe502
VS
85632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8566 in if.
8567
db5fc596
VS
85682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8571 diagnostic to dprintf.
8572 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8573
e4b7f404
VS
85742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8577 device name.
8578
e7b02f9e
VS
85792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8582 (grub_ntfs_iterate_dir): Likewise.
8583
0331e102
VS
85842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 Efiemu stylistic fixes and gettext.
8587
8588 * grub-core/efiemu/i386/loadcore32.c
8589 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8590 * grub-core/efiemu/i386/loadcore64.c
8591 (grub_arch_efiemu_relocate_symbols64): Likewise.
8592 * grub-core/efiemu/i386/pc/cfgtables.c
8593 (grub_machine_efiemu_init_tables): Likewise.
8594 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8595 (grub_efiemu_loadcore_initXX): Add a filename argument.
8596 All users updated.
8597 Improved error message.
8598 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8599 Add a filename argument.
8600 All users updated.
8601 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8602 Reclassify double relocation as GRUB_ERR_BUG.
8603
306fc074
VS
86042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8607 handling.
8608
794d8ef2
VS
86092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8612 on partition.
8613
86142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8615
8616 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8617
794d8ef2 86182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8619
8620 Improve string. Gettextize.
8621
78dde88e
VS
86222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8625 utils.
8626 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8627
4786a90f
VS
86282012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8631 [GRUB_UTIL]: New function.
8632 (insert_array) [GRUB_UTIL]: Store partmaps.
8633 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8634 partmaps.
8635 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8636 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8637 (probe_abstraction): Print diskfilter and not raid.
8638 Reported by: Lennart Sorensen
8639
0b6225bd
VS
86402012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8643 * util/grub-mkimagexx.c (MASK3): New define.
8644 (add_value_to_slot_20b): Use MASK3.
8645 (add_value_to_slot_21): Likewise.
8646 (relocate_addresses): Fix format specification.
8647 (load_image): Explicitly init symtab_section.
8648
b055f8f6
VS
86492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8652 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8653
b77c2fb7
VS
86542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8657 on powerpc.
8658 Reported by: Lennart Sorensen
8659
e3ec28ab
VS
86602012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * gentpl.py: Add missing license header.
8663 * docs/grub.texi: Update copyright year.
8664
c8d9ead6
GS
86652012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8666
8667 Source grub-mkconfig_lib from the build directory at build time.
8668 Suggested by: Vladimir Serbinenko.
8669
8670 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8671 * util/grub-install.in: Define pkgdatadir if not already set, and source
8672 grub-mkconfig_lib from there.
8673 * util/grub-kbdcomp.in: Likewise.
8674 * util/grub-mkconfig.in: Likewise.
8675 * util/grub-mknetdir.in: Likewise.
8676 * util/grub-mkrescue.in: Likewise.
8677 * util/grub-mkstandalone.in: Likewise.
8678 * util/grub-reboot.in: Likewise.
8679 * util/grub-set-default.in: Likewise.
8680 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8681
ebcecdf1
VS
86822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 Increase warning level.
8685
8686 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8687 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8688 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8689 (TARGET_CFLAGS): Likewise.
8690 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8691 * grub-core/Makefile.core.def (decompressor_xz): Add
8692 -Wno-unreachable-code.
8693 (normal): Add -Wno-redundant-decls.
8694 (xzio): Add -Wno-unreachable-code.
8695 (lzopio): Add -Wno-redundant-decls -Wno-error.
8696 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8697 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8698 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8699 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8700 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8701 * grub-core/kern/i386/coreboot/init.c: Add exception to
8702 -Wsuggest-attribute=noreturn.
8703 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8704 * grub-core/kern/ia64/dl_helper.c: Likewise.
8705 * grub-core/kern/mips/dl.c: Likewise.
8706 * grub-core/kern/sparc64/dl.c: Likewise.
8707 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8708 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8709 (memcmp): Likewise.
8710 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8711 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8712 * grub-core/loader/mips/linux.c: Likewise.
8713 * grub-core/loader/multiboot_elfxx.c: Likewise.
8714 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8715 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8716 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8717 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8718 fixme.
8719 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8720 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8721 Fix prototype.
8722
37bb97fe
VS
87232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8726 address.
8727
29a3550b
VS
87282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8731 Avoid improper use of strings.
8732 (grub_cmd_legacy_initrdnounzip): Likewise.
8733
dfdffd0d
VS
87342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8737 attribute.
8738 (grub_util_info): Likewise.
8739 (grub_util_error): Likewise.
8740
102fae4a
VS
87412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8744 * util/grub-fstest.c (fstest): Likewise.
8745
7e94d044
VS
87462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8749 (grub_md_sha512_real): Likewise.
8750 (grub_util_get_geli_uuid): Likewise.
8751 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8752 (grub_util_biosdisk_open): Fix format specification.
8753 Respect format security.
8754 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8755 (xrealloc): Likewise.
8756 (xasprintf): Likewise.
8757
5ebd9769
VS
87582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * util/import_gcry.py: Include grub/crypto.h in init.c.
8761
495fc8c1
VS
87622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8765 (generate_image): Make prefix a const char *.
8766 Fix format specifications. Respect format security.
8767 Avoid void * arithmetics.
8768 Avoid shadowing.
8769 (argp_parser): Remove unused variable. Respect format security.
8770 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8771 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8772 (count_funcs): Remove unused variable.
8773 (relocate_addresses): Fix format specification.
8774 Disable x86-64 with elf32. Remove unused variables.
8775 (add_fixup_entry): Avoid shadowing.
8776 (make_reloc_section): Fix format specification.
8777 Use assert.
8778 (locate_sections): Fix format specifications.
8779 (load_image): Avoid shadowing.
8780
043c2ea3
VS
87812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8784 Fix format specifications. Respect format security.
8785 Don't translate already translated grub_errmsg.
8786 (argp_parser): Remove unused variable
8787
3ec65a81
VS
87882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8791
a4d9fe4a
VS
87922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8795 (main): Likewise. Use xmalloc. Respect format security.
8796
15b81d49
VS
87972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8800 a const char *.
8801 (argp_parser): Remove unused variable.
8802
31731fc0
VS
88032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8806 (add_pixel): Make static.
8807 (add_font): Likewise.
8808 (write_string_section): Make name and str a const char *.
8809 (write_be16_section): Make name a const char *.
8810 (print_glyphs): Make static.
8811 (write_font_ascii_bitmap): Likewise.
8812 (write_font_width_spec): Likewise.
8813 (write_font_pf2): Likewise.
8814 (argp_parser): Remove unused variable.
8815 Respect format security.
8816 (main): Avoid shadowing. Respect format security.
8817
0809527b
VS
88182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * util/grub-editenv.c (argp_parser): Make static.
8821 (create_envblk_file): Use xmalloc.
8822 (open_envblk_file): Likewise.
8823 Resepect format security.
8824 (set_variables): Respect format security.
8825
45b0c8b7
VS
88262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * util/getroot.c (grub_find_device): Respect format security.
8829 (get_mdadm_uuid): Remove unused variable.
8830 (grub_util_pull_device): Dont call gettext on already translated
8831 grub_errmsg.
8832 (find_system_device): Remove unused variable.
8833 (grub_util_get_grub_dev): Likewise.
8834 (grub_make_system_path_relative_to_its_root): Respect format security.
8835
1b024b4e
VS
88362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * util/grub-fstest.c (execute_command): Make first argument
8839 a const char *.
8840 (read_file): Avoid shadowing.
8841 Reuse underlying error message if device open fails.
8842 (cmd_cmp): Respect format security.
8843 (root): Make const char *.
8844 (fstest): Remove args argument and use global copy.
8845 Respect format security.
8846 (argp_parser): Make static.
8847 (main): Make default_root const char *.
8848
5d1d4e28
VS
88492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * util/grub-mount.c (root): Make const char *.
8852 (execute_command): Make first argument a const char *.
8853 (fuse_init): Respect format security.
8854 (argp_parser): Make static. Remove unused variable.
8855 (main): Make default_root a const char *.
8856 Respect format security.
8857
36eb7379
VS
88582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * util/grub-probe.c (probe): Don't call gettext on already translated
8861 grub_errmsg.
8862 Remove unused variables.
8863 (argp_parser): Remove unused variable.
8864
76fb2ea9
VS
88652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * util/grub-script-check.c (argp_parser): Remove unused variable.
8868 (main): Rename read to curread to avoid shadowing.
8869
56c98584
VS
88702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/misc.c (grub_util_write_image_at): Fix format specification.
8873 (grub_util_write_image): Likewise.
8874 (grub_script_execute_argument_to_string): Removed (unused).
8875 (grub_script_execute_menuentry): Likewise.
8876 (grub_putchar): Likewise.
8877
164ebb48
VS
88782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8881 (FUNCTION) [GRUB_UTIL]: Likewise.
8882 (VARIABLE) [GRUB_UTIL]: Likewise.
8883
44318d61
VS
88842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8887 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8888
31a26002
VS
88892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8892 buffer.
8893
88942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8897 (LzmaEnc_SaveState): Removed (unused).
8898 (LzmaEnc_RestoreState): Likewise.
8899 (LzmaEnc_InitPriceTables): Made static.
8900 (LzmaEnc_Construct): Likewise.
8901 (LzmaEnc_FreeLits): Likewise.
8902 (LzmaEnc_Destruct): Likewise.
8903 (LzmaEnc_Init): Likewise.
8904 (LzmaEnc_InitPrices): Likewise.
8905 (LzmaEnc_Finish): Likewise.
8906 (LzmaEnc_PrepareForLzma2): Removed (unused).
8907 (LzmaEnc_MemPrepare): Likewise.
8908 (LzmaEnc_GetNumAvailableBytes): Likewise.
8909 (LzmaEnc_GetCurBuf): Likewise.
8910 (LzmaEnc_CodeOneMemBlock): Likewise.
8911
6fa67967
VS
89122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8915 (grub_util_ldm_embed): Likewise.
8916
9a7428e6
VS
89172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * util/grub-editenv.c (print_var): Rename name to varname to
8920 avoid shadowing.
8921 (main): Rename index to curindex to avoid shadowing.
31a26002 8922 Make filename a const char *.
9a7428e6 8923
4f96abd1
VS
89242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8927 to arg_getline to avoid shadowing.
8928
44d10dad
VS
89292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8932 disk_ to avoid shadowing.
8933
340ba63e
VS
89342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8937 curindex to avoid shadowing.
8938 Make static.
8939 (MatchFinder_GetNumAvailableBytes): Make static.
8940
22965bce
VS
89412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8944 avoid shadowing.
8945
7b5784d4
VS
89462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8949 argument from encrypt to do_encrypt to avoid shadowing.
8950
6f48ca01
VS
89512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8954 incorrect nesting of #if's.
8955
a4ea2dff
VS
89562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8959 checks which are always false on some platforms.
8960 (grub_cmd_lsacpi): Likewise.
8961 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8962 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8963 Likewise.
8964
def9fc1b
VS
89652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8968 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8969
a67b2a04
VS
89702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8973 re_dfa_t to avoid breaking alignment invariants.
8974 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8975 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8976
44c6828d
VS
89772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8980 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8981
bebe0dd0
VS
89822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8985 Fix declaration.
8986
a9cdb3cf
VS
89872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8990 conserve alignment invariants.
8991 (grub_ehci_ehcc_read16): Likewise.
8992 (grub_ehci_oper_read32): Likewise.
8993 (grub_ehci_oper_write32): Likewise.
8994 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8995 Conserve alignment invariants.
8996
ccc3b1b8
VS
89972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9000 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9001 declarations.
9002
987fbd95
VS
90032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9006 Remove unused variable.
9007
0df363f3
VS
90082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9011 Remove set in if.
9012
b2c0c4a6
VS
90132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * include/grub/net.h: Remove double declarations.
9016
690c531f
VS
90172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 Remove "payload" command in ia64 Linux loader since I couldn't
9020 find any evidence of it being used for anything.
9021 Replace "relocate" command with an environment variable
9022
9023 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9024 fields.
9025 (ia64_boot_payload): Removed.
9026 (last_payload): Likewise.
9027 (RELOCATE_OFF): Likewise.
9028 (RELOCATE_ON): Likewise.
9029 (RELOCATE_FORCE): Likewise.
9030 (relocate): Likewise.
9031 (free_pages): Don't free payloads.
9032 (grub_load_elf64): Use common error messages.
9033 Use "linux_relocate" variable.
9034 Increase the space after boot_params.
9035 (grub_cmd_payload): Removed.
9036 (grub_cmd_relocate): Likewise.
9037 (grub_cmd_fpswa): Improve messages.
9038 (cmd_payload): Removed.
9039 (cmd_relocate): Likewise.
9040 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9041 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9042
01783768
VS
90432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 Convert UHCI to DMA framework.
9046
9047 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9048 (grub_uhci_pci_iter): Fill new members
9049 (grub_alloc_td): Use P2V and V2P functions.
9050 (grub_free_queue): Likewise.
9051 (grub_alloc_qh): Likewise.
9052 (grub_uhci_setup_transfer): Likewise.
9053 (grub_uhci_check_transfer): Likewise.
9054
43206939
VS
90552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9058 Remove assignment in if while on it.
9059
571e140e
VS
90602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * util/grub-mkstandalone.in: Fix modules directory.
9063
a9d96eeb
VS
90642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9067 on i386-pc target.
9068 (argp_parser): Accept "auto" as compression specification.
9069
e4e37e8d
VS
90702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Fix `help' with unloaded modules.
9073
9074 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9075 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9076 (grub_dyncmd_dispatcher): Small stylistic fix.
9077 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9078 explicit help is requested.
9079
e1ea3ade
VS
90802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9083 Explicitly init restart while on it.
9084
27556881
VS
90852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9088 uninited variable.
9089
d65f6b36
VS
90902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * util/grub-mknetdir.in: Use . rather than source for POSIX
9093 compatibility.
9094
0a1e473c
VS
90952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9098
ce6647c8
VS
90992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9102 variable.
9103
66747894
VS
91042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9107 without quotes.
9108
71645f6e
VS
91092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9112
0e1c1f61
VS
91132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9116 iteration of partitions.
9117
9c4b5c13
VS
91182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 Improve gettext support. Stylistic fixes and error handling fixes while
9121 on it.
9122
215c90cb
VS
91232012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9126 part. Instead setup the correct stack in RM.
9127 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9128 for stack.
9129 * include/grub/i386/relocator_private.h: New file.
9130
b5c1f9bf
VS
91312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9134 argument.
9135 * util/grub-fstest.c (options): Add missing DEVICE part.
9136
b525fd83
VS
91372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 Clarify and unify messages.
9140
9141 * grub-core/commands/hashsum.c (options): Unify messages.
9142 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9143 literal-only message as translatable.
9144 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9145 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9146 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9147 commands.
9148 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9149 key, not the key used to unlock. Clarify what it's used for.
9150 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9151 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9152 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9153 * util/grub-editenv.c (options): Unify "verbose" message.
9154 * util/grub-fstest.c (read_file): Unify error message.
9155 (fstest): Add quotes around commands.
9156 (options): Unify "verbose" message.
9157 * util/grub-install.in: Add quotes around variable name.
9158 * util/grub-kbdcomp.in: Unify error message.
9159 * util/grub-mkfont.c (main): Likewise.
9160 * util/grub-mkrescue.in: Likewise.
9161 * util/grub-mklayout.c (options): Unify "verbose" message.
9162 * util/grub-mkstandalone.in: Unify help and verbose messages.
9163 * util/grub-mount.c (options): Unify "verbose" message.
9164 * util/grub-probe.c (options): Likewise.
9165 * util/grub-script-check.c (options): Likewise.
9166 * util/grub-setup.c (setup): Unify no-terminator message.
9167 (options): Use DEVICE and not DEV.
9168 Unify "verbose" message.
9169 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9170
0ae70393
VS
91712012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 Improve and unify messages.
9174
9175 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9176 name. All users updated.
9177 Print filename in error.
9178 (read_device_map): Print filename in error.
9179 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9180 (grub_util_get_os_disk): Likewise.
9181 (grub_util_biosdisk_get_grub_dev): Likewise.
9182 (grub_util_check_block_device): Likewise.
9183 (grub_util_check_char_device): Likewise.
9184 (grub_make_system_path_relative_to_its_root): Likewise.
9185 * util/grub-editenv.c (create_envblk_file): Likewise.
9186 (open_envblk_file): Likewise.
9187 (write_envblk): Likewise.
9188 * util/grub-fstest.c (cmd_cp): Likewise.
9189 (cmd_cat): Likewise.
9190 (cmd_cmp): Likewise.
9191 * util/grub-menulst2cfg.c (main): Likewise.
9192 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9193 (write_font_width_spec): Likewise.
9194 (write_font_pf2): Likewise.
9195 * util/grub-mkimage.c (generate_image): New argument outname.
9196 All users updated.
9197 Remove unreacheable message.
9198 (options): Unify messages.
9199 (help_filter): Likewise.
9200 * util/grub-mklayout.c (usage): Removed (unused).
9201 (main): Print filename in error.
9202 * util/grub-mkrescue.in: Fix wrong quoting.
9203 * util/grub-setup.c (setup): Print filename in error.
9204 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9205 (check_sas): Likewise.
9206 * util/misc.c (grub_util_get_fp_size): Removed.
9207 (grub_util_get_image_size): Print filename in error.
9208 (grub_util_read_at): Removed.
9209 (grub_util_read_image): Print filename in error.
9210 (grub_util_load_image): Likewise.
9211 (grub_util_write_image_at): New argument filename. All users updated.
9212 Print filename in error.
9213 (grub_util_write_image): New argument filename. All users updated.
9214 Print filename in error.
9215 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9216 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9217
0a96117d
VS
92182012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/Makefile.core.def (pxechain): New module.
9221 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9222 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9223 function.
9224 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9225 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9226
aca002f7
VS
92272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9230 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9231 * include/grub/err.h (grub_error_saved): New struct.
9232 (grub_errmsg): Make array size explicit.
9233 * include/grub/misc.h (grub_error_save): New function.
9234 (grub_error_load): Likewise.
9235 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9236 (grub_error_push): Update `errno' member name.
9237 (grub_error_pop): Likewise
9238 * grub-core/net/tftp.c (tftp_data): New member save_err.
9239 (tftp_receive): Save error.
9240 (tftp_open): Restore error.
9241
a51dab13
VS
92422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9245 to real mode down to execute A20-related code in protected mode as
9246 intended.
9247
eb6e6649
GS
92482012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9249
9250 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9251 NULL when the argument `level' has an unexpected value.
9252
92cd0f6e
VS
92532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 Move platform-dependent files from $prefix to $prefix/$platform.
9256
9257 * config.h.in (GRUB_TARGET_CPU): New definition.
9258 (GRUB_PLATFORM): Likewise.
9259 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9260 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9261 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9262 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9263 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9264 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9265 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9266 * grub-core/normal/term.c (read_terminal_list): Likewise.
9267 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9268 $prefix/locale.
9269 (grub_gettext_init_ext): Likewise.
9270 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9271 grub_platform.
9272 * util/grub-install.in: Update directories.
9273 * util/grub-mknetdir.in: Likewise.
9274 * util/grub-mkrescue.in: Likewise.
9275
db606889
VS
92762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9279 grub_error framework. All users updated.
9280
c39992a4
VS
92812012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9284 lists (by always binsearching), improve caching (cache strings
9285 used for binsearch, not only results), improve
9286 maintainability (by using more structured binary search) and correct
9287 error handling.
9288
1e5ec32f
VS
92892012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/script/execute.c (grub_script_return): Fix warning.
9292
ac576cde
VS
92932012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/script/execute.c (grub_script_return): Fix potential
9296 NULL-dereference.
9297 Reported by: Jim Meyering.
9298
498453f6
VS
92992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * po/POTFILES.in: Regenerate.
9302 * util/grub-install.in: Gettextize the strings missed in first pass.
9303
8be63f2e
VS
93042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * Makefile.util.def (grub-mkdevicemap): Removed.
9307 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9308 * include/grub/util/deviceiter.h: Removed.
9309 * util/deviceiter.c: Likewise.
9310 * util/getroot.c (grub_util_get_os_disk): New function.
9311 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9312 replacement for EFI.
9313 * util/grub-mkdevicemap.c: Removed.
9314 * util/grub-probe.c (probe): Handle PRINT_DISK.
9315 (argp_parser): Handle -t disk.
9316
8e1e4e39
VS
93172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * util/grub-mkfont.c: Migrate to argp.
9320 * util/grub-mklayout.c: Likewise.
9321 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9322 * util/grub-mkrelpath.c: Likewise.
9323 * util/grub-probe.c: Likewise.
9324 * util/grub-script-check.c: Likewise.
9325
4459819a
VS
93262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * util/grub-reboot.in: Add missing datarootdir.
9329 Add missing newline.
9330 * util/grub-set-default.in: Add missing datarootdir.
9331 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9332 * util/grub-mkrescue.in: Likewise.
9333
f65741c7
VS
93342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9337
c1a33466
VS
93382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * util/grub-kbdcomp.in: Add decent help and gettextize.
9341 * docs/man/grub-kbdcomp.h2m: New file.
9342
c76899a0
VS
93432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Migrate grub-mkimage.c to argp.
9346
9347 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9348 (grub-setup): Likewise.
9349 * util/grub-setup.c (print_version): Move to ...
9350 * util/argp_common.c (print_version): ... here.
9351 * util/grub-setup.c (argp_program_version_hook): Move to ...
9352 * util/argp_common.c (argp_program_version_hook): ... here.
9353 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9354 safety.
9355 * util/grub-mkimage.c (main): Migrate to argp.
9356
57db0757
VS
93572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * util/grub-mkrescue.in: Use same message as
9360 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9361 for better translations.
9362
18534ad9
VS
93632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9366 options with generic grub-mkrescue.in with the goal of future
9367 merge.
9368
c84ba308
VS
93692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * grub-core/kern/mm.c: Add missing include of i18n.h
9372 * grub-core/lib/relocator.c: Likewise.
9373
347998c2
VS
93742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9377 error.
9378 (allocate_pages): Check return value.
9379 Replace fatal with error.
9380 (grub_linux_boot): Replace printf with dprintf.
9381 Check find_mmap_size return value.
9382 Replace fatal with error.
9383 Don't call grub_machine_fini.
9384 (grub_load_elf64): Replace printf with dprintf.
9385 (grub_cmd_linux): Likewise.
9386 (grub_cmd_initrd): Likewise.
9387 (grub_cmd_payload): Likewise.
9388
c779226e
VS
93892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9392 message.
9393 * grub-core/video/radeon_fuloong2e.c
9394 (grub_video_radeon_fuloong2e_setup): Likewise.
9395 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9396 * grub-core/video/video.c (grub_video_set_mode): Don't override
9397 standard out of memory message.
9398
dc87d45a
GS
93992012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9400
9401 NetBSD disk wedge support.
9402
9403 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9404 [__NetBSD__]: Handle NetBSD disk wedges.
9405 * util/getroot.c (convert_system_partition_to_system_disk)
9406 [__NetBSD__]: Likewise.
9407
055f856f
MW
94082012-02-03 Mark Wooding <mdw@distorted.org.uk>
9409
9410 * util/grub-mkconfig.in: Use umask rather than chmod to create
9411 grub.cfg.new to avoid insecure grub.cfg.
9412
4a9f8346
VS
94132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/commands/ls.c: Gettextize.
9416 * grub-core/commands/setpci.c: Likewise.
9417 * grub-core/commands/videotest.c: Likewise.
9418 * grub-core/disk/geli.c: Likewise.
9419 * grub-core/kern/mm.c: Likewise.
9420 * grub-core/lib/relocator.c: Likewise.
9421 * grub-core/loader/efi/appleloader.c: Likewise.
9422 * grub-core/loader/i386/xnu.c: Likewise.
9423 * grub-core/loader/ia64/efi/linux.c: Likewise.
9424 * grub-core/loader/xnu.c: Likewise.
9425 * grub-core/net/dns.c: Likewise.
9426 * grub-core/net/net.c: Likewise.
9427 * grub-core/script/lexer.c: Likewise.
9428 * grub-core/script/parser.y: Likewise.
9429 * grub-core/script/yylex.l: Likewise.
9430 * util/getroot.c: Likewise.
9431 * util/grub-setup.c: Likewise.
9432
a646a366
VS
94332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9436 number.
9437
54e2be26
VS
94382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9441
f7c71e68
VS
94422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9445 macro.
9446 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9447 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9448
a32d5c71
VS
94492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9452 * util/grub-install.in: Gettextize.
9453 * util/grub-mkconfig.in: Likewise.
9454 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9455 if not available.
9456 (grub_warn): Gettextize.
9457 * util/grub-mknetdir.in: Gettextize.
9458 * util/grub-mkrescue.in: Likewise.
9459 * util/grub-mkstandalone.in: Likewise.
9460 * util/grub-reboot.in: Likewise.
9461 * util/grub-set-default.in: Likewise.
9462 * util/grub.d/00_header.in: Likewise.
9463 * util/grub.d/10_hurd.in: Likewise.
9464 * util/grub.d/10_kfreebsd.in: Likewise.
9465 * util/grub.d/10_linux.in: Likewise.
9466 * util/grub.d/10_netbsd.in: Likewise.
9467 * util/grub.d/10_windows.in: Likewise.
9468 * util/grub.d/20_linux_xen.in: Likewise.
9469 * util/grub.d/30_os-prober.in: Likewise.
9470 * po/POTFILES-shell.in: Regenerate.
9471
69edd81a
RL
94722012-02-03 Richard Laager <rlaager@wiktel.com>
9473
9474 * util/grub-mkimage.c (main): Fix format-security warning.
9475 * util/grub-mkrelpath.c (main): Likewise.
9476 * util/grub-probe.c (main): Likewise.
9477
65f08dbf
RL
94782012-02-03 Richard Laager <rlaager@wiktel.com>
9479
9480 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9481 failure.
9482 Put back lost PRINT_DRIVE.
9483
e9084abe
RL
94842012-02-03 Richard Laager <rlaager@wiktel.com>
9485
9486 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9487 (grub_guess_root_devices): Replace strlen with sizeof.
9488 Avoid crash.
9489 (find_root_devices_from_poolname): Remove unused variable.
9490 Handle raidzN.
9491
cf5f7ee7
VS
94922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 Support install on multi-device filesystems.
9495
9496 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9497 (grub_guess_root_devices): ...this. Return char **. All users updated.
9498 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9499 Removed.
9500 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9501 (find_root_devices_from_poolname): ... here.
9502 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9503 Support zfs-fuse.
9504 (grub_guess_root_device): Rename to ...
9505 (grub_guess_root_devices): ... this. Return char **. All users updated.
9506 * util/grub-install.in: Handle multi-device filesystems.
9507 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9508 argument. All users updated.
9509 Handle multi-device filesystems.
9510 Use 'delim' as separator.
9511 Remove device check to allow filesystems on file.
9512 (main): Support -0 argument. Handle multi-device.
9513 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9514 Fix a cross-device check while on it.
9515 (arguments): Remove root_dev.
9516 (argp_parser): Remove -r.
9517 (main): Remove root_dev.
9518
2f53a9ed
VS
95192012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9522
17e1d934
VS
95232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9526 symbol.
9527 Reported by: NODA, Kai <nodakai>.
9528
d3e3fab5
VS
95292012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 Fix ehci on amd64.
9532
9533 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9534 pointers.
9535 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9536 (grub_ehci_setup_qh): Likewise.
9537 (grub_ehci_find_qh): Likewise.
9538 (grub_ehci_transaction): Likewise.
9539 (grub_ehci_setup_transfer): Likewise.
9540 (grub_ehci_check_transfer): Likewise.
9541 (grub_ehci_portstatus): Likewise.
9542 (grub_ehci_detect_dev): Likewise.
9543 (grub_ehci_transfer_controller_data): New field td_last_phys.
9544 (grub_ehci_setup_transfer): Fill td_last_phys.
9545 (grub_ehci_check_transfer): Use td_last_phys.
9546
3008675b
SG
95472012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9548
9549 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9550 if no submenu is present.
9551
fc9b5652
AN
95522012-02-01 Aleš Nesrsta <starous@volny.cz>
9553
9554 CBI support.
9555
9556 * include/grub/usb.h (grub_usbms_protocol_t): New values
9557 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9558 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9559 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9560 (grub_usbms_dev): Add subclass, protocol and intrpt.
9561 Remove in_maxsz and out_maxsz.
9562 (grub_usbms_reset): Rename to ...
9563 (grub_usbms_bo_reset): .. this.
9564 (grub_usbms_cbi_cmd): New function.
9565 (grub_usbms_cbi_reset): Likewise.
9566 (grub_usbms_reset): Likewise.
9567 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9568 (grub_usbms_transfer): Rename to ...
9569 (grub_usbms_transfer_bo): ... this.
9570 (grub_usbms_transfer_cbi): Likewise.
9571 (grub_usbms_transfer): Likewise.
9572
a2b81d53
AN
95732012-02-01 Aleš Nesrsta <starous@volny.cz>
95742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9577 the support for the CS5536 modification thereos and few bugfixes.
9578
9579 * grub-core/Makefile.core.def (ehci): New module.
9580 * grub-core/bus/usb/ehci.c: New file.
9581 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9582 port and hubaddr. All users updated.
9583 Save port and hubaddr into dev structure.
9584 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9585 define.
9586 * include/grub/pci.h (grub_dma_phys2virt): New function.
9587 (grub_dma_virt2phys): Likewise.
9588 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9589
b1d51f02
VS
95902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9593 check as some mkfs implementations omit it.
9594
fc694106
VS
95952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9598
6c0920e3
VS
95992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9602 Add new member volname2.
9603 (grub_jfs_label): Use volname2 if available.
9604
d1a46f9a
VS
96052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9608 over last_mounted as seen in image generated by mkfs.nilfs2.
9609 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9610
dec8ed14
VS
96112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9614 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9615 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9616
7397c69b
VS
96172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9620 over the sector.
9621
b3fe42ad
VS
96222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9625 subvolume name (by removing a bogus and useless check).
9626
10476bb0
VS
96272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9630 sizeof while on it.
9631
9c08ad87
VS
96322012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9635 (grub_scsi_read_capacity10): ... this.
9636 (grub_scsi_read_capacity16): New function.
9637 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9638 0xffffffff.
9639 Fix off-by-one error.
9640 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9641 64-bit unsigned.
9642 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9643 (grub_scsi_read_capacity10): ... this.
9644 (grub_scsi_read_capacity_data): Rename to ...
9645 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9646 (grub_scsi_read_capacity16): New struct.
9647 (grub_scsi_read_capacity16_data): Likewise.
9648 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9649 grub_scsi_cmd_read_capacity10.
9650 New command grub_scsi_cmd_read_capacity16.
9651
bc8d0f45
VS
96522012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 SCSI >2TiB support.
9655
9656 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9657 (grub_scsi_write16): Likewise.
9658 (grub_scsi_read): Use read16 when necessary.
9659 (grub_scsi_write): Likewise.
9660 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9661 (grub_scsi_write16): Likewise.
9662 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9663
cc774926
VS
96642012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 SCSI write support (for usbms mainly).
9667
9668 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9669 a const pointer.
9670 (grub_scsi_write): Implement.
9671 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9672
67639fd7
VS
96732012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9676 variable.
9677
9079d3ed
VS
96782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9681
c6a6f204
VS
96822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * po/POTFILES.in: Regenerate.
9685
ecbf8cd1
VS
96862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9689 with grub_printf to avoid unnecessary fatal failure.
9690
0b3b3b38
VS
96912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9694 (INT_MAX): Likewise.
9695 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9696 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9697 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9698 (strcpy): Likewise.
9699 (strstr): Likewise.
9700 (strchr): Likewise.
9701 (strncpy): Likewise.
9702 (strcat): Likewise.
9703 (strncat): Likewise.
9704 (strcoll): Likewise.
9705 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9706 (GRUB_INT_MAX): Likewise.
9707
db7337a3
VS
97082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9711 unexpected error.
9712 (optimize_utf8): Likewise.
9713 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9714
f37c87e1
VS
97152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/boot/i386/pc/lnxboot.S: Use
9718 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9719 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9720 location.
9721 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9722 definition.
9723 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9724
63fe43f3
VS
97252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9728 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9729 now to avoid double free.
9730 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9731 hostdisk.
9732 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9733 * util/grub-probe.c (escape_of_path): Always return a new copy.
9734 (print_full_name): Escape path.
9735 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9736 Fix hints on abstractions.
9737
ebe2c961
VS
97382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9741 Don't add "root" line if no compatibility hont is available.
9742 Suggested by: Seth Goldberg.
9743
2b5336a2
VS
97442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9747 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9748 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9749 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9750
74310bd8
VS
97512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9754
c30582ba
VS
97552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/grub-pe2elf.c (ehdr): Make static.
9758 (shdr): Likewise.
9759 (num_sections): Likewise.
9760 (offset): Likewise.
9761
5f47782c
VS
97622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Eliminate ofpath limits and possible overflows.
9765
9766 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9767 (OF_PATH_MAX): Removed.
9768 (MAX_DISK_CAT): New const.
9769 (find_obppath): Use allocated rather than preallocated buffer.
9770 Return result. Argument of_path removed. All users updated.
9771 Add missing fdstat.
9772 (xrealpath): New function.
9773 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9774 Allocate rather than use preallocated buffer. All users updated.
9775 (__of_path_common): Use allocated rather than preallocatecd buffer.
9776 Return result. Argument of_path removed. All users updated.
9777 (vendor_is_ATA): Read only needed part form the file.
9778 (check_sas): Allocate depending on contents rather than fixed.
9779 (main) [STANDALONE]: Handle NULL result.
9780
f990cbf9
VS
97812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9784
9c6e84b8
VS
97852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Cryptodisk write support.
9788
9789 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9790 (grub_cryptodisk_decrypt): Moved logic to ...
9791 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9792 (grub_cryptodisk_write): Implement.
9793 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9794 (grub_util_fd_write): ... this. Make global.
9795 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9796
87cf9744
VS
97972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * include/grub/list.h (grub_list_remove): Don't crash if element is
9800 removed twice.
9801
ca8c0baf
VS
98022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 Rename ofconsole to console.
9805
9806 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9807 as sysnonym to console.
9808 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9809 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9810 Rename grub_ofconsole_ to grub_console_. All users updated
9811 (grub_console_term_output): Rename "ofconsole" to "console".
9812 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9813 as "console".
9814
64c8b8f6
VS
98152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9818 handling.
9819 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9820 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9821 GRUB_DISK_DEVICE_FILE_ID.
9822
f6c434d5
VS
98232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9826 and improve performance.
9827
5858b42d
VS
98282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9831 missing ieee1275/ prefix on whole disk.
9832
4ed3c26b
VS
98332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9836 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9837
df71143e
VS
98382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9841
076e7c0f
VS
98422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 Merge common RAID and LVM logic to an abstract diskfilter.
9845 Add LDM support using the same framework.
9846
9847 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9848 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9849 (libgrubmods): Remove grub-core/disk/raid.c and
9850 grub-core/partmap/gpt.c.
9851 * grub-core/Makefile.core.def (ldm): New module.
9852 (raid): Renamed to diskfilter. All users updated.
9853 * grub-core/disk/raid.c: Moved to ...
9854 * grub-core/disk/diskfilter.c: ... here.
9855 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9856 (lv_num): New var.
9857 (find_array): Renamed to ...
9858 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9859 (grub_is_array_readable): Renamed to ...
9860 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9861 (insert_array): New argument id.
9862 (is_node_readable): New function.
9863 (scan_device): Rename to ...
9864 (scan_disk): .. this. Restrict to one disk.
9865 (scan_devices): New function.
9866 (grub_diskfilter_iterate): Support multi-LV.
9867 Skip invisible and nameless LVs.
9868 (grub_diskfilter_memberlist): Support multi-LV.
9869 (grub_diskfilter_read_node): New function.
9870 (grub_raid_read): Most of logic moved to ...
9871 (read_segment): ... here
9872 (read_lv): New function.
9873 (grub_diskfilter_get_vg_by_uuid): New function.
9874 (grub_diskfilter_make_raid): Likewise.
9875 * grub-core/disk/ldm.c: New file.
9876 * grub-core/disk/lvm.c (vg_list): Removed.
9877 (lv_count): Likewise.
9878 (scan_depth): Likewise.
9879 (is_lv_readable): Likewise.
9880 (grub_lvm_getvalue): Advance pointer past the number.
9881 (find_lv): Removed.
9882 (do_lvm_scan): Refactored into ...
9883 (grub_lvm_detect): ... this. Support raid.
9884 (grub_lvm_iterate): Removed.
9885 (grub_lvm_memberlist): Likewise.
9886 (grub_lvm_open): Likewise.
9887 (grub_lvm_close): Likewise.
9888 (read_lv): Likewise.
9889 (read_node): Likewise.
9890 (is_node_readable): Likewise.
9891 (is_lv_readable): Likewise.
9892 (grub_lvm_read): Likewise.
9893 (grub_lvm_write): Likewise.
9894 (grub_lvm_dev): Use diskfilter
9895 (GRUB_MOD_INIT): Likewise.
9896 (GRUB_MOD_FINI): Likewise.
9897 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9898 new interface.
9899 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9900 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9901 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9902 grub_diskfilter_read_node.
9903 Fix a bug with xor.
9904 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9905 grub_diskfilter_read_node.
9906 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9907 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9908 (grub_disk_dev_iterate): Move from here...
9909 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9910 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9911 Make global.
9912 (grub_hostdisk_find_partition_start): Likewise.
9913 (grub_hostdisk_os_dev_to_grub_drive): New function.
9914 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9915 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9916 * util/getroot.c (make_device_name): ... here.
9917 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9918 Move to ...
9919 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9920 * grub-core/kern/emu/hostdisk.c
9921 (convert_system_partition_to_system_disk): Move to ...
9922 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9923 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9924 * util/getroot.c (device_is_wholedisk): ... here.
9925 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9926 * util/getroot.c (find_system_device): ... here.
9927 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9928 Move to ...
9929 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9930 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9931 Move to ...
9932 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9933 Handle LDM.
9934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9935 Move to ...
9936 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9937 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9938 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9939 DISKFILTER.
9940 * include/grub/raid.h: Renamed to ...
9941 * include/grub/diskfilter.h: ... this.
9942 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9943 (GRUB_RAID_LAYOUT_*): Make into array.
9944 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9945 (grub_diskfilter_vg): New struct.
9946 (grub_diskfilter_pv_id): Likewise.
9947 (grub_raid_member): Removed.
9948 (grub_raid_array): Likewise.
9949 (grub_diskfilter_pv): New struct.
9950 (grub_diskfilter_lv): Likewise.
9951 (grub_diskfilter_segment): Likewise.
9952 (grub_diskfilter_node): Likewise.
9953 (grub_diskfilter_get_vg_by_uuid): New proto.
9954 (grub_raid_register): Inline.
9955 (grub_diskfilter_unregister): Likewise.
9956 (grub_diskfilter_make_raid): New proto.
9957 (grub_diskfilter_vg_register): Likewise.
9958 (grub_diskfilter_read_node): Likewise.
9959 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9960 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9961 (grub_util_is_ldm): Likewise.
9962 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9963 (grub_hostdisk_find_partition_start): Likewise.
9964 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9965 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9966 New definition.
9967 (grub_gpt_partition_map_iterate): New proto.
9968 * include/grub/lvm.h (grub_lvm_vg): Removed.
9969 (grub_lvm_pv): Likewise.
9970 (grub_lvm_lv): Likewise.
9971 (grub_lvm_segment): Likewise.
9972 (grub_lvm_node): Likewise.
9973 * util/getroot.c [...]
9974 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9975 (probe_abstraction): Likewise.
9976 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9977 (main): Remove dead logic.
9978
8a7f9b9c
VS
99792012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Simplify root device discover and don't fail when trying to open
9982 incorrect devices.
9983
9984 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9985 function.
9986 (get_diskname_from_path): Likewise.
9987 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9988 of iterating.
9989
30545b85
VS
99902012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9993
28ea58cf
VS
99942012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9997 pastthe end.
9998
692dabca
VS
99992012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * util/grub-install.in: Add missing \.
10002 Reported by: gentoofan
10003
f6e4ea70
VS
100042012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10007 (direct_read): Use correct compressed size.
10008 (grub_squash_read_data): Likewise.
10009
100102012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10011
10012 * docs/grub.texi (Platform limitations): New section.
10013 (Platform-specific operations): Likewise.
10014 * docs/grub-dev.texi (Porting): Likewise.
10015
76261110
VS
100162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 IEEE1275 disk write support.
10019
10020 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10021 const void *.
10022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10023 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10024 and seek loginc to ...
10025 (grub_ofdisk_prepare): ... here.
10026 (grub_ofdisk_write): Implement.
10027
fc36d603
VS
100282012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 ARC disk write support.
10031
10032 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10033 (reopen): New argument writable. All users updated.
10034 Handle required access mode.
10035 (grub_arcdisk_write): Implement.
10036 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10037 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10038
e06c2e7a
VS
100392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10042 (read_sblock): Don't attempt to read superblocks outside the disk size.
10043
ff447958
VS
100442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10047 first superblock to find the second one when possible.
10048
9e88df39
VS
100492012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * util/grub-install.in: Fix an ARC bug.
10052 Print a warning if no platform-specific setup is available.
10053
bb26e4ff
VS
100542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Use static allocation rather than scratch pointer in reed_solomon.
10057 It decreases its size significantly and avoids a variable in .text.
10058
10059 * grub-core/lib/reed_solomon.c (scratch): Removed.
10060 (chosenstat): New const or static array.
10061 (sigma): Likewise.
10062 (errpot): Likewise.
10063 (errpos): Likewise.
10064 (sy): Likewise.
10065 (mstat): Likewise.
10066 (errvals): Likewise.
10067 (eqstat): Likewise.
10068 (pol_evaluate): Replace x with log_x argument. All users updated.
10069 (syndroms): Removed.
10070 (gauss_solve): Use statically allocated arrays.
10071 (rs_recover): Likewise.
10072 Calculate syndroms directly.
10073 (decode_block): Use statically allocated arrays.
10074 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10075 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10076
2e13ede5
VS
100772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 Eliminate fixed limit on reed solomon decoder length.
10080
10081 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10082 rather than hardcoding the address.
10083 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10084 no_reed_solomon_length.
10085 Move gate_a20 to no-reed-solomon part.
10086 Don't force a particular size of no reed-solomon part.
10087 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10088 Removed.
10089 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10090 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10091
f8a9ab12
VS
100922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * grub-core/commands/wildcard.c (match_files): Handle filenames
10095 without explicit device.
10096 (wildcard_expand): Don't add explicit device if not already present.
10097 * tests/grub_script_echo1.in: Add a new expansion test.
10098
87edb894
VS
100992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 Replace single-linked with double-linked lists. It results in more
10102 compact and more efficient code.
10103
10104 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10105 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10106 (grub_list_remove): Moved from here ...
10107 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10108 (grub_prio_list_insert): Set prev.
10109 * include/grub/list.h (grub_list): Add prev. All users updated.
10110
48b391e9
VS
101112012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 Handle newer autotools. Add some missing quotes while on it.
10114
10115 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10116 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10117 (pkgdata_DATA): ... here.
10118 * Makefile.util.def (update-grub_lib): Removed.
10119 * conf/Makefile.common (pkglib_DATA): Removed.
10120 (pkglib_SCRIPTS): Likewise.
10121 (pkgdata_DATA): New variable.
10122 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10123 needed.
10124 Add missing quotes.
10125 Remove unused variable while on it.
10126 * tests/util/grub-shell.in: Likewise.
10127 * util/grub-install.in: Likewise.
10128 * util/grub-mkconfig.in: Likewise.
10129 * util/grub-mknetdir.in: Likewise.
10130 * util/grub-mkrescue.in: Likewise.
10131 * util/grub-mkstandalone.in: Likewise.
10132 * util/grub.d/00_header.in: Likewise.
10133 * util/grub.d/10_hurd.in: Likewise.
10134 * util/grub.d/10_illumos.in: Likewise.
10135 * util/grub.d/10_kfreebsd.in: Likewise.
10136 * util/grub.d/10_linux.in: Likewise.
10137 * util/grub.d/10_netbsd.in: Likewise.
10138 * util/grub.d/10_windows.in: Likewise.
10139 * util/grub.d/20_linux_xen.in: Likewise.
10140 * util/grub.d/30_os-prober.in: Likewise.
10141 * util/update-grub_lib.in: Removed.
10142
101432012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10144
10145 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10146 a workaround for intel problem.
10147
66832792
PRP
101482012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
101492012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
101502012-01-23 pfsmorigo
10151
10152 * util/grub-install.in: Support dd'in into PreP partition.
10153 * util/grub-probe.c (probe): Support discovering partition type.
10154 (main): Support -t msdos_parttype.
10155
7816a17e
VS
101562012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10159 infinite recursion using counter.
10160 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10161 init to skip it if the magic check fails.
10162 (dec_stream_header): Init s->crc32.
10163
8f9d3a8c
ZB
101642012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
101652012-01-22 Zachary Bedell <pendorbound@gmail.com>
101662012-01-22 Richard Laager <rlaager@wiktel.com>
10167
10168 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10169 All users updated.
10170 (find_bestub): Determine correct size.
10171 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10172 (scan_disk): Align the size down.
10173 Call check pool before find_bestub to have ashift.
10174
b055dd32
VS
101752012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10178 dprintf in no-malloc zone.
10179
d779e9bd
ML
101802012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10181
10182 * configure.ac: Add back in test for limits.h.
10183
b508af69
VS
101842012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Support 4K-sector NTFS.
10187
10188 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10189 (grub_ntfs_data): Remove blocksize.
10190 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10191 Remove data argument. All users updated.
10192
dad9c8b5
VS
101932012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10196 being in .text to avoid dprel references.
10197 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10198 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10199 (grub_arch_highmemsize): Likewise.
10200 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10201 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10202 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10203
d43a777e
VS
102042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10207
10208 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10209 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10210
34e4208f
VS
102112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10214 GRUB_UTIL.
10215 (grub_set_datetime_cmos): Likewise.
10216
3ec0fc1c
VS
102172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 Make XZ compression parameters dependent on target and not host CPU.
10220
10221 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10222 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10223
22489834
VS
102242012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10227 set but not used variable.
10228
8502fbca
VS
102292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10232 created when no uuid support is compiled into mkfs.reiser.
10233
76df2068
VS
102342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10237 (utf8_to_macroman): Do the opposite.
10238 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10239
64e3f8f6
VS
102402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * configure.ac: Refise build qemu_mips w/o unifont.
10243
9c271078
VS
102442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 Eliminate grub_min/grub_max prone to overflow usage.
10247
10248 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10249 (poll_nonroot_hub): Likewise.
10250 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10251 (grub_affs_label): Likewise.
10252 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10253 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10254 (grub_hfs_label): Likewise.
10255 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10256 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10257 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10258 (zap_leaf_array_get): Likewise.
10259 (dnode_get_path): Likewise.
10260 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10261 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10262 * grub-core/script/execute.c (grub_script_break): Likewise.
10263 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10264 grub_max.
10265 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10266 * include/grub/misc.h (grub_min): Removed.
10267 (grub_max): Likewise.
10268
80662dbc
VS
102692012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10270
10271 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10272 direct.inode = 0.
10273
e6da1467
VS
102742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10277
b1ac4cb1
VS
102782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10281
b4bf7c3b
VS
102822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10285 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10286
8ee1101a
VS
102872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10290 rather than a hack for grub_strncasemap.
10291
102922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 Support multiple initrds
10295 Note: part of this was accidently committed in r3739.
10296
10297 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10298 initrd.
10299 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10300 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10301 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10302 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10303 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10304
4d1e2bc9
VS
103052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10308 disks with unknown size.
10309 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10310
75b49ebe
VS
103112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Remove defines pertaining to arbitrary limits not affecting GRUB
10314 anymore.
10315
10316 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10317 (EXT2_MAX_SYMLINKCNT): Likewise.
10318 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10319 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10320 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10321 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10322 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10323 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10324 (DN_MAX_OBJECT_SHIFT): Likewise.
10325 (DN_MAX_OFFSET_SHIFT): Likewise.
10326 (DN_MAX_OBJECT): Likewise.
10327 (DNODES_PER_LEVEL_SHIFT): Likewise.
10328 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10329 (SPA_MAXBLOCKSIZE): Likewise.
10330 (SPA_BLOCKSIZES): Likewise.
10331 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10332 (MZAP_MAX_BLKSZ): Likewise.
10333
74a1dce7
VS
103342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10337 handle NULL appropriately.
10338 Remove MIN.
10339
30c7d3ce
VS
103402012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 Fix efiemu.
10343
10344 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10345 cpu/types.h.
10346 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10347 * configure.ac: Fix efiemu check.
10348
3c76ea0c
VS
103492012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10352 grub_probe.
10353 Reported by: adamwill
10354
7e532280
SG
103552012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10356
10357 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10358
30492374
VS
103592012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 Fix handling of wide characters in gfxterm.
10362
10363 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10364 (clear_char): Likewise.
10365 (paint_char): Skip code == NULL chars.
10366 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10367
e70cb72f
VS
103682012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/normal/charset.c: Move comment to right place.
10371
5c827cf9
VS
103722012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10375 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10376 (grub_affs_mount): Revert the correct version checking.
10377
53603892
VS
103782012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * docs/grub.texi (Unicode): Mention several other unsupported features.
10381
ff094b9b
VS
103822011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10385 case statements as compile-time one.
10386 (direct_read): Prevent spurious warnings.
10387 (grub_squash_read_data): Likewise.
10388
c029da8a
VS
103892011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 Various squash4 fixes and LZO and XZ support.
10392
10393 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10394 Add xzembed source files.
10395 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10396 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10397 (grub_squash_inode): New subtype long_dir.
10398 (SQUASH_TYPE_LONG_DIR): New inode type.
10399 (COMPRESSION): New enum.
10400 (XZBUFSIZ): New const.
10401 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10402 (read_chunk): Use data->decompress.
10403 (zlib_decompress): New function.
10404 (lzo_decompress): Likewise.
10405 (xz_decompress): Likewise.
10406 (squash_mount): Set new data fields.
10407 (grub_squash_iterate_dir): Handle long dir.
10408 (squash_unmount): Free xzdec and xzbuf.
10409 (grub_squash_open): Check ino type.
10410 (direct_read): Stylistic fixes. Use data->decompress.
10411 (grub_squash_read_data): Likewise.
10412 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10413 (get_byte): Likewise.
10414 (grub_zlib_disk_read): Removed.
10415 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10416 (GRUB_POSIX_BOOL_DEFINED): New define.
10417 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10418 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10419 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10420 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10421
7a45a539
VS
104222011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Don't override more informative errors.
10425
10426 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10427 * grub-core/font/font.c (open_section): Likewise.
10428 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10429 filename. Don't override errors.
10430 (grub_cmd_openbsd_ramdisk): Don't override errors.
10431 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10432 (grub_cmd_initrd): Likewise.
10433 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10434 (grub_cmd_initrd): Likewise.
10435 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10436 (grub_cmd_linux): Likewise.
10437 (grub_cmd_initrd): Likewise.
10438 (grub_cmd_payload): Likewise.
10439 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10440 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10441 (grub_cmd_module): Likewise.
10442 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10443 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10444 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10445 (grub_cmd_xnu_mkext): Likewise.
10446 (grub_cmd_xnu_ramdisk): Likewise.
10447 (grub_xnu_check_os_bundle_required): Likewise.
10448 (grub_xnu_load_kext_from_dir): Likewise.
10449 (grub_cmd_xnu_kextdir): Likewise.
10450 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10451
b2d004db
VS
104522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10455 as 1024 in block size field. Found on one of my test images.
10456 Small optimisation while on it.
10457
ec000eac
VS
104582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10461 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10462 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10463 performance fixes while on it.
10464 (grub_sfs_close): Fix memory leak while on it.
10465 (grub_sfs_label): Convert Latin1 to UTF-8.
10466
f50e1165
VS
104672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10470 space to avoid overflows.
10471 (grub_hfs_label): Convert from macroman to UTF-8.
10472
2ae254de
VS
104732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10476
0108f491
VS
104772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10480
f45f5f89
VS
104812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * unicode: Import Unicode 6.0 data.
10484
4d8c4765
VS
104852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10486
63fa8ef9
VS
10487 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10488 outside of range.
10489
104902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10493
10494 * include/grub/charset.h (grub_getend): New function.
10495 * grub-core/script/function.c (grub_script_function_find): Use
10496 grub_getend.
10497 * grub-core/normal/completion.c (add_completion): Likewise.
10498
f3cb4a4e
VS
104992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10502 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10503 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10504 (GRUB_UNICODE_TAG_END): Likewise.
10505 (GRUB_UNICODE_LAST_VALID): Likewise.
10506
5da8dbc5
VS
105072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10510 len and make it smaller. All users updated.
10511 * util/import_unicode.py: Put length and not end character.
10512 Check length.
10513
8569f13d
VS
105142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 Make better Unicode-compliant and unify some UTF-8 code pathes.
10517
10518 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10519 valid character.
10520 (grub_is_valid_utf8): Use grub_utf8_process.
10521 Check resulting code range.
10522 (grub_utf8_to_ucs4): Use grub_utf8_process.
10523 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10524 valid character.
10525
cc4fddf5
VS
105262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10529
bbc47747
VS
105302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * docs/grub.texi (Filesystems): Mention AFS.
10533
f63d6bf4
VS
105342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * docs/grub.texi (Filesystems): Clarify restrictions.
10537 (Regexp): Mention non-Unicode regexp behaviour.
10538 (Other): Mention non-Unicode matching behaviour.
10539
74bbf0db
VS
105402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10541
f63d6bf4 10542 Make HFS implementation use MacRoman.
74bbf0db
VS
10543
10544 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10545 (macroman): New const array.
10546 (macroman_to_utf8): New function.
10547 (utf8_to_macroman): Likewise.
10548 (grub_hfs_find_dir): Use utf8_to_macroman.
10549 (grub_hfs_dir): Use macroman_to_utf8.
10550 Set case_insensitive.
10551
4ea0316e
VS
105522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10555
d3c13cbd
VS
105562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 Integrate hints into autogeneration scripts.
10559
10560 * docs/grub.texi (Filesystems): Add a hostdisk example.
10561 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10562 (grub-probe): Add ofpath.
10563 * gentpl.py: Remove group nosparc64.
10564 * grub-core/commands/search.c (cache_entry): New struct.
10565 (cache): New var.
10566 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10567 * grub-core/commands/search_wrap.c (options): Add platform-specific
10568 hint options.
10569 (grub_cmd_search): Handle platform-specific hints.
10570 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10571 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10572 (grub_util_biosdisk_data): Likewise.
10573 (grub_util_biosdisk_open): Set device_map.
10574 (read_device_map): Handle "" as indication of no map.
10575 Set device_map.
10576 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10577 (grub_util_biosdisk_get_compatibility_hint): New function.
10578 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10579 * include/grub/emu/hostdisk.h
10580 (grub_util_biosdisk_get_compatibility_hint): New proto.
10581 * util/grub-install.in: Don't call grub-mkdevicemap.
10582 Add platform-specific hint to load.cfg.
10583 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10584 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10585 hints. Set root preliminary to compatibility hint, not to OS name.
10586 * util/grub-probe.c (PRINT_*): Add hints.
10587 (print): Make static.
10588 (escape_of_path): New function.
10589 (guess_bios_drive): Likewise.
10590 (guess_efi_drive): Likewise.
10591 (guess_baremetal_drive): Likewise.
10592 (print_full_name): Likewise.
10593 (probe): Handle hints.
10594 (main): Likewise.
10595 * util/ieee1275/devicemap.c: Removed.
10596 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10597 updated.
10598 (grub_util_devname_to_ofpath): Return NULL on failure.
10599
10600 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10601 resource leak.
10602 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10603
10604 * po/POTFILES.in: Regenerated.
10605
10606 Allow purely long options
10607
10608 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10609 (SHORT_ARG_USAGE): Likewise.
10610 (grub_arg_show_help): Compare opt with help_options.
10611 (parse_option): Receive opt as argument. If makes big simplificatons.
10612 All users updated
10613
00ce2df3
VS
106142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10617 Restructure to avoid warning.
10618
e77e325f
VS
106192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * util/grub-install.in: Account for possible escaped comma in device
10622 name.
10623
165099ea
VS
106242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10627 channel.
10628
ce4a999d
VS
106292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10632 allocation and zero-setting.
10633 (grub_ieee1275_get_devname): Check that alias is complete.
10634
379586ad
VS
106352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10638 unaligned segments.
10639
9197b0ad
VS
106402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10643 prefix.
10644 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10645 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10646 Add ieee1275 prefix.
10647
edddb7f9
VS
106482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * docs/grub.texi (Filesystems): Update.
10651
a1a8b1b9
VS
106522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 Support odc, newc and bigendian cpio formats.
10655
10656 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10657 * grub-core/Makefile.core.def (newc): New module.
10658 (odc): Likewise.
10659 (cpio_be): Likewise.
10660 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10661 (MAGIC): Likewise.
10662 (MAGIC2): Likewise.
10663 (head) [MODE_ODC]: Adapt for the format.
10664 (head) [MODE_NEWC]: Likewise.
10665 (head) [!MODE_*]: Write fields of interest as arrays.
10666 (MAGIC_USTAR): Removed.
10667 (read_number) [MODE_NEWC]: Change to hex.
10668 (read_number) [!MODE_*]: Parse binary arrays.
10669 (grub_cpio_find_file): Factor out the code for better structure and
10670 always use read_number.
10671 (grub_cpio_mount): Use MAGIC and MAGIC2.
10672 (grub_cpio_dir): Exit on first hook non-0 return.
10673 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10674 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10675 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10676 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10677 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10678 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10679 * grub-core/fs/newc.c: New file.
10680 * grub-core/fs/odc.c: Likewise.
10681 * grub-core/fs/cpio_be.c: Likewise.
10682
58eba9ee
VS
106832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Fix handling of tar numbers occupying the whole field.
10686
10687 * grub-core/fs/cpio.c (read_number): New function.
10688 (grub_cpio_find_file): Use read_number instead of strtoull.
10689
a54a0e12
VS
106902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10693 occupying the whole field size.
10694
a6120aca
LA
106952011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10696
10697 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10698
a93964ce
VS
106992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10702
3ea1ca46
SG
107032011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10704
10705 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10706 TARGET_IMG_LDFLAGS.
10707
b87f7ef2
VS
107082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10711 (mountinfo_entry): Increase the field size to take escaping into
10712 account.
10713 (find_root_device_from_libzfs): Add one byte to size of strings for
10714 security.
10715
62092395
VS
107162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10719 an assert.
10720 * util/grub-setup.c (setup): Likewise.
10721
1f0b1a77
VS
107222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10725 _LzmaDecodeA.
10726
8eba9997
VS
107272011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * docs/grub.texi (Internationalisation): New section.
10730
dd0c91e9
VS
107312011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * docs/grub.texi (Loopback booting): New section.
10734
107352011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10736
10737 * util/grub-mkstandalone.in: Fix minor typo errors.
10738
198e150a
VS
107392011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10742
10743 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10744 net/icmp.c and net/icmp6.c.
10745 (http): New module.
10746 (priority_queue): Likewise.
10747 * grub-core/io/bufio.c: Rewritten.
10748 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10749 TYPE_WITH_CONFIGFILE_OPTION.
10750 (legacy_commands): Add bootp and dhcp.
10751 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10752 (grub_legacy_parse): Likewise.
10753 * grub-core/lib/priority_queue.c: New file.
10754 * grub-core/net/arp.c: Add missing license header.
10755 (arp_find_entry): Removed.
10756 (arp_find_entry): Likewise.
10757 (grub_net_arp_resolve): Rename to ...
10758 (grub_net_arp_send_request): ...this.
10759 (grub_net_arp_receive): New card argument.
10760 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10761 Set router and DNS server.
10762 (grub_net_configure_by_dhcp_ack): Handle routing information.
10763 (grub_cmd_bootp): Set checksum.
10764 (grub_bootp_init): Remove net_dhcp.
10765 * grub-core/net/dns.c: New file.
10766 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10767 completion.
10768 (get_card_packet): Handle allocation.
10769 (grub_efinet_findcards): Set mtu.
10770 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10771 (get_card_packet): Handle allocation.
10772 (emucard): Set mtu.
10773 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10774 (GRUB_MOD_INIT): Set mtu.
10775 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10776 mtu.
10777 (get_card_packet): Handle allocation.
10778 (grub_ofnet_findcards): Set mtu.
10779 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10780 assert.
10781 (grub_net_recv_ethernet_packet): Handle IPv6.
10782 * grub-core/net/http.c: New file.
10783 * grub-core/net/icmp.c: Likewise.
10784 * grub-core/net/icmp6.c: Likewise.
10785 * grub-core/net/ip.c (ip6addr): New type.
10786 (ip6hdr): Likewise.
10787 (reassemble): Likewise.
10788 (cmp): New function.
10789 (reassembles): New variable.
10790 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10791 (id): New variable.
10792 (send_fragmented): New function.
10793 (grub_net_send_ip_packet): Rename to ...
10794 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10795 Handle non-UDP.
10796 (grub_net_recv_ip_packets): Rename to ...
10797 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10798 (free_rsm): New function.
10799 (free_old_fragments): Likewise.
10800 (grub_net_recv_ip4_packets): New function.
10801 (grub_net_send_ip6_packet): Likewise.
10802 (grub_net_send_ip_packet): Likewise.
10803 (grub_net_recv_ip6_packets): Likewise.
10804 (grub_net_recv_ip_packets): Likewise.
10805 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10806 (LINK_LAYER_CACHE_SIZE): New const.
10807 (link_layer_find_entry): New function.
10808 (grub_net_link_layer_add_address): Likewise.
10809 (grub_net_link_layer_resolve_check): Likewise.
10810 (grub_net_link_layer_resolve): Likewise.
10811 (grub_net_ipv6_get_slaac): Likewise.
10812 (grub_net_ipv6_get_link_local): Likewise.
10813 (grub_cmd_ipv6_autoconf): Likewise.
10814 (parse_ip): Handle one number representation.
10815 (parse_ip6): New functoion.
10816 (match_net): Handle IPv6.
10817 (grub_net_resolve_address): Handle IPv6 and DNS.
10818 (grub_net_resolve_net_address): Handle IPv6.
10819 (route_cmp): New function.
10820 (grub_net_route_address): Find best route.
10821 (grub_net_addr_to_str): Handle IPv6.
10822 (grub_net_addr_cmp): New function.
10823 (grub_net_add_addr): Register local route.
10824 (print_net_address): Handle net address.
10825 (grub_net_poll_cards): Retransmit TCP.
10826 (grub_net_poll_cards_idle_real): Likewise.
10827 (have_ahead): New function.
10828 (grub_net_seek_real): Use underlying seek.
10829 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10830 * grub-core/net/tcp.c: New file.
10831 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10832 (cmp): New function.
10833 (ack): Likewise.
10834 (tftp_receive): Handle unordered input.
10835 (destroy_pq): New function.
10836 (tftp_close): Close pq.
10837 * grub-core/net/udp.c: Put missing license header.
10838 (grub_net_udp_socket): New function.
10839 (udp_socket_register): Likewise.
10840 (grub_net_udp_close): Likewise.
10841 (grub_net_recv_udp_packet): Check checksum.
10842 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10843 * include/grub/misc.h (grub_memchr): New function.
10844 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10845 (grub_net_card_driver): Return buf in recv.
10846 (grub_net_slaac_mac_list): New struct.
10847 (grub_network_level_protocol_id): Add ipv6.
10848 (grub_net_network_level_addr): Likewise.
10849 (grub_net_network_level_net_addr): Likewise.
10850 (grub_net_app_protocol): Add seek.
10851 (grub_net_socket): Removed.
10852 (grub_net_sockets): Likewise.
10853 (grub_net_socket_register): Likewise.
10854 (grub_net_socket_unregister): Likewise.
10855 (FOR_NET_SOCKETS): Likewise.
10856 (grub_net_add_addr): Add const.
10857 (GRUB_NET_BOOTP_*): New enum.
10858 (grub_net_addr_cmp): New proto.
10859 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10860 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10861 (grub_net_hwaddr_to_str): NEw proto.
10862 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10863 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10864 (grub_dns_init): New proto.
10865 (grub_dns_fini): Likewise.
10866 (grub_net_tcp_retransmit): Likewise.
10867 (grub_net_link_layer_add_address): Likewise.
10868 (grub_net_link_layer_resolve_check): Likewise.
10869 (grub_net_link_layer_resolve): Likewise.
10870 (grub_net_dns_lookup): Likewise.
10871 (grub_net_add_dns_server): Likewise.
10872 (grub_net_remove_dns_server): Likewise.
10873 (GRUB_NET_TRIES): New const.
10874 (GRUB_NET_INTERVAL): Likewise.
10875 * include/grub/net/arp.h: Mostly rewritten.
10876 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10877 * include/grub/net/ip.h: Mostly rewritten.
10878 * include/grub/net/netbuff.h: Indent.
10879 * include/grub/net/tcp.h: New file.
10880 * include/grub/net/udp.h: Mostly rewritten.
10881 * include/grub/priority_queue.h: New file.
10882 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10883 (grub_swap_bytes64_compile_time): Likewise.
10884 (grub_cpu_to_be16_compile_time): Likewise.
10885 (grub_cpu_to_be32_compile_time): Likewise.
10886 (grub_cpu_to_be64_compile_time): Likewise.
10887 (grub_be_to_cpu64_compile_time): Likewise.
10888
215c1800
VS
108892011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10892 UINT_TO_PTR with cast.
10893
c17e546c
VS
108942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10897 don't use them.
10898
ff6b18b6
VS
108992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10902 already there.
10903
70ffcc93
VS
109042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10907 confusing ipxe.
10908
e5f4d260
VS
109092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10912 Add missing const attribute.
10913 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10914 Likewise.
10915 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10916 Likewise.
10917
8e54b4b7
VS
109182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10921 misaligned access.
10922 (serpent_setkey): Likewise.
10923 (serpent_encrypt_internal): Likewise.
10924 (serpent_decrypt_internal): Likewise.
10925 (serpent_encrypt): Don't put an alignment-increasing cast.
10926 (serpent_decrypt): Likewise.
10927 (serpent_test): Likewise.
10928
813c0a2b
VS
109292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10932
f2b60fbd
VS
109332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10936
10937 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10938 grub_addr_t casts.
10939 (PTR_TO_UINT64): Likewise.
10940 (PTR_TO_UINT32): Likewise.
10941
5ef5c511
VS
109422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10945 because of stack.
10946 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10947 limit.
10948
c476e6df
VS
109492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10952 text_width > available width a bit more gracefully.
10953
384ad7cc
VS
109542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10957 current address calculation.
10958
96f8caf8
VS
109592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10962 stack.
10963 (encode_block): Likewise.
10964
276b7a8b
VS
109652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10968 certainety.
10969
e3fd394a
VS
109702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10973 non-RS part to avoid RS messing with GDT.
10974 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10975 Increase to suit in realmode routines.
10976
109772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * grub-core/kern/i386/realmode.S: Increase alignment.
10980 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10981
ee9c2e7a
VS
109822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10985 be deterministic.
10986 (syndroms): Compute 0 syndrom.
10987 (rs_recover): Use 0 syndrom.
10988
7a7f7cc9
VS
109892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10992
a14b16d1
VS
109932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10996 brackets.
10997
9f59e9fc
VS
109982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10999
ca1b552c
VS
11000 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11001 account.
11002 (get_top_pad): Likewise.
11003 (get_right_pad): Likewise.
11004 (get_bottom_pad): Likewise.
11005
110062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11009
e739d698
VS
110102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11013 attribute as the structure isn't guaranteed to be properly aligned.
11014 (grub_efi_pci_device_path): Likewise.
11015 (grub_efi_pccard_device_path): Likewise.
11016 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11017 specify the size of `memory_type'.
11018 (grub_efi_vendor_device_path): Likewise.
11019 (grub_efi_controller_device_path): Likewise.
11020 (grub_efi_acpi_device_path): Likewise.
11021 (grub_efi_expanded_acpi_device_path): Likewise.
11022 (grub_efi_atapi_device_path): Likewise.
11023 (grub_efi_scsi_device_path): Likewise.
11024 (grub_efi_fibre_channel_device_path): Likewise.
11025 (grub_efi_1394_device_path): Likewise.
11026 (grub_efi_usb_device_path): Likewise.
11027 (grub_efi_usb_class_device_path): Likewise.
11028 (grub_efi_i2o_device_path): Likewise.
11029 (grub_efi_mac_address_device_path): Likewise.
11030 (grub_efi_ipv4_device_path): Likewise.
11031 (grub_efi_ipv6_device_path): Likewise.
11032 (grub_efi_infiniband_device_path): Likewise.
11033 (grub_efi_uart_device_path): Likewise.
11034 (grub_efi_vendor_messaging_device_path): Likewise.
11035 (grub_efi_hard_drive_device_path): Likewise.
11036 (grub_efi_cdrom_device_path): Likewise.
11037 (grub_efi_vendor_media_device_path): Likewise.
11038 (grub_efi_file_path_device_path): Likewise.
11039 (grub_efi_protocol_device_path): Likewise.
11040 (grub_efi_piwg_device_path): Likewise.
11041 (grub_efi_bios_device_path): Likewise.
11042
cb8f88ea
VS
110432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11046 (grub_ucs4_to_utf8_alloc): Likewise.
11047 (grub_ucs4_to_utf8): Likewise.
11048 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11049 (grub_ucs4_to_utf8_alloc): Likewise.
11050
309e5352
VS
110512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 AFFS never uses unicode.
11054
11055 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11056 (grub_latin1_to_utf8): New inline function.
11057 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11058
e7987e1b
VS
110592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11062 overflow.
11063
efc2616e
VS
110642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11067 (grub_squash_dirent_header): Likewise.
11068 (read_chunk): Don't double swap.
11069 (grub_squash_iterate_dir): Fix swap sizes.
11070
3c349f5a
VS
110712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11074
b453412d
VS
110752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11078 (grub_hfs_iterate_dir): Likewise.
11079
12e9d4d1
VS
110802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 Fix video on platforms where unaligned access is forbidden.
11083 Make several optimisations while on it.
11084
11085 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11086 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11087 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11088 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11089 Disable.
11090 (grub_video_fbblit_replace_16bit_1bit):
11091 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11092 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11093 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11094 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11095 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11096 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11097 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11098 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11099 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11100 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11101 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11102 (grub_video_fbblit_replace_index_RGB888): Likewise.
11103 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11104 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11105 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11106 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11107 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11108 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11109 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11110 Disable.
11111 (grub_video_fbblit_blend_XXX565_1bit):
11112 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11113 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11114 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11115 void *.
11116 * grub-core/video/fb/video_fb.c (common_blitter)
11117 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11118 (grub_video_fb_create_render_target_from_pointer)
11119 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11120 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11121 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11122 definition.
11123 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11124
ace96609
VS
111252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11128 HH22 and HM10 relocations.
11129
fd261d73
VS
111302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11133
e59b7857
VS
111342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11137 allocation succeeded.
11138
9b4baaa4
VS
111392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11142 argument a u8 pointer. All users updated.
11143 Handle unaligned buffers.
11144
dc713193
VS
111452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11148 add_part to workaround compiler bug.
11149
30dd48c2
VS
111502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11153
0c6087a8
VS
111542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11157 Reserve alignment invariants.
11158 (grub_multiboot_load): Likewise.
11159 (retrieve_video_parameters): Likewise.
11160 (grub_multiboot_make_mbi): Likewise.
11161
c2e77777
VS
111622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11165 incorrect pointer.
11166
b70b6d11
VS
111672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11170 (grub_pata_pio_write): Likewise.
11171
02a2bf83
VS
111722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 Add noreturn attributes and remove unreachable code.
11175
11176 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11177 code.
11178 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11179 code. Mark as noreturn.
11180 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11181 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11182 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11183 unreachable code.
11184 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11185 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11186 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11187 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11188 * include/grub/kernel.h (grub_main): Mark as noreturn.
11189 * include/grub/reader.h (grub_rescue_run): Likewise.
11190
2019d09e
VS
111912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11194 redundant declaration.
11195
d1c501ee
VS
111962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11199 redundant declaration.
11200 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11201
61664420
VS
112022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11205 to ensure alignment.
11206 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11207 alignment. Ensure tmp alignment.
11208 (grub_cmd_hdparm): Ensure buf alignment.
11209 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11210 to ensure alignment.
11211 (grub_ata_dumpinfo): Ensure text alignment.
11212 (grub_atapi_identify): Preserve alignment invariant.
11213 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11214
0d51ee20
VS
112152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11218 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11219 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11220 * include/grub/misc.h (grub_reboot)
11221 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11222 (grub_halt) [__mips__]: Likewise.
11223
753ef8c1
VS
112242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11227 Remove redundant declaration.
11228 (grub_mmap_get_post64): Likewise.
11229 (grub_mmap_get_upper): Likewise.
11230 (grub_mmap_get_lower): Likewise.
11231
85c85365
VS
112322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11235 uint32_t * to ensure alignment.
11236 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11237
a23f2cc4
VS
112382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11239
93018f64
VS
11240 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11241 uint16_t * to ensure alignment.
11242 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11243 alignment.
11244
112452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11248 to ensure alignment.
11249 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11250
58acccd6
VS
112512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11254 Handle unaligned pointers.
11255 (u32at): Likewise.
11256 (u64at): Likewise.
11257 (fixup): Use byte access instead of v16at.
11258 (find_attr): Fix imporper usage of v32at.
11259 (read_data): Likewise.
11260 (list_file): Handle byte-swapping and unaligned strings.
11261 (grub_ntfs_label): Likewise.
11262
9b05cad7
VS
112632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11266 as it's not necessarily aligned.
11267
b3950b84
VS
112682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11271 redundant declaration.
11272 (grub_serial_init): Likewise.
11273 (grub_terminfo_init): Likewise.
11274
fcd232b7
VS
112752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11278 function.
11279 (ZAP_HASH_IDX): Likewise.
11280 (ZAP_LEAF_HASH_SHIFT): Likewise.
11281 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11282 (LEAF_HASH): Likewise.
11283 (ZAP_LEAF_NUMCHUNKS): Likewise.
11284 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11285 alignment invariants. Return pointer. All users updated.
11286 (ZAP_LEAF_ENTRY): Make into inline function.
11287 (NBBY): Removed.
11288 (xor): LIkewise.
11289 (xor_out): Use grub_crypto_xor.
11290 (dnode_get_path): Use grub_get_unaligned.
11291 (nvlist_find_value): Likewise.
11292 (grub_zfs_nvlist_lookup_uint64): Likewise.
11293 (grub_zfs_nvlist_lookup_string): Likewise.
11294 (get_nvlist_size): Likewise.
11295 (grub_zfs_open): Likewise.
11296 (fill_fs_info): Likewise.
11297 (grub_zfs_dir): Likewise.
11298 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11299 alignment invariants.
11300 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11301 necessarily aligned.
11302
f138623a
VS
113032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11306
564840dc
VS
113072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11310 arithmetic to conserve alignment invariants.
11311
9b40df20
VS
113122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11315 redundant declaration.
11316 (grub_efiemu_mm_obtain_request): Likewise.
11317 (grub_efiemu_prepare): Likewise.
11318
d1c930f9
VS
113192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11322 to match types.
11323
4c5f3056
VS
113242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11327 case of aunaligned recptr.
11328 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11329 alignment.
11330 (grub_hfsplus_btree_search): Handle unaligned index.
11331
728cba91
VS
113322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11335 to get freetag and skip.
11336
eb561f31
VS
113372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11340 array.
11341 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11342 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11343
20993fbb
VS
113442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11347 name for checksum and fix allocation algorithm.
11348
1f313b94
VS
113492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * include/grub/types.h (grub_properly_aligned_t): New type.
11352 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11353 (grub_get_unaligned16): Add explicit casts.
11354 (grub_get_unaligned32): Likewise.
11355 (grub_get_unaligned64): Likewise.
11356 (grub_set_unaligned16): New function.
11357 (grub_set_unaligned32): Likewise.
11358
47ae27ec
VS
113592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11362
78c2cd1c
VS
113632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11366 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11367 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11368
53072f9b
VS
113692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11372 conditionals.
11373
055dc239
VS
113742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11377 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11378
496bd074
VS
113792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 Unify and improve RAID and crypto xor.
11382
11383 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11384 changed to grub_crypto_xor
11385 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11386 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11387 Use bigger types when possible.
11388
ef6e4335
VS
113892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/disk/raid.c (scan_devices): Fix condition.
11392
5d048bf2
VS
113932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11396 Make name a const ptr.
11397
ee533335
VS
113982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11401 first argument a const pointer.
11402 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11403 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11404 proto.
11405 (grub_children_iterate): Likewise.
11406 (grub_machine_mmap_iterate): Remove redundant declaration.
11407
cc8f3668
VS
114082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11411 (grub_cmd_acpi) [!x86]: Disable EBDA.
11412
c5fc563a
VS
114132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 Enable UTF8 in gnulib regexp.
11416
11417 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11418 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11419 (isupper): Use grub_isupper.
11420 (isascii): New inline function.
11421 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11422 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11423 * grub-core/normal/charset.c (grub_utf8_process): New function.
11424 (grub_utf8_to_utf16): Use grub_utf8_process.
11425 (grub_encode_utf8_character): New function.
11426 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11427 * include/grub/charset.h (grub_utf8_process): New declaration.
11428 (grub_encode_utf8_character): Likewise.
11429 * include/grub/misc.h (grub_islower): New inline function.
11430 (grub_isupper): Likewise.
11431 (grub_strchrsub): Moved down to fix the definitions.
11432
0af2346f
VS
114332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11436 specification.
11437
74dbd244
VS
114382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 * include/grub/loader.h (grub_loader_register_preboot_hook):
11441 Use struct preboot * and not void * for handle. All users updated.
11442 (grub_loader_unregister_preboot_hook): Likewise.
11443
1bc8f60d
VS
114442011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11447 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11448 UTF-16-BE. All users updated.
11449 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11450 (grub_hfsplus_iterate_dir): Likewise.
11451 (grub_hfsplus_label): Likewise.
11452
48d6e456
VS
114532011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11456
bf3a3857
VS
114572011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 Add missing const qualifiers.
11460
11461 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11462 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11463 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11464 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11465 (grub_lvm_check_flag): Likewise.
11466 * grub-core/efiemu/i386/coredetect.c
11467 (grub_efiemu_get_default_core_name): Likewise
11468 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11469 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11470 * grub-core/fs/ntfs.c (fixup): Likewise.
11471 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11472 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11473 (fzap_lookup): Likewise.
11474 (zap_lookup): Likewise.
11475 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11476 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11477 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11478 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11479 (grub_freebsd_add_meta_module): Likewise.
11480 (grub_cmd_freebsd_module): Likewise.
11481 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11482 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11483 (grub_xnu_writetree_get_size): Likewise.
11484 (grub_xnu_writetree_toheap_real): Likewise.
11485 (grub_xnu_find_key): Likewise.
11486 (grub_xnu_create_key): Likewise.
11487 (grub_xnu_create_value): Likewise.
11488 (grub_xnu_register_memory): Likewise.
11489 (grub_xnu_check_os_bundle_required): Likewise.
11490 (grub_xnu_scan_dir_for_kexts): Likewise.
11491 (grub_xnu_load_kext_from_dir): Likewise.
11492 * grub-core/normal/color.c (color_list): Likewise.
11493 * grub-core/normal/completion.c (current_word): Likewise.
11494 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11495 * grub-core/term/serial.c (grub_serial_find): Likewise.
11496 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11497 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11498 Likewise.
11499 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11500 (grub_freebsd_add_meta_module): Likewise.
11501 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11502 * include/grub/net.h (grub_net_card_driver): Likewise.
11503 (grub_net_card): Likewise.
11504 (grub_net_app_protocol): Likewise.
11505 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11506 * include/grub/serial.h (grub_serial_find): Likewise.
11507 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11508 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11509 (grub_xnu_create_value): Likewise.
11510 (grub_xnu_find_key): Likewise.
11511 (grub_xnu_scan_dir_for_kexts): Likewise.
11512 (grub_xnu_load_kext_from_dir): Likewise.
11513
11514 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11515 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11516 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11517 Moved from here ...
11518 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11519
112b4837
CW
115202011-11-28 Colin Watson <cjwatson@ubuntu.com>
11521
11522 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11523
49e891ac
VS
115242011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11527 (read_device): Fix size calculation.
11528
fd258e5c
RM
115292011-11-25 Robert Millan <rmh@gnu.org>
11530
11531 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11532 (find_root_device_from_libzfs): Add zpool output parser to be used
11533 as fallback when libzfs isn't available.
11534
78845dc2
SG
115352011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11536
11537 * po/Makefile.in.in: Add missing escape-continuation.
11538
adac5211
VS
115392011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11542
10b64f1c
VS
115432011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11546
bb416954
VS
115472011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11550
bdfe9eeb
VS
115512011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11554
581ffa8a
VS
115552011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/lib/adler32.c: Add missing license specification.
11558 * grub-core/lib/crc64.c: Likewise.
11559 * grub-core/loader/i386/pc/plan9.c: Likewise.
11560 * grub-core/partmap/plan.c: Likewise.
11561
2536cf64
LK
115622011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11563
11564 Add facility to debug GRUB with gdb under qemu.
11565
11566 * grub-core/gdb_grub.in: New file.
11567 * grub-core/gmodule.pl.in: Likewise.
11568 * grub-core/Makefile.core.def (gmodule.pl): New script.
11569 (gdb_grub): Likewise.
11570
bc108a4a
VS
115712011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * util/grub-mount.c (argp_parser): Accept relative pathes.
11574 * util/grub-fstest.c (argp_parser): Likewise.
11575
111c1778
VS
115762011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 Plan9 support.
11579
11580 * Makefile.util.def (libgrubmods): Add
11581 grub-core/partmap/plan.c.
11582 * docs/grub.texi: Notice Plan9 support.
11583 * grub-core/Makefile.core.def (plan9): New module.
11584 (part_plan): Likewise.
11585 * grub-core/loader/i386/pc/plan9.c: New file.
11586 * grub-core/partmap/plan.c: Likewise.
11587 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11588 define.
11589 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11590 * include/grub/mm.h (grub_extend_alloc): New inline function.
11591
c30be3b6
VS
115922011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 Make Reed-Solomon faster by using power of generator representation of
11595 GF(256)*.
11596
11597 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11598 (gf_double_t): Likewise.
11599 (gf_invert): Removed.
11600 (gf_powx): New array.
11601 (gf_powx_inv): Likewise.
11602 (scratch): Move higher.
11603 (gf_reduce): Removed.
11604 (gf_mul): Use powx.
11605 (gf_invert): Likewise.
11606 (init_inverts): Replaced with ...
11607 (init_powx): ...this. All users updated.
11608 (pol_evaluate): Replace multiplications with additions.
11609 (rs_encode): Likewise.
11610 (gauss_eliminate): Call gf_invert.
11611 (grub_reed_solomon_add_redundancy): Call init_powx.
11612 (grub_reed_solomon_recover): Call init_powx unconditionally.
11613
fa5aeffc
VS
116142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11617
a346b81c
VS
116182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11621 disk->partiton for safety.
11622
d89ee414
VS
116232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11626 Fix a memory leak.
11627 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11628
91ee7b6d
VS
116292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11632
91e5a33d
VS
116332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11636
9edd7be2
VS
116372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 Fix spaces handling in proc/self/mountinfo.
11640
11641 * util/getroot.c (unescape): New function.
11642 (grub_find_root_device_from_mountinfo): Use unescape.
11643
ba102053
VS
116442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 Support ZFS embedding.
11647
11648 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11649 (grub_zfs_fs): Register grub_zfs_embed.
11650
aa94b870
VS
116512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Fix MIPS compilation.
11654
11655 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11656 * include/grub/offsets.h: Rename decompressor fields from
11657 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11658 * util/grub-mkimage.c (image_targets): Use new names.
11659
5fbdac14
VS
116602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 Defer multiboot device parsing until we're in compressed part.
11663
11664 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11665 bsd_part. setdevice has fallen into disuse.
11666 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11667 (bsd_part): Likewise.
11668 (boot_dev): New variable.
11669 (multiboot_trampoline): Don't parse multiboot device.
11670 Pass multiboot device in %edx.
11671 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11672 grub_boot_device.
11673 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11674 Likewise.
11675 * grub-core/kern/i386/pc/startup.S: Save edx.
11676 (grub_boot_drive): Removed.
11677 (grub_install_dos_part): Likewise.
11678 (grub_install_bsd_part): Likewise.
11679 (grub_boot_device): New variable.
11680 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11681 (grub_install_bsd_part): Likewise.
11682 (grub_boot_drive): Likewise.
11683 (grub_boot_device): New variable.
11684 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11685 Removed.
11686 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11687 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11688 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11689 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11690 * util/grub-install.in: Remove redundant condition.
11691
691cbb58
VS
116922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 Fix bug introduced by previous commit.
11695
11696 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11697
60240b8b
VS
116982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 Use decompressors framework on i386-pc. It increases core size
11701 by 46 bytes but improves compatibility and maintainability.
11702
11703 * grub-core/Makefile.core.def (lzma_decompress): New image.
11704 (kernel): Add i386_pc_ldflags.
11705 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11706 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11707 to real_to_prot, prot_to_real and device info.
11708 * include/grub/offsets.h: Renamed decompressor offsets.
11709 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11710 (image_target_desc): Remove raw_size and rename decompressor fields.
11711 (compress_kernel): Handle lzma.
11712 (generate_image): Handle decompressors on i386-pc.
11713
e9d3421c
VS
117142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * configure.ac: Add -fno-asynchronous-unwind-tables.
11717
2b23074a
VS
117182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 Move assembly code to C by using intwrap. It increases core size
11721 by 88 bytes but improves compatibility and maintainability.
11722
11723 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11724 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11725 ... here. Translated to C.
11726 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11727 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11728 ... here. Translated to C.
11729 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11730 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11731 ... here. Translated to C.
11732 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11733 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11734 ... here. Translated to C.
11735 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11736 * grub-core/term/i386/pc/console.c (grub_console_cls):
11737 ... here. Translated to C.
11738 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11739 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11740 ... here. Translated to C.
11741 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11742 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11743 Translated to C.
11744 * grub-core/term/i386/pc/console.c (int10_9): New function.
11745 (grub_console_putchar): Likewise.
11746 * include/grub/i386/pc/console.h: Removed the not anymore shared
11747 functions.
11748
678f4b67
VS
117492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 Move grub_chainloader_real_boot out of the kernel.
11752
11753 * grub-core/Makefile.am: Remove machine/loader.h.
11754 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11755 Removed.
11756 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11757 variable.
11758 (grub_relocator16_keep_a20_enabled): Likewise.
11759 (grub_relocator16_boot): Fill new variables.
11760 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11761 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11762 relocator.
11763 (grub_chainloader_unload): Likewise.
11764 (grub_chainloader_cmd): Likewise.
11765 * include/grub/i386/pc/loader.h: Removed.
11766 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11767 and esi. All initialisers updated.
11768
4626edf6
VS
117692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
117702011-11-12 Colin Watson <cjwatson@ubuntu.com>
11771
11772 * Makefile.util.def (grub-mount): New util.
11773 * .bzrignore: Add grub-mount.
11774 * configure.ac: Check for fuse and enable grub-mount if available.
11775 * docs/man/grub-mount.h2m: New file.
11776 * util/grub-mount.c: Likewise.
11777
10f0117b
VS
117782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * grub-core/commands/efi/fixvideo.c: Gettextize.
11781 * grub-core/commands/hashsum.c: Likewise.
11782 * grub-core/commands/i386/cmostest.c: Likewise.
11783 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11784 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11785 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11786 * grub-core/commands/lsmmap.c: Likewise.
11787 * grub-core/commands/menuentry.c: Likewise.
11788 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11789 * grub-core/commands/setpci.c: Likewise.
11790 * grub-core/loader/i386/bsd.c: Likewise.
11791 * grub-core/loader/i386/linux.c: Likewise.
11792 * util/getroot.c: Likewise.
11793 * util/grub-editenv.c: Likewise.
11794 * util/grub-fstest.c: Likewise.
11795 * util/grub-mkfont.c: Likewise.
11796 * util/grub-mkimage.c: Likewise.
11797 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11798 * util/grub-pe2elf.c: Likewise.
11799 * util/grub-probe.c: Likewise.
11800 * util/grub-setup.c: Likewise.
11801 * util/ieee1275/ofpath.c: Likewise.
11802 * util/misc.c: Likewise.
11803 * util/raid.c: Likewise.
11804
566f779b
RM
118052011-11-11 Robert Millan <rmh@gnu.org>
11806
11807 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11808 __attribute__((unused)) from `os_dev', which *is* being used.
11809
b50787de
VS
118102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11813 forgotten define.
11814 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11815 GRUB_IA64_DL_GOT_ALIGN.
11816 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11817 GRUB_IA64_DL_TRAMP_ALIGN.
11818
119d11c8
VS
118192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 Replace grub_fatal with normal errors in i386 linux loader.
11822
11823 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11824 (allocate_pages): Check find_efi_mmap_size return value.
11825 (grub_e820_add_region): Return error.
11826 (grub_linux_boot): Check mmap return value.
11827
6e0632e2
VS
118282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/commands/acpihalt.c: Gettextized.
11831 * grub-core/commands/cacheinfo.c: Likewise.
11832 * grub-core/commands/cmp.c: Likewise.
11833 * grub-core/commands/efi/loadbios.c: Likewise.
11834 * grub-core/commands/gptsync.c: Likewise.
11835 * grub-core/commands/ieee1275/suspend.c: Likewise.
11836 * grub-core/commands/legacycfg.c: Likewise.
11837 * grub-core/commands/memrw.c: Likewise.
11838 * grub-core/commands/minicmd.c: Likewise.
11839 * grub-core/commands/parttool.c: Likewise.
11840 * grub-core/commands/time.c: Likewise.
11841 * grub-core/commands/videoinfo.c: Likewise.
11842 * grub-core/disk/geli.c: Likewise.
11843 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11844 * grub-core/disk/luks.c: Likewise.
11845 * grub-core/disk/lvm.c: Likewise.
11846 * grub-core/font/font_cmd.c: Likewise.
11847 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11848 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11849 * grub-core/gfxmenu/view.c: Likewise.
11850 * grub-core/kern/emu/hostdisk.c: Likewise.
11851 * grub-core/kern/emu/main.c: Likewise.
11852 * grub-core/kern/emu/misc.c: Likewise.
11853 * grub-core/kern/emu/mm.c: Likewise.
11854 * grub-core/kern/mips/arc/init.c: Likewise.
11855 * grub-core/kern/mips/loongson/init.c: Likewise.
11856 * grub-core/kern/partition.c: Likewise.
11857 * grub-core/lib/i386/halt.c: Likewise.
11858 * grub-core/lib/mips/arc/reboot.c: Likewise.
11859 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11860 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11861 * grub-core/loader/i386/xnu.c: Likewise.
11862 * grub-core/loader/multiboot.c: Likewise.
11863 * grub-core/net/bootp.c: Likewise.
11864 * grub-core/net/net.c: Likewise.
11865 * grub-core/normal/term.c: Likewise.
11866 * grub-core/partmap/bsdlabel.c: Likewise.
11867 * grub-core/parttool/msdospart.c: Likewise.
11868 * grub-core/term/gfxterm.c: Likewise.
11869 * grub-core/term/terminfo.c: Likewise.
11870 * grub-core/video/i386/pc/vbe.c: Likewise.
11871 * util/grub-menulst2cfg.c: Likewise.
11872 * util/grub-mkdevicemap.c: Likewise.
11873 * util/grub-mklayout.c: Likewise.
11874 * util/grub-mkrelpath.c: Likewise.
11875 * util/grub-script-check.c: Likewise.
11876 * util/ieee1275/grub-ofpathname.c: Likewise.
11877 * util/resolve.c: Likewise.
11878
073aa7a9
VS
118792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Support %1$d syntax.
11882
11883 * tests/printf_unit_test.c: New file.
11884 * Makefile.util.def (printf_test): New test.
11885 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11886
c76b5417
VS
118872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11890 fix.
11891
df067ad1
VS
118922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11895 dprintf.
11896 * grub-core/font/font.c (grub_font_load): Likewise.
11897
5b289bc5
VS
118982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * util/grub-macho2img.c: Add comment concerning gettext.
11901 * grub-core/lib/legacy_parse.c: Likewise.
11902
c1860f87
VS
119032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11906 (grub_xvasprintf): Likewise.
11907
d35d0d37
VS
119082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 Add const keyword to grub_env_get and gettextize week days.
11911
11912 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11913 (grub_read_hook_datetime): Return const char *.
11914 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11915 updated.
11916 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11917 Mark for gettext.
11918 (grub_get_weekday_name): Return const char *. Call gettext.
11919 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11920 char * and len as the argument. All users updated.
11921 (grub_script_argv_split_append): Receive const char *.
11922 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11923 * include/grub/env.h (grub_env_get): Likewise.
11924 (grub_env_read_hook_t): Return const char *.
11925 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11926 (grub_script_argv_split_append): Likewise.
11927
9aed8a71
VS
119282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11931
067fdf00
VS
119322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11935 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11936
a8bd9d39
VS
119372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11940 Fix prototype.
11941
f7ce5baf
VS
119422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Fix mips compilation.
11945
11946 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11947 normal decoder.
11948 (hashes): Use in embed decoder as well (for sizes).
11949 (dec_stream_header): Fix embed decompressor logic.
11950 (dec_stream_footer): Likewise.
11951
9bb182f3
VS
119522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11955 an error and not a fatal on unrecognised relocation types.
11956
63a9e6f6
VS
119572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11960 Issue error rather than printf on unknown arguments.
11961
4c458569
VS
119622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11965 Make buf a const.
11966
e2d22baf
VS
119672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11970 Fix module name.
11971
53dc8590
VS
119722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11975 leftover debug printf.
11976
6c189294
VS
119772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11980
f7688369
VS
119812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11984 A stylistic fix.
11985
11a775a3
VS
119862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11989
33f784e8
SL
119902011-11-10 Shea Levy <slevy@tieronedesign.com>
11991
11992 Allow all modules to perform serial IO
11993
11994 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11995 * include/grub/serial.h (grub_serial_port_configure): New inline
11996 function.
11997 (grub_serial_port_fetch): Likewise.
11998 (grub_serial_port_put): Likewise.
11999 (grub_serial_port_fini): Likewise.
12000 (grub_serial_find): New proto.
12001
f6276525
VS
120022011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 Put symlink at the end of the node and fix a potential
12005 memory corruption.
12006
12007 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12008 Make symlink into an array.
12009 (set_rockridge): Set have_symlink and alloc_dirents.
12010 (grub_iso9660_read_symlink): Use new layout.
12011 (grub_iso9660_iterate_dir): Fix memory corruption.
12012 Use new layout.
12013 (grub_iso9660_dir): Set have_symlink.
12014 (grub_iso9660_open): Likewise.
12015
c3591189
VS
120162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 Remove local keyword.
12019
12020 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12021 (version_test_gt): Likewise.
12022 (version_find_latest): Likewise.
12023 (gettext_printf): Likewise.
12024 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12025
cb544caa
VS
120262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12029
45bd824d
VS
120302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 Fix ZFS memory and resource leaks.
12033
12034 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12035 All users updated.
12036 Free type on exit.
12037 (fill_vdev_info): New parameter inserted. All users updated.
12038 (check_pool_label): Likewise.
12039 (scan_disk): Likewise.
12040 (scan_devices): Close non-inserted disks.
12041 (fzap_iterate): Free l.
12042 (unmount_device): Free children descripto memory.
12043
ad9a2f44
VS
120442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12047 argument (access out of bounds).
12048
6b68db81
VS
120492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12052 >= 6 drives.
12053
28840fda
VS
120542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12057 Fix declaration.
12058
8a5a3a5b
VS
120592011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 Fix several memory leaks.
12062
12063 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12064 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12065 (grub_cpio_dir): Likewise.
12066 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12067 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12068 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12069 (grub_romfs_label): Likewise.
12070 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12071 (squash_unmount): New function.
12072 (grub_squash_dir): Fix memory leak.
12073 (grub_squash_open): Likewise.
12074 (grub_squash_read): Likewise.
12075 (grub_squash_mtime): Likewise.
12076 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12077 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12078 * util/grub-fstest.c (fstest): Likewise.
12079
57b01250
VS
120802011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12083 avoid accessing beyond the array.
12084
19e81ba7
VS
120852011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12088
52b656c0
VS
120892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Several AFFS fixes.
12092
12093 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12094 (GRUB_AFFS_FLAG_FFS): Removed.
12095 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12096 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12097 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12098 (grub_fshelp_node): Make block 32-bit.
12099 Add block_cache and last_block_cache.
12100 (grub_affs_read_block): Fill and use block cache.
12101 (grub_affs_read_file): Removed.
12102 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12103 boot block.
12104 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12105 safety.
12106 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12107 space.
12108 (grub_affs_close): Free block cache.
12109 (grub_affs_read): Use grub_fshelp_read_file directly.
12110
438a746a
VS
121112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12114 with no error set.
12115
49a45021
VS
121162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12119 used variable.
12120 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12121 Likewise.
12122
3ae17eb8
VS
121232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12126
12127 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12128 byteswap when needed.
12129
27610c38
VS
121302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 Fix FreeBSD compilation.
12133
12134 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12135 to avoid circular dependency.
12136 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12137 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12138 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12139
4a19b601
VS
121402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 Fix ZFS crypto error types.
12143
12144 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12145 (grub_gcm_decrypt): Likewise.
12146 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12147 from PBKDF2.
12148
958ee221
VS
121492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 Illumos support.
12152
12153 * Makefile.util.def (10_illumos): New script.
12154 * configure.ac: Set COND_HOST_ILLUMOS.
12155 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12156 Support Illumos calls.
12157 (find_partition_start) [__sun__]: Likewise.
12158 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12159 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12160 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12161 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12162 device.
12163 * util/grub-probe.c (probe) [__sun__]: Do character check.
12164 * util/grub.d/10_illumos.in: New file.
12165
cac14fb6
VS
121662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 Support escaped commas in hostdisk.
12169
12170 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12171 (find_grub_drive): Use unescape_cmp.
12172 (make_device_name): Escape commas.
12173
78e08dc3
VS
121742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12177
9f421dd1
VS
121782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12181 variable.
12182
ed64e9e2
VS
121832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12184
12185 Support trampoline jumps on powerpc.
12186
12187 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12188 __ia64__ path.
12189 (grub_dl_load_segments): Set mod->sz.
12190 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12191 segments.
12192 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12193 (jump): Likewise.
12194 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12195 function.
12196 (trampoline): New struct.
12197 (trampoline_template): New const.
12198 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12199 * include/grub/dl.h (grub_dl): Add sz element.
12200 [__powerpc__]: Follow __ia64__.
12201 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12202 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12203 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12204 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12205
3084ede4
VS
122062011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 ZFS crypto support.
12209
12210 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12211 * grub-core/Makefile.core.def (zfscrypt): New module.
12212 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12213 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12214 it. All users updated.
12215 (grub_zfs_decrypt): New var.
12216 (grub_zfs_load_key): Likewise.
12217 (zio_checksum_functions): Add SHA256+MAC.
12218 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12219 (zio_read): Handle encrypted blocks.
12220 (zap_verify): Remove incorrect check.
12221 (fzap_iterate): Handle non-standard fzap.
12222 (zap_iterate): Likewise.
12223 (zap_iterate_u64): New function.
12224 (dnode_get_fullpath): Load keys.
12225 * grub-core/fs/zfs/zfscrypt.c: New file.
12226 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12227 (grub_crypto_ecb_encrypt): Make input const.
12228 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12229 (grub_crypto_ecb_encrypt): Make input const.
12230 (GRUB_CIPHER_AES): New macro.
12231 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12232 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12233 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12234 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12235 prefix. All users updated.
12236 (grub_zfs_add_key): New proto.
12237 (grub_zfs_decrypt): Likewise.
12238 (grub_zfs_load_key): Likewise.
12239 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12240 * util/grub-fstest.c (options): Add -K option.
12241 (argp_parser): Likewise.
12242
b632b404
VS
122432011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 Support zle compression on ZFS.
12246
12247 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12248 (decomp_table): Add zle.
12249 * include/grub/zfs/zio.h (zio_compress): Add zle.
12250
c7ba4f69
VS
122512011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Support BtrFS embedding.
12254
12255 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12256 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12257 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12258 * util/grub-setup.c (setup): Use fs embedding if available.
12259 Add additional sanity check.
12260
455377d9
VS
122612011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * util/grub-install.in: Fix condition for config_opt.
12264
c2fd16ca
VS
122652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 Support third redundancy strip on raidz3.
12268
12269 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12270 Return error on singularity. All users updated.
12271 (read_device): Don't stop on 3rd failure on raidz3.
12272
8622923b
VS
122732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 Support case-insensitive ZFS subvolumes.
12276
12277 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12278 All users updated.
12279 (zap_hash): Likewise.
12280 (name_cmp): New function.
12281 (zap_leaf_array_equal): New parameter case_insensitive.
12282 All users updated.
12283 (zap_leaf_lookup): Likewise.
12284 (fzap_lookup): Likewise.
12285 (zap_lookup): Likewise.
12286 (dnode_get_path): New parameter case_insensitive. Retrieve case
12287 sensitiviness of a volume. All users updated.
12288 (dnode_get_fullpath): New parameter case_insensitive.
12289 All users updated.
12290 (grub_zfs_dir): Set info.case_insensitiveness.
12291
95f2e860
VS
122922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 Support second redundancy strip on raidz(2,3).
12295
12296 * grub-core/fs/zfs/zfs.c (powx): New array.
12297 (powx_inv): Likewise.
12298 (poly): New const.
12299 (xor_out): New function.
12300 (gf_mul): Likewise.
12301 (recovery): Likewise.
12302 (read_device): Use second redundancy strip.
12303
11ee4389
VS
123042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Use a power of generator representation of GF(256) multiplication group
12307 to save space time and complexity.
12308
12309 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12310 (raid6_table2): Likewise.
12311 (powx): New array.
12312 (powx_inv): Likewise.
12313 (poly): New const.
12314 (grub_raid_block_mul): Replace with ...
12315 (grub_raid_block_mulx): ...this.
12316 (grub_raid6_init_table): Rewritten.
12317 (grub_raid6_recover): Use power of generator representation.
12318
09e2763f
VS
123192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12322 for the right device.
12323
8bec9a28
VS
123242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12327 expected by grub-mkimage and it's more clear since there is no implicit
12328 padding.
12329
dbd3a32e
VS
123302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12333 disk.
12334 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12335
182c872a
PMH
123362011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12337
12338 * util/grub-mkrescue.in: Fix handling xorriso option.
12339
1e51cabd
VS
123402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12343 NULL.
12344
9cc3581d 123452011-11-03 crocket <crockabiscuit@gmail.com>
12346
12347 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12348
158dc1ea
VS
123492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 XZ CRC64 and SHA256 support.
12352
12353 * Makefile.util.def (libgrubmods): Add crc64.c.
12354 * grub-core/Makefile.core.def (crc64): New module.
12355 * grub-core/lib/crc64.c: New file.
12356 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12357 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12358 Fix the type.
12359 (MAX_HASH_SIZE): New define.
12360 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12361 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12362 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12363 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12364 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12365 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12366 Handle non-crc32 hashes.
12367 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12368 (dec_stream_header): Handle non-crc32 hashes.
12369 (dec_stream_footer): Likewise.
12370 (dec_block_header): Likewise.
12371 (dec_main): Likewise.
12372 (xz_dec_init): Likewise.
12373 (xz_dec_reset): Likewise.
12374 (xz_dec_end): Likewise.
12375 * util/import_gcry.py: Add CRC64 line.
12376
9d9b3d2f
VS
123772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12380 as well.
12381
7d0ac931
VS
123822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 Make reiserfs label retrieval similar to other *_label functions.
12385
12386 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12387 (REISERFS_MAX_LABEL_LENGTH): Removed.
12388 (REISERFS_LABEL_OFFSET): Likewise.
12389 (grub_reiserfs_label): Rewritten.
12390
123912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12394 field.
12395
cf5ba824
VS
123962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12399
17744004
VS
124002011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12403 drive failure on both raidz and raidz2.
12404
aca5aefc
VS
124052011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Fix RAIDZ(2) for >= 5 devices.
12408
12409 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12410 asize argument. All users updated.
12411
ce8ca56e
VS
124122011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 Fix RAIDZ(2).
12415
12416 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12417 (fill_vdev_info_real): Set ashift.
12418 (read_device): Rewrite RAIDZ part based on reverse engineering.
12419
7c01e783
VS
124202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12423 don't report potentially unavialiable fields in debug output.
12424 (find_path): Fix double-free and memory leak.
12425
ce109e84
VS
124262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 Read label on UFS1.
12429
12430 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12431 (grub_ufs_fs): Always set .label.
12432
87661123
VS
124332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 Use shifts in UFS.
12436
12437 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12438 (grub_ufs_data): New field log2_blksz.
12439 (grub_ufs_read_file): Use shifts.
12440 (grub_ufs_mount): Check block size and logarithm it.
12441
46bc1dc2
VS
124422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12445 long symlinks.
12446
19ee2987
VS
124472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 Handle symlinks and long names on tar and cpio.
12450
12451 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12452 (ATTR_FILE): Likewise.
12453 (ATTR_DIR): Likewise.
12454 (ATTR_LNK): Likewise.
12455 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12456 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12457 L and K entries.
12458 (grub_cpio_mount): Zero-fill data.
12459 (handle_symlink): New function.
46bc1dc2
VS
12460 (grub_cpio_dir): Handle symlinks.
12461 (grub_cpio_open): Likewise.
12462 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12463
c83a08d8
VS
124642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 Fix iso9660 filename limitations and fix memory leaks.
12467
12468 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12469 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12470
45cdd3ea
VS
124712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Fix JFS file name length limitations.
12474
12475 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12476 (grub_jfs_diropen): Fix maximum filename length.
12477 (grub_jfs_getent): Fix filename length.
12478 (grub_jfs_lookup_symlink): Fix size checks.
12479
94ef05c2
VS
124802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12483 string.
12484
785ab8c7
VS
124852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12486
eb0b6b45
VS
12487 Leverage BFS implementation to read AFS.
12488
12489 * Makefile.util.def (libgrubmods): Add afs.c.
12490 * grub-core/Makefile.core.def (afs): New module
12491 * grub-core/fs/afs.c: New file.
12492 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12493
124942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12497
c4a1628f
VS
124982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * grub-core/fs/bfs.c: Run indent.
12501
5825b379
VS
125022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 BFS implementation based on the specification.
12505
12506 * grub-core/fs/bfs.c: New file.
12507 * Makefile.util.def (libgrubmods): Add bfs.c.
12508 * grub-core/Makefile.core.def (bfs): New module.
12509
42b2a706
VS
125102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * util/grub-fstest.c (cmd_cp): Clarify error message.
12513 (cmd_cmp): Likewise.
12514
61b99bfc
YB
125152011-10-30 Yves Blusseau <blusseau@zetam.org>
12516
12517 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12518 and befs_be.
12519
faba3d16
VS
125202011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Remove afs and befs because of copyright problem.
12523
12524 * grub-core/fs/afs.c: Removed.
12525 * grub-core/fs/afs_be.c: Removed.
12526 * grub-core/fs/befs.c: Removed.
12527 * grub-core/fs/befs_be.c: Removed.
12528 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12529 * grub-core/Makefile.core.def (afs): Removed.
12530 (afs_be): Likewise.
12531 (befs): Likewise.
12532 (befs_be): Likewise.
12533
c39224b0
VS
125342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 Prefer rockridge over Joliet.
12537
12538 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12539 to ...
12540 (set_rockridge): ... here.
12541 (grub_iso9660_mount): Check rockridge on the primary label when
12542 discovering. Ignore Joliet if Rockridge is present.
12543
e551115a
VS
125442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 Use shifts in nilfs2.
12547
12548 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12549 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12550 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12551 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12552 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12553 (grub_nilfs2_entries_per_block): Replaced with ...
12554 (grub_nilfs2_log_entries_per_block_log): ... this.
12555 (grub_nilfs2_blocks_per_group): Replaced with ...
12556 (grub_nilfs2_blocks_per_group_log): ... this.
12557 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12558 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12559 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12560 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12561 (grub_nilfs2_palloc_entry_offset): Replaced ...
12562 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12563 (grub_nilfs2_dat_translate): Use shifts.
12564 (grub_nilfs2_read_inode): Likewise.
12565 (GRUB_MOD_INIT): Ensure that logs are correct.
12566
564dd58c
VS
125672011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Use shifts in minix filesystem.
12570
12571 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12572 (GRUB_MINIX_ZONE2SECT): Likewise.
12573 (grub_minix_data): Replace block_size with log_block_size.
12574 (grub_minix_read_file): Use shifts.
12575 (grub_minix_mount): Check block size and take a logarithm.
12576
ed9ba06d
VS
125772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Use shifts in squash4.
12580
12581 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12582 (squash_mount): Check block size and take logarithm.
12583 (direct_read): Use shifts.
12584
ad03fe76
VS
125852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 Correct befs block counting logic.
12588
12589 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12590 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12591 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12592 (grub_afs_read_inode): Use block_shift.
12593 (RANGE_SHIFT): New definition.
12594 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12595 unexpected conditions, use shifts and appropriate types.
12596 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12597
6563f63d
VS
125982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * grub-core/disk/raid.c (scan_devices): Check partition.
12601 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12602
5b1ae25f
VS
126032011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Support BFS (befs) UUID.
12606
12607 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12608 (grub_afs_small_data_element_header): New struct.
12609 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12610 (grub_afs_read_attribute) [MODE_BFS]: New function.
12611 (grub_afs_iterate_dir): Allocate for complete inode.
12612 (grub_afs_mount): Likewise.
12613 (grub_afs_uuid) [MODE_BFS]: New function.
12614 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12615
f8d82408
VS
126162011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12619 (zfs_unmount): Fix memory leak.
12620
5773fb64
VS
126212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 Support NTFS reparse points.
12624
12625 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12626 (symlink_descriptor): New struct.
12627 (grub_ntfs_read_symlink): New function.
12628 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12629 (grub_ntfs_open): Likewise.
12630
91c3fdde
VS
126312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12634
3be82e10
VS
126352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 fstest xnu_uuid subcommand.
12638
12639 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12640 grub-core/commands/xnu_uuid.c.
12641 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12642 (fstest): Handle xnu_uuid.
12643 (options): Document xnu_uuid.
12644 (argp_parser): Parse xnu_uuid.
12645
8e32442e
VS
126462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12649 -l argument. Add newline at the end if printing.
12650 (GRUB_MOD_INIT): Document -l.
12651
52a05075
VS
126522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12655
1869edb5
VS
126562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 ZFS multi-device and version 33 support.
12659
12660 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12661 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12662 (grub_zfs_data): Add multidev-ice-related fields.
12663 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12664 (dva_get_offset): Make dva const.
12665 (zfs_fetch_nvlist): New function.
12666 (fill_vdev_info_real): Likewise.
12667 (fill_vdev_info): Likewise.
12668 (check_pool_label): Likewise.
12669 (scan_disk): Likewise.
12670 (scan_devices): Likewise.
12671 (read_device): Likewise.
12672 (read_dva): Likewise.
12673 (zio_read_gang): Use read_dva.
12674 (zio_read_data): Likewise.
12675 (zap_leaf_lookup): Add missing endian conversion.
12676 (zap_verify): Add missing endian conversion. All users updated.
12677 (fzap_lookup): Likewise.
12678 (fzap_iterate): Likewise.
12679 (dnode_get_path): Handle SA bonus.
12680 (nvlist_find_value): Make input const. All users updated.
12681 (unmount_device): New function.
12682 (zfs_unmount): Use unmount_device.
12683 (zfs_mount): Use scan_disk.
12684 (zfs_mtime): New function.
12685 (grub_zfs_open): Handle system attributes.
12686 (fill_fs_info): Likewise.
12687 (grub_zfs_dir): Likewise.
12688 (grub_zfs_fs): Add mtime.
12689 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12690 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12691 (SA_MTIME_OFFSET): Likewise.
12692 (SA_SYMLINK_OFFSET): Likewise.
12693 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12694 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12695 (fstest): Support zfsinfo.
12696 (argp_parser): Likewise.
12697
186b4028
VS
126982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12701 error.
12702
127032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12704
12705 ZFS fixes.
12706
12707 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12708 sharing the same block. Iterate over correct number of indices.
12709 (dnode_get_path): Handle symlinks correctly.
12710
c0584900
VS
127112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12714
67e2bd71
VS
127152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Read label on HFS+.
12718
12719 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12720 (grub_hfsplus_btree_search): Fix types.
12721 (grub_hfsplus_label): Implement.
12722
e9cc6b7b
VS
127232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12726
19832ddb
VS
127272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12730
66b40850
VS
127312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Fix symlink handling on iso9660.
12734
12735 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12736 All users updated.
12737 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12738 (grub_iso9660_read_symlink): Moved most of code ...
12739 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12740
db821363
VS
127412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12744 Use union to avoid breaking strict-aliasing rules.
12745
e1211949
VS
127462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 Support multi-extent iso files.
12749
12750 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12751 Add node.
12752 (grub_fshelp_node): Revamp. All users updated.
12753 (FLAG_*): New enum.
12754 (read_node): New function.
12755 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12756 All users updated.
12757 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12758 (get_node_size): New function.
12759 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12760 entries.
12761 Fix memory leak on . and ..
12762 (grub_iso9660_read): Use read_node.
12763 (grub_iso9660_close): Free node.
12764
d4888031
VS
127652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 Fix tar 4G limit and handle paths containing dot.
12768
12769 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12770 (canonicalize): New function.
12771 (grub_cpio_find_file): Use canonicalize. Store offs in
12772 grub_disk_addr_t.
12773 (grub_cpio_dir): Use grub_disk_addr_t.
12774 (grub_cpio_open): Likewise.
12775
9f12e664
VS
127762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12779
12780 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12781 unused flags.
12782 (grub_squash_inode): Add long_file and block_size.
12783 (grub_squash_cache_inode): New struct.
12784 (grub_squash_dirent): Make types into enum.
12785 (SQUASH_TYPE_LONG_REGULAR): New type.
12786 (grub_squash_frag_desc): Add field size.
12787 (SQUASH_BLOCK_FLAGS): New enum.
12788 (grub_squash_data): Use grub_squash_cache_inode.
12789 (grub_fshelp_node): Make ino_chunk 64-bit.
12790 (read_chunk): Minor argument change. All users updated.
12791 (squash_mount): Use correct le_to_cpu.
12792 (grub_squash_open): Handle LONG_REGULAR.
12793 (direct_read): New function.
12794 (grub_squash_read_data): Handle blocks correctly.
12795
9f326fba
VS
127962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12799
f4d9b64b
VS
128002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12803
5bbd28b8
VS
128042011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Fix 2G limit on ZFS.
12807
12808 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12809 types.
12810 (uberblock_verify): Likewise.
12811 (dmu_read): Likewise.
12812 (grub_zfs_read): Likewise. Remove invalid cast.
12813
68c72069
VS
128142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12817 (grub_jfs_blkno): Fix incorrect shift.
12818 (grub_jfs_read_file): Use more appropriate types.
12819
6e536dc8
VS
128202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 Support triple indirect on minix2 and minix3.
12823
12824 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12825 Declare triple_indir_zone.
12826 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12827 indirect.
12828
e0864e7a
VS
128292011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 Minix FS fixes.
12832
12833 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12834 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12835 Rename ctime to mtime. All users updated.
12836 (grub_minix_get_file_block): Fix types and double indirect computations.
12837
89481cab
VS
128382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12841 if no label is found.
12842 (grub_fat_iterate_dir): Fix file size type.
12843 (grub_fat_iterate_dir): Likewise.
12844
f646e143
VS
128452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12848 save some space.
12849 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12850 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12851
534d769e
VS
128522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12855
e084ba18
VS
128562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * util/import_gcry.py: Accept space between # and include.
12859
3471ecdf
VS
128602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12863
124df5f6
VS
128642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12867
12868 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12869 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12870 yylex_strncpy.
12871 * grub-core/script/yylex.l: Add fine-grained #pragma.
12872
4defb8d5
VS
128732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12876 New inline function.
12877 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12878 Likewise.
12879 (memset) [GRUB_UTIL]: Likewise.
12880 (memcmp) [GRUB_UTIL]: Likewise.
12881
4e94ae65
VS
128822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12885 inline function rather than a define.
12886
18c575e5
VS
128872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * util/grub-setup.c: Add missing include.
12890
f8bc22a8
VS
128912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * util/ieee1275/grub-ofpathname.c: Add missing include.
12894
3ce69fc9
VS
128952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12898 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12899 Likewise.
12900
d1e293bb
VS
129012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12904 grub_memcmp usage.
12905
7a5c54a4
VS
129062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * util/grub-install.in: Add datarootdir as per automake manual
12909 suggestion.
12910 * util/grub-mknetdir.in: Likewise.
12911
129122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12913
12914 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12915 suggestion.
12916 * util/grub.d/10_kfreebsd.in: Likewise.
12917 * util/grub.d/10_linux.in: Likewise.
12918 * util/grub.d/10_netbsd.in: Likewise.
12919 * util/grub.d/10_windows.in: Likewise.
12920 * util/grub.d/20_linux_xen.in: Likewise.
12921
766f7d08
VS
129222011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 Remove redundant grub_kernel_image_size.
12925
12926 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12927 _edata and _start.
12928 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12929 the small code. It moves it only by few bytes but simplifies the code.
12930 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12931 _start.
12932 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12933 (grub_kernel_image_size): Removed.
12934 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12935 (grub_kernel_image_size): Removed.
12936 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12937 compiled with Apple toolchain.
12938 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12939 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12940 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12941 (grub_total_module_size): Likewise.
12942 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12943 Removed.
12944 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12945 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12946 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12947 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12948 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12949 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12950 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12951 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12952 Removed.
12953 (grub_total_module_size): Removed.
12954 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12955 (image_targets): Likewise.
12956 Set .compressed_size to no field on sparc.
12957 (generate_image): Remove kernel_image_size handling.
12958
fcf1d672
SJ
129592011-10-19 Szymon Janc <szymon@janc.net.pl>
12960
12961 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12962 NULL pointer dereference.
12963
de9c615e
VS
129642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12967 done with a dedicated section.
12968
12969 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12970 Ensure the correct position of boot_path.
12971 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12972 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12973 other fields.
12974 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12975 * include/grub/boot.h: Removed. All references removed.
12976 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12977 Removed.
12978 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12979
e55599dc
VS
129802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12983 name.
12984
36dd20ad
VS
129852011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12988
f8f72eb8
VS
129892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12992 Don't add the bogus brackets.
12993
a374751b
VS
129942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 ExFAT support.
12997
12998 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12999 * grub-core/Makefile.core.def (exfat): New module.
13000 * grub-core/fs/exfat.c: New file.
13001 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13002 (GRUB_FAT_ATTR_*): Make into an enum.
13003 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13004 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13005 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13006 (GRUB_FAT_MAXFILE): Removed.
13007 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13008 (grub_current_fat_bpb_t): New type.
13009 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13010 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13011 (grub_fat_dir_node_t): New type.
13012 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13013 (fat_log2) [MODE_EXFAT]: Removed.
13014 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13015 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13016 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13017 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13018 (grub_fat_label) [MODE_EXFAT]: New function.
13019 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13020 reserved_first_sector to 0.
13021
544c2487
VS
130222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 Move grub_reboot out of the kernel.
13025
13026 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13027 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13028 * grub-core/lib/efi/reboot.c: ... here.
13029 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13030 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13031 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13032 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13033 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13034 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13035 * grub-core/lib/ieee1275/reboot.c: ... here.
13036 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13037 * grub-core/lib/mips/arc/reboot.c: ... here.
13038 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13039 * grub-core/lib/mips/loongson/reboot.c: ...here.
13040 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13041 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13042 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13043 * include/grub/i386/reboot.h: New file.
13044 * include/grub/mips/loongson/ec.h: Fix includes.
13045 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13046 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13047 * grub-core/lib/i386/reboot.c: New file.
13048
a97501d2
VS
130492011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 Make grub_prefix into module to fix the arbitrary limit and save
13052 some space.
13053
13054 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13055 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13056 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13057 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13058 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13059 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13060 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13061 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13062 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13063 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13064 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13065 * include/grub/ia64/efi/kernel.h: Removed.
13066 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13067 (grub_prefix): Removed.
13068 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13069 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13070 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13071 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13072 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13073 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13074 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13075 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13076 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13077 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13078 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13079 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13080 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13081 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13082 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13083 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13084 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13085 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13086 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13087 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13088 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13089 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13090 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13091 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13092 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13093 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13094 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13095 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13096 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13097 from module.
13098 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13099 prefix_end.
13100 (image_targets): Likewise.
13101 (generate_image): Put prefix as a module.
13102
39705fad
VS
131032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Replace grub_module_iterate with FOR_MODULES.
13106
13107 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13108 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13109 (grub_efi_modules_addr): ...this.
13110 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13111 (grub_efi_init): Set grub_modbase.
13112 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13113 (grub_modbase): New variable.
13114 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13115 (grub_modbase): New variable.
13116 (grub_machine_init): Set grub_modbase.
13117 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13118 (grub_modbase): New variable.
13119 (grub_machine_init): Set grub_modbase.
13120 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13121 (grub_modbase): New variable.
13122 (grub_machine_init): Set grub_modbase.
13123 * grub-core/kern/main.c (grub_module_iterate): Remove.
13124 (grub_modules_get_end): Use grub_modbase.
13125 (grub_load_modules): Use FOR_MODULES.
13126 (grub_load_config): Likewise.
13127 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13128 (grub_modbase): New variable.
13129 (grub_machine_init): Set grub_modbase.
13130 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13131 (grub_modbase): New variable.
13132 (grub_machine_init): Set grub_modbase.
13133 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13134 Removed.
13135 (grub_modbase): New variable.
13136 (grub_machine_init): Set grub_modbase.
13137 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13138 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13139 (grub_module_iterate): Likewise.
13140 (grub_modbase): New variable declaration.
13141 (FOR_MODULES): New macro.
13142
2afb7f6c
VS
131432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13146 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13147
366e34fa
VS
131482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Fix few obvious type discrepancies.
13151
13152 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13153 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13154 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13155 variable.
13156 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13157 and connected types.
13158 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13159 offset.
13160 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13161 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13162 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13163 and connected types.
13164
177b960e
VS
131652011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 Fix python 3.x incompatibilities.
13168
13169 * gentpl.py: Put brackets around print strings.
13170 * util/import_gcry.py: Open explicitly as utf-8.
13171 Use in instead of has_key.
13172
3b619ae1
VS
131732011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13176 (GRUB_XFS_INO_AGBITS): Make into inline function.
13177 (GRUB_XFS_INO_INOINAG): Likewise.
13178 (GRUB_XFS_INO_AG): Likewise.
13179 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13180 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13181 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13182 (GRUB_XFS_EXTENT_SIZE): Likewise.
13183 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13184 (GRUB_XFS_NEXT_DIRENT): Likewise.
13185 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13186 (grub_xfs_read_file): Fix offset type.
13187
8bcebcb8
RM
131882011-10-15 Robert Millan <rmh@gnu.org>
13189
13190 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13191
0017e5ef
RM
131922011-10-15 Robert Millan <rmh@gnu.org>
13193
13194 Fix build problem on FreeBSD and GNU/kFreeBSD.
13195
13196 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13197
d8919552
VS
131982011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13201
13202 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13203 types.
13204 (grub_hfsplus_btree_recoffset): Likewise.
13205 (grub_hfsplus_btree_recptr): Likewise.
13206 (grub_hfsplus_find_block): Likewise.
13207 (grub_hfsplus_btree_search): Likewise.
13208 (grub_hfsplus_read_block): Likewise.
13209 (grub_hfsplus_read_file): Likewise.
13210 (grub_hfsplus_mount): Likewise.
13211 (grub_hfsplus_btree_iterate_node): Likewise.
13212 (grub_hfsplus_btree_search): Likewise.
13213 (grub_hfsplus_iterate_dir): Likewise.
13214 (grub_hfsplus_read): A small code simplification.
13215
c81296b6
VS
132162011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * grub-core/kern/emu/hostdisk.c
13219 (convert_system_partition_to_system_disk): Don't assume that children
13220 of mapper nodes are mapper nodes.
13221
0eb8ffb1
VS
132222011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13225 * include/grub/misc.h (grub_isxdigit): New function.
13226 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13227 switched to grub_isxdigit.
13228 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13229 number starting with a letter.
13230
a98f4a08
RM
132312011-10-09 Robert Millan <rmh@gnu.org>
13232
13233 LVM support for FreeBSD and GNU/kFreeBSD.
13234
13235 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13236 GNU/kFreeBSD.
13237 (LVM_DEV_MAPPER_STRING): Move from here ...
13238 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13239 * util/getroot.c: Include `<grub/util/lvm.h>'.
13240 (grub_util_get_dev_abstraction): Enable
13241 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13242 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13243 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13244 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13245 support it.
13246 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13247 GNU/kFreeBSD.
13248 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13249 when LVM abstraction is required for ${GRUB_DEVICE}.
13250
050e8e90
SJ
132512011-10-06 Szymon Janc <szymon@janc.net.pl>
13252
13253 Add support for LZO compression in GRUB:
13254 - import of minilzo library,
13255 - LZO decompression for btrfs,
13256 - lzop files decompression.
13257
13258 * grub-core/io/lzopio.c: New file.
13259 * grub-core/lib/adler32.c: Likewise.
13260 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13261 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13262 * grub-core/lib/minilzo/minilzo.c: Likewise.
13263 * grub-core/lib/minilzo/minilzo.h: Likewise.
13264 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13265 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13266 grub-core/lib/minilzo/minilzo.c to common.
13267 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13268 cflags in cppflags.
13269 * grub-core/Makefile.core.def (btrfs): Likewise.
13270 * grub-core/Makefile.core.def (lzopio): New module.
13271 (adler32): Likewise.
13272 * grub-core/fs/btrfs.c: Include minilzo.h.
13273 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13274 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13275 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13276 (grub_btrfs_lzo_decompress): New function.
13277 (grub_btrfs_extent_read): Add support for LZO compression type.
13278 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13279 (GRUB_USHRT_MAX): Likewise.
13280 (GRUB_UINT_MAX): Likewise.
13281 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13282 (UINT_MAX): Likewise.
13283 (CHAR_BIT): Likewise.
13284 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13285 grub-core/lib/posix_wrap/limits.h
13286 (UCHAR_MAX): Likewise.
13287 * include/grub/file.h (grub_file_filter_id): New compression filter
13288 GRUB_FILE_FILTER_LZOPIO.
13289 * include/grub/file.h (grub_file_filter_id): Set
13290 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13291 * include/grub/types.h (grub_get_unaligned16): New function.
13292 (grub_get_unaligned32): Likewise.
13293 (grub_get_unaligned64): Likewise.
13294 * util/import_gcry.py (cryptolist): Add adler32.
13295
0eb8ffb1
VS
132962011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13299 in perspective decreases the complexity of build system and fixes
13300 compilation right now.
13301
ce79cc99 133022011-10-01 Ales Nesrsta <starous@volny.cz>
13303
13304 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13305 (fixed problem related to using UHCI with coreboot).
13306
8667a314
BC
133072011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13308
13309 * gentpl.py: Use Autogen macros so that the output template file
13310 (Makefile.tpl) size is reduced.
13311
fc5efcc0
MK
133122011-09-29 Mads Kiilerich <mads@kiilerich.com>
13313
13314 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13315 extra_dist.
13316
d1ab689d
ML
133172011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13318
13319 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13320 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13321
c05de032
ML
133222011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13323
13324 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13325 _fullpath.
13326
cca7ccd8
ML
133272011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13328
13329 Remove extra declaration of sleep for mingw32.
13330
13331 * util/misc.c (sleep) [__MINGW32__]: Removed.
13332 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13333
e0b0dc83
GS
133342011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13335
13336 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13337 type and packname.
13338 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13339 Resurrected.
13340 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13341 (grub_netbsd_btinfo_bootwedge): New struct.
13342 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13343 New function.
13344 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13345
91a1a164
TH
133462011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13347
13348 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13349 loader.
13350
2ded951e
AB
133512011-09-28 Andreas Born <futur.andy@googlemail.com>
13352
13353 Fix incorrect identifiers in bash-completion.
13354
13355 * util/bash-completion.d/grub-completion.bash.in
13356 (_grub_mkpasswd-pbkdf2): Rename to ...
13357 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13358 (_grub_script-check): Rename to ...
13359 (_grub_script_check): ... this. All users updated.
13360
69915030
VS
133612011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13364 Return 0 if disk isn't biosdisk.
13365
20fd15f9
GS
133662011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13367
13368 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13369 on NetBSD.
13370 * Makefile.util.def (grub-fstest): Likewise.
13371
1a7d7db9
GS
133722011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13373
13374 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13375 Get sector size from disk label.
13376
2221ab6c
CW
133772011-09-05 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13380 */README* as well as README*.
13381 Reported by: Axel Beckert.
13382
ca51c4a0
VS
133832011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13386 case of less than 256 MiB of RAM.
13387
ab80f326
VS
133882011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 * grub-core/commands/wildcard.c (make_regex): Handle @.
13391
4155e697
VS
133922011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13395
ab178c08
SJ
133962011-08-21 Szymon Janc <szymon@janc.net.pl>
13397
13398 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13399 AC_LANG_CONFTEST macros.
13400
7dc3c686
SJ
134012011-08-20 Szymon Janc <szymon@janc.net.pl>
13402
13403 Add grub-fstest option to uncompress data for commands.
13404
13405 * util/grub-fstest.c (uncompress): New var.
13406 (options): New option -u.
13407
fe8d4a7b
SJ
134082011-08-20 Szymon Janc <szymon@janc.net.pl>
13409
13410 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13411 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13412
a5219af1
SJ
134132011-08-20 Szymon Janc <szymon@janc.net.pl>
13414
13415 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13416 file type was not recognized correctly (not gzip or corrupted).
13417
f87abff5
VS
134182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13421 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13422
d94497ea
VS
134232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13426 loongson.
13427 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13428 video_radeon_fuloong2e.
13429 * grub-core/video/radeon_fuloong2e.c: New file.
13430 * include/grub/video.h (grub_video_id_t): Add new ID
13431 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13432
0d1fd011
VS
134332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13436 define.
13437 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13438 that PRID matches the detected subplatform and reset the subplatform
13439 if it doesn't.
13440
84beb0ee
VS
134412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13444
1227c133
VS
134452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 Fix PCI iterating on functions >= 4.
13448
13449 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13450 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13451 Removed.
13452 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13453 (grub_pci_read): Fix bitmask.
13454 (grub_pci_read_word): Likewise.
13455 (grub_pci_read_byte): Likewise.
13456 (grub_pci_write): Likewise.
13457 (grub_pci_write_word): Likewise.
13458 (grub_pci_write_byte): Likewise.
13459
9594c689
VS
134602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13463 can still be specified in TARGET_CFLAGS)
13464
14a2562c
VS
134652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13468
13469 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13470 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13471 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13472 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13473 (FULOONG): Rename to ...
13474 (FULOONG2F): ... this. All users updated.
13475 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13476 (machtype_fuloong2f_str): ... this.
13477 (machtype_fuloong2e_str): New string.
13478 Check for machtype_fuloong2e_str.
13479 * grub-core/loader/mips/linux.c (loongson_machtypes)
13480 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13481 * grub-core/term/serial.c (loongson_defserial)
13482 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13483 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13484 loongson_defserial.
13485 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13486 Rename to ...
13487 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13488 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13489 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13490 to IMAGE_FULOONG2F_FLASH. All users updated.
13491 (image_targets): Rename images.
13492 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13493
b526cbb6
SJ
134942011-08-19 Szymon Janc <szymon@janc.net.pl>
13495
13496 Make enable of disk cache statistics code configurable.
13497
13498 * configure.ac: --enable-cache-stats added.
13499 * config.h.in (DISK_CACHE_STATS): New define.
13500 * grub-core/Makefile.core.def (cacheinfo): New command.
13501 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13502 * grub-core/commands/cacheinfo.c: New file.
13503 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13504 moved to cacheinfo.c.
13505 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13506 debug code.
13507 * include/grub/disk.h: Likewise.
13508
fb739ccd
SJ
135092011-08-19 Szymon Janc <szymon@janc.net.pl>
13510
13511 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13512 * grub-core/Makefile.am: Likewise.
13513
2bba8cfd
VS
135142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13517 non-zero pull.
13518
43526629
VS
135192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13522 All users updated.
13523 (grub_jfs_lookup_symlink): Use correct starting inode.
13524
5c144cc8
VS
135252011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * util/grub-setup.c (main): Add missing gcry initialisation.
13528
b1257f65
VS
135292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 Don't accept text modes on EFI when booting Linux.
13532
13533 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13534 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13535
828bc390
ML
135362011-08-15 Mario Limonciello <mario_limonciello@dell.com>
135372011-08-15 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13540 use of "/path/.." as in grub-install for EFI as well as handling
13541 symlinks correctly.
13542 Fixes Debian bug #637768.
13543
5f60ccac
CW
135442011-08-15 Colin Watson <cjwatson@ubuntu.com>
13545
13546 * util/grub-probe.c: Remove duplicate #include.
13547
6dc212f9
RM
135482011-08-10 Robert Millan <rmh@gnu.org>
13549
13550 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13551
13552 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13553 function.
13554 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13555 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13556
66816d85
RM
135572011-08-03 Robert Millan <rmh@gnu.org>
13558
13559 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13560 la_array as packed.
13561 Reported by: Zachary Bedell
13562
20168fca
CW
135632011-07-26 Colin Watson <cjwatson@ubuntu.com>
13564
13565 * configure.ac: The Loongson port requires grub-mkfont due to its
13566 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13567 be built.
13568
303b6246
CW
135692011-07-26 Colin Watson <cjwatson@ubuntu.com>
13570
13571 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13572 processing arguments (otherwise help2man fails when GRUB has not yet
13573 been installed).
13574
6795300e
VS
135752011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13576
41aa28ea
VS
13577 New script grub-mkstandalone.
13578
13579 * Makefile.util.def (grub-mkstandalone): New script.
13580 * docs/man/grub-mkstandalone.h2m: New file.
13581 * util/grub-mkstandalone.in: Likewise.
13582
135832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 Support ATA disks with 4K sectors.
6795300e
VS
13586
13587 * include/grub/ata.h (grub_ata): New member log_sector_size.
13588 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13589 (grub_ata_identify): Read sector size.
13590 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13591
92227597
VS
135922011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * util/grub-install.in: Don't use uhci outside of x86.
13595
c77069f5
VS
135962011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * util/grub-mkrescue.in: Add missing quotes.
13599
136002011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13601
13602 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13603 dereference.
13604
583168a2
VS
136052011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13608
6be1c01f
VS
136092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * include/grub/video.h: add missing EXPORT_FUND on
13612 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13613
a1167439
VS
136142011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * include/grub/mips/kernel.h: Fix define conflict.
13617
bf66054f
VS
136182011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13621 all four ways.
13622
8fc4fa45
CW
136232011-07-21 Colin Watson <cjwatson@ubuntu.com>
13624
13625 Preferred resolution detection for VBE.
13626
13627 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13628 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13629 the Flat Panel extension, in line with the X.org VESA driver.
13630 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13631 New function.
13632 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13633 (grub_vbe_bios_read_edid): Likewise.
13634 (grub_vbe_get_preferred_mode): Likewise.
13635 (grub_video_vbe_setup): When the mode is "auto", try to get the
13636 preferred mode from VBE, and use the largest mode that is no larger
13637 than the preferred mode (some BIOSes expose a preferred mode that is
13638 not in their mode list!). If this fails, fall back to 640x480 as a
13639 safe conservative choice.
13640 (grub_video_vbe_get_edid): New function.
13641 (grub_video_vbe_adapter): Add get_edid.
13642 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13643 (struct grub_video_adapter): Add get_edid.
13644 (grub_video_edid_checksum): Add prototype.
13645 (grub_video_edid_preferred_mode): Likewise.
13646 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13647 structure.
13648
13649 * grub-core/commands/videoinfo.c (print_edid): New function.
13650 (grub_cmd_videoinfo): Print EDID if available.
13651
13652 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13653 is more appropriate on a wider range of platforms than 640x480.
13654 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13655 documentation.
13656
ca5572a9
VS
136572011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13660
e4bcf625
VS
136612011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * po/POTFILES.in: Regenerate.
13664
c4edd548
VS
136652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13668 incorrect memory usage.
13669
16a2bab0
VS
136702011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * util/grub-install.in: Source grub-mkconfig_lib.
13673
2e418de6
VS
136742011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Remove getroot.c from core on emu platform.
13677
13678 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13679 kern/emu/raid.c.
13680 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13681 useless.
13682 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13683 * util/getroot.c (get_win32_path): ... here.
13684 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13685 * util/getroot.c (fini_libzfs): ... here.
13686 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13687 * util/getroot.c (grub_get_libzfs_handle): ... here.
13688 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13689 Moved from here...
13690 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13691 * grub-core/kern/emu/misc.c
13692 (grub_make_system_path_relative_to_its_root): Moved from here...
13693 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13694 * grub-core/kern/emu/getroot.c: Moved from here ...
13695 * util/getroot.c: ... here. All users updated.
13696 * grub-core/kern/emu/raid.c: Moved from here ...
13697 * util/raid.c: ... here. All users updated.
13698
def9832a
VS
136992011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * po/POTFILES.in: Regenerate.
13702
cd8fe79a
VS
137032011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 Fix compilation on GNU/Linux.
13706
13707 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13708 Disable geli.
13709 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13710 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13711 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13712
a251b719
VS
137132011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
137142011-07-07 Michael Gorven <michael@gorven.za.net>
137152011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13716
13717 LUKS and GELI support.
13718
13719 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13720 grub-core/disk/luks.c, grub-core/disk/geli.c,
13721 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13722 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13723 grub-core/lib/arg.c.
13724 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13725 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13726 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13727 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13728 (grub-bin2h): Add libgcry.a.
13729 (grub-mkimage): Likewise.
13730 (grub-mkrelpath): Likewise.
13731 (grub-script-check): Likewise.
13732 (grub-editenv): Likewise.
13733 (grub-mkpasswd-pbkdf2): Likewise.
13734 (grub-pe2elf): Likewise.
13735 (grub-fstest): Likewise.
13736 (grub-mkfont): Likewise.
13737 (grub-mkdevicemap): Likewise.
13738 (grub-probe): Likewise.
13739 (grub-ofpath): Likewise.
13740 (grub-mklayout): Likewise.
13741 (example_unit_test): Likewise.
13742 (grub-menulst2cfg): Likewise.
13743 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13744 * grub-core/Makefile.core.def (cryptodisk): New module.
13745 (luks): Likewise.
13746 (geli): Likewise.
13747 * grub-core/disk/AFSplitter.c: New file.
13748 * grub-core/disk/cryptodisk.c: Likewise.
13749 * grub-core/disk/geli.c: Likewise.
13750 * grub-core/disk/luks.c: Likewise.
13751 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13752 grub_util_is_lvm.
13753 (grub_util_get_dm_abstraction): New function.
13754 (grub_util_follow_gpart_up): Likewise.
13755 (grub_util_get_geom_abstraction): Likewise.
13756 (grub_util_get_dev_abstraction): Use new functions.
13757 (grub_util_pull_device): Pull GELI and LUKS.
13758 (grub_util_get_grub_dev): Handle LUKS and GELI.
13759 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13760 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13761 (follow_geom_up): Removed.
13762 (grub_util_fd_seek): New function.
13763 (open_device): Use grub_util_fd_seek.
13764 (nread): Rename to ..
13765 (grub_util_fd_read): ... this. All users updated.
13766 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13767 (grub_crypto_cbc_decrypt): Likewise.
13768 (grub_crypto_hmac_write): Likewise.
13769 (grub_crypto_hmac_buffer): Likewise.
13770 (grub_password_get): Extend to util.
13771 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13772 New member modname.
13773 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13774 * include/grub/cryptodisk.h: New file.
13775 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13776 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13777 LUKS and GELI.
13778 (grub_util_follow_gpart_up): New proto.
13779 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13780 (grub_util_fd_read): Likewise.
13781 (grub_cryptodisk_cheat_mount): Likewise.
13782 (grub_util_cryptodisk_print_uuid): Likewise.
13783 (grub_util_get_fd_sectors): Likewise.
13784 * util/grub-fstest.c (mount_crypt): New var.
13785 (fstest): Mount crypto if requested.
13786 (options): New option -C.
13787 (argp_parser): Parse -C.
13788 (main): Init and fini gcry.
13789 * util/grub-install.in: Support cryptodisk install.
13790 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13791 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13792 cryptodisk.
13793 (prepare_grub_to_access_device): Likewise.
13794 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13795 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13796 (probe_cryptodisk_uuid): New function.
13797 (probe_abstraction): Likewise.
13798 (probe): Use new functions.
13799 * util/import_gcry.py: Create Makefile.utilgcry.def.
13800 Add modname member.
13801
9bfdcbbc
VS
138022011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Lazy device scanning.
13805
13806 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13807 (grub-setup): Remove util/raid.c.
13808 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13809 * grub-core/disk/lvm.c (scan_depth): New variable.
13810 (grub_lvm_iterate): Rescan if necessary.
13811 (find_lv): New function based on grub_lvm_open.
13812 (grub_lvm_open): Use find_lv. Rescan on error.
13813 (is_node_readable): New function.
13814 (is_lv_readable): Likewise.
13815 (grub_lvm_scan_device): Skip already found disks.
13816 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13817 Stop if searched device is found and readable.
13818 * grub-core/disk/raid.c (inscnt): New variable.
13819 (scan_depth): Likewise.
13820 (scan_devices): New function based on grub_raid_register. Abort if
13821 looked for device is found.
13822 (grub_raid_iterate): Rescan if needed.
13823 (find_array): NEw function based on -grub_raid_open.
13824 (grub_raid_open): Use find_array and rescan.
13825 (insert_array): Set became_readable_at.
13826 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13827 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13828 New function.
13829 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13830 (grub_util_pull_device): New function.
13831 (grub_util_get_grub_dev): Call grub_util_pull_device.
13832 * util/raid.c: Moved to ..
13833 * grub-core/kern/emu/raid.c: ... here.
13834 (grub_util_raid_getmembers): New parameter "bootable".
13835 All users updated. Support 1.x.
13836 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13837 All users updated.
13838 * include/grub/disk.h (grub_disk_pull_t): New enum.
13839 (grub_disk_dev): Change iterate prototype.
13840 All users updated.
13841 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13842 New proto.
13843 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13844 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13845 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13846 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13847 All users updated.
13848 * include/grub/util/raid.h: Removed.
13849
1c358e59
VS
138502011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * po/POTFILES.in: Regenerate.
13853
abee94ed
VS
138542011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 Unify sparc init with other ieee1275.
13857
13858 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13859 instead of kern/sparc64/ieee1275/init.c.
13860 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13861 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13862 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13863 grub/machine/kernel.h.
13864 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13865 (grub_claim_heap) [__sparc__]: Use sparc version.
13866 (grub_machine_init): Moved args parsing to
13867 (grub_parse_cmdline): ...this.
13868 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13869 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13870 New definition.
13871 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13872
13873 Move BOOTP to separate file.
13874
13875 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13876 * grub-core/net/net.c: Move all BOOTP functions to
13877 * grub-core/net/bootp.c: ... here.
13878
13879 Use frame interface on PXE.
13880
13881 * grub-core/Makefile.core.def (pxecmd): Removed.
13882 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13883 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13884 * grub-core/i386/pc/pxe.c: Moved from here ...
13885 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13886 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13887 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13888
13889 EFI network support.
13890
13891 * grub-core/Makefile.core.def (efinet): New module.
13892 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13893 here...
13894 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13895 All users updated.
13896 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13897 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13898 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13899 * grub-core/net/drivers/efi/efinet.c: New file.
13900 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13901 (grub_efi_net_config): New extern var.
13902
13903 Various cleanups and bugfixes.
13904
13905 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13906 error.
13907 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13908 disk declared as partition.
13909 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13910 leak on failure.
13911 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13912 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13913 (grub_debug_zalloc): Likewise.
13914 (grub_debug_realloc): Likewise.
13915 (grub_debug_memalign): Likewise.
13916 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13917 Check that target is IPv4.
13918 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13919 local-mac-address as fallback.
13920 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13921 memory leak.
13922 * grub-core/net/ip.c (ipchksum): Rename to ...
13923 (grub_net_ip_chksum): ... this. All users updated.
13924 (grub_net_recv_ip_packets): Special handling for DHCP.
13925 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13926
13927 Unify prefix handling
13928
13929 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13930 (grub_machine_get_bootlocation): ... this.
13931 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13932 (grub_machine_get_bootlocation): ... this.
13933 (grub_prefix): New variable.
13934 (prefix): Removed.
13935 (root_dev): New variable.
13936 (dir): Likewise.
13937 (main): Use new variables.
13938 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13939 Revamped into ...
13940 (grub_machine_get_bootlocation): ... this.
13941 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13942 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13943 (grub_machine_get_bootlocation): ... this.
13944 (grub_machine_set_prefix): Removed.
13945 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13946 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13947 Revamped into ...
13948 (grub_machine_get_bootlocation): ... this.
13949 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13950 (grub_set_prefix_and_root): ... this. All users updated.
13951 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13952 Revamped into ...
13953 (grub_machine_get_bootlocation): ... this.
13954 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13955 (grub_machine_get_bootlocation): New proto.
13956 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13957
13958 Less intrusive and more reliable seek on network implementation.
13959
13960 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13961 (grub_file_seek): Don't call grub_file_net_seek.
13962 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13963 (grub_net_fs_read_real): .. this.
13964 (grub_net_seek_real): Use net->offset.
13965 (grub_net_fs_read): Seek if necessary.
13966
13967 Unify IEEE1275 netwotk config with the other platforms.
13968
13969 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13970 New variable.
13971 (grub_machine_get_bootlocation): Support network.
13972 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13973 Support type and device parsing.
13974 (grub_ieee1275_get_device_type): New function.
13975 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13976 into ...
13977 (grub_ieee1275_net_config_real): ... this.
13978 (grub_ofnet_probecards): Removed.
13979 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13980 * include/grub/ieee1275/ofnet.h: Removed.
13981 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13982 extern var.
13983 (grub_ieee1275_get_device_type): New function.
13984
13985 Unify network device closing across platforms and make more robust.
13986
13987 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13988 grub_grubnet_fini.
13989 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13990 already.
13991 * grub-core/net/net.c (grub_net_network_level_interface_register):
13992 Update num_ifaces.
13993 (grub_net_card_unregister): Close all interfaces.
13994 (receive_packets): Don't poll if no iterfaces are registered.
13995 Open if necessary.
13996 (grub_net_fini_hw): New function.
13997 (grub_net_restore_hw): Likewise.
13998 (fini_hnd): New variable.
13999 (GRUB_MOD_INIT): Register preboot hook.
14000 (GRUB_MOD_FINI): Run and unregister preboot hook.
14001
14002 Poll network cards when idle.
14003
14004 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14005 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14006 * grub-core/net/net.c (receive_packets): Save last poll time.
14007 (grub_net_poll_cards_idle_real): New function.
14008 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14009 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14010 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14011
14012 Rename ofnet interfaces.
14013
14014 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14015 (grub_ofnet_findcards): Use ofnet_%s names.
14016
14017 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14018
14019 Cleanup socket opening.
14020
14021 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14022 (grub_net_fs_close): Likewise.
14023 (grub_net_fs_read_real): Use eof member.
14024 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14025 (+grub_net_udp_close): New inline function.
14026
14027 * include/grub/net/tftp.h: Moved to the top of ...
14028 * grub-core/net/tftp.c: ... here.
14029 * include/grub/net/ip.h: Moved mostly to the top of ...
14030 * grub-core/net/ip.c: ... here.
14031 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14032 * grub-core/net/ethernet.c: ... here.
14033
14034 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14035
14036 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14037 FS name.
14038
14039 * include/grub/net/ip.h (ipv4_ini): Removed.
14040 (ipv4_fini): Likewise.
14041
14042 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14043 (grub_net_send_ip_packets): Likewise.
14044
cf1337aa
VS
140452011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14048 grub_read_cmos prototype.
14049
93c06ff9
VS
140502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 VGA text support in qemu-mips
14053
14054 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14055 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14056 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14057 text.
14058 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14059 * grub-core/kern/vga_init.c: ... this.
14060 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14061 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14062 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14063 Adjust.
14064 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14065 GRUB_MACHINE_PCI_IO_BASE.
14066
748ccabe
VS
140672011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 MIPS qemu flash support.
14070
14071 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14072 magic.
14073 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14074 (grub_machine_init): Probe memory if its size isn't known.
14075 * util/grub-mkimage.c (image_targets): Add flash targets.
14076 (generate_image): Handle flash targets.
14077
d7345994
VS
140782011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 MIPS qemu at_keyboard support.
14081
14082 * gentpl.py (videoinkernel): Add qemu-mips.
14083 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14084 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14085 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14086 modules.
14087 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14088 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14089 * grub-core/term/serial.c (grub_serial_register)
14090 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14091
a07a81b3
VS
140922011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 CMOS support on sparc.
14095
14096 * gentpl.py (cmos): Add powerpc and sparc.
14097 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14098 powerpc and sparc.
14099 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14100 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14101 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14102 grub_set_datetime_cmos.
14103 * grub-core/lib/ieee1275/cmos.c: New file.
14104 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14105 (find_rtc): Set no_ieee1275_rtc on error.
14106 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14107 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14108 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14109 fail. Move value to argument. All users updated
14110 (grub_cmos_write): Likewise.
14111 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14112 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14113 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14114 grub_get_datetime_cmos and grub_set_datetime_cmos.
14115
77546584
GS
141162011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14117
14118 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14119 sourcing grub-mkconfig_lib.
14120 * util/update-grub_lib.in: Likewise.
14121 * util/grub.d/00_header.in: Likewise.
14122 * util/grub.d/10_hurd.in: Likewise.
14123 * util/grub.d/10_kfreebsd.in: Likewise.
14124 * util/grub.d/10_linux.in: Likewise.
14125 * util/grub.d/10_netbsd.in: Likewise.
14126 * util/grub.d/10_windows.in: Likewise.
14127 * util/grub.d/20_linux_xen.in: Likewise.
14128 * util/grub.d/30_os-prober.in: Likewise.
14129
54894791
CW
141302011-06-28 Colin Watson <cjwatson@ubuntu.com>
14131
14132 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14133 default_bg_color rather than black.
14134 (grub_gfxterm_fullscreen): Likewise.
14135 (grub_gfxterm_background_color_cmd): Save new background color in
14136 default_bg_color.
14137
8d5d8444
VS
141382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14141
5afeb5bd
VS
141422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14145 mismerge.
14146
ba7df45e
VS
141472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 Chainloading on coreboot support.
14150
14151 * grub-core/Makefile.core.def (chain): Add coreboot.
14152 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14153
d0b526b2
VS
141542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14157 if it happens.
14158
5ff1d945
VS
141592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 Implement time command.
14162
14163 * grub-core/Makefile.core.def (time): New module.
14164 * grub-core/commands/time.c: New file.
14165 * grub-core/script/parser.y: Remove "time" keyword.
14166 * grub-core/script/yylex.l: Likewise.
14167
5ebaad7e
VS
141682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14171
bdea3798
VS
141722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14175 when handling leftovers.
14176
b28c5655
VS
141772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14180 so that help2man doesn't fail.
14181
b6f945dc
VS
141822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14185 type in pointers on sparc64.
14186 (get_card_packet): Likewise.
14187
f9b75e8a
CW
141882011-06-27 Colin Watson <cjwatson@ubuntu.com>
14189
14190 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14191 with `*'.
14192 (grub_cmd_videoinfo): Fetch current video mode.
14193
1e3d9b86
VS
141942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14197 because of underlying system restrictions.
14198
efff4b1c
VS
141992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14202 necessary.
14203
9fc9ce37
VS
142042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 Coreboot video support.
14207
14208 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14209 (vbe): Likewise.
14210 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14211 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14212 here ...
14213 * grub-core/kern/i386/int.S: ... here.
14214 * grub-core/video/i386/pc/vbe.c: Updated includes.
14215 * grub-core/video/i386/pc/vga.c: Likewise.
14216 * include/grub/i386/coreboot/memory.h
14217 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14218 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14219 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14220 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14221 Disable interrupts.
14222 * include/grub/i386/pc/vga.h: Removed. All users updated.
14223
41bec7fe
VS
142242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14227 definitions for dprintf.
14228 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14229
ca80309d
VS
142302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14233 prototype.
14234 (get_card_packet): Likewise.
14235
9e322ce8
YB
142362011-06-26 Yves Blusseau <blusseau@zetam.org>
14237
14238 Display the path of the file when file is not found
14239
14240 * grub-core/fs/fat.c: Display the filename when file is not found.
14241 * grub-core/fs/fshelp.c: Likewise.
14242 * grub-core/fs/hfs.c: Likewise.
14243 * grub-core/fs/jfs.c: Likewise.
14244 * grub-core/fs/minix.c: Likewise.
14245 * grub-core/fs/ufs.c: Likewise.
14246 * grub-core/fs/btrfs.c: Likewise.
14247 * grub-core/commands/i386/pc/play.c: Likewise.
14248
cbf597af
SJ
142492011-06-26 Szymon Janc <szymon@janc.net.pl>
14250
14251 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14252 pointer checks before calling grub_free().
14253 * grub-core/commands/wildcard.c (match_devices): Likewise.
14254 * grub-core/commands/wildcard.c (match_files): Likewise.
14255 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14256 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14257 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14258 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14259 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14260 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14261 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14262 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14263 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14264
6295b32f
P
142652011-06-25 Patrick <p55@mailinator.com>
14266
14267 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14268
77c0840b
VS
142692011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14272 (grub_pxe_send): Likewise.
14273 (GRUB_MOD_INIT): Fix types.
14274
40ea05de
SJ
142752011-06-24 Szymon Janc <szymon@janc.net.pl>
14276
14277 * grub-core/io/xzio.c: Fix code style issues
14278
90162423
MRA
142792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
142802011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14281
14282 Network infrastructure.
14283 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14284
14285 * include/grub/net/arp.h: New file.
90162423
MRA
14286 * include/grub/net/device.h: Likewise.
14287 * include/grub/net/ethernet.h: Likewise.
14288 * include/grub/net/ip.h: Likewise.
14289 * include/grub/net/netbuff.h: Likewise.
14290 * include/grub/net/tftp.h: Likewise.
14291 * include/grub/net/udp.h: Likewise.
14292 * include/grub/ieee1275/ofnet.h: Likewise.
14293 * include/grub/emu/export.h: Likewise.
14294 * include/grub/net.h: Likewise.
14295 * grub-core/net/arp.c: Likewise.
14296 * grub-core/net/ethernet.c: Likewise.
14297 * grub-core/net/ip.c: Likewise.
14298 * grub-core/net/udp.c: Likewise.
14299 * grub-core/net/tftp.c: Likewise.
14300 * grub-core/net/netbuff.c: Likewise.
14301 * grub-core/net/net.c: Likewise.
14302 * grub-core/net/drivers/emu/emunet.c: Likewise.
14303 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14304 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14305 export.h.
14306 * grub-core/Makefile.core.def (net): New module.
14307 (tftp): Likewise.
14308 (ofnet): Likewise.
14309 (emunet): Likewise.
14310 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14311 network protocols.
14312 * grub-core/kern/device.c (grub_net_open) : New variable.
14313 (grub_device_open): Handle network device.
14314 (grub_device_close): Likewise.
14315 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14316 (grub_grubnet_fini): Likewise.
14317 (grub_file_seek): Seek in network device.
14318 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14319 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14320 network root.
14321 (grub_machine_fini): Call grub_grubnet_fini.
14322 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14323 network.
14324 (grub_ieee1275_get_aliasdevname): New function.
14325 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14326 Add unofficial Solaris network info.
14327 (grub_multiboot_make_mbi): Likewise.
14328 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14329 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14330 * include/grub/device.h (grub_fs): Removed.
14331 * include/grub/err.h (grub_err_t): Add network-related values.
14332 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14333 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14334 (grub_ieee1275_get_aliasdevname): New proto.
14335 * include/grub/net.h: Rewritten.
423a1849 14336
031f22a0
VS
143372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14340 names.
14341
4388ca72
VS
143422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14345 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14346 it truncates the output.
14347 Reported by: Ximin Luo.
14348
98e2f506
VS
143492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14352
2a5e94d8
VS
143532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14356 partmap before abstraction.
14357
535c1910
AK
143582011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14359
14360 * util/grub-mkconfig_lib.in: Add missing quotes.
14361
bc09e1a2
VS
143622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14365 old method if mountinfo would return /dev/root and /dev/root doesn't
14366 exist.
14367
290766fb
VS
143682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 ZFS zlib support
14371
14372 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14373 (decomp_table): Add zlib entries.
14374 (zio_read): USe 8 bits for compression function rather than 3.
14375 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14376
143772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/disk/ahci.c: Add missing license statements.
14380 * grub-core/fs/romfs.c: Likewise.
14381 * grub-core/lib/ia64/setjmp.S: Likewise.
14382 * grub-core/loader/i386/pc/freedos.c: Likewise.
14383 * grub-core/loader/ia64/efi/linux.c: Likewise.
14384 * grub-core/video/colors.c: Likewise.
14385 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14386
5ab3f48a
VS
143872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 AHCI support.
14390
14391 * grub-core/Makefile.core.def (ata_pthru): Removed.
14392 (ahci): New module.
14393 (pata): Likewise.
14394 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14395 on unload.
14396 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14397 readwrite.
14398 (grub_hdparm_do_check_powermode_cmd): Likewise.
14399 (grub_hdparm_do_smart_cmd): Likewise.
14400 (grub_hdparm_set_val_cmd): Likewise.
14401 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14402 * grub-core/disk/ahci.c: New file.
14403 * grub-core/disk/ata.c: Factor out the low-level part into ...
14404 * grub-core/disk/pata.c: ... here.
14405 * grub-core/disk/ata_pthru.c: Contents moved to ...
14406 * grub-core/disk/pata.c: ... here.
14407 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14408 (grub_scsi_iterate): Use grub_scsi_names.
14409 (grub_scsi_open): Likewise.
14410 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14411 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14412 (grub_ata_regs_t): New struct.
14413 (grub_disk_ata_pass_through_parms): Likewise.
14414 (grub_ata_device): Renamed to ...
14415 (grub_ata): ... this.
14416 (grub_ata_dev): New struct.
14417 Removed all low-level inline functions.
14418 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14419 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14420 iterate hooks and open. All users updated.
14421 * util/grub-install.in: Handle AHCI disk module.
14422
c31dc5f5
SJ
144232011-06-23 Szymon Janc <szymon@janc.net.pl>
14424
14425 Add support for DRI and RSTn markers in JPEG files.
14426
14427 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14428 (JPEG_MARKER_RST0): Likewise.
14429 (JPEG_MARKER_RST1): Likewise.
14430 (JPEG_MARKER_RST2): Likewise.
14431 (JPEG_MARKER_RST3): Likewise.
14432 (JPEG_MARKER_RST4): Likewise.
14433 (JPEG_MARKER_RST5): Likewise.
14434 (JPEG_MARKER_RST6): Likewise.
14435 (JPEG_MARKER_RST7): Likewise.
14436 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14437 (grub_jpeg_decode_dri): New function.
14438 (grub_jpeg_decode_sos): Move image data related part into
14439 grub_jpeg_decode_data function.
14440 (grub_jpeg_decode_data): New function.
14441 (grub_jpeg_reset): New function.
14442 (grub_jpeg_decode_jpeg): Handle new markers.
14443
fe12fd5b
VS
144442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * util/ieee1275/ofpath.c (check_sas): Close fd.
14447 (main): Free of_path.
14448 Reported by: David Volgyes <dvolgyes>.
14449
03147f46
VS
144502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14453 Reported by: David Volgyes <dvolgyes>.
14454
cad3237f
VS
144552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14458 file after stat.
14459 Reported by: David Volgyes <dvolgyes>.
14460
13548d26
VS
144612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14464
14465 Reported by: David Volgyes <dvolgyes>.
14466
e061a1b5
VS
144672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14470 Prevent memory leak.
14471
1abe47dc
VS
144722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14475 (main): Close file.
e061a1b5 14476 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14477
fbc62666
VS
144782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14481 to continue if allocation is failed.
14482
14483 Reported by: David Volgyes <dvolgyes>.
14484
e98c83e9
DV
144852011-06-23 David Volgyes <dvolgyes>
14486
14487 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14488 dereference.
14489
a199a8cd
VS
144902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 Fix spurious warning.
14493
14494 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14495 (acorn_partition_map_find): Use .bin member.
14496
e2d1dba0
VS
144972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14500 /dev/root as a valid device.
14501
8a5d6919
JM
145022011-06-23 Jim Meyering <meyering@redhat.com>
14503
e2d1dba0
VS
14504 Avoid NULL deref in grub_device_open.
14505
8a5d6919
JM
14506 * grub-core/kern/device.c (grub_device_open): Don't dereference
14507 a NULL pointer upon failed grub_env_get.
14508
f7db6f4a
VS
145092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 Support non-512B sectors and agglomerate reads.
14512
14513 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14514 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14515 (disk_io_guid): Removed.
14516 (make_devices): Locate solely by BlockIO.
14517 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14518 (grub_efidisk_read): Use read_blocks.
14519 (grub_efidisk_write): Use write_blocks.
14520 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14521 log_sector_size.
14522 (get_safe_sectors): Handle non-512B sectors.
14523 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14524 sectors.
14525 (grub_biosdisk_write): Handle non-512B sectors.
14526 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14527 (grub_scsi_read): Remove special non-512B block handling (now handled
14528 one level up).
14529 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14530 and do sanity checks.
14531 (grub_disk_adjust_range): Handle non-512B sectors.
14532 (transform_sector): New function.
14533 (grub_disk_read_small): Likewise.
14534 (grub_disk_read): Rewritten.
14535 (grub_disk_write): Handle non-512B sectors.
14536 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14537 log_sector_size.
14538 (open_device): Use log_sector_size.
14539 (grub_util_biosdisk_read): Likewise.
14540 (grub_util_biosdisk_write): Likewise.
14541 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14542 non-512B sectors.
14543 (pc_partition_map_embed): Likewise.
14544 * include/grub/disk.h (grub_disk): New field log_sector_size.
14545 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14546 (GRUB_DISK_CACHE_BITS): Increased to 6.
14547 * util/grub-fstest.c (fstest): New command testload.
14548 (argp_parser): Likewise.
14549
881ac815
RM
145502011-06-16 Robert Millan <rmh@gnu.org>
14551
14552 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14553 `ata' driver on kernel of FreeBSD 9.
14554
14555 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14556 (get_ataraid_disk_name): New functions.
14557 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14558 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14559 get_ataraid_disk_name() and get_ada_disk_name().
14560
1e9aef7d
CW
145612011-06-13 Colin Watson <cjwatson@ubuntu.com>
14562
14563 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14564 input format.
14565
351c7c8a
CW
145662011-05-29 Colin Watson <cjwatson@ubuntu.com>
14567
14568 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14569 `ftp.gnu.org' for `alpha.gnu.org'.
14570
6b4e6430
CW
145712011-05-27 Colin Watson <cjwatson@ubuntu.com>
14572
14573 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14574 partitions under /dev/disk/by-id/.
14575
c64db050
CW
145762011-05-27 Colin Watson <cjwatson@ubuntu.com>
14577
14578 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14579 after ten consecutive open failures. Scanning all the way up to
14580 10000 is excessive and can cause serious performance problems in
14581 some configurations.
14582 Fixes Ubuntu bug #787461.
14583
245f4aba
VS
145842011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14587 opening new one.
14588
f767c929
VS
145892011-05-21 Colin Watson <cjwatson@ubuntu.com>
145902011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 Don't stat devices unless we have to.
14593
14594 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14595 dir == /dev/mapper.
14596 (grub_guess_root_device): Use already known os_dev if possible.
14597 * grub-core/kern/emu/hostdisk.c
14598 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14599 if device is known to be a dm one.
14600
f35fa3a6
CW
146012011-05-20 Colin Watson <cjwatson@ubuntu.com>
14602
14603 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14604 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14605 Reported by: Pawel Tecza.
14606
9a79fcf2
VS
146072011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14610 (lsefisystab): Likewise.
14611 (lssal): Likewise.
14612 (lsefimmap): Likewise.
14613 (hdparm): Enable on qemu-mips.
14614 (setjmp): Add ia64 nodist.
14615 (serial): Simplify tags.
14616
63e3eea9
CW
146172011-05-18 Colin Watson <cjwatson@ubuntu.com>
14618
14619 * Makefile.util.def (grub-ofpathname): Install manual page.
14620
09728256
CW
146212011-05-18 Colin Watson <cjwatson@ubuntu.com>
14622
14623 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14624
8b63a142
CW
146252011-05-18 Colin Watson <cjwatson@ubuntu.com>
14626
14627 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14628
e775d8ed
VS
146292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14632 into dprintf.
14633
bf947d36
VS
146342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 Use full 64-bit division.
14637
14638 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14639 (grub_divmod64): ... this.
14640 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14641 version.
14642
b84f26c5
CW
146432011-05-18 Colin Watson <cjwatson@ubuntu.com>
14644
14645 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14646 `source'.
14647
5626056f
CW
146482011-05-18 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14651 to avoid accidents when debugging with 'sh -x'.
14652 * grub-core/gensyminfo.sh.in: Likewise.
14653 * tests/example_scripted_test.in: Likewise.
14654 * tests/grub_cmd_regexp.in: Likewise.
14655 * tests/grub_script_blanklines.in: Likewise.
14656 * tests/grub_script_dollar.in: Likewise.
14657 * tests/grub_script_expansion.in: Likewise.
14658 * tests/grub_script_final_semicolon.in: Likewise.
14659 * tests/partmap_test.in: Likewise.
14660 * tests/util/grub-shell-tester.in: Likewise.
14661 * tests/util/grub-shell.in: Likewise.
14662
e2965f4a
CW
146632011-05-18 Colin Watson <cjwatson@ubuntu.com>
14664
14665 Move gfxmenu color handling to video, so that gfxterm can use it
14666 too.
14667
14668 * grub-core/gfxmenu/named_colors.c: Move to ...
14669 * grub-core/video/colors.c: ... here. Rename
14670 grub_gui_get_named_color to grub_video_get_named_color.
14671 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14672 * grub-core/video/colors.c (my_isxdigit): ... here.
14673 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14674 Move to ...
14675 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14676 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14677 to ...
14678 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14679
14680 * include/grub/gui.h (grub_gui_color_t): Move to ...
14681 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14682 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14683 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14684 * include/grub/gui.h (grub_gui_map_color): Move to ...
14685 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14686 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14687 to ...
14688 * include/grub/video.h (grub_video_get_named_color): ... here.
14689 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14690 * include/grub/video.h (grub_video_parse_color): ... here.
14691
14692 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14693 video/colors.c.
14694 (gfxmenu): Remove gfxmenu/named_colors.c.
14695 (video) [videomodules]: Add video/colors.c.
14696
14697 Add a background_color command.
14698
14699 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14700 function.
14701 (GRUB_MOD_INIT): Register background_color command.
14702 (GRUB_MOD_FINI): Unregister background_color command.
14703 (redraw_screen_rect): Allow blend/replace of text layer to be
14704 controlled independently from whether there is a background bitmap.
14705 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14706 changing bitmap.
14707
1e4b4390
VS
147082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14709
26618ff0
VS
14710 Patch BPB in ntldr and chainloader --bpb.
14711
1e4b4390
VS
14712 * grub-core/fs/fat.c: Include grub/fat.h.
14713 (grub_fat_bpb): Moved to ...
14714 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14715 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14716 grub/ntfs.h.
14717 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14718 Moved from here...
14719 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14720 here.
14721 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14722 New function.
14723 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14724 (GRUB_MOD_INIT): Show --bpb.
14725 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14726 * grub-core/normal/main.c (features): New variable.
14727 (GRUB_MOD_INIT): Set feature_* variables.
14728 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14729 proto.
14730 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14731
cf02731e
VS
147322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14735 for cleanness.
14736
e3a1073f
VS
147372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 FreeDOS direct loading support.
14740
14741 * docs/grub.texi (Supported OS): Add FreeDOS.
14742 * grub-core/Makefile.core.def (freedos): New module.
14743 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14744 variable.
14745 (grub_relocator16_boot): Handle %ebx.
14746 * grub-core/lib/i386/relocator16.S: Likewise.
14747 * grub-core/loader/i386/pc/freedos.c: New file.
14748
05caa461
VS
147492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 Long Linux command line support.
14752
14753 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14754 (maximal_cmdline_size): New variable.
14755 (allocate_pages): Use maximal_cmdline_size.
14756 (grub_cmd_linux): Set and use maximal_cmdline_size.
14757 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14758 (allocate_pages): Use maximal_cmdline_size.
14759 (grub_cmd_linux): Set and use maximal_cmdline_size.
14760 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14761 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14762 and cmdline_size.
14763
a2491e23
VS
147642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
147652011-05-18 Colin Watson <cjwatson@ubuntu.com>
14766
14767 Improve devmapper support
14768
14769 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14770 (grub_util_is_lvm): New function.
14771 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14772 than lvm if not dmraid.
14773 Handle mapped md nodes.
14774 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14775 (grub_util_device_is_mapped): ... this. Make always available. All users
14776 updated.
14777 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14778 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14779 dmraid nodes.
14780 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14781
6ad6223e
VS
147822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14785
14786 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14787 * grub-core/modinfo.sh.in: New file.
14788 * grub-core/Makefile.core.def (modinfo.sh): New script.
14789 * util/grub-mknetdir.in: Use modinfo.sh.
14790 * util/grub-mkrescue.in: Likewise.
14791
543a8f6e
VS
147922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14795 Fix potential usage of Elf32 instead of Elf64 when compiling on
14796 32-bit architecture. Add endianness macros while on it.
14797
4959e111
VS
147982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 Use mipsel- rather than mips- in directories involving mipsel ports to
14801 allow both endiannesses coexist.
14802
14803 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14804 mips. All conditions adjusted.
14805 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14806 variable.
14807 * util/grub-install.in: Adjust conditions to take renaming into account.
14808 * util/grub-mkimage.c (image_targets): Likewise. New target
14809 mips-qemu_mips-elf for bigendian mips.
14810
35341bbc
VS
148112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 Avoid unnecessary copying on MIPS.
14814
14815 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14816 early if src == dest.
14817 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14818 compression is none.
14819
b772baed
VS
148202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Reduce memory footprint on SGI by putting modules before the kernel
14823 as opposed to after.
14824
14825 * grub-core/Makefile.core.def (kernel): Increase linking address.
14826 (none_decompress): Likewise.
14827 (xz_decompress): Likewise.
14828 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14829 address.
14830 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14831 layout change.
14832 (grub_arch_modules_addr): New function.
14833 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14834 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14835 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14836 here.
14837 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14838 (grub_total_modules_size): ... this. Make global.
14839 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14840 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14841 New definition.
14842 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14843 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14844 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14845 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14846 * util/grub-mkimage.c (image_target_desc): New flag
14847 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14848 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14849 (generate_image): Handle images with modules before kernel.
14850
566a1917
VS
148512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 Prevent potential loss of memory map by overwrite on qemu-mips.
14854
14855 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14856 Save ram size in $s4.
14857 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14858 All users changed to grub_arch_memsize.
14859 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14860 Loongson.
14861 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14862 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14863 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14864 external variable.
14865
5d420cd9
CW
148662011-05-17 Colin Watson <cjwatson@ubuntu.com>
14867
14868 * .bzrignore: Remove grub-dumpbios.
14869
d064b830
CW
148702011-05-17 Colin Watson <cjwatson@ubuntu.com>
14871
14872 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14873 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14874 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14875 existing options which append).
14876 * docs/grub.texi (Simple configuration): Document new options.
14877 Reported by: Ian Jackson. Fixes Debian bug #617538.
14878
3ca2b466
CW
148792011-05-17 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * util/grub-fstest.c (cmd_cat): New function.
14882 (fstest): Handle CMD_CAT.
14883 (options): Add cat.
14884 (argp_parser): Handle cat.
14885
24c9143a
CW
148862011-05-17 Colin Watson <cjwatson@ubuntu.com>
14887
14888 * Makefile.util.def (grub-bin2h): Don't install.
14889 * docs/man/grub-bin2h.h2m: Remove.
14890
90f7ac19
VS
148912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14894 place.
14895
8d4a5178
VS
148962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 Reenable qemu-mips port.
14899
14900 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14901 Fix small arc bug while on it.
14902 * gentpl.py: Handle qemu_mips.
14903 * grub-core/Makefile.am: Likewise.
14904 * grub-core/Makefile.core.def: Likewise.
14905 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14906 inappropriate includes.
14907 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14908 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14909 * grub-core/kern/main.c (grub_modules_get_end)
14910 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14911 * grub-core/kern/mips/qemu-mips: Moved to ..
14912 * grub-core/kern/mips/qemu_mips: ... this.
14913 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14914 (grub_machine_init): Call terminfo_init and serial_init.
14915 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14916 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14917 New variable.
14918 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14919 parameter passing.
14920 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14921 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14922 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14923 * include/grub/mips/qemu_mips/cmos.h: New file.
14924 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14925 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14926 Removed.
14927 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14928 Use correct mips-style address.
14929 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14930 (GRUB_TICKS_PER_SECOND): Removed.
14931 (grub_get_rtc): Likewise.
14932 (grub_cpu_idle): Likewise.
14933 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14934 New definition.
14935 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14936 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14937 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14938 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14939 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14940 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14941 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14942 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14943
400b9371
VS
149442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 SGI ARCS port.
14947
14948 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14949 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14950 platforms.
14951 * configure.ac: New target mips-arc.
14952 * gentpl.py: Likewise.
14953 * grub-core/Makefile.am: Likewise.
14954 * grub-core/Makefile.core.def: Likewise.
14955 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14956 (none_decompress): Likewise.
14957 (lsdev): New module.
14958 (datetime): Use lib/arc/datetime.c on ARC.
14959 (part_dvh): New module.
14960 * grub-core/commands/arc/lsdev.c: New file.
14961 * grub-core/disk/arc/arcdisk.c: Likewise.
14962 * grub-core/kern/mips/arc/init.c: Likewise.
14963 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14964 aligned addresses.
14965 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14966 support.
14967 (grub_arch_dl_relocate_symbols): Likewise.
14968 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14969 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14970 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14971 platforms.
14972 * grub-core/lib/arc/datetime.c: New file.
14973 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14974 pci.h on non-loongson.
14975 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14976 (grub_linux_boot): Set unused registers to 0.
14977 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14978 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14979 * grub-core/mmap/mips/uppermem.c: ...here.
14980 * grub-core/partmap/dvh.c: New file.
14981 * grub-core/term/arc/console.c: Likewise.
14982 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14983 (grub_terminfo_set_current): Add terminal "arc".
14984 (grub_terminfo_readkey): Support ARC sequences.
14985 * include/grub/arc/arc.h: New file.
14986 * include/grub/arc/console.h: Likewise.
14987 * include/grub/disk.h (grub_disk_dev_id): Add
14988 GRUB_DISK_DEVICE_ARCDISK_ID.
14989 * include/grub/mips/arc/kernel.h: New file.
14990 * include/grub/mips/arc/memory.h: Likewise.
14991 * include/grub/mips/arc/time.h: Likewise.
14992 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14993 * include/grub/mips/kernel.h (grub_halt): ... here.
14994 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14995 here...
14996 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14997 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14998 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14999 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15000 proto.
15001 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15002 from here ...
15003 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15004 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15005 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15006 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15007 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15008 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15009 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15010 (grub_phys_addr_t): Moved from here ...
15011 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15012 (grub_vtop): Moved from here ...
15013 * include/grub/mips/memory.h (grub_vtop): ... here.
15014 (grub_map_memory): Moved from here ...
15015 * include/grub/mips/memory.h (grub_map_memory): ... here.
15016 (grub_unmap_memory): Moved from here ...
15017 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15018 (grub_machine_mmap_iterate): Moved from here ...
15019 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15020 (grub_mmap_get_lower): Moved from here ...
15021 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15022 (grub_mmap_get_upper): Moved from here ...
15023 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15024 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15025 here ...
15026 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15027 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15028 here ...
15029 * include/grub/mips/time.h (grub_get_rtc): ... here.
15030 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15031 here ...
15032 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15033 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15034 here ...
15035 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15036 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15037 definition.
15038 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15039 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15040 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15041 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15042 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15043 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15044 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15045 (GRUB_MACHINE_LINK_ADDR): Likewise.
15046 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15047 to 6.
15048 * util/grub-install.in: Run dvhtool on ARC.
15049 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15050 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15051
c8ecc840
VS
150522011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15055 blocks.
15056
153a4b55
VS
150572011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15060 after enabling port.
15061
ff44d107
VS
150622011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 Skip incorrect USB devices.
15065
15066 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15067 configcnt == 0.
15068 * include/grub/usb.h (grub_usb_err_t): New enum value
15069 GRUB_USB_ERR_BADDEVICE.
15070
638dbe4f
VS
150712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 Fuloong video init support.
15074
15075 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15076 well.
15077 (grub_vga_read_arx): New function.
15078 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15079 definition.
15080 (framebuffer): New members io, mmioptr and mmiobase.
15081 (read_sis_cmd): New function.
15082 (write_sis_cmd): Likewise.
15083 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15084 rather than 640x400.
15085 * grub-core/video/sis315_init.c: New file.
15086
c3fc520c
VS
150872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15090 non-loongson.
15091 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15092 to grub_dl_register_symbol.
15093
67b1e5c9
VS
150942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 Fix compilation errors.
15097
15098 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15099 potentially unused.
15100 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15101 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15102 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15103 to loongson machines.
15104
b756f75f
VS
151052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 Several FS mtime support.
15108
15109 * grub-core/fs/affs.c (grub_affs_time): New struct.
15110 (grub_affs_file): New field mtime.
15111 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15112 type. Removed 'size'. New field 'di'. All users updated.
15113 (grub_affs_mount): Simplify checsum checking.
15114 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15115 (grub_affs_dir): Handle mtime.
15116 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15117 (grub_cpio_dir): Likewise.
15118 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15119 (grub_hfs_filerec): New field mtime.
15120 (grub_hfs_dir): Handle mtime.
15121 (grub_hfs_mtime): New function.
15122 (grub_hfs_fs): Register grub_hfs_mtime.
15123 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15124 (grub_iso9660_dir): New field mtime.
15125 (grub_fshelp_node): New field dirent.
15126 (iso9660_to_unixtime): New function.
15127 (iso9660_to_unixtime2): Likewise.
15128 (grub_iso9660_read_symlink): Use node->dirent.
15129 (grub_iso9660_iterate_dir): Likewise.
15130 (grub_iso9660_dir): Set mtime.
15131 (grub_iso9660_mtime): New function.
15132 (grub_iso9660_fs): Register grub_iso9660_mtime.
15133 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15134 (grub_jfs_inode): New fields atime, ctime and mtime.
15135 (grub_jfs_dir): Set mtime.
15136 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15137 * grub-core/fs/ntfs.c (list_file): Set mtime.
15138 (grub_ntfs_dir): Likewise.
15139 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15140 (grub_reiserfs_iterate_dir): Set mtime.
15141 (grub_reiserfs_dir): Likewise.
15142 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15143 (grub_fshelp_node): Likewise.
15144 (grub_sfs_iterate_dir): Set mtime.
15145 (grub_sfs_dir): Likewise.
15146 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15147 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15148 (grub_xfs_inode): New fields atime, mtime, ctime.
15149 (grub_xfs_dir): Set mtime.
15150 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15151 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15152 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15153
15154 Support UDF symlinks.
15155
15156 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15157 (grub_ufs_read_symlink): New function. All users updated.
15158
15159 Check amiga partmap checksum.
15160
15161 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15162 (grub_amiga_partition): Likewise.
15163 (amiga_partition_map_checksum): New function.
15164 (amiga_partition_map_iterate): Check checksum.
15165
5470225d
VS
151662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15167
15168 ROMFS support.
15169
15170 * Makefile.util.def (libgrubmods.a): Add romfs.
15171 * grub-core/Makefile.core.def (romfs): New module.
15172 * grub-core/fs/romfs.c: New file.
15173
d4680a35
VS
151742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 Squashfs v4 support.
15177
15178 * Makefile.util.def (libgrubmods.a): Add squash4.
15179 * grub-core/Makefile.core.def (squash4): New module.
15180 * grub-core/fs/squash4.c: New file.
15181 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15182 disk_input_start, disk_input.
15183 (get_byte): Handle disk_input.
15184 (grub_zlib_disk_read): New function.
15185 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15186
bcb18e74
FZ
151872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
151882011-05-15 Feiran Zheng <famcool@gmail.com>
15189
15190 * Makefile.util.def (libgrubmods.a): Add minix3.
15191 * grub-core/Makefile.core.def (minix3): New module.
15192 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15193 (GRUB_MINIX_BSIZE): Removed.
15194 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15195 (grub_minix_ino_t): New type.
15196 (grub_minix_le_to_cpu_ino): New macro.
15197 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15198 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15199 (grub_minix_data): New field block_size.
15200 (grub_minix_read_file): Handle 64-bit correctly.
15201 * grub-core/fs/minix3.c: New file.
15202
32297d5f
TG
152032011-05-15 Tristan Gingold <gingold@free.fr>
152042011-05-15 Robert Millan <rmh.grub@aybabtu.com>
152052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 IA64 support.
15208
15209 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15210 * configure.ac: Add ia64-efi target.
15211 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15212 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15213 * gentpl.py: Add ia64_efi platform.
15214 Rename x86_efi to efi and Add ia64-efi. All users updated.
15215 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15216 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15217 Remove kern/generic/rtc_get_time_ms.c on EFI.
15218 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15219 kern/ia64/dl_helper.c on ia64-efi.
15220 Add kern/emu/cache.c on emu.
15221 (linux): Use on loader/ia64/efi/linux.c on ia64.
15222 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15223 whether symbol is a function.
15224 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15225 (grub_symbol): New field 'isfunc'.
15226 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15227 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15228 (grub_dl_load_segments): Place all sections into the same region.
15229 [__ia64__]: Create trampolines and got.
15230 [GRUB_MACHINE_EMU]: Call mprotect.
15231 (grub_dl_resolve_symbols): Resolve symbol type as well.
15232 [__ia64__]: Create function descriptors.
15233 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15234 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15235 (grub_get_rtc): New function.
15236 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15237 * grub-core/kern/emu/cache.S: Renamed to ...
15238 * grub-core/kern/emu/cache_s.S: ... this.
15239 [__ia64__]: Add a nop.
15240 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15241 [__ia64__]: New function.
15242 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15243 * grub-core/kern/ia64/dl.c: New file.
15244 * grub-core/kern/ia64/dl_helper.c: Likewise.
15245 * grub-core/kern/ia64/efi/init.c: New file.
15246 * grub-core/kern/ia64/efi/startup.S: Likewise.
15247 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15248 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15249 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15250 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15251 * grub-core/loader/ia64/efi/linux.c: New file.
15252 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15253 (GRUB_MOD_DEP): Likewise.
15254 (grub_dl) [__ia64__]: New fields got and tramp.
15255 (grub_dl): New field 'base'.
15256 (grub_dl_register_symbol): New argument isfunc. All users updated.
15257 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15258 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15259 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15260 (grub_ia64_dl_get_tramp_got_size): New proto.
15261 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15262 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15263 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15264 * include/grub/efi/api.h: Skip call wrappers on ia64.
15265 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15266 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15267 * include/grub/elf.h (ELF_ST_INFO): New definition.
15268 * include/grub/ia64/efi/kernel.h: New file.
15269 * include/grub/ia64/efi/memory.h: Likewise.
15270 * include/grub/ia64/efi/time.h: Likewise.
15271 * include/grub/ia64/kernel.h: Likewise.
15272 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15273 * include/grub/ia64/time.h: New file.
15274 * include/grub/ia64/types.h: Likewise.
15275 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15276 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15277 New protos.
15278 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15279 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15280 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15281 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15282 All users updated.
15283 (EFI64_HEADER_SIZE): New definition. All users updated.
15284 (image_targets): Add ia64-efi.
15285 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15286 jumpers_addr. All users updated.
15287 Create function descriptors.
15288 (count_funcs): New function.
15289 (unaligned_uint32): New struct.
15290 (MASK20): New definition.
15291 (MASK19): Likewise.
15292 (MASKF21): Likewise.
15293 (add_value_to_slot_20b): New function.
15294 (add_value_to_slot_21_real): Likewise.
15295 (add_value_to_slot_21): Likewise.
15296 (ia64_kernel_trampoline): New struct.
15297 (nopm): New variable.
15298 (jump): Likewise.
15299 (make_trampoline): New function.
15300 (relocate_addresses): Handle ia64.
15301 (make_reloc_section): Likewise.
15302 (load_image): Likewise.
15303
983b414d
VS
153042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15307 warning. Move variables before code while on it.
15308
5d063cdc
VS
153092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 Fuloong support.
15312
15313 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15314 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15315 * grub-core/boot/mips/loongson/fuloong.S: New file.
15316 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15317 Explicitly init CS5536.
15318 [FULOONG]: Don't use serial until CS5536 is available.
15319 Set GPIO based on dumps.
15320 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15321 [FULOONG]: Handle GPIO and memory controller differences.
15322 Parse machine type in $a2.
15323 * grub-core/boot/mips/startup_raw.S: Determine and save the
15324 architecture.
15325 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15326 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15327 init on architecture type.
15328 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15329 SIS315E. Don't init at_keyboard on fuloong.
15330 (grub_halt): Support Fuloong.
15331 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15332 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15333 (loongson_machtypes): New array.
15334 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15335 type.
15336 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15337 config. All users updated. Handle CS5536 serial.
15338 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15339 default port on machine type. Register serial as inactive.
15340 * grub-core/video/sis315pro.c: New file.
15341 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15342 definition.
15343 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15344 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15345 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15346 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15347 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15348 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15349 to ...
15350 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15351 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15352 definition.
15353 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15354 (grub_arch_machine): New extern var.
15355 * include/grub/mips/loongson/serial.h
15356 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15357 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15358 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15359 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15360 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15361 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15362 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15363 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15364 * include/grub/term.h (grub_term_register_input_inactive): New inline
15365 function.
15366 (grub_term_register_output_inactive): Likewise.
15367 * include/grub/video.h (grub_video_driver_id): New value
15368 GRUB_VIDEO_DRIVER_SIS315PRO.
15369 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15370 New field "names". All users updated.
15371 New field value IMAGE_FULOONG_FLASH.
15372 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15373
6ada82d1
JU
153742011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15375
15376 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15377 and add some clarification.
15378
90c571a4
VS
153792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15382 platforms if kernel is compressed.
15383
de04eecf
VS
153842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15387 unused modules since currently referrence counter isn't reliable and
15388 there isn't much memory to recover there anyway.
15389
57688121
VS
153902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15393 rather than resetting it to allow modules to reference themselves
15394 in init.
15395
3d2c7e35
VS
153962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15399 counter on dependencies since grub_dl_unref already handles this.
15400
b25db218
VS
154012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15404 on error if not already done.
15405
25a45338
VS
154062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 Fix few potential memory misusage.
15409
15410 * grub-core/font/font.c (load_font_index): Don't free char_index to
15411 avoid double free.
b25db218
VS
15412 (grub_font_load): Zero-fill font at alloc for safety.
15413 Close file on error.
15414 (free_font): Free bmp_idx.
25a45338 15415
0cac83df
VS
154162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * docs/grub.texi (Installation): Fix several outdated claims.
15419
2217a143
VS
154202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Handle module_license on windows.
15423
15424 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15425 sections shifted.
15426 (insert_string): Make argument const char * instead of char *.
15427 (write_section_data): Handle long section names.
15428 Handle module_license.
15429
d4de6b01
VS
154302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15433 handle class-free menuentries.
15434 (grub_normal_add_menu_entry): Add a check to be sure.
15435
4c2a3b43
VS
154362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15439 PgUp and PgDown.
15440
85c6210f
VS
154412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 * configure.ac: Bump version to 1.99.
15444
36084912
VS
154452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 Give ATA device a bit more time on first try in order to allow disks
15448 to spin up.
15449
15450 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15451 if dev->present is 1. Reset dev->present on failure.
15452 (grub_ata_device_initialize): Set dev->present to 1.
15453 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15454 (grub_ata_device): New member 'present'.
15455
bda0e219
VS
154562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * util/grub-mkimage.c (generate_image): Update hash.
15459
19e1c41b
VS
154602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 Flush caches on DMA memory.
15463
15464 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15465 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15466 (grub_dma_free): Likewise.
15467 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15468
91bbcc0c
VS
154692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15472 to avoid asm treating ld and sd as macros.
15473
60ddfad3
VS
154742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15477 decompressor.
15478
a298aa04
VS
154792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15482 grub_decompress_core since later would fail if grub_decompress_core
15483 is too far.
15484
9b44feca
VS
154852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15488 R_MIPS_JALR since it's used by newer compiler.
15489
56dbe7b4
VS
154902011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15493
52856af2
VS
154942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15497 file_path to 0 for surety.
15498 (grub_chainloader_boot): Set exit_data to NULL.
15499 Unset the loader once done.
15500 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15501
9c9bfc6d
VS
155022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15505 unknown key into a dprintf.
15506
dd94a3df
VS
155072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15510 on first non-existant partition.
15511
fa68d99c
VS
155122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15515 openning fails.
15516 Reported by: Mark Korenberg.
15517
157effb7
VS
155182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15521 overflow.
15522
ea75312f
VS
155232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15526 before closing to ensure that it will be readable by grub-setup.
15527
072b5d31
VS
155282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15531 (devpath_1): Use MAKE_PIWG_PATH.
15532 (devpath_2): Likewise.
15533 (devpath_3): Likewise.
15534 (devpath_4): Likewise.
15535 (devpath_5): Likewise.
15536 (devpath_6): Likewise.
15537
15538 The appleldr.mod was checked that to be binary identical to previous
15539 version.
15540
7fae0051
Z
155412011-05-05 Zach <mikezackles>
15542
15543 Support 2010 Macbooks.
15544
15545 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15546 (devs): Add devpath_6.
15547
7c515bee
VS
155482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15551 /dev/random. /dev/urandom is good enough for our purposes (salting).
15552
ed660bd8
VS
155532011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15556
ee5614b7
VS
155572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15560 hexadecimal.
15561
664889a6
VS
155622011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15565 and not 0 on failure.
15566
bd405bbc
CW
155672011-05-03 Colin Watson <cjwatson@ubuntu.com>
15568
15569 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15570 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15571 disk; otherwise grub_fs_probe will not fall back to the next
15572 filesystem.
15573 (grub_pxefs_open): Likewise, for consistency.
15574 Reported and tested by: Ezekiel Grave.
15575
4ebff753
CW
155762011-05-03 Colin Watson <cjwatson@ubuntu.com>
15577
15578 * tests/partmap_test.in: Don't hardcode path to parted.
15579 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15580
8f942553
CW
155812011-05-01 Colin Watson <cjwatson@ubuntu.com>
15582
15583 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15584 of `ls' to find out which devices are available.
15585
3c62402d
VS
155862011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15589 than source address for efi mmap buffer.
15590
723f63f2
VS
155912011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15594 wrong action on non-detecting the magic.
15595
68797f92
VS
155962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15599 already supplied by another part of the module (fixes compilation on
15600 FreeBSD).
15601
6be8715d
VS
156022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15605 match the one used by mdadm.
15606
e91dba5b
CW
156072011-04-21 Colin Watson <cjwatson@ubuntu.com>
15608
15609 * po/README: Add instructions for creating po/LINGUAS.
15610
c85140b3
CW
156112011-04-21 Colin Watson <cjwatson@ubuntu.com>
15612
15613 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15614 #551428.
15615
15616 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15617 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15618 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15619 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15620 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15621 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15622 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15623 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15624 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15625 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15626 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15627 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15628 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15629 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15630 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15631 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15632 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15633 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15634 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15635 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15636 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15637 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15638
92051871
CW
156392011-04-21 Colin Watson <cjwatson@ubuntu.com>
15640
15641 * grub-core/kern/emu/getroot.c
15642 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15643 test that was incorrectly reintroduced in r3214.
15644 Reported by: Ian Dall. Fixes Savannah bug #33133.
15645
b13f79a4
CW
156462011-04-21 Colin Watson <cjwatson@ubuntu.com>
15647
15648 Fix stack pointer handling in 16-bit relocator.
15649
15650 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15651 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15652 Fixes Ubuntu bug #683904.
15653
9b710a88
VS
156542011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * configure.ac: Bump version to 1.99~rc2.
15657
d97e7b59
VS
156582011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15661 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15662 * grub-core/lib/x86_64/setjmp.S: Likewise.
15663 * grub-core/lib/mips/setjmp.S: Likewise.
15664 * grub-core/lib/powerpc/setjmp.S: Likewise.
15665 * grub-core/lib/sparc64/setjmp.S: Likewise.
15666
0624551c
VS
156672011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15670 * grub-core/lib/efi/datetime.c: Likewise.
15671
e8f28d4c
VS
156722011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15675 New function.
15676 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15677 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15678 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15679
bba79a15
VS
156802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15683 bitmap.
15684 (grub_gfxterm_term_init): Likewise.
15685
abc474ef
VS
156862011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 Take into account the decorations the computing menu entry width.
15689
15690 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15691 (grub_gfxmenu_create_box): Register get_border_width.
15692 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15693 if available.
15694 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15695 get_border_width.
15696
e74b3947
EP
156972011-04-18 Endres Puschner <code@e7p.de>
15698
15699 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15700 Don't skip first class.
15701
34faa595
VS
157022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15705 chunks.
15706 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15707
93a777e3
VS
157082011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 Complete 64-bit division support.
15711
15712 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15713 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15714 * include/grub/misc.h (grub_divmod64): Rename to ...
15715 (grub_divmod64_full): ... this.
15716 (grub_divmod64): New inline function.
15717
a5102d94
VS
157182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15721
f3fb7b36
VS
157222011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15725 performing the necessary test.
15726
9ac718b0
VS
157272011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15730 (kfreebsd.elf): Likewise.
15731 (pc-chainloader.elf): Likewise.
15732 (ntldr.elf): Likewise.
15733
50d2cc5a
VS
157342011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 Identify RAID by its UUID rather than (guessed) name.
15737
15738 * grub-core/disk/raid.c (ascii2hex): New function.
15739 (grub_raid_open): Accept mduuid/%s specification.
15740 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15741 (get_mdadm_uuid): ... this.
15742 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15743
e03f7bea
VS
157442011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15747 to negative size.
15748
e74c3112
CW
157492011-04-13 Colin Watson <cjwatson@ubuntu.com>
15750
15751 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15752 btrfs subvolume.
15753 * util/grub.d/20_linux_xen.in: Likewise.
15754
78fa584f
CW
157552011-04-13 Colin Watson <cjwatson@ubuntu.com>
15756
15757 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15758 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15759
15760 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15761 Build a list of relevant visible mounts using the mnt_id and
15762 parent_mnt_id fields, and then scan that list at the end.
15763
9d5f8162
CW
157642011-04-12 Colin Watson <cjwatson@ubuntu.com>
15765
15766 * docs/grub.texi (normal): New section.
15767 (normal_exit): New section.
15768 (Embedded configuration): Add reference to normal.
15769 (GRUB only offers a rescue shell): Likewise.
15770 * docs/grub-dev.texi (Error Handling): Fix typo.
15771
09a9d66f
CW
157722011-04-12 Colin Watson <cjwatson@ubuntu.com>
15773
15774 * NEWS: Drop obsolete entry about probe-only btrfs support.
15775
0c676933
CW
157762011-04-12 Colin Watson <cjwatson@ubuntu.com>
15777
15778 * util/import_gcry.py: Fix typo.
15779
ec9f5e0d
VS
157802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * NEWS: Add btrfs support.
15783
fe6b2cba
VS
157842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
157852011-04-11 Colin Watson <cjwatson@ubuntu.com>
15786
15787 BtrFS support. Written by me (Vladimir) with important bugfixes and
15788 even more important testing by Colin.
15789
15790 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15791 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15792 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15793 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15794 mem_input_off and mem_input. All users updated to accept in-RAM input.
15795 (gzio_seek): New function.
15796 (test_zlib_header): Likewise.
15797 (grub_gzio_read): Likewise.
15798 (grub_zlib_decompress): Likewise.
15799 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15800 Accept partial and non-virtual mounts.
15801 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15802 avoid receiving /dev/dm-X as device.
15803 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15804 Handle bind and partial mounts.
15805 * grub-core/lib/crc.c: New file.
15806 * include/grub/deflate.h: Likewise.
15807 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15808 proto.
15809 * include/grub/lib/crc.h: New file.
15810
e745cf0c
VS
158112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 Implement automatic module license checking according to new GNU
15814 guidelines.
15815
15816 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15817 (grub_dl_load_core): Use grub_dl_check_license.
15818 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15819 (GRUB_MOD_LICENSE): Likewise.
15820 (GRUB_MOD_DUAL_LICENSE): Likewise.
15821 All modules updated.
15822
2a9bc016
CW
158232011-04-11 Colin Watson <cjwatson@ubuntu.com>
15824
15825 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15826 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15827 loaders.
15828 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15829
8a3bc88e
VS
158302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15833
af869a4a
VS
158342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15837 failed.
15838
9ee8d94f
VS
158392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15842 parenthesis in the middle of the filename.
15843
b01abe3e
VS
158442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15847 rather than trying to put initrd way too high.
15848 Reported by: Ryan Lortie <desrt@desrt.ca>
15849
335bda1e
VS
158502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15853 improperly removed string.
15854
5ca1a64d
VS
158552011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15858 is_disk.
15859 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15860 (open_device) Likewise.
15861 (grub_util_biosdisk_close): Likewise.
d8ce9995 15862 Reported by: Mark Korenberg.
5ca1a64d 15863
cbac5b1e
AK
158642011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15865
15866 * util/grub-mkconfig_lib.in: Add missing quotes.
15867
088cdb65
CW
158682011-04-10 Colin Watson <cjwatson@ubuntu.com>
15869
15870 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15871 is NULL.
15872
8b8a81fa
VS
158732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 Dynamically count the number of lines for the lower banner.
15876
15877 * grub-core/normal/menu_entry.c (per_term_screen): New member
15878 num_entries.
15879 (print_down): Use num_entries.
15880 (update_screen): Likewise.
15881 (grub_menu_entry_run): Set num_entries.
15882 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15883 num_entries.
15884 (grub_print_message_indented): Move real part to ...
15885 (grub_print_message_indented_real): ... here. Additional argument
15886 dry_run.
15887 (draw_border): Additional argument num_entries.
15888 (print_message): Additional argument dry_run.
15889 (print_entries): Receive menu viewer data.
15890 (grub_menu_init_page): New argment num_entries.
15891 (menu_text_set_chosen_entry): Use num_entries.
15892 (grub_menu_try_text): Likewise.
15893 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15894 All users updated.
15895 (grub_ucs4_count_lines): New function.
15896 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15897 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15898 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15899 (grub_term_border_height): Likewise.
15900 (grub_term_num_entries): Likewise.
15901
277f955b
VS
159022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15905 Remove now unused string.
15906
536ce85a
CW
159072011-04-09 Colin Watson <cjwatson@ubuntu.com>
15908
15909 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15910 build system.
15911 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15912
15913 (Comment): Fix typo.
15914 (Getting started): General copy-editing.
15915 (Typical Development Experience): Likewise.
15916 (Error Handling): Likewise.
15917 (Video API): Likewise.
15918
2cf09e32
CW
159192011-04-09 Colin Watson <cjwatson@ubuntu.com>
15920
15921 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15922 throughout.
15923
1ec652f4
VS
159242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15927 directory.
15928
2c583728
CW
159292011-04-08 Colin Watson <cjwatson@ubuntu.com>
15930
15931 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15932 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15933 "development".
15934
d7a565e9
VS
159352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15938 grub_strcpy since the lines aren't necessarily 0-terminated.
15939
7c2e4909
VS
159402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15943 root on legacy.
15944
34c09785
VS
159452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15948 (GRUB_MOD_INIT): DEVICE isn't optional.
15949
6a6f8058
VS
159502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15953 word on new line if it's too long anyway. Fixes a hang.
15954
2e335e90
VS
159552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15958 const.
15959 * util/grub-setup.c (main): Reuse md device name if available.
15960 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15961 not GRUB name as argument.
15962 Based on patch by: Florian Wagner <fwagner>.
15963
10a7a867
VS
159642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15967 Place mbi on low memory for better compatibility.
15968
7a3d6cd9
VS
159692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15972
18dd6b47
VS
159732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
159742011-04-08 Colin Watson <cjwatson@ubuntu.com>
15975
15976 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15977 * conf/Makefile.common: Likewise.
18dd6b47 15978
3c0e3f14
VS
159792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15980
f7148863
VS
15981 * grub-core/normal/menu.c: Add missing include.
15982
159832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15986
6d1fa41f
MZ
159872011-04-08 Martin Zuther <mzuther@mzuther.de>
15988
15989 * util/grub-mkconfig.in: Ignore emacsen backup.
15990
478182a8
VS
159912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15994 on open.
15995 (grub_util_biosdisk_close): Likewise.
15996
72a89a54
VS
159972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16000 const attribute and use grub_isdigit.
16001
b5ebecfa
A
160022011-04-06 Andrey <dev_null@ukr.net>
16003
16004 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16005 gcc warning.
16006
7755f66e
VS
160072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16010 useful grub_dprintf's.
16011
461121ff
VS
160122011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16015
2a961775
VS
160162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16019
adf594cc
VS
160202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 Output errors if theme loading failed.
16023
16024 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16025 grub_gfxterm_fullscreen on error paths to ...
16026 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16027 theme loading error.
16028
665900a3
VS
160292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16032 space for older compilers.
16033 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16034
a562b479
VS
160352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16038 and report them as not RAID members since they are useless for GRUB.
16039 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16040
850e9373
VS
160412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 Increase LVM implementation robustness in order not to crash on
16044 configurations like pvmove. Previously code assumed that in some places
16045 only lvs or only pvs are used whereas it seems that they are used
16046 interchangeably.
16047
16048 * grub-core/disk/lvm.c (read_node): New function.
16049 (read_lv): Use read_node.
16050 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16051 Match volumes only at the end when all lvs are found. Take both
16052 pvs (first) and lvs (second) into account.
16053 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16054 mirror_* into node_*. All users updated.
16055 (grub_lvm_stripe): Merge this ...
16056 (grub_lvm_mirror): ... and this ...
16057 (grub_lvm_node): ... into this. All users updated.
16058
6f332153
VS
160592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16062 of function to allow further scanning for LVMs.
16063
829ea451
VS
160642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16067 on failed seek as it breaks open fd reusage.
16068
09ceb9a5
VS
160692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * util/grub-install.in: Add a recommendation to use --recheck before
16072 reporting bugs.
16073
67e11623
VS
160742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16077 are obtained.
16078
caee5efd
VS
160792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 GRUB developper manual based on existing Internals section and
16082 contributions by the various authors with active copyright assignment.
16083
16084 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16085 * docs/font_char_metrics.png: New file.
16086 * docs/font_char_metrics.txt: Likewise.
16087 * docs/grub-dev.texi: Likewise.
16088 * docs/grub.texi (Internals): Move from here ...
16089 * docs/grub-dev.texi: ... here.
16090
2cccc747
CW
160912011-04-01 Colin Watson <cjwatson@ubuntu.com>
16092
16093 Store the loopback device as data on loopback grub_disk structures,
16094 rather than the file it points to. This fixes use of freed memory
16095 if an existing loopback device is replaced.
16096
16097 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16098 disk->data, not dev->file.
16099 (grub_loopback_read): Adjust file assignment to match.
16100 Fixes Ubuntu bug #742967.
16101
186ae367
CW
161022011-04-01 Colin Watson <cjwatson@ubuntu.com>
16103
16104 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16105 when replacing an existing device.
16106
cfed2ad0
VS
161072011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16110 memory corruptions.
16111
16112 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16113 unsigned.
16114 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16115 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16116 (grub_jfs_read_inode): Likewise.
16117 (grub_jfs_opendir): Likewise. Remove now useless casts.
16118 (grub_jfs_getent): Likewise.
16119 Make ino a grub_uint32_t rather than int.
16120 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16121 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16122 division and module with bit operations.
16123 (grub_jfs_find_file): Make ino a grub_uint32_t.
16124 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16125
05d2ed32
CW
161262011-04-01 Colin Watson <cjwatson@ubuntu.com>
16127
16128 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16129 warning. (This was in fact always initialised before use, but GCC
16130 wasn't smart enough to prove that.)
16131 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16132
91dc6073
VS
161332011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16136 stack alignment.
16137 (efi_wrap_1): Likewise.
16138 (efi_wrap_2): Likewise.
16139 (efi_wrap_3): Likewise.
16140 (efi_wrap_4): Likewise.
16141 (efi_wrap_5): Likewise.
16142 (efi_wrap_6): Likewise.
16143 (efi_wrap_10): Likewise.
16144 Based on information by: Red Hat/Peter Jones.
16145
a8afc1d1
CW
161462011-03-31 Colin Watson <cjwatson@ubuntu.com>
16147
16148 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16149 set-but-not-used variable.
16150
a826cc7d
CW
161512011-03-31 Colin Watson <cjwatson@ubuntu.com>
16152
16153 * docs/grub.texi (Simple configuration): Be more explicit about
16154 GRUB_DEFAULT, and add an example.
16155 Reported by: Leslie Rhorer.
16156
875b67ba
CW
161572011-03-30 Colin Watson <cjwatson@ubuntu.com>
16158
16159 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16160 shell".
16161
fd7cd914
AS
161622011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16163
16164 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16165 * util/grub.d/20_linux_xen.in: Likewise.
16166
090b1b6a
VS
161672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * util/grub.d/10_linux.in: Try alternative config filenames where
16170 we parse config file.
16171 * util/grub.d/20_linux_xen.in: Likewise.
16172
baad885c
AS
161732011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16174
16175 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16176 * util/grub.d/20_linux_xen.in: Likewise.
16177
241e41f5
VS
161782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/disk/raid.c (insert_array): Add few potentially
16181 useful grub_util_info.
16182 (grub_raid_register): Likewise.
16183
56445fb2
VS
161842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16187 Preserve partition number in mdadm code path.
16188
c871b1c6
VS
161892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16192 few potentially useful grub_util_info.
16193
5e631b4f
CW
161942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16197
2d5d0333
CW
161982011-03-30 Colin Watson <cjwatson@ubuntu.com>
16199
16200 * docs/grub.texi (default): Use @example rather than nested
16201 itemized lists to avoid breaking gendocs.
16202
3d7ed04e
CW
162032011-03-30 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * docs/grub.texi (Future): Update.
16206
abf04200 162072011-03-30 Colin Watson <cjwatson@ubuntu.com>
16208
16209 * docs/grub.texi (Environment): New chapter.
16210 (Changes from GRUB Legacy): Link to "Environment block" section for
16211 details of limitations.
16212 (Simple configuration): Likewise. Link to documentation of gfxmode
16213 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16214 respectively.
16215 (Shell-like scripting): Note that normal variables are stored in the
16216 environment.
16217 (gettext): Link to documentation of lang and locale_dir.
16218 (list_env): New section.
16219 (load_env): New section.
16220 (save_env): New section.
16221
16222 (Reporting bugs): Fix typo.
16223
e1ad0edd
VS
162242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16227 the example.
16228
5d803174
VS
162292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 * grub-core/term/at_keyboard.c (set_scancodes)
16232 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16233
2a2da1d0
CW
162342011-03-30 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * docs/grub.texi (Menu-specific commands): Remove some semantics
16237 that were true in GRUB Legacy but not in GRUB 2.
16238 (submenu): New section.
16239 (false): New section.
16240 (read): New section.
16241 (true): New section.
16242
a7527639
CW
162432011-03-30 Colin Watson <cjwatson@ubuntu.com>
16244
16245 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16246
162472011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16248
16249 * docs/grub.texi (Simple configuration): Explain some of the
16250 current limitations of grub-mkconfig.
8a748df2 16251 Reported by: Leslie Rhorer.
e30af029 16252
fc858482
VS
162532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Old macs search for boot.efi rather than for bootia32.efi.
16256
16257 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16258 * util/grub-mkrescue.in: Likewise.
16259 Suggested by: Peter Jones.
16260
e1eb511d
VS
162612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16264
70e75364
VS
162652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16268 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16269 (grub_lvm_mirror): New struct.
16270 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16271 (grub_lvm_iterate): Iterate only visible volumes.
16272 (grub_lvm_read): Factor out to ..
16273 (read_lv): ... this. Support mirrors.
16274 (grub_lvm_read): New wrapper function.
16275 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16276 stripped or mirrored.
16277
fc18f6a3
VS
162782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16281
5c650f4c
CW
162822011-03-29 Colin Watson <cjwatson@ubuntu.com>
16283
16284 * docs/grub.texi (loopback): New section.
16285
61d7156b
CW
162862011-03-29 Colin Watson <cjwatson@ubuntu.com>
16287
16288 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16289 removed -p option.
16290
994b8264
CW
162912011-03-29 Colin Watson <cjwatson@ubuntu.com>
16292
16293 * docs/grub.texi (BIOS installation): New section, partly based on
16294 previous text in other sections.
16295 (Installing GRUB using grub-install): Replace BIOS discussion with a
16296 cross-reference.
16297 (Images): Likewise.
16298
9e4d19e0
VS
162992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16302 [HAVE_DIOCGDINFO]: Add safety checks.
16303
a307c0b2
VS
163042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16307 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16308
b4db4f39
CW
163092011-03-29 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16312 real_sb->size is zero (e.g. RAID-0), get the disk size from
16313 real_sb->data_size instead.
16314 Fixes Ubuntu bug #743136.
16315
35e5f84c
VS
163162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16319 printf clauses for printing size and start.
16320
d2e29d81
VS
163212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16324 Reported and tested by: Timothy Nikkel.
16325
ed5587af
VS
163262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16329 (dirty_region_add_real): ... this.
16330 (dirty_region_add): Don't discard margin refresh when performing
16331 scheduled repaint.
16332
a1dc717c
VS
163332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * grub-core/lib/relocator.c (allocate_regstart)
16336 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16337 terminals are capabple of malloc-free operation.
16338 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16339 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16340
9f3677d3
VS
163412011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16342
16343 * util/grub-setup.c: Copy the partition table zone if floppy support
16344 is disabled, even if no partition table is found.
16345
16346 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16347 during POST if an invalid partition table is contained in the PBR
16348 of the active partition when GRUB is installed to a partition.
16349
24148725
CW
163502011-03-28 Colin Watson <cjwatson@debian.org>
16351
16352 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16353 comment.
16354
f329eda7
CW
163552011-03-28 Colin Watson <cjwatson@debian.org>
16356
16357 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16358 to be specific about what kind of RAID device we're scanning for.
16359
c482ad98
SG
163602011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16361
16362 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16363 return freed string.
16364
5ee04984
VS
163652011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16368
f4727da9
VS
163692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 Use libgeom on FreeBSD to detect partitions.
16372
16373 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16374 (grub-mkrelpath): Likewise.
16375 (grub-script-check): Likewise.
16376 (grub-editenv): Likewise.
16377 (grub-mkpasswd-pbkdf2): Likewise.
16378 (grub-fstest): Likewise.
16379 (grub-mkfont): Likewise.
16380 (grub-mkdevicemap): Likewise.
16381 (grub-probe): Likewise.
16382 (grub-setup): Likewise.
16383 (grub-ofpathname): Likewise.
16384 (grub-mklayout): Likewise.
16385 (example_unit_test): Likewise.
16386 (grub-menulst2cfg): Likewise.
16387 * grub-core/Makefile.core.def (grub-emu): Likewise.
16388 (grub-emu-lite): Likewise.
16389 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16390 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16391 define HAVE_DIOCGDINFO.
16392 (follow_geom_up) [FreeBSD]: New function.
16393 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16394 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16395 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16396 unconditionally of HAVE_DIOCGDINFO.
16397
82fe6c75
VS
163982011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 Fix FreeBSD compilation problem.
16401
16402 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16403 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16404
4c6c9431
CW
164052011-03-24 Colin Watson <cjwatson@ubuntu.com>
16406
16407 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16408 Switch back to page zero before loading a kernel, since some kernel
16409 drivers expect that.
16410 Thanks to: Felix Kuehling.
16411
c7064d94
VS
164122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16415 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16416 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16417
3f71cded
VS
164182011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16421 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16422
ef6de21a
VS
164232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16426 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16427 malloc is disabled.
16428
8bc66a2c
VS
164292011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16432 for modules headers when counting the needed allocation size.
16433
5657722c
VS
164342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16437 if no ASCII character is found to prevent crash.
16438
41a85f55
AK
164392011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16440
16441 * grub-core/video/bitmap.c (match_extension): Ignore case.
16442
59e1e5f1
VS
164432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16446
bd4d051a
VS
164472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/script/parser.y: Declare "time" as valid argument.
16450
bae7fcc1
PJ
164512011-03-23 Peter Jones <pjones@redhat.com>
16452
16453 Fix incorrect assert failure reporting.
16454
16455 * grub-core/tests/example_functional_test.c (example_test): Add
16456 a failure comment.
16457 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16458 (failure_start): ...this. Check that malloc succeeded.
16459 Don't call xvasprintf. Return failure struct.
16460 (failure_append_vtext): New function.
16461 (failure_append_text): Likewise.
16462 (add_failure): Likewise.
16463 (grub_test_assert_helper): Likewise.
16464 * include/grub/test.h (grub_test_assert_helper): New declaration.
16465 (grub_test_assert): Macro rewritten.
16466
537dc9be
VS
164672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16470
fa3e01bf
VS
164712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16474
b1d28404
VS
164752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16478 into GRUB-style one.
16479
2e3e2e09
VS
164802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16483 error and not grub_errno.
16484 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16485
ed57e557
VS
164862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16489 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16490
d1611f01
VS
164912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/efiemu/i386/pc/cfgtables.c
16494 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16495 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16496 (grub_xnu_unlock): Likewise.
16497 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16498
7d4e39d6
VS
164992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16502 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16503 * grub-core/commands/hashsum.c (aliases): Likewise.
16504 * grub-core/commands/setpci.c (pci_registers): Likewise.
16505 * grub-core/disk/usbms.c (attach_hook): Likewise.
16506 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16507 (zio_checksum_table): Likewise.
16508 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16509 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16510 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16511 * grub-core/lib/relocator.c (leftovers): Likewise.
16512 (extra_blocks): Likewise.
16513 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16514 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16515 (modules_last): Likewise.
16516 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16517 (devices): Likewise.
16518 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16519 (modules_last): Likewise.
16520 * grub-core/normal/auth.c (users): Likewise.
16521 * grub-core/normal/context.c (initial_menu): Likewise.
16522 (current_menu): Likewise.
16523 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16524 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16525 (grub_serial_terminfo_input_template): Likewise.
16526 (grub_serial_terminfo_output_template): Likewise.
16527 (grub_serial_terminfo_input): Likewise.
16528 (grub_serial_terminfo_output): Likewise.
16529 (registered): Likewise.
16530 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16531
40fc4659
VS
165322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16535 grub_video_mode_type_t.
16536 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16537 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16538 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16539
2da48d28
VS
165402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * util/grub-install.in: Correct the x86-64 name as x86_64.
16543
9b43bf39
CW
165442011-03-11 Colin Watson <cjwatson@ubuntu.com>
16545
16546 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16547 initial chunk read from the kernel always includes GRUB's multiboot
16548 header, which is now outside the first sector.
16549
be1a7ce0
CW
165502011-03-09 Colin Watson <cjwatson@ubuntu.com>
16551
16552 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16553 cached mmap_size, so that this works correctly when called multiple
16554 times.
16555 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16556
83a3c48d
CW
165572011-03-09 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * docs/grub.texi (Simple configuration): Tidy up formatting.
16560
57d75699
SJ
165612011-03-07 Szymon Janc <szymon@janc.net.pl>
16562
16563 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16564 Set-but-not-used variable removed.
16565
028501a0
VS
165662011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 Workaround yet another IEEE1275 bug.
16569
16570 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16571 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16572 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16573 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16574 is set.
16575 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16576 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16577
d998657d
VS
165782011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16581 error.
16582
fee7cdd4
CW
165832011-02-11 Colin Watson <cjwatson@ubuntu.com>
16584
16585 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16586 empty, since in that case we can only generate either nothing or a
16587 syntactically invalid configuration file.
16588 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16589
97286eb5
CW
165902011-02-09 Colin Watson <cjwatson@ubuntu.com>
16591
16592 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16593 (Making a GRUB bootable CD-ROM): Likewise.
16594 (Invoking grub-mkrescue): New section.
16595 Reported by: Yann Dirson. Fixes Debian bug #612585.
16596
22b28eb3
CW
165972011-02-09 Colin Watson <cjwatson@ubuntu.com>
16598
16599 * util/grub-install.in: Remove unnecessary brackets from tr
16600 arguments.
16601 * util/grub.d/10_hurd.in: Likewise.
16602 * util/grub.d/10_kfreebsd.in: Likewise.
16603 * util/grub.d/10_linux.in: Likewise.
16604 * util/grub.d/20_linux_xen.in: Likewise.
16605 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16606
7e735e43
CW
166072011-02-08 Colin Watson <cjwatson@ubuntu.com>
16608
16609 * include/grub/file.h (not_easly_seekable): Rename to ...
16610 (not_easily_seekable): ... this. Update all users.
16611
800f1881
CW
166122011-01-28 Colin Watson <cjwatson@ubuntu.com>
16613
16614 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16615 grub-mkrescue.
16616
3281d3d6
VS
166172011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * util/grub-mkimage.c (generate_image): Refuse to create the images
16620 bigger than the actual flash (512K) in Loongson machines. 512K is also
16621 the biggest chip supported by them.
16622
3533413c
VS
166232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16626
73ae4f4f
VS
166272011-01-22 Anthony DeRobertis <anthony@derobert.net>
16628
16629 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16630 super_offset field.
16631
37f4f608
VS
166322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * util/grub-install.in: Ignore install device on platforms
16635 where it doesn't make sense. Always use UUIDs except on pc, efi and
16636 sparc64.
16637 Reported by: Daniel Kahn Gillmor.
16638
03a4ccb5
VS
166392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16642
ffc8f4d8
VS
166432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16646 (iterate_real): Don't rely on partition being non-NULL.
16647
80f23be7
VS
166482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16651 supported platforms. Put a compile time assert for this rather than
16652 generate a warning with 32-bit shift.
16653
5d4f4dd5
VS
166542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16657 logical expression more readable.
16658
e489601a
VS
166592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16662 even if some elements have a name.
16663 Reported by: Alexander GQ Gerasiov.
16664
96e0a6ea
CW
166652011-01-22 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16668 path unreadable if `grub-probe -t abstraction' fails, for example if
16669 memberlist fails on an LVM volume group.
16670 Reported by: Darius Jahandarie.
16671
81431e2b
CW
166722011-01-22 Colin Watson <cjwatson@ubuntu.com>
16673
16674 * docs/grub.texi (Simple configuration): Document
16675 GRUB_PRELOAD_MODULES.
16676
5e79d66a
CW
166772011-01-17 Colin Watson <cjwatson@ubuntu.com>
16678
16679 * .bzrignore: Remove nonexistent grub-pbkdf2.
16680
646ada34
VS
166812011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * configure.ac: Bump version to 1.99~rc1.
16684
04360337
VS
166852011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16688 for safety.
16689
46c9db88
VS
166902011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16693 module.
16694
166952011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16696
16697 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16698
4fbf1852
VS
166992011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16702 diskdevid.
16703
f1632d4d
VS
167042011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 Fix compilation on cygwin.
16707
16708 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16709 -R .drectve on cygwin.
16710 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16711 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16712 (COND_CYGWIN): New condition.
16713 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16714 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16715 not @TARGET_OBJ2ELF@.
16716 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16717 type to determine whether aux is to be used.
16718
0b5e127b
VS
167192011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16722 realpath'ed device string.
16723 Handle floppy (somewhat).
16724 Issue error in unknown case rather than garbage.
16725 Reported by: Axel Beckert.
16726
173b71e9
VS
167272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 * util/grub.d/00_header.in (load_video): Handle the case when no video
16730 drivers available.
16731 Thanks to: Axel Beckert.
16732
f8f479db
VS
167332011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16736 variable. Fixes problem on big endian platforms.
16737
8fc0a245
VS
167382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16741 It doesn't work well there.
16742
b8494fbe
VS
167432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16746 warning.
16747 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16748 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16749 counter.
16750
b44a558c
VS
167512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 Use alias->path rather than buggy "canon".
16754
16755 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16756 (ofdisk_hash_add): New argument curcan. All users updated.
16757
51fa856c
CW
167582011-01-11 Colin Watson <cjwatson@ubuntu.com>
16759
16760 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16761
9da068a5
VS
167622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16765 loadmask before doing any calculations. Use correct type for offset.
16766 (grub_linux_load64): Likewise.
16767
86205c94
CW
167682011-01-11 Colin Watson <cjwatson@ubuntu.com>
16769
16770 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16771 with NULL.
16772 (console_grub_equivalences_unshift): Likewise.
16773 Reported by: Daniel Dehennin.
16774
4531a206
VS
167752011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16778 (set_env_limn_ro): Likewise.
16779 (GRUB_MOD_INIT): Likewise.
16780 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16781 ARRAY_SIZE while on it.
16782 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16783 * grub-core/normal/context.c (grub_env_export): Move from here ...
16784 * grub-core/kern/env.c (grub_env_export): ... here.
16785 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16786 prefix.
16787 * grub-core/kern/main.c (grub_main): Export root and prefix.
16788 * include/grub/env.h (grub_env_export): Export.
16789 Reported by: Seth Goldberg.
16790
45146057
VS
167912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16794 Take into account space used by ELF sections and multiboot palette.
16795 Reported by: Grégoire Sutre.
16796
f093110b
VS
167972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * BUGS: New file.
16800
3395fe52
VS
168012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 Pass more appropriate video id to Linux.
16804
16805 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16806 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16807 fill have_vga.
16808 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16809 shift params->lfb_size.
16810 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16811
c2fa6cbb
VS
168122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16815
b3ff6ff0
VS
168162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16819 separator and pass bootpath/devid even if only one of them is available.
16820 Reported by: Seth Goldberg.
16821
ae67942e
VS
168222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16825 implementations bug on them.
16826
16827 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16828 memory.
16829 (filter_memory_map): Likewise.
16830
d570097a
VS
168312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16834 Reported by: nebuchadnezzar.
16835
a508e776
VS
168362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16837
16838 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16839 Reported by: nebuchadnezzar.
16840
dcb883b1
VS
168412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 Submenu default support.
16844
16845 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16846 auto_boot. All users updated.
16847 Declared static.
16848 Handle chosen and default with submenus.
16849 (grub_menu_execute_with_fallback): Declared static.
16850 Don't notify failure if autobooted. Upper level does it.
16851 (menuentry_eq): New function.
16852 (get_entry_number): Use menuentry_eq.
16853 (show_menu): New parameter "autobooted". All users updated.
16854 (grub_show_menu): Likewise.
16855 * include/grub/normal.h (grub_show_menu): Likewise.
16856 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16857 (grub_menu_execute_with_fallback): Likewise.
16858
6fef99b4
VS
168592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * util/grub-mklayout.c (usage): Update help text.
16862
47a77af5
VS
168632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16866
ce6bb3ee
VS
168672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * util/grub-menulst2cfg.c (main): Trim the line.
16870
db87be2a
VS
168712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16874 (grub_machine_init): Don't check amount of low memory as reportedly
16875 INT 12h can be broken and if low memory is too low we wouldn't have
16876 gotten into grub_machine_init anyway.
16877
c49849cc
VS
168782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16881 (grub_machine_mmap_iterate): Take low memory into account
16882
b1969b30
VS
168832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16886 badfs.
16887 Reported by: TiCPU.
16888
cf0eaf13
VS
168892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16892 members errors.
16893
1f060f39
GS
168942011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16895
16896 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16897 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16898
a21e5672
GS
168992011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16900
16901 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16902 openbsd and netbsd types being in part_bsd module.
16903
c88172fa
VS
169042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16907 (_FILE_OFFSET_BITS): Likewise.
16908 Reported by: Seth Goldberg.
16909
53798c4b
GS
169102011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16911
16912 * configure.ac: Check for libdevmapper header.
16913
e7121b69
VS
169142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16917 avoid aliasing.
16918 (fzap_lookup): Likewise.
16919 (dnode_get): Likewise.
16920 (make_mdn): Likewise.
16921 (zfs_mount): Likewise.
16922 (fzap_iterate): Use temporary pointer to avoid aliasing.
16923 (grub_zfs_read): Likewise.
16924 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16925 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16926 pointers to avoid aliasing.
16927 (grub_cmd_xnu_kernel64): Likewise.
16928 (grub_xnu_load_driver): Likewise.
16929
fc836af9
VS
169302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16933 aliasing warning.
16934 (grub_cmd_terminal_output): Likewise.
16935 Reported and tested by: Grégoire Sutre.
16936
f9f37648
VS
169372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16940 warning.
16941 Reported and tested by: Grégoire Sutre.
16942
ec1dfd63
VS
169432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * configure.ac: Do CPU substitution even if it's specified explicitly.
16946 Reported and tested by: Alain Greppin.
16947
9462775a
VS
169482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16951 Reported and tested by: Alain Greppin.
16952
0fd48e35
VS
169532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Satisfy some bison versions need for inttypes.h.
16956
16957 * grub-core/lib/posix_wrap/inttypes.h: New file.
16958 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16959 (int16_t): Likewise.
16960 (int32_t): Likewise.
16961 (int64_t): Likewise.
16962 Reported and tested by: Alain Greppin.
16963
43f1bc83
VS
169642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16967 Silence spurious warning.
16968 Reported and tested by: Alain Greppin.
16969
64d1f041
SJ
169702011-01-07 Szymon Janc <szymon@janc.net.pl>
16971
16972 * docs/grub.texi (Support automatic decompression): Update with xz
16973 decompression support.
16974
25953e10
SJ
169752011-01-07 Szymon Janc <szymon@janc.net.pl>
16976
16977 Improve loaders' kernel command line handling.
16978
16979 * grub-core/lib/cmdline.c: New file.
16980 * include/grub/lib/cmdline.h: Likewise.
16981 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16982 grub_create_loader_cmdline to create kernel command line.
16983 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16984 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16985 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16986 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16987 (linux): Add lib/cmdline.c on common.
16988
e72d259f
VS
169892011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16992 inopos might be unaligned.
16993
c0cf26da
VS
169942011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16995
16996 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16997 endian transformations.
16998 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16999 Based on report by: Doug Nazar.
17000
0ca09e6c
DN
170012011-01-07 Doug Nazar <nazard.michi@gmail.com>
17002
17003 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17004 array->members[i].start_sector.
17005 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17006
014b6806
VS
170072011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17010 Reported and tested by: Grégoire Sutre.
17011
415502c2
CW
170122011-01-06 Colin Watson <cjwatson@ubuntu.com>
17013
17014 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17015 avoid causing test failures by clearing the screen.
17016
71b6a2b7
CW
170172011-01-06 Colin Watson <cjwatson@ubuntu.com>
17018
17019 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17020 Fix prefix check to handle the case where dir ends with a slash
17021 (most significantly, "/" itself).
17022 Reported by: Michael Vogt.
17023
b3f8d28a
VS
170242011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 Run terminfo_cls on initing terminfo output to clear the screen and
17027 move the cursor to (0,0).
17028
17029 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17030 Call grub_terminfo_output_init.
17031 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17032 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17033 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17034
4c3e4f37
VS
170352011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17038 only when needed.
17039
488f71f1
VS
170402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17043 CTRL.
17044
18a38098
VS
170452011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 The E820 type 5 is BADRAM, not EXEC_CODE.
17048
17049 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17050 (GRUB_E820_BADRAM): New define.
17051 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17052 into reserved. Propagate BADRAM.
17053 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17054 (GRUB_E820_BADRAM): New define.
17055
9eae2084
VS
170562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17059 Ignore the memory post-4G.
17060 (grub_relocator_firmware_alloc_region): Additional debug statement.
17061
ebc71d28
VS
170622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17065 names.
17066 Reported by: David Pravec.
17067
446fa400
VS
170682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17071 BIOSes.
17072
a0159f37
VS
170732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17076 Prevent overflow.
17077 (grub_reed_solomon_recover): Likewise.
17078
e5146ca1
VS
170792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17082
170832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17084
17085 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17086 variable.
17087
5b1bdf12
CW
170882011-01-04 Colin Watson <cjwatson@ubuntu.com>
17089
17090 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17091 descriptions of extract_legacy_entries_source and
17092 extract_legacy_entries_configfile.
17093 Reported by: Seung Soo, Ha.
17094
99d925aa
CW
170952011-01-03 Colin Watson <cjwatson@ubuntu.com>
17096
17097 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17098 on devices that do not implement function 0.
17099
4af0504b
DV
171002011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17101
17102 * grub-core/fs/hfsplus.c: Make parent unsigned.
17103 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17104 overflows.
17105 (grub_hfsplus_cmp_extkey): Likewise
17106
469ee10a
VS
171072011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * util/grub-install.in: Correctly use bootloader_id and not
17110 GRUB_DISTRIBUTOR on efibootmgr line.
17111
323a8e9c
VS
171122011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17115
1b394975
IC
171162010-12-31 Ian Campbell <ijc@hellion.org.uk>
17117
17118 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17119 Xen and reorder menu item wording to make it clearer that this entry
17120 will launch Xen. Print separate messages when loading Xen and
17121 Linux.
17122
275bff5f
VS
171232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17126 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17127 loop in case of incorrect amiga partmap.
17128
307806cb
VS
171292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17132 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17133 Reported by:EHeM.
17134
b12b923e
VS
171352010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17138 spurious warning.
17139 Reported by: crocket
17140
14b48a19
VS
171412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17144 Preload EFIemu.
17145 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17146
693db2df
VS
171472010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17150 is loaded
17151 (grub_cmd_xnu_kextdir): Likewise.
17152 (grub_cmd_xnu_splash): Likewise.
17153
c7638645
VS
171542010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Avoid using Reed-Solomon with 0 redundancy.
17157
17158 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17159 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17160 or 0 redundancy.
17161 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17162 (grub_reed_solomon_recover): Likewise.
17163
25dd4780
VS
171642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17165
17166 Don't use disk subsystem in freebsd_boot.
17167
17168 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17169 (freebsd_biosdev): Likewise.
17170 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17171 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17172
0b2db943
VS
171732010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 Handling of files of unknown size is currently limited. They can't be
17176 used e.g. for initrd or modules. Moreover gzip handling of not
17177 easily seekable files is buggy. Disable unknown file size for now. May
17178 be inefficient but works.
17179
17180 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17181 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17182
5c408d0f
MP
171832010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17184
17185 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17186 floppy probe.
17187
190a011a
JD
171882010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17189
17190 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17191
022d01b8
SL
171922010-12-25 Shea Levy <shlevy>
17193
17194 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17195
c4855fdc
VS
171962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17199 Windows Server 2008.
17200 Reported by: Devin Giddings.
17201
0354b867
VS
172022010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17205 writing an error message because of async power management.
17206 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17207 (grub_reboot): Likewise.
17208
ab66c69f
JU
172092010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17210
17211 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17212 keep unit tests from failing when they shouldn't.
17213
1426ef35
CW
172142010-12-21 Colin Watson <cjwatson@ubuntu.com>
17215
17216 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17217 previous patch increased the size of the RS code by 20 bytes (at
17218 least with gcc-4.4), so increase this by 20 bytes to match.
17219 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17220
20641b6b
CW
172212010-12-21 Colin Watson <cjwatson@ubuntu.com>
17222
17223 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17224 scratch area. Make sure to initialise chosen in standalone mode as
17225 well as non-standalone.
17226 Reported by: Robert Hooker and Andy Whitcroft.
17227 Tested by: Andy Whitcroft.
17228
d060ad60
CW
172292010-12-21 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17232 constructing a new unescaped string and passing it to grub_xputs in
17233 one go, rather than passing characters to grub_printf one at a time.
17234
b889cfad
CW
172352010-12-21 Colin Watson <cjwatson@ubuntu.com>
17236
17237 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17238 initialising utf16.
17239
4e01b6c8
CW
172402010-12-21 Colin Watson <cjwatson@ubuntu.com>
17241
17242 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17243 comment. Add an extra layer of quotation, requiring the output of
17244 this function to be used in a printf format string.
17245 (gettext_printf): New function.
17246 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17247 Extract translatable strings from here-documents and use a temporary
17248 variable instead, so that xgettext can find them.
17249 * util/grub.d/10_kfreebsd.in: Likewise.
17250 * util/grub.d/10_linux.in: Likewise.
17251 * util/grub.d/20_linux_xen.in: Likewise.
17252
17253 * po/grub.d.sed: New file.
17254 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17255 arguments. Set c-format flags on all strings extracted from
17256 util/grub.d/ (xgettext refuses to include these itself for strings
17257 it extracted from a shell file, but these really are c-format).
17258
5318fe98
VS
172592010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17262 Avoid next pointing to nowhere.
17263
6c85b743
VS
172642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17267 rather than assuming than rootblock is exactly in the middle.
17268 (grub_affs_label): Likewise.
17269
a2a08a35
VS
172702010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17273 reserved_first_sector to 0.
17274 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17275 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17276 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17277
7059d1ec
VS
172782010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 Fix handling of UTF-16 UDF labels.
17281
17282 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17283 (read_string): .. here.
17284 (grub_udf_label): Use read_string.
17285
30aff4cb
BC
172862010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17287
17288 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17289 editor under argument scope.
17290 Reported by: Jordan Uggla
17291
5cf86f4b
VS
172922010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17295
32570200
CW
172962010-12-18 Colin Watson <cjwatson@ubuntu.com>
17297
17298 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17299 line, and other keys scroll an entire page (previous handling was
17300 for \r and \n to scroll a page and other keys to scroll two lines).
17301
e1dffcf2
VS
173022010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17305 Set ptrdest to correct get_physical_target_address rather than
17306 incorrect get_virtual_current_address.
17307
b04298cf 173082010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17309
17310 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17311 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17312
5367ecd3
CW
173132010-12-10 Colin Watson <cjwatson@ubuntu.com>
17314
17315 * .bzrignore: Ignore grub-core/rs_decoder.S.
17316
1fb430f8
CW
173172010-12-10 Colin Watson <cjwatson@ubuntu.com>
17318
17319 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17320 .mo/.mo.gz opening sequence to ...
17321 (grub_mofile_open_lang): ... here.
17322 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17323 * util/grub.d/00_header.in (grub_lang): Include country part of
17324 locale.
17325 Reported by: Mario Limonciello.
17326
a94a6671
RM
173272010-12-09 Robert Millan <rmh@gnu.org>
17328
17329 * NEWS: Document addition of ZFS support.
17330
24b7938b
CW
173312010-12-04 Colin Watson <cjwatson@ubuntu.com>
17332
17333 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17334 rather than `/ 2', as the latter requires -Wa,--divide which would
17335 require bumping our minimum binutils version.
17336
bddc3ef6
BC
173372010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17338
17339 * util/grub-script-check.c (main): Print script line number on
17340 error.
17341
bf78d5b2
RM
173422010-12-01 Robert Millan <rmh@gnu.org>
17343
17344 * grub-core/fs/zfs/zfs.c: New file.
17345 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17346 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17347 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17348 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17349
17350 * include/grub/zfs/dmu.h: Likewise.
17351 * include/grub/zfs/dmu_objset.h: Likewise.
17352 * include/grub/zfs/dnode.h: Likewise.
17353 * include/grub/zfs/dsl_dataset.h: Likewise.
17354 * include/grub/zfs/dsl_dir.h: Likewise.
17355 * include/grub/zfs/sa_impl.h: Likewise.
17356 * include/grub/zfs/spa.h: Likewise.
17357 * include/grub/zfs/uberblock_impl.h: Likewise.
17358 * include/grub/zfs/vdev_impl.h: Likewise.
17359 * include/grub/zfs/zap_impl.h: Likewise.
17360 * include/grub/zfs/zap_leaf.h: Likewise.
17361 * include/grub/zfs/zfs.h: Likewise.
17362 * include/grub/zfs/zfs_acl.h: Likewise.
17363 * include/grub/zfs/zfs_znode.h: Likewise.
17364 * include/grub/zfs/zil.h: Likewise.
17365 * include/grub/zfs/zio.h: Likewise.
17366 * include/grub/zfs/zio_checksum.h: Likewise.
17367
17368 * Makefile.util.def: Build ZFS into libgrubmods.
17369 * grub-core/Makefile.core.def: Build zfs.mod.
17370
3f0f3831
SJ
173712010-11-30 Szymon Janc <szymon@janc.net.pl>
17372
17373 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17374 variable.
17375 * grub-core/commands/wildcard.c (match_files): Likewise.
17376
3a4253b2
RM
173772010-11-30 Robert Millan <rmh@gnu.org>
17378
17379 * grub-core/loader/i386/bsd.c
17380 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17381 whether kernel is loaded using grub_loader_is_loaded(), rather
17382 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17383 certain error conditions.
17384
8c317b27
RM
173852010-11-30 Robert Millan <rmh@gnu.org>
17386
c5c9cd3e
RM
17387 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17388 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17389
49d3ab46
VS
173902010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 Avoid using tricks for initialising endian variables.
17393
17394 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17395 Make const.
17396 (GRUB_MOD_INIT): Don't byte-swap.
17397 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17398 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17399 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17400 (grub_swap_bytes32_compile_time): Likewise.
17401 (grub_cpu_to_le32_compile_time): Likewise.
17402 (grub_cpu_to_le16_compile_time): Likewise.
17403
f420a804
VS
174042010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 * util/grub-setup.c (setup): Stop recommending --force. People who
17407 understand the dangers of blocklists are able to find this option
17408 anyway and the ones who don't shouldn't use it anyway.
17409
4e7db17b
RM
174102010-11-26 Robert Millan <rmh@gnu.org>
17411
17412 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17413 Update all users.
17414
9be57a0d
CW
174152010-11-26 Colin Watson <cjwatson@ubuntu.com>
17416
17417 Fix LVM-on-RAID probing.
17418
17419 * util/grub-probe.c (probe): Remember which disk was detected as
17420 RAID (perhaps an LVM physical volume). Use that disk's raidname
17421 rather than that of the top-level disk.
17422
2c7859b3 174232010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17424
d7647bb6
BC
17425 Fix cmdline argument quotes for setparams command of menuentry
17426 definitions.
7e623b0d
BC
17427
17428 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17429 quotes for arguments.
f866fe80 17430 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17431 grub_strchrsub function instead.
f866fe80 17432
7955bea0 17433 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17434
74f72a64
CW
174352010-11-24 Colin Watson <cjwatson@ubuntu.com>
17436
17437 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17438 effort by skipping "." and ".." entries up-front.
17439 Suggested by: Michael Lazarev.
17440
5a407278
CW
174412010-11-24 Colin Watson <cjwatson@ubuntu.com>
17442
17443 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17444 ldflags to ldadd, to fix link line ordering.
17445 (none_decompress): Likewise.
17446
3030d8ec
CW
174472010-11-24 Colin Watson <cjwatson@ubuntu.com>
17448
17449 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17450 platforms.
17451 (grub-emu-lite): Remove kern/emu/cache.S.
17452
b7fbac12
CW
174532010-11-23 Colin Watson <cjwatson@ubuntu.com>
17454
17455 * util/deviceiter.c (compare_devices): If the by-id link for a
17456 device couldn't be resolved, fall back to sorting by the by-id link
17457 rather than segfaulting.
17458 Reported and tested by: Daniel Mierswa.
17459
5225f328
CW
174602010-11-23 Colin Watson <cjwatson@ubuntu.com>
17461
17462 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17463 ldflags, to fix link line ordering.
17464
038b3ce8
CW
174652010-11-23 Colin Watson <cjwatson@ubuntu.com>
17466
17467 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17468 linkers are picky about this.
17469
bf16e98e
CW
174702010-11-23 Colin Watson <cjwatson@ubuntu.com>
17471
17472 * grub-core/Makefile.am (command.lst): Adjust sed expression
17473 ordering so that extended and priority commands aren't treated as
17474 ordinary commands.
17475
7242bab6
CW
174762010-11-23 Colin Watson <cjwatson@ubuntu.com>
17477
17478 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17479 Remove byte-swapping function calls, which are not valid in
17480 structure initialisers.
17481 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17482 non-const.
17483 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17484 grub_gpt_partition_type_bios_boot.
17485
14e8b279
CW
174862010-11-22 Colin Watson <cjwatson@ubuntu.com>
17487
17488 Fix test program build on GNU/kFreeBSD.
17489
17490 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17491 $(LIBNVPAIR)' library dependencies.
17492
e6f63338 174932010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17494
17495 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17496
cf8ffc38
CW
174972010-11-22 Colin Watson <cjwatson@ubuntu.com>
17498
17499 * util/grub-install.in: Remove excessive quoting that broke
17500 installations to RAID devices.
17501
7f8b0fd7
VS
175022010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17505 bootloader version instead of 0.
17506
dfd240b1
VS
175072010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17510 warning.
17511
7b61e609
VS
175122010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17515 retrieve the metadat sector if size isn't known.
17516 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17517
9dfe92d0
RM
175182010-11-18 Robert Millan <rmh@gnu.org>
17519
17520 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17521 with grub_memcmp().
17522
41cc919e
VS
175232010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17526 arrow.
17527 Reported by: Jordan Uggla.
17528
1afcc914
VS
175292010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 Make better UTF compliant.
17532
17533 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17534 sequences as incorrect.
17535 (grub_is_valid_utf8): Likewise.
17536 (grub_utf8_to_ucs4): Likewise.
17537 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17538 (grub_ucs4_to_utf8_alloc): Likewise.
17539 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17540
f1808884
VS
175412010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 Make legacy_source behave like source.
17544
17545 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17546 grub_show_menu.
17547 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17548
24ec575b
CW
175492010-11-16 Colin Watson <cjwatson@debian.org>
17550
17551 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17552 (-Wunused implies -Wunused-parameter, but not vice versa).
17553
72b7c7aa
CW
175542010-11-16 Colin Watson <cjwatson@ubuntu.com>
17555
17556 * configure.ac: Make error messages less confusing by testing for
17557 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17558 accepted, but produces a diagnostic if something else is wrong).
17559
e98937aa
VS
175602010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17563 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17564 (now unused).
17565 (grub_keyboard_controller_init)
17566 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17567 read the initial state since controller isn't inited yet.
17568
f6bbabc3
VS
175692010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17572 allocate_regbeg may need to create new chunk header.
17573
22e7dbb2
VS
175742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 Fix quoting in legacy parser.
17577
17578 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17579 single quotes.
17580 (grub_legacy_parse): Likewise.
17581 Reported by: Jordan Uggla.
17582 Tested by: Jordan Uggla.
17583
03f80960
VS
175842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 Don't add -lgcc on i386 and x86_64.
17587
17588 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17589 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17590 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17591
779dc15b
VS
175922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17593
17594 * configure.ac: Add -Wno-trampolines when supported.
17595
d20a3b37
MV
175962010-11-14 Modestas Vainius <modax@debian.org>
17597
17598 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17599 fakeraid.
17600
e5360933
GC
176012010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17602
17603 Add generic logical block size support for UDF.
17604
17605 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17606 (GRUB_UDF_BLKSZ): Removed.
17607 (struct grub_udf_data): New field "lbshift" to hold the logical block
17608 size of the file system in log2 format. All users updated.
17609 (sblocklist): Change type to unsigned.
17610 (grub_udf_mount): Change type of "sblklist" to unsigned.
17611 Move AVDP search before VRS recognition, because the latter requires
17612 knowledge of the logical block size, which is detected during the
17613 former.
17614 Detect and validate logical block size during AVDP search, adding
17615 support for block sizes 512, 1024 and 4096.
17616 Make VRS recognition independent of block size.
17617
cb0229c5
GC
176182010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17619
17620 Properly handle deleted files on UDF.
17621
17622 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17623 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17624 set.
17625
406858a8
GC
176262010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17627
17628 Support reading files larger than 2 GiB.
17629
17630 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17631 "offset" to grub_off_t.
17632 (grub_udf_read_file): Likewise for parameter "pos".
17633
130da6a7
VS
176342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17637 unavailable.
17638 (Simple configuration): Refer to Changes from GRUB Legacy about
17639 save_env availability.
17640
65e93f6b
VS
176412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * util/grub-install.in: Ignore empty partition table detection
17644 instead of trying to include part_ module.
17645
1fd08bf1
VS
176462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17649 LVM on RAID support.
17650
de1a024f
VS
176512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 Properly define WORDS_BIGENDIAN in wrapped environments.
17654
17655 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17656 definition.
17657 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17658
17659 Reported by: Manoel Rebelo Abranches.
17660 Tested by: Manoel Rebelo Abranches.
17661
bc5dd0b9
VS
176622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * util/grub-mkconfig.in: Fix quoting.
17665
58c184be
VS
176662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 Support big ext2 files.
17669
17670 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17671 (grub_ext2_read_block): Support triple indirect blocks.
17672 (grub_ext2_read_file): Use 64-bit types and read size_high.
17673 (grub_ext2_open): Read size_high.
17674 Reported by: Ximin Luo.
17675 Tested by: Manoel Rebelo Abranches.
17676
5f0c02b3
VS
176772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * util/grub-install.in: Handle filenames containing spaces.
17680 Reported by: Jordan Uggla.
17681 Tested by: Jordan Uggla.
17682
4417aae6
VS
176832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 * util/grub-mkconfig.in (grub_script_check): New variable.
17686 Use grub_script_check instead of grub-script-check.
17687 Reported by: Barry Jackson.
17688
7625a68e
VS
176892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 * docs/grub.texi (menu): Correct the order.
17692 Reported by: D. Hugh Redelmeier.
17693
10001ac5
VS
176942010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17697 jump.
17698
9c4cf53b
MRA
176992010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17700
10001ac5
VS
17701 * include/grub/elfload.h (grub_elf32_size): New parameter.
17702 All users updated.
9c4cf53b
MRA
17703 Return maximum segments alignment.
17704 (grub_elf64_size): Likewise.
17705 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17706 Return maximum segments alignment.
17707 (grub_elf64_size): Likewise.
17708 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17709 (grub_linux_claimmap_iterate): New function. Uses the
17710 "available" property in the "memory" node for memory allocation
17711 for kernel in the PowerPC loader.
9c4cf53b
MRA
17712 (grub_linux_load32): Correctly find linux entry point offset.
17713 (grub_linux_load64): Likewise.
17714
d2bf06bf
RM
177152010-11-07 Robert Millan <rmh@gnu.org>
17716
17717 On mips-yeeloong, build with -march=loongson2f when this flag is
17718 available (GCC >= 4.4).
17719 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17720 `-march=mips3'.
17721 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17722 or otherwise add -march=mips3.
17723
898c99a2
BC
177242010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17725
87220a68
BC
17726 Suppress shell expansion on echo '*' and echo "*" like cases.
17727 Reported by: Jordan Uggla.
898c99a2
BC
17728
17729 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17730 string arguments before shell expansion.
17731 * tests/grub_cmd_echo.in: New testcases.
17732
4f9b406a
RM
177332010-11-07 Robert Millan <rmh@gnu.org>
17734
17735 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17736 transition.
17737
80c6d25e
VS
177382010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * grub-core/kern/emu/hostdisk.c
17741 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17742
4a1a0153
VS
177432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17746 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17747 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17748
34706ddc
VS
177492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17752
6972dea9
VS
177532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 * util/grub-install.in: Replace useless recomendation to pass
17756 --modules with a recomendation to report a bug.
17757
9c693bd6
VS
177582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17759
17760 Properly register serial terminfo.
17761 Reported by: Jordan Uggla
17762
17763 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17764 const.
17765 (grub_serial_terminfo_output_template): Likewise.
17766 (grub_cmd_serial): Register "serial" with terminfo.
17767 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17768 grub_serial_terminfo_output.
17769
6c9e4c0c
RM
177702010-11-05 Robert Millan <rmh@gnu.org>
17771
17772 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17773 needed).
17774
b9b3839f
RM
177752010-11-05 Robert Millan <rmh@gnu.org>
17776
17777 On Yeeloong, pass machine type information to Linux.
17778
17779 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17780 (LOONGSON_MACHTYPE): New macro, set to
17781 "machtype=lemote-yeeloong-2f-8.9inches".
17782 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17783 additional argument to Linux.
17784
1a3aaff4
RM
177852010-11-04 Robert Millan <rmh@gnu.org>
17786
17787 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17788 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17789 (its SATA disks are detected as slaveless IDE master drives on
17790 kFreeBSD).
17791 Reported by Carsten Aulbert.
17792
a75f4f62
CW
177932010-11-02 Colin Watson <cjwatson@ubuntu.com>
17794
17795 * util/bin2h.c (main): Fix spelling error in generated output.
17796
33b4b0c6
GS
177972010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17798
17799 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17800
2b36fbf4
VS
178012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17804 vga= option is supplied.
17805
74aaf558
VS
178062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17807
17808 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17809 * util/grub.d/10_kfreebsd.in: Likewise.
17810 * util/grub.d/10_linux.in: Likewise.
17811 * util/grub.d/20_linux_xen.in: Likewise.
17812
6428dec3
VS
178132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17816 argument as an argument to no-argument option.
17817
f8729d98
VS
178182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * util/grub.d/10_linux.in: Add missing load_video with explicit
17821 GRUB_GFXPAYLOAD_LINUX.
17822
89d68fa6
VS
178232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17826
3a1197cd
VS
178272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17830 elements with invlid index.
17831 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17832 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17833 members.
17834 * include/grub/raid.h (grub_raid_member): New struct.
17835 (grub_raid_array): Transform devices and start_sector into usage of
17836 grub_raid_member. All users updated
17837 (allocated_devs): New member.
17838
71574288
VS
178392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17842 is modified
17843
8d40ec65
BC
178442010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17845
17846 NetBSD build fix for getline function conflict from gnulib.
17847
17848 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17849 components that depend on gnulib headers.
17850 (libgrubmods.a): Renamed from earlier libgrub.a.
17851 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17852
95b9257e
VS
178532010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17856 install rather than creating a broken install.
17857
26c53dc6
VS
178582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * util/grub-setup.c (argp): Remove misleading example of installing to
17861 a partition.
17862
4171b3c5
VS
178632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * util/grub-setup.c (setup): Clarify the error message.
17866
18568d18
VS
178672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17870
4f6a2e21
VS
178712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 * grub-core/kern/emu/misc.c
17874 (grub_make_system_path_relative_to_its_root)
17875 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17876
178772010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17878
17879 * grub-core/kern/emu/misc.c
17880 (grub_make_system_path_relative_to_its_root): Revert r2882.
17881
e138c458
VS
178822010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17885 useless field head. All users updated.
17886 (free_subchunk): Correct handling of IN_REGION subchunk.
17887
0cbcdf0e
CW
178882010-10-22 Colin Watson <cjwatson@ubuntu.com>
17889
17890 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17891 (Supported kernels): Likewise.
17892
b65ea155
GS
178932010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17894
17895 Make mktemp invocations portable.
17896
17897 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17898 exit if mktemp fails.
17899 * tests/grub_script_blockarg.in: Likewise.
17900 * tests/partmap_test.in: Likewise.
17901 * tests/util/grub-shell-tester.in: Likewise.
17902 * tests/util/grub-shell.in: Likewise.
17903 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17904 * Makefile.am: Likewise, and chain shell commands with `&&'
17905 instead of ';'.
17906 * util/grub-mkrescue.in: Use the same explicit template as above, and
17907 exit if mktemp fails.
17908
05f43cdd
BC
179092010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17910
17911 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17912 Linux kernel, reported by Dennis Schridde.
17913
800e6a9b
SJ
179142010-10-17 Szymon Janc <szymon@janc.net.pl>
17915
17916 * grub-core/normal/auth.c (grub_auth_check_authentication):
17917 Set-but-not-used variable removed.
17918
d82df574
VS
179192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17922 32-bit linux protocol.
17923
7bced458
VS
179242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17927 cursor shape for sanity.
17928
5b027690
VS
179292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * docs/grub.texi (Installation): Document buggy BIOS install.
17932
ba5f65cf
VS
179332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * docs/grub.texi (Installation): Indent.
17936
fdf2ec9c
VS
179372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 * util/grub-setup.c (setup): New parameter allow_floppy.
17940 (arguments): New member allow_floppy.
17941 (argp_parser): Handle --allow-floppy.
17942 (main): Pass allow_floppy.
17943 * util/grub-install.in: New option --allow-floppy passed though to
17944 grub-setup.
17945
861dfd4c
VS
179462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * util/grub-install.in: Handle partitionless disks.
17949
f77a8c24
VS
179502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 * util/grub-setup.c (setup): Don't clean blocklists before readability
17953 verfification.
17954
27d9ee32
VS
179552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * docs/grub.texi (Installation): Document embedding zone. Remove
17958 obsolete grub-install example.
17959
6bdda8f8
SJ
179602010-10-16 Szymon Janc <szymon@janc.net.pl>
17961
17962 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17963 Set-but-not-used variable ifdef'ed.
17964 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17965 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17966 variable removed.
17967 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17968 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17969 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17970 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17971 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17972 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17973 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17974 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17975 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17976 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17977 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17978 Likewise.
17979
e19b016b
VS
179802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17983 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17984 enum value.
17985
6c8d3002
VS
179862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17989 synonym to _S5_. Needed for some DSDTs.
17990
c32b51c9
VS
179912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 Userspace ACPI parser debugging.
17994
17995 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17996 headers and add relevant defines. Don't include standard headers.
17997 (main) [GRUB_DSDT_TEST]: New function.
17998 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17999 Don't declare functions.
18000
fbfbeb39
VS
180012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 Remove dead grub_efi_mm_fini.
18004
18005 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18006 (ALLOCATED_PAGES_SIZE): Likewise.
18007 (MAX_ALLOCATED_PAGES): Likewise.
18008 (allocated_pages): Likewise.
18009 (grub_efi_allocate_pages): Don't record allocated pages.
18010 (grub_efi_free_pages): Likewise.
18011 (grub_efi_mm_init): Likewise.
18012 (grub_efi_mm_fini): Removed.
18013
65f7ed7c
VS
180142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18017 (grub_efi_mm_init): Take into account the memory map size increase.
18018
24977b44
VS
180192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18022 (serial_hw_put): Wait based on real time rather than port reads. Don't
18023 roken ports.
18024 * include/grub/serial.h (grub_serial_port): New field broken.
18025
1eb01cd2
RM
180262010-10-16 Robert Millan <rmh@gnu.org>
18027
18028 * grub-core/kern/emu/misc.c
18029 (grub_make_system_path_relative_to_its_root): Fix premature return
18030 when processing non-root ZFS filesystems.
5f8b440b 18031 Reported by Sergio Talens-Oliag.
1eb01cd2 18032
2d5fed60
RM
180332010-10-15 Robert Millan <rmh@gnu.org>
18034
18035 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18036 guarantee compressed ones are processed first.
18037
d0f4c1ea
VS
180382010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18039
18040 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18041 grub_efiemu_autocore.
18042
d87c681f
VS
180432010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18046 rather than 0x1b.
18047 (grub_console_getkey): Use correct jae opcode rather than ja.
18048
219b3564
RM
180492010-10-12 Robert Millan <rmh@gnu.org>
18050
18051 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18052 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18053 variable. All references updated.
18054
18055 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18056
20c6bb7e
VS
180572010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 Correctly distinguish mdraid flavours.
18060
18061 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18062 (insert_array): New argument raid.
18063 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18064 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18065 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18066
74baff84
VS
180672010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18070 handling of special keys.
18071
3ef068df 180722010-10-02 Aleš Nesrsta <starous@volny.cz>
18073
c7980ad9
VS
18074 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18075 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18076
a9455194 180772010-10-02 Aleš Nesrsta <starous@volny.cz>
18078
c7980ad9
VS
18079 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18080 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18081 users updated.
a9455194 18082 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18083 Use right endpoint when querying descriptor.
a9455194 18084
441cfe65
VS
180852010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 Clear out 0x80 color bit on EFI.
18088 Tested by: decoder
18089 Reported by: decoder and meta tech.
18090
18091 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18092 (grub_console_setcolorstate): Clear out 0x80 bit.
18093 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18094 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18095 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18096
bf26bcc4
VS
180972010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18100 Set to "auto".
18101
6e3c515d
VS
181022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18103
18104 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18105 mo_file after freeing.
18106
e6d983ba
VS
181072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18110
74ccb5b5
VS
181112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18114 flags.
18115
17821956
VS
181162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18119 usage.
18120
ee74fa48
VS
181212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18124
18125 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18126 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18127 and terminfo.h when needed.
18128 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18129 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18130 (terminfo): Enable only on terminfokernel.
18131 (extcmd): Likewise.
18132 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18133 * include/grub/lib/arg.h: Likewise.
18134 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18135 incorrect usage of ->.
18136
aa438e68
VS
181372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18140 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18141
57994012
VS
181422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 Fix coreboot compilation.
18145
18146 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18147 Take VBE info into account even if only text is supported.
18148 (fill_vbe_info): Take into account the case when only VGA text
18149 is supported.
18150 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18151 on coreboot, multiboot and qemu.
18152
2a406611
VS
181532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18156 debug messages.
18157 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18158
d33613fc
VS
181592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18162 parameters.
18163
44a1b432
VS
181642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18167 if they were BSD-style.
18168
edde54e6
VS
181692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * grub-core/boot/i386/pc/lnxboot.S: Replace
18172 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18173 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18174
b65830fa
VS
181752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18176
18177 Write embedding zone using Reed-Solomon.
18178
18179 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18180 * grub-core/Makefile.am (rs_decoder.S): New target.
18181 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18182 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18183 (multiboot): Move to RS part.
18184 (post_reed_solomon): New label.
18185 (grub_boot_drive): Move to non-RS part since it's modified in memory
18186 on boot.
18187 Include rs_decoder.S.
18188 * grub-core/lib/reed_solomon.c: New file.
18189 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18190 New definition.
18191 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18192 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18193 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18194 * include/grub/partition.h (grub_partition_map): Change prototype of
18195 embed to allow returning additional sectors.
18196 * include/grub/reed_solomon.h: New file.
18197 * util/grub-setup.c (setup): Handle Reed-Solomon.
18198
0b4b227f
CW
181992010-09-28 Colin Watson <cjwatson@ubuntu.com>
18200
18201 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18202 i386 and x86-64 definedness tests.
18203
f772623b
YB
182042010-09-27 Yves Blusseau <blusseau@zetam.org>
18205
18206 Fix generation of kernel_syms.lst
18207
18208 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18209 ASM_PREFIX
18210
8e57a6ca
RM
182112010-09-26 Robert Millan <rmh@gnu.org>
18212
18213 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18214
18215 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18216 the pool is an array of devices, iterate through it and return the
18217 first device that passes a stat() test (instead of blindly returning
18218 the first one).
18219
f9130836
RM
182202010-09-26 Robert Millan <rmh@gnu.org>
18221
18222 Build fixes for GNU/kFreeBSD.
18223
18224 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18225 to programs that require ZFS conversion.
18226 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18227 kernels that don't have FLOPPY_MAJOR.
18228
96510faf
BC
182292010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18230
18231 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18232
449333eb
BC
182332010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18234
18235 Fix grub-emu build.
18236
18237 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18238 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18239 mdraid09 and mdraid1x.
18240
e1fd1939
CW
182412010-09-24 Colin Watson <cjwatson@ubuntu.com>
18242
18243 Re-enable grub-extras.
18244
18245 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18246 avoid confusing Automake. Run autogen only twice, once for the top
18247 level and once for grub-core. Add Makefile.util.def and
18248 Makefile.core.def from extra modules to the appropriate autogen
18249 invocations. If Makefile.common exists in an extra module, include
18250 it in both Makefile.util.am and grub-core/Makefile.core.am;
18251 similarly, include any Makefile.util.common file in Makefile.util.am
18252 and any Makefile.core.common file in grub-core/Makefile.core.am.
18253 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18254 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18255 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18256 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18257
18258 * gentpl.py (gvar_add): Turn GVARS into a set.
18259 (global_variable_initializers): Sort global variables on output.
18260 (vars_init): New function.
18261 (first_time): Likewise.
18262 (library): Ensure that non-global variable initialisations are
18263 emitted before the first time we emit code for a library block.
18264 Append to variables rather than setting them. Only emit
18265 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18266 each conditional path.
18267 (program): installdir() emits an Autogen macro, so must be passed to
18268 var_add rather than gvar_add.
18269 (data): Likewise.
18270 (script): Likewise.
18271 (rules): New function, centralising handling for different target
18272 types. Set up Guile association lists for first_time and vars_init,
18273 and send most output to a diversion so that variable initialisations
18274 can be emitted first.
18275 (module_rules): Use new rules function.
18276 (kernel_rules): Likewise.
18277 (image_rules): Likewise.
18278 (library_rules): Likewise.
18279 (program_rules): Likewise.
18280 (script_rules): Likewise.
18281 (data_rules): Likewise.
18282
18283 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18284
18285 * .bzrignore: Add contrib and grub-core/contrib. Remove
18286 grub-core/Makefile.gcry.am.
18287
1d12cf29
YB
182882010-09-24 Yves Blusseau <blusseau@zetam.org>
18289
18290 * grub-core/lib/LzFind.c: Add missing include.
18291 * grub-core/lib/LzmaEnc.c: Likewise.
18292 * grub-core/script/lexer.c: Likewise.
18293 * grub-core/script/yylex.l: Likewise.
18294 * util/grub-macho2img.c: Likewise.
18295 * util/grub-menulst2cfg.c: Likewise.
18296 * util/grub-mklayout.c: Likewise.
18297 * util/grub-mkpasswd-pbkdf2.c
18298 * util/grub-mkrelpath.c: Likewise.
18299 * util/resolve.c: Likewise.
18300
dd363028
BC
183012010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18302
18303 * Makefile.util.def (example_unit_test): Add
18304 grub-core/gnulib/libgnu.a.
18305
f5a109e2
GS
183062010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18307
18308 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18309
6d0fa83c
VS
183102010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 Support xz compression on yeeloong.
18313
18314 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18315 * configure.ac: Check for LZMA.
18316 * grub-core/Makefile.core.def (xz_decompress): New target.
18317 (none_decompress): Likewise.
18318 * grub-core/boot/decompressor/minilib.c: New file.
18319 * grub-core/boot/decompressor/none.c: Likewise.
18320 * grub-core/boot/decompressor/xz.c: Likewise.
18321 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18322 * grub-core/kern/mips/cache_flush.S: Likewise.
18323 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18324 * grub-core/kern/mips/startup.S: Move first stage to ...
18325 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18326 nomacro.
18327 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18328 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18329 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18330 Allocate statically.
18331 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18332 Allocate statically or use scratch. Don't check CRC32.
18333 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18334 Allocate statically. Don't check CRC32.
18335 * include/grub/decompressor.h: New file.
18336 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18337 Removed.
18338 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18339 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18340 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18341 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18342 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18343 * util/grub-mkimage.c (grub_compression_t): New type.
18344 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18345 (image_target_desc): New field default_compression.
18346 (image_targets): Adjust yeeloong targets.
18347 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18348 (compress_kernel): New parameter comp.
18349 (generate_image): Likewise. Handle new compression case.
18350 (options): New option --compression
18351 (help): Likewise.
18352 (main): Handle new option.
18353
1b655af6
GS
183542010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18355
18356 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18357
8f03f0b5
CW
183582010-09-22 Colin Watson <cjwatson@ubuntu.com>
18359
18360 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18361 typo in __i386__ conditional.
18362
7835dfd3
VS
183632010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18366 include.
18367
e255597e
VS
183682010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18369
6d0fa83c 18370 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18371
18372 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18373 new tags as supported.
18374 (acpiv2_size): New function.
18375 (grub_multiboot_get_mbi_size): Take new tags into account.
18376 (grub_multiboot_make_mbi): Add new tags.
18377 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18378
6cc14051 183792010-09-21 Aleš Nesrsta <starous@volny.cz>
18380
18381 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18382 Added missing configuration of USB device.
18383
df7769d8
CW
183842010-09-21 Colin Watson <cjwatson@ubuntu.com>
18385
18386 * grub-core/normal/menu_entry.c (run): Make sure we always return
18387 a value.
18388
b031012d
CW
183892010-09-21 Colin Watson <cjwatson@ubuntu.com>
18390
18391 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18392 NumberOfPages is UINT64 according to the UEFI specification, not
18393 UINTN. Fix printf format.
18394
174de8f3
CW
183952010-09-21 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18398 `err' to grub_usb_err_t.
18399 Reported and tested by: KESHAV P.R.
18400
d7dbe923
CW
184012010-09-21 Colin Watson <cjwatson@ubuntu.com>
18402
18403 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18404 tpart non-const, so that we can assign to it. (Since this is a
18405 typedef, the constness refers to the pointer rather than what it
18406 points to.)
18407
8d5e2af3
CW
184082010-09-21 Colin Watson <cjwatson@ubuntu.com>
18409
18410 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18411 $(top_srcdir)/grub-core/gnulib as well as
18412 $(top_builddir)/grub-core/gnulib.
18413 Reported by: KESHAV P.R.
18414
5c527783
CW
184152010-09-21 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * util/grub-install.in: Fix the bootloader ID option to be
18418 consistently --bootloader-id, not --bootloader_id.
18419 Reported by: KESHAV P.R.
18420
d309a16e
CW
184212010-09-21 Colin Watson <cjwatson@ubuntu.com>
18422
18423 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18424 check hash checksum." consistently translatable.
18425
b830cd16
YB
184262010-09-21 Yves Blusseau <blusseau@zetam.org>
18427
18428 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18429 $(top_builddir).
18430
c4fe27a8
CW
184312010-09-21 Colin Watson <cjwatson@ubuntu.com>
18432
18433 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18434 (GRUB_MOD_INIT): Register sha1sum command.
18435 (GRUB_MOD_FINI): Unregister sha1sum command.
18436
a4c1d277
YB
184372010-09-21 Yves Blusseau <blusseau@zetam.org>
18438
18439 Keep boot and grub directory names in sync with utils scripts
18440
18441 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18442 * config.h.in: Add previous macros.
18443 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18444 * util/grub-install.in: Use $bootdir and $grubdir variables.
18445
4eff79d2
CW
184462010-09-21 Colin Watson <cjwatson@ubuntu.com>
18447
18448 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18449 convert partition names to disk names if the new `convert' parameter
18450 is set.
18451 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18452 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18453 disk in its own right. This can happen with Xen disk images.
18454
934d7e44
YB
184552010-09-21 Yves Blusseau <blusseau@zetam.org>
18456
18457 * util/grub-editenv.c: Update strings to avoid warnings when generating
18458 grub.pot file.
18459 * util/grub-setup.c: Likewise.
934d7e44 18460
df3367cc
VS
184612010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * configure.ac: Change version to 1.99~beta0.
18464
77a94e98
VS
184652010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18468 Add BADRAM.
18469 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18470 Likewise.
18471 * include/multiboot.h: Resynced with specification.
18472 * include/multiboot2.h: Likewise.
18473
269004c1
CW
184742010-09-21 Colin Watson <cjwatson@ubuntu.com>
18475
18476 Fix po directory handling.
18477
18478 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18479 * grub-core/gnulib/Makefile.am: Import gettext module.
18480 * m4/gnulib-cache.m4: Likewise.
18481 * m4/gnulib-comp.m4: Likewise.
18482 * m4/gettext.m4: New file, from gnulib.
18483 * m4/glibc2.m4: Likewise.
18484 * m4/iconv.m4: Likewise.
18485 * m4/intdiv0.m4: Likewise.
18486 * m4/intl.m4: Likewise.
18487 * m4/intldir.m4: Likewise.
18488 * m4/intlmacosx.m4: Likewise.
18489 * m4/intmax.m4: Likewise.
18490 * m4/inttypes-pri.m4: Likewise.
18491 * m4/lcmessage.m4: Likewise.
18492 * m4/lib-ld.m4: Likewise.
18493 * m4/lib-link.m4: Likewise.
18494 * m4/lib-prefix.m4: Likewise.
18495 * m4/lock.m4: Likewise.
18496 * m4/nls.m4: Likewise.
18497 * m4/po.m4: Likewise.
18498 * m4/printf-posix.m4: Likewise.
18499 * m4/progtest.m4: Likewise.
18500 * m4/threadlib.m4: Likewise.
18501 * m4/uintmax_t.m4: Likewise.
18502 * m4/visibility.m4: Likewise.
18503 * po/Makefile.am: Remove.
18504 * po/Makefile.in.in: New file, from gettext.
18505 ($(DOMAIN).pot-update): Support POTFILES-shell.
18506 * po/Makevars: New file.
18507 * po/POTFILES-shell: Rename to ...
18508 * po/POTFILES-shell.in: ... this. Update.
18509 * po/POTFILES: Rename to ...
18510 * po/POTFILES.in: ... this. Update.
18511 * po/Rules-quot: New file, from gettext.
18512 * po/boldquot.sed: Likewise.
18513 * po/en@boldquot.header: Likewise.
18514 * po/en@quot.header: Likewise.
18515 * po/insert-header.sin: Likewise.
18516 * po/quot.sed: Likewise.
18517 * po/remove-potcdate.sin: Likewise.
18518
3e0fa5d0
VS
185192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18522
ade9bd66
VS
185232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * util/grub.d/20_linux_xen.in: Use submenus.
18526
fc55cc4c
VS
185272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 Support submenus.
18530
18531 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18532 parameter submenu. All users updated.
18533 * grub-core/normal/main.c (free_menu): Rename to ...
18534 (grub_normal_free_menu): ... this. Made global.
18535 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18536 if requested.
18537 * grub-core/normal/menu_entry.c (screen): New field submenu.
18538 (make_screen): Set submenu.
18539 (run): Open new context if requested.
18540 * include/grub/menu.h (grub_menu_entry): New field submenu.
18541 * include/grub/normal.h (grub_normal_free_menu): New proto.
18542
600cedf7
VS
185432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 Menu entries extractor.
18546
18547 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18548 variants.
18549 (GRUB_MOD_INIT): Register new variants.
18550 (GRUB_MOD_FINI): Unregister new variants.
18551 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18552 into grub_cmd_legacy_source.
18553 (grub_cmd_legacy_source): Implement extractor variants.
18554 (GRUB_MOD_INIT): Register new variants.
18555 (GRUB_MOD_FINI): Unregister new variants.
18556 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18557 as an extractor.
18558 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18559 search as an extractor.
18560 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18561 test as an extractor.
18562 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18563 as an extractor.
18564 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18565 (grub_env_new_context): New function.
18566 (grub_env_context_open): Likewise.
18567 (grub_env_extractor_open): Likewise.
18568 (grub_env_extractor_close): Likewise.
18569 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18570 grub_extractor_level.
18571 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18572 * include/grub/env.h (grub_env_extractor_open): New proto.
18573 (grub_env_extractor_close): Likewise.
18574 * include/grub/normal.h (grub_extractor_level): New external variable.
18575
7bda3a87
VS
185762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 Make cutmem accept a region specification.
18579 Suggested by: Samuel Thibault
18580
18581 * grub-core/mmap/mmap.c (parsemem): New function.
18582 (grub_cmd_cutmem): Handle new arguments.
18583
2ea57f88
VS
185842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 New command cutmem.
18587
18588 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18589 (GRUB_MOD_INIT): Register new command.
18590 (GRUB_MOD_FINI): Unregister new command.
18591
74342e31
VS
185922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 Support some annoying BSD and Minix subpartitions.
18595
18596 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18597 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18598 Properly handle concatenation.
18599 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18600 * grub-core/normal/completion.c (iterate_partition): Likewise.
18601 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18602 contain partition. All users updated.
18603 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18604 struct.
18605 (grub_openbsdlabel_partition_map): Likewise.
18606 (bsdlabel_partition_map_iterate): Rename to ..
18607 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18608 (bsdlabel_partition_map_iterate): New function.
18609 (netopenbsdlabel_partition_map_iterate): Likewise.
18610 (netbsdlabel_partition_map_iterate): Likewise.
18611 (openbsdlabel_partition_map_iterate): Likewise.
18612 (GRUB_MOD_INIT): Register new partmaps.
18613 (GRUB_MOD_FINI): Unregister new partmaps.
18614 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18615 (grub_partition_msdos_iterate): ... this. All users updated.
18616 Don't support embedding other than in a minix partition.
18617 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18618 proto.
18619 * include/grub/partition.h (grub_partition): New field msdostype.
18620 * util/grub-install.in: Handle openbsd and netbsd types being in
18621 part_bsd module.
18622
1e8d555b
VS
186232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18626
18627 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18628 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18629 (mdraid09): ... this.
18630 (mdraid1x): New module.
18631 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18632 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18633
899d8af4
VS
186342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18637 vsprintf.
18638
40901acd
CW
186392010-09-20 Colin Watson <cjwatson@ubuntu.com>
18640
18641 * grub-core/commands/efi/lsefimmap.c: Correct header.
18642 * NEWS: Update.
18643
dfe3b247
CW
186442010-09-20 Colin Watson <cjwatson@ubuntu.com>
18645
18646 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18647 as printf format strings; the translations might contain '%' which
18648 could cause a crash.
18649 (main): Likewise.
18650 * util/grub-fstest.c (argp_parser): Likewise.
18651 * util/grub-setup.c (argp_parser): Likewise.
18652 (main): Likewise.
18653
3286a4b4
VS
186542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18655
18656 Use argp in grub-fstest.
18657
18658 * util/grub-fstest.c: Don't include getopt.h.
18659 Include argp.h.
18660 (root): New variable.
18661 (args_count): Likewise.
18662 (nparm): Likewise.
18663 (num_disks): Likewise.
18664 (images): Likewise.
18665 (cmd): Likewise.
18666 (debug_str): Likewise.
18667 (args): Likewise.
18668 (options): Transformed to argp.
18669 (usage): Removed.
18670 (main): Split argument parsing into ...
18671 (argp_parser): ... this. Changed to argp format.
18672 (argp): New variable.
18673 (main): Use argp_parse.
18674
3dccbe4b
TG
186752010-09-20 Tristan Gingold <gingold@free.fr>
186762010-09-20 Robert Millan <rmh.grub@aybabtu.com>
186772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/commands/efi/lsefimmap.c: New file.
18680 * grub-core/Makefile.core.def (lsefimmap): New module.
18681 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18682
38c259a7
VS
186832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 Pause the execution (10s max) if any errors are displayed so the user
18686 has a chance to see them.
18687
18688 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18689 (grub_print_error): Increment grub_err_printed_errors.
18690 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18691 execution if any errors were displayed.
18692 (show_menu): Remove old code for pause.
18693 * grub-core/normal/menu_entry.c (run): Likewise.
18694 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18695 users updated.
18696 (grub_normal_get_char_counter): Likewise.
18697 * include/grub/err.h (grub_err_printed_errors): New external variable.
18698 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18699
f218b09c
VS
187002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 Support multiboot VBE info.
18703
18704 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18705 Take VBE info into account.
18706 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18707 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18708 Call fill_vbe_info when appropriate.
18709 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18710 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18711 as supported.
18712 (grub_multiboot_get_mbi_size): Take new tags into account.
18713 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18714 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18715 Call fill_vbe_tag when appropriate.
18716 (grub_multiboot_make_mbi): Properly align tags.
18717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18718 function.
18719 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18720 proto.
18721 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18722
a9cc5438
VS
187232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 Suport manual terminal geometry specification.
18726
18727 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18728 Save state in grub_ofconsole_terminfo_output.
18729 (grub_ofconsole_term): Use grub_terminfo_getwh.
18730 (grub_ofconsole_getwh): Removed.
18731 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18732 (grub_serial_term): Use grub_terminfo_getwh.
18733 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18734 (options): New struct.
18735 (OPTION_*): New enum.
18736 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18737 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18738 width and height.
18739 (grub_terminfo_getwh): New proto.
18740 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18741
1a8fed20
VS
187422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 Handle legacy "terminal" command.
18745
18746 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18747 and FLAG_TERMINAL.
18748 (legacy_commands): Add terminal and title.
18749 (grub_legacy_parse): Handle terminal. Simplify title handling.
18750
41e9c57d
VS
187512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18754 parameters overflow.
18755
61c874c5
CW
187562010-09-20 Colin Watson <cjwatson@ubuntu.com>
18757
18758 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18759 widthspec.h.
18760
18761 * docs/grub.texi (Shell-like scripting): Document `!'.
18762 (Network): Simplify using new i386-pc-pxe format. Mention
18763 grub-mknetdir.
18764
18765 * NEWS: Update.
18766
943682b4
CW
187672010-09-20 Colin Watson <cjwatson@ubuntu.com>
18768
18769 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18770 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18771 when needed.
18772
6d3d698d
CW
187732010-09-20 Colin Watson <cjwatson@ubuntu.com>
18774
18775 * grub-core/commands/efi/lsefisystab.c: Correct header.
18776 * grub-core/commands/efi/lssal.c: Likewise.
18777 * grub-core/commands/testload.c: Likewise.
18778
c982589f
CW
187792010-09-20 Colin Watson <cjwatson@ubuntu.com>
18780
18781 * util/grub-mkrescue.in: Add explicit root argument to --set to
18782 prevent the UUID being interpreted as an argument to --set (matches
18783 previous change to prepare_grub_to_access_device).
18784
a63c31b6
CW
187852010-09-20 Colin Watson <cjwatson@ubuntu.com>
18786
18787 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18788 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18789 the verbosity of later #ifs.
18790 (find_partition_start): Define this function on FreeBSD too.
18791 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18792 function.
18793 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18794 on FreeBSD.
18795
6439b8ee
YB
187962010-09-20 Yves Blusseau <blusseau@zetam.org>
18797
18798 * util/grub-editenv.c: Use argp instead of getopt.
18799
c5930ec8
YB
188002010-09-20 Yves Blusseau <blusseau@zetam.org>
18801
18802 * util/grub-setup.c: Use argp instead of getopt.
18803
15c69261
YB
188042010-09-20 Yves Blusseau <blusseau@zetam.org>
18805
18806 Use gnulib-tool to create gnulib source files.
18807
18808 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18809 grub-core/gnulib directories
18810 * .bzignore: Add **/.deps and autogenerated gnulib files
18811 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18812 of gnulib macros, add grub-core/gnulib/Makefile
18813 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18814 include m4 directory to aclocal.
18815 * Makefile.util.def: Remove direct compilation of gnulib source files
18816 and use the new grub-core/gnulib/libgnu.a.
18817 * build-aux/config.rpath: move config.rpath from top directory to
18818 build-aux
18819 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18820 in gnulib headers
18821 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18822 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18823 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18824 header.
18825 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18826 string.
18827
e511c9f5
YB
188282010-09-20 Yves Blusseau <blusseau@zetam.org>
18829
18830 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18831 grub-core/genmod.sh and grub-core/gensyminfo.sh
18832
c2dede05
BC
188332010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18834
18835 Add a test for echo command options.
18836
18837 * tests/grub_cmd_echo.in: New test.
18838 * Makefile.util.def: Rules for new test.
18839
c55f5018
SJ
188402010-09-20 Szymon Janc <szymon@janc.net.pl>
18841
18842 Remove crc.mod and move crc command to hashsum.mod.
18843 Remove lib/crc.c - users updated to use gcrypt implementation.
18844
18845 * grub-core/commands/crc.c: Removed.
18846 * grub-core/Makefile.core.def (crc): Module removed.
18847 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18848 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18849 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18850 * grub-core/lib/crc.c: Removed.
18851 * include/grub/lib/crc.h: Removed.
18852 * Makefile.util.def (crc): Remove lib/crc.c
18853 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18854 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18855 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18856 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18857 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18858 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18859
e0337366
VS
188602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18863
742f9232
VS
188642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Split config.h for util and core.
18867
18868 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18869 (ADDR32): Likewise.
18870 (DATA32): Likewise.
18871 (BSS_START_SYMBOL): Likewise.
18872 (END_SYMBOL): Likewise.
18873 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18874 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18875 * config.h.in: New file.
18876 * configure.ac: Use config-util.h as config define file.
18877 Rename MACHINE into GRUB_MACHINE. All users updated.
18878 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18879 updated.
18880 (NESTED_FUNC_ATTR): Likewise.
18881 Substitue new variables.
18882 (COND_HAVE_ASM_USCORE): New conditional.
18883 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18884 (kernel_syms.lst): Use ASM_PREFIX.
18885 * grub-core/kern/emu/console.c: Include config-util.h.
18886 * grub-core/kern/emu/misc.c: Likewise.
18887 * grub-core/kern/emu/mm.c: Likewise.
18888 * include/grub/emu/misc.h: Likewise.
18889 * include/grub/libgcc.h: Likewise.
18890
39feb0e8
VS
188912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18894 constants usage.
18895 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18896 Fix GRUB_TERM_KEY_* constants usage.
18897 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18898
9af6dac3
VS
188992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18902 print pointer.
18903 * grub-core/bus/usb/uhci.c: Remove empty define.
18904 (grub_uhci_check_transfer): Add missing cast.
18905 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18906 print pointer.
18907 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18908 PRIuGRUB_SIZE.
18909 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18910
d6d94820
VS
189112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * grub-core/Makefile.core.def (legacycfg): Add
18914 lib/i386/pc/vesa_modes_table.c on emu.
18915
3572f2b6
BC
189162010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18917
18918 Reduce number of temporary files generated by build system.
18919
18920 * grub-core/gencmdlist.sh: Removed.
18921 * grub-core/genfslist.sh: Removed.
18922 * grub-core/genhandlerlist.sh: Removed.
18923 * grub-core/genmodsrc.sh: Removed.
18924 * grub-core/genpartmaplist.sh: Removed.
18925 * grub-core/genparttoollist.sh: Removed.
18926 * grub-core/gentermiinallist.sh: Removed.
18927 * grub-core/genvideolist.sh: Removed.
18928
18929 * grub-core/genmod.sh.in: New file.
18930 * grub-core/gensyminfo.sh.in: New file.
18931
18932 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18933 * conf/Makefile.extra-dist: Update with new files.
18934 * gentpl.py: Remove rules related to unnecessary temporary files.
18935 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18936 and und-* files.
18937 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18938 genmod.sh scripts.
18939 * grub-core/bus/usb/uhci.c: Remove empty #define.
18940 * grub-core/genmoddep.awk: Updated with new syminfo format.
18941 * util/bash-completion.d/Makefile.am: Add config.log to
18942 CLEANFILES.
18943
c836b030
YB
189442010-09-19 Yves Blusseau <blusseau@zetam.org>
18945
18946 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18947
2f4e8053
BC
189482010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18949
18950 * util/grub-mkconfig.in: Check the config script for syntax errors
18951 before saving.
18952
75831c34
CW
189532010-09-19 Colin Watson <cjwatson@ubuntu.com>
189542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18957 platforms.
18958 * util/grub-install.in: Add EFI and IEEE1275 support.
18959 * util/i386/efi/grub-install.in: Removed.
18960 * util/ieee1275/grub-install.in: Likewise.
18961
eaf41b25
VS
189622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18965 (grub_cmd_cmosclean): Likewise.
18966 (GRUB_MOD_INIT): Register command cmosclean.
18967 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18968 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18969
1a9130dd
CPE
189702010-09-18 Carles Pina i Estany <carles@pina.cat>
189712010-09-18 Aleš Nesrsta <starous@volny.cz>
189722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 Add keyboard layouts support.
18975
18976 * Makefile.util.def (grub-mklayout): New file.
18977 (grub-kbdcomp): New script.
18978 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18979 Add keyboard_layouts.h.
18980 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18981 commands/boot.c on yeeloong.
18982 (keylayouts): New module.
18983 * grub-core/bus/usb/ohci.c
18984 * grub-core/bus/usb/uhci.c
18985 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18986 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18987 (attach_root_port): Likewise.
18988 (poll_nonroot_hub): Likewise.
18989 (grub_usb_poll_devices): Likewise.
18990 (detach_device): Close transfer.
18991 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18992 function.
18993 (grub_usb_bulk_setup_readwrite): Likewise.
18994 (grub_usb_bulk_finish_readwrite): Likewise.
18995 * grub-core/commands/keylayouts.c: New file.
18996 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18997 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18998 aliases.
18999 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19000 support scancode 2.
19001 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19002 * include/grub/keyboard_layouts.h: New file.
19003 * util/grub-mklayout.c: New file.
19004 * util/grub-kbdcomp.in: Likewise.
19005
a1d84a5e
VS
190062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 Unify memory types.
19009
19010 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19011 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19012 types.
19013 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19014 (grub_upper_mem): Likewise.
19015 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19016 * include/grub/memory.h (grub_memory_type_t): New enum.
19017 All users updated.
19018
9696382e
VS
190192010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/Makefile.core.def (lsapm): New module.
19022 * grub-core/commands/i386/pc/lsapm.c: New file.
19023 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19024 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19025 Likewise.
19026 * include/grub/i386/pc/apm.h: New file.
19027 * include/multiboot.h (multiboot_apm_info): New struct.
19028
190292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 GRUB-legacy configuration file support.
19032
19033 * Makefile.util.def (grub-menulst2cfg): New util.
19034 * docs/man/grub-menulst2cfg.h2m: New file.
19035 * grub-core/Makefile.core.def (legacycfg): New module.
19036 * grub-core/commands/legacycfg.c: New file.
19037 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19038 (grub_normal_add_menu_entry): ... this.
19039 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19040 (grub_normal_set_password): ...this.
19041 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19042 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19043 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19044 * grub-core/lib/legacy_parse.c: New file.
19045 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19046 * include/grub/i386/pc/vesa_modes_table.h: New file.
19047 * include/grub/legacy_parse.h: Likewise.
19048 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19049 * util/grub-menulst2cfg.c: New file.
19050
bf8d1338
CW
190512010-09-17 Colin Watson <cjwatson@ubuntu.com>
19052
19053 * grub-core/kern/emu/hostdisk.c
19054 (convert_system_partition_to_system_disk): Initialise node.
19055
9c0bad2e
CW
190562010-09-17 Colin Watson <cjwatson@ubuntu.com>
19057
19058 * grub-core/kern/emu/hostdisk.c
19059 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19060 leak.
19061 Reported and based on patch by: Modestas Vainius.
19062
a939d135
CW
190632010-09-17 Colin Watson <cjwatson@ubuntu.com>
19064
19065 Fix DM-RAID probing with recent versions of device-mapper udev
19066 rules.
19067
19068 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19069 canonicalise device paths under /dev/mapper/.
19070 (convert_system_partition_to_system_disk): Compare the
19071 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19072 path, since device nodes under /dev/mapper/ are often symlinks.
19073
0f7ee3c9
YB
190742010-09-17 Yves Blusseau <blusseau@zetam.org>
19075
19076 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19077
10854d0d
YB
190782010-09-16 Yves Blusseau <blusseau@zetam.org>
19079
19080 * configure.ac: Avoid some annoying error messages if freetype-config
19081 program is not found.
19082
108538d8
CW
190832010-09-16 Colin Watson <cjwatson@ubuntu.com>
19084
19085 Support RAID on virtio devices, and others.
19086
19087 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19088 Rename to ...
19089 [__MINGW32__] (grub_find_device): ... this.
19090 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19091 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19092 reasonable default if dir is NULL.
19093 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19094 ...
19095 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19096 (grub_guess_root_device): Update callers.
19097 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19098
19099 * util/raid.c (grub_util_getdiskname): Remove.
19100 (grub_util_raid_getmembers): Use grub_find_device rather than
19101 grub_util_getdiskname.
19102
e5bfc130
CW
191032010-09-16 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19106 needing to be compiled with serial support.
19107 (ls): Indicate that multiple files are accepted.
19108 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19109 indicate that multiple files are accepted.
19110
be458ae2
CW
191112010-09-16 Colin Watson <cjwatson@ubuntu.com>
19112
19113 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19114 libgrub_a_init.c, and util/bash-completion.d/grub.
19115
cb731b5e
VS
191162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * util/grub-setup.c (setup): Fix incorrect container semantics.
19119
35139e8a
VS
191202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19123 misusage.
19124 Reported by: J. Nick Terry
19125
e50fca4a
VS
191262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 Move embedding routines to partmap sources files.
19129
19130 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19131 [GRUB_UTIL]: New variable.
19132 (gpt_partition_map_iterate): Set part.parent.
19133 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19134 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19135 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19136 New function.
19137 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19138 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19139 (grub_partition_map) [GRUB_UTIL]: New field embed.
19140 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19141 (setup): Use ->embed.
19142
f00478b7
VS
191432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19146 function.
19147 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19148 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19149
2b94e3ff
YB
191502010-09-15 Yves Blusseau <blusseau@zetam.org>
19151
19152 Add function to get completions from usage.
19153
19154 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19155 completions from usage. Use LC_ALL=C to get options properly.
19156
2e04a006
VS
191572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * grub-core/gnulib/basename-lgpl.c: Imported.
19160 * grub-core/gnulib/basename.c: Likewise.
19161 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19162 * grub-core/gnulib/dirname.c: Likewise.
19163 * grub-core/gnulib/dirname.h: Likewise.
19164 * grub-core/gnulib/stripslash.c: Likewise.
19165
5dcdf93a
VS
191662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * grub-core/gnulib/error.c: Resynced.
19169 * grub-core/gnulib/getopt.c: Likewise.
19170 * grub-core/gnulib/getopt_int.h: Likewise.
19171 * grub-core/gnulib/regex.h: Likewise.
19172 * grub-core/gnulib/regex_internal.c: Likewise.
19173 * grub-core/gnulib/regex_internal.h: Likewise.
19174
014f47b7
SJ
191752010-09-15 Szymon Janc <szymon@janc.net.pl>
19176
19177 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19178 CRC calculations and validity checks.
19179 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19180 calculations.
19181
dd521a4a
SJ
191822010-09-15 Szymon Janc <szymon@janc.net.pl>
19183
19184 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19185
79c4eeb9
VS
191862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 Fix incorrect echo options handling.
19189 Reported by: Yves Blusseau.
19190
19191 * include/grub/command.h (grub_command_flags_t): New flags
19192 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19193 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19194 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19195
ed80f7d5
VS
191962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19199 users updated.
19200 (GRUB_COMMAND_FLAG_MENU): Likewise.
19201 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19202 (GRUB_COMMAND_FLAG_TITLE): Removed.
19203 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19204 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19205 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19206 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19207 (grub_command_flags_t): New enum. All users updated.
19208
5fe7620a
SG
192092010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19210
19211 Fix solaris compilation.
19212
19213 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19214 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19215 (grub-emu-list): Likewise.
19216
545b752f
VS
192172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 Remove deprecated root command.
19220
19221 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19222 updated.
19223
6c1a338c
VS
192242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 * util/i386/pc/grub-setup.c: Merge this ...
19227 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19228 * util/grub-setup.c: ... into this.
19229 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19230 New struct.
19231
192322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19235 possible.
19236
d2ea4551
VS
192372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19240 allocate p.
19241
3c3b5040
VS
192422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19245 explicit root argument to set to prevent UUID to be interpreted as
19246 argument to set.
19247
b71c3fae
VS
192482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19251
275433e6
VS
192522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 Don't export grub_gate_a20.
19255
19256 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19257 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19258 to ...
19259 (grub_gate_a20): ... this. All users updated.
19260 * include/grub/i386/pc/init.h: Removed. All users updated.
19261
a5dbb1f1
VS
192622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 Create euro.pf2 which supports most European languages.
19265
19266 * Makefile.am (grubdata_DATA): Add euro.pf2.
19267 (euro.pf2): New target.
19268 (CLEANFILES): Add euro.pf2.
19269
62a747cb
VS
192702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 * configure.ac: Disable emu-usb by default to prevent inadvertent
19273 device takeover.
19274
608e43b1
VS
192752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 Disable usbserial on grub-emu since our libusb code isn't good enough
19278 yet.
19279
19280 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19281 (usbserial_pl2303): Likewise.
19282 (usbserial_ftdi): Likewise.
19283
94564f81
VS
192842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 * include/grub/disk.h (grub_disk): Remove has_partitions.
19287 All users updated.
19288 * disk/loopback.c (grub_loopback): Remove has_partitions.
19289 All users updated.
19290 (options): Remove partitions. All users updated.
19291 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19292 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19293 actual partition table is found.
19294
3352800b
VS
192952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 Remove readability checks (too many false negatives).
19298
19299 * util/grub-install.in: Remove readability checks.
19300 * util/grub-mkconfig.in: Likewise.
19301 * util/grub.d/10_hurd.in: Likewise.
19302 * util/grub.d/10_kfreebsd.in: Likewise.
19303 * util/grub.d/10_linux.in: Likewise.
19304 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19305 way.
19306
2419f17a
VS
193072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19308
19309 Enable acpi shutdown on all ACPI platforms.
19310
19311 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19312 on coreboo, multiboot and EFI.
19313 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19314 (grub_acpi_halt): Likewise.
19315 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19316 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19317 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19318 * grub-core/lib/i386/halt.c (grub_halt)
19319 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19320
0575c7c3
VS
193212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19324 context.
19325
54ac3cd1
VS
193262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19329 * grub-core/video/efi_uga.c: Likewise.
19330
b2a30ac5
VS
193312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 Filter devaliases and never open same device twice.
19334
19335 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19336 (last_ihandle): Likewise.
19337 (ofdisk_hash_ent): New member shortest.
19338 (ofdisk_hash_add): Add canonical path too.
19339 (scan): New function.
19340 (grub_ofdisk_iterate): Iterate over hashed entries.
19341 (compute_dev_path): Don't add :0.
19342 (grub_ofdisk_open): Don't really open the disk.
19343 (grub_ofdisk_close): Avoid closing unrelated disk.
19344 (grub_ofdisk_read): Implement reopen logic.
19345 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19346 New function.
19347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19348 New proto.
19349
fb53b340
VS
193502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 Fix sparc64.
19353
19354 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19355 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19356 right address. Add sparc64_ieee1275_ldflags.
19357 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19358 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19359 to grub_host_to_target_addr
19360 (load_image): Likewise.
19361
f452b040
VS
193622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * grub-core/normal/completion.c (complete_file): Handle device
19365 containing slash.
19366 Fix based on patch by Doug Nazar.
19367
9b5b2541
VS
193682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 grub-mknetdir script.
19371
19372 * Makefile.util.def (grub-mknetdir): New module.
19373 * tests/util/grub-shell.in: Support boot=net
19374 * util/grub-mknetdir.in: New file.
19375
9d2be652
VS
193762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 videoinfo on non-vbe.
19379
19380 * grub-core/Makefile.core.def (vbeinfo): Removed.
19381 (vbetest): Removed.
19382 (videoinfo): New module.
19383 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19384 * grub-core/commands/i386/pc/vbetest.c: Removed.
19385 * grub-core/commands/videoinfo.c: New file.
19386 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19387 specification.
19388 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19389 as vbetest.
19390 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19391 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19392 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19393 mode_number. New parameter mode. All users updated.
19394 (grub_video_gop_iterate): New function.
19395 (grub_video_efi_gop): New member iterate.
19396 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19397 (grub_vbe_set_video_mode): Remove setting useless fields.
19398 (vbe2videoinfo): New function.
19399 (grub_video_vbe_iterate): Likewise.
19400 (grub_video_vbe_setup): Use vbe2videoinfo.
19401 (grub_video_vbe_print_adapter_specific_info): New function.
19402 (grub_video_vbe_adapter): New fields iterate and
19403 print_adapter_specific_info.
19404 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19405 All users updated.
19406 (grub_video_mode_info): New field mode_number.
19407 (grub_video_adapter): New fields iterate and
19408 print_adapter_specific_info.
19409
179503f5
TG
194102010-09-13 Tristan Gingold <gingold@free.fr>
194112010-09-13 Robert Millan <rmh.grub@aybabtu.com>
194122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 * grub-core/commands/efi/lsefisystab.c: New file.
19415 * grub-core/commands/efi/lssal.c: Likewise.
19416 * grub-core/Makefile.core.def (lsacpi): New module.
19417 (lsefisystab): Likewise.
19418 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19419 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19420 (grub_efi_sal_system_table): New struct.
19421 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19422 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19423 (grub_efi_sal_system_table_platform_features): Likewise.
19424 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19425 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19426 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19427 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19428
cf9827de
VS
194292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 Support explicit user claim that a device is BIOS-visible.
19432
19433 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19434 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19435 * grub-core/kern/emu/hostdisk.c
19436 (convert_system_partition_to_system_disk): Support mdX.
19437 (find_system_device): New parameter add. All users updated.
19438 (grub_util_biosdisk_is_present): New function.
19439 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19440 proto.
19441
53f0eb1f
VS
194422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 Search hints support.
19445
19446 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19447 All users updated.
19448
b23ffd70
YB
194492010-09-13 Yves Blusseau <blusseau@zetam.org>
19450
19451 Bash completion script for util commands
19452
19453 * Makefile.am: Add util/bash-completion.d directory
19454 * configure.ac: Likewise.
19455 * util/bash-completion.d/Makefile.am: New file.
19456 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19457
d547dc28
VS
194582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19461 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19462 Reported by: Yves Blusseau.
19463
2fc8ccb9
VS
194642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19467 partition size and offset.
19468
d8a84076
VS
194692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19472
84fb3b3d
VS
194732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19476
768ec2e2
VS
194772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19480 (grub_xvasprintf): Likewise.
19481
4870900f
VS
194822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19485
faca6bec
VS
194862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19489 args ending with NULL.
19490
194912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19492
19493 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19494 pointer.
19495
3c70f225
SJ
194962010-09-11 Szymon Janc <szymon@janc.net.pl>
19497
19498 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19499
4df7996d
VS
195002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 Shutdown using ACPI.
19503
19504 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19505 * grub-core/commands/acpihalt.c: New file.
19506 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19507 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19508 (grub_acpi_halt): New proto.
19509 (GRUB_ACPI_SLP_EN): New const.
19510 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19511 (GRUB_ACPI_OPCODE_*): New enum.
19512 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19513
126b4c32
TG
195142010-09-11 Tristan Gingold <gingold@free.fr>
195152010-09-11 Robert Millan <rmh.grub@aybabtu.com>
195162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 * commands/lsacpi.c: New file.
19519 * grub-core/Makefile.core.def (lsacpi): New module.
19520 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19521 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19522 (grub_acpi_madt_entry_header): New struct.
19523 (grub_acpi_madt): Likewise.
19524 (grub_acpi_madt_entry_interrupt_override): Likewise.
19525 (grub_acpi_madt_entry_sapic): Likewise.
19526 (grub_acpi_madt_entry_lsapic): Likewise.
19527 (grub_acpi_madt_entry_platform_int_source): Likewise.
19528 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19529 (PRIuGRUB_UINT32_T): Likewise.
19530 (PRIxGRUB_UINT64_T): Likewise.
19531
1aa4fe88
VS
195322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 Implement loading palette on ieee1275_fb.
19535
19536 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19537 (have_setcolors): Likewise.
19538 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19539 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19540 (grub_video_ieee1275_set_palette): Implement.
19541
25761e13
VS
195422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
195432010-09-11 Colin Watson <cjwatson@ubuntu.com>
19544
19545 * util/grub-install.in (grub_partition): New variable.
19546 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19547 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19548 Fixes a bug reported by Yves Blusseau.
19549
050abaea
VS
195502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 Fix emu on mipsel.
19553
19554 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19555 =grub_cpu_flush_cache on all mips and not only yeeloong.
19556 * configure.ac (COND_mips): New conditional.
19557 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19558 platforms.
19559 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19560 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19561 [GRUB_LINKER_HAVE_INIT]: New function.
19562 (grub_emu_post_init): Likewise.
19563 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19564 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19565 * include/grub/cache.h (_mips): Include mips/cache.h.
19566 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19567 LVM and RAID prototypes.
19568 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19569 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19570 function.
19571
5ed7d816
CW
195722010-09-10 Colin Watson <cjwatson@ubuntu.com>
19573
19574 * util/grub-install.in: Don't try to verify core.img until after
19575 running grub-mkimage to create it.
19576
90367e04
RM
195772010-09-10 Robert Millan <rmh@gnu.org>
19578
19579 * util/grub.d/10_hurd.in: Add misc readability checks.
19580 * util/grub.d/10_kfreebsd.in: Likewise.
19581 * util/grub.d/10_linux.in: Likewise.
19582
c452fa66
CW
195832010-09-10 Colin Watson <cjwatson@ubuntu.com>
19584
19585 * util/grub-install.in: ${imgext} won't be defined here until the
19586 install branch is merged. For the meantime, only verify core.img on
19587 i386-pc and sparc64-ieee1275 platforms.
19588
c38fe9f4
RM
195892010-09-10 Robert Millan <rmh@gnu.org>
19590
19591 Solaris support in grub_find_zpool_from_dir(). Thanks
19592 Seth Goldberg for referring to getextmntent() facility.
19593
19594 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19595 `sys/mkdev.h'.
19596 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19597 `<sys/mnttab.h>'.
19598 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19599 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19600 method for finding zpool name.
19601
905f7773
CW
196022010-09-10 Colin Watson <cjwatson@ubuntu.com>
19603
19604 grub-fstest needs the host and hostfs modules while other utilities
19605 actively require those modules to be absent, so grub-fstest needs
19606 its own initialisation and finalisation code.
19607
19608 * Makefile.am (grub_fstest.pp): New target.
19609 (grub_fstest_init.lst): Likewise.
19610 (grub_fstest_init.c): Likewise.
19611 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19612
fb90b546
RM
196132010-09-10 Robert Millan <rmh@gnu.org>
19614
19615 * configure.ac: Check for `struct statfs.f_fstypename' and
19616 `struct statfs.f_mntfromname'.
19617
19618 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19619 kFreeBSD-specific code.
19620
66d4bea5
RM
196212010-09-10 Robert Millan <rmh@gnu.org>
19622
19623 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19624 on ZFS. Now non-main filesystems are supported as / too.
19625
b6a690ee
CW
196262010-09-09 Colin Watson <cjwatson@ubuntu.com>
19627
19628 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19629 and grub-core/disk/host.c to ...
19630 (grub-fstest): ... here. Having the host disk implementation
19631 present confuses grub-probe and other utility programs.
19632
19633 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19634 when writing to a file, not when writing to stdout.
19635
8901b00c 196362010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19637
19638 * tests/partmap_test.in: New test for partitions.
19639 * Makefile.util.def: Rules for new test.
19640
7bf45fdd
RM
196412010-09-09 Robert Millan <rmh@gnu.org>
19642
19643 * util/grub-probe.c (probe): Fix a pair of unhandled error
19644 conditions.
19645
4dfbc574
RM
196462010-09-09 Robert Millan <rmh@gnu.org>
19647
19648 Basic Btrfs support (detection and UUID).
19649
19650 * grub-core/fs/btrfs.c: New file.
19651 * Makefile.util.def (library): Register btrfs.c.
19652 * grub-core/Makefile.core.def: Likewise.
19653
6b8e78ae
RM
196542010-09-08 Robert Millan <rmh@gnu.org>
19655
19656 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19657 with (optional) parameters to specify device and relative path.
19658 * util/grub-install.in: Use is_path_readable_by_grub() to
19659 verify readability of a few critical files.
19660 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19661 verify readability of grub.cfg.new.
19662
27f21a8b
VS
196632010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 Split minix.mod into minix.mod and minix2.mod.
19666
19667 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19668 * grub-core/Makefile.core.def (minix2): New module.
19669 * grub-core/fs/minix.c: Use definitions instead of runtime version
19670 checking.
19671 * grub-core/fs/minix2.c: New file.
19672
c0e53ea5
YB
196732010-09-08 Yves Blusseau <blusseau@zetam.org>
19674
19675 Add new --boot-directory option to replace --root-directory
19676
19677 * util/grub-install.in: Add new --boot-directory option
19678 * util/grub-reboot.in: Likewise.
19679 * util/grub-set-default.in: Likewise.
19680
b9fe6ea2
YB
196812010-09-08 Yves Blusseau <blusseau@zetam.org>
19682
19683 * util/grub-mkconfig.in: Use new variable.
19684
d87aedff
YB
196852010-09-08 Yves Blusseau <blusseau@zetam.org>
19686
19687 * configure.ac: Define some useful variables.
19688
e55e8495
VS
196892010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19692 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19693 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19694 Use terminfo and don't use cursor-on/cursor-off unless it's known
19695 to work.
19696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19697 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19698
6fa6d675
CW
196992010-09-08 Colin Watson <cjwatson@ubuntu.com>
19700
19701 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19702 starts with "(,", fill the drive containing the loaded image in
19703 between those two characters, but expect that a full partition
19704 specification including partition map names will follow.
19705
92f2aef0
RM
197062010-09-08 Robert Millan <rmh@gnu.org>
19707
19708 * configure.ac: Remove `--enable-grub-fstest' option.
19709 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19710
19711 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19712 `grub-fstest' instead of `grub-probe' for readability verification.
19713 * util/grub-probe.c (probe): Remove readability verification kludge.
19714
99fd620d
RM
197152010-09-08 Robert Millan <rmh@gnu.org>
19716
19717 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19718 initializing `GRUB_FS'.
19719
058e30ac 197202010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19721
19722 Not command (!) support to GRUB script.
19723
19724 * tests/grub_script_not.in: New test.
19725 * Makefile.util.def: Rules for new test.
19726
19727 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19728 ! command as a special case.
19729 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19730
b61d05ed 197312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19732
058e30ac 19733 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19734 grub_free.
b61d05ed 19735
4d69c786 197362010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19737
19738 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19739
aa3119c4 197402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19741
19742 * docs/grub.texi (Shell-like scripting): Documentation for break,
19743 continue, shift and return commands.
19744
db0f7e3d
VS
197452010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 Rename CD-ROM to cd on BIOS.
19748
19749 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19750 "cd".
19751 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19752
88b87c93
VS
197532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19756 * util/grub-probe.c (main): Likewise.
19757 * util/i386/pc/grub-setup.c (main): Likewise.
19758 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19759 Reported and debugged by: alexxy
19760
294f324d
VS
197612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19764 diagnostic info.
19765
d7ee3441
JS
197662010-09-05 Jo Shields <directhex@apebox.org>
19767
19768 * util/grub.d/30_os-prober.in: Add missing classes.
19769
d7e06c1f
VS
197702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * docs/grub.texi (Theme file format): Document new position format.
19773
fc157e53
VS
197742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19777 a table. Use @code instead of @verbatim.
19778
506e9a1c
CB
197792010-09-05 Colin D Bennett <colin@gibibit.com>
19780
19781 Gfxmenu documentation.
19782
19783 * docs/grub.texi (Theme file format): New chapter.
19784
f0aff67c
SJ
197852010-09-05 Szymon Janc <szymon@janc.net.pl>
19786
19787 * grub-core/Makefile.core.def (xzio): New module.
19788 * grub-core/io/xzio.c: New file.
19789 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19790 * grub-core/lib/xzembed/xz_config.h: Likewise.
19791 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19792 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19793 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19794 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19795 * grub-core/lib/xzembed/xz_private.h: Likewise.
19796 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19797 * include/grub/file.h (grub_file_filter_id): New compression filter
19798 GRUB_FILE_FILTER_XZIO.
19799
82a85062
VS
198002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19803 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19804 size.
19805
3579415d
VS
198062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19809 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19810
5124ae6d
VS
198112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 Uncompressed checksum support.
19814
19815 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19816 (check_list): New parameter uncompress.
19817 (grub_cmd_hashsum): Handle --uncompress.
19818
9aadb3d1
VS
198192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 Reintroduce testload.
19822
19823 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19824 from here ...
19825 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19826 (GRUB_MOD_INIT): New function.
19827 (GRUB_MOD_FINI): Likewise.
19828 * grub-core/Makefile.core.def (testload): New module.
19829
a17792c3
SJ
198302010-09-05 Szymon Janc <szymon@janc.net.pl>
19831
19832 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19833 (uint8_t): New type.
19834 (uint16_t): Likewise.
19835 (uint32_t): Likewise.
19836 (uint64_t): Likewise.
19837
b81e40a3
SJ
198382010-09-05 Szymon Janc <szymon@janc.net.pl>
19839
19840 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19841
fc2ef117
VS
198422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19845 Made static.
19846 (grub_gzfile_open): Removed. All users updated.
19847 (GRUB_MOD_INIT): New function.
19848 (GRUB_MOD_FINI): Likewise.
19849 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19850 (grub_file_filters_enabled): Likewise.
19851 (grub_file_open): Handle filters.
19852 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19853 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19854 * include/grub/file.h (grub_file_filter_id_t): New type.
19855 (grub_file_filter_t): Likewise.
19856 (grub_file_filters_all): New extern variable.
19857 (grub_file_filters_enabled): Likewise.
19858 (grub_file_filter_register): New inline function.
19859 (grub_file_filter_unregister): Likewise.
19860 (grub_file_filter_disable): Likewise.
19861 (grub_file_filter_disable_compression): Likewise.
19862 * include/grub/gzio.h: Removed.
19863
35ee15e0
BC
198642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19865
19866 Filename expansion support for wildcards in GRUB script.
19867
19868 * tests/grub_script_expansion.in: New test.
19869 * Makefile.util.def: Rule for new test.
19870
19871 * grub-core/commands/wildcard.c: New file, implements filename
19872 expansion support for GRUB script.
19873 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19874 * grub-core/script/argv.c: Cosmetic changes.
19875 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19876 Refactored to perform wildcard expansion on arguments.
19877 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19878 struct.
19879
19880 * tests/util/grub-shell.in: Fix quoting for read input.
19881
5f0c4aca
BC
198822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19883
19884 Support for updating environment variables with matched substrings
19885 of regexp.
19886
19887 * tests/grub_cmd_regexp.in: New test.
19888 * Makefile.util.def: Rule for new test.
19889
19890 * grub-core/commands/regexp.c: New option -s to update environment
19891 variables with regexp matches.
19892
3759a35f
SJ
198932010-09-04 Szymon Janc <szymon@janc.net.pl>
19894
19895 * include/grub/file.h (grub_file): New member not_easly_seekable.
19896 (grub_file_seekable): New inline function.
19897 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19898 easily seekable.
19899 (grub_gzio_open): Set not_easly_seekable.
19900 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19901 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19902
ed8c6dec
BC
199032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19904
19905 Support for options to appear multiple times on cmdline.
19906
19907 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19908 * grub-core/commands/extcmd.c: Support for repeatable option.
19909 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19910 repeatable option support.
19911
19912 Refactor menuentry into a regular command.
19913
19914 * grub-core/commands/menuentry.c: New file, menuentry command
19915 implementation.
19916 * grub-core/Makefile.core.def: Rule update for normal.mod.
19917 * grub-core/normal/main.c: Moved menuentry creation to
19918 grub-core/commands/menuentry.c.
19919 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19920 (grub_menu_execute_entry_real): Removed.
19921 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19922 function.
19923 (grub_script_execute_menuentry): Removed.
19924 * grub-core/script/parser.y (menuentry): Removed.
19925 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19926 * grub-core/script/yylex.l (menuentry): Removed.
19927 * include/grub/menu.h (grub_menu_init): New prototype.
19928 (grub_menu_fini): New prototype.
19929 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19930 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19931 (grub_script_execute_sourcecode): New prototype.
19932
dacd0cf0
BC
199332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19934
19935 "return" command for GRUB script functions.
19936
19937 * tests/grub_script_return.in: New test.
19938 * Makefile.util.def: Rules for new test.
19939
19940 * grub-core/script/execute.c (grub_script_return): New function.
19941 * grub-core/script/main.c: Register/unregister return commaond.
19942 * include/grub/script_sh.h (grub_script_return): New prototype.
19943
52e72f9d
BC
199442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19945
19946 "setparams" command to update positional parameters.
19947
19948 * tests/grub_script_setparams.in: New test.
19949 * Makefile.util.def: Rules for new test.
19950
19951 * grub-core/script/argv.c (grub_script_argv_make): New function.
19952 * grub-core/script/execute.c (replace_scope): New function.
19953 (grub_script_setparams): New function.
19954 * grub-core/script/lexer.c: Remove unused variables.
19955 * grub-core/script/main.c: Register/unregister setparams command.
19956 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19957 (grub_script_setparams): New prototype.
19958
25b60c91
BC
199592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19960
19961 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19962 grub_free order.
19963
37e7bf68
BC
199642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19965
19966 Support for passing block of commands as an argument to extcmds.
19967
19968 * Makefile.util.def: Rules for new test.
19969 * tests/grub_script_blockarg.in: New test.
19970 * grub-core/tests/test_blockarg.c: New file, block argument
19971 command used in the test.
19972
19973 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19974 (grub_register_extcmd_prio): New function prototype.
19975 (grub_extcmd_dispatcher): New function prototype.
19976 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19977 type.
19978 * include/grub/script_sh.h (struct grub_script): New members
19979 `children', `next_siblings' and `refcnt' for block arguments and
19980 reference counting.
19981 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19982 (grub_script_arg): New member `script' for block argument.
19983 (grub_script_argv): New member `script' for block argument.
19984 (grub_parser_param): New member `scripts' for block argument.
19985 (grub_script_mem_free): New extern function prototype.
19986 (grub_script_ref): New function prototype.
19987 (grub_script_unref): New function prototype.
19988
19989 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19990 extcmd form to support block arguments.
19991 * grub-core/script/argv.c: Block arguments support.
19992 * grub-core/script/execute.c: Likewise.
19993 * grub-core/script/lexer.c: Likewise.
19994 * grub-core/script/main.c: Likewise.
19995 * grub-core/script/script.c: Likewise.
19996 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19997 non-terminals.
19998
19999 * grub-core/commands/acpi.c: Update extcmd implementations with
20000 grub_extcmd_context_t.
20001 * grub-core/commands/cat.c: Likewise.
20002 * grub-core/commands/echo.c: Likewise.
20003 * grub-core/commands/extcmd.c: Likewise.
20004 * grub-core/commands/hashsum.c: Likewise.
20005 * grub-core/commands/hdparm.c: Likewise.
20006 * grub-core/commands/help.c: Likewise.
20007 * grub-core/commands/hexdump.c: Likewise.
20008 * grub-core/commands/i386/cpuid.c: Likewise.
20009 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20010 * grub-core/commands/i386/pc/halt.c: Likewise.
20011 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20012 * grub-core/commands/iorw.c: Likewise.
20013 * grub-core/commands/keystatus.c: Likewise.
20014 * grub-core/commands/loadenv.c: Likewise.
20015 * grub-core/commands/ls.c: Likewise.
20016 * grub-core/commands/lspci.c: Likewise.
20017 * grub-core/commands/memrw.c: Likewise.
20018 * grub-core/commands/probe.c: Likewise.
20019 * grub-core/commands/search_wrap.c: Likewise.
20020 * grub-core/commands/setpci.c: Likewise.
20021 * grub-core/commands/sleep.c: Likewise.
20022 * grub-core/disk/loopback.c: Likewise.
20023 * grub-core/hello/hello.c: Likewise.
20024 * grub-core/loader/i386/bsd.c: Likewise.
20025 * grub-core/loader/xnu.c: Likewise.
20026 * grub-core/term/gfxterm.c: Likewise.
20027 * grub-core/term/serial.c: Likewise.
20028 * grub-core/tests/lib/functional_test.c: Likewise.
20029
888d1500
BC
200302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20031
20032 Multi-line quoted strings support.
20033
20034 * grub-core/script/lexer.c (append_newline): Removed.
20035 (grub_script_lexer_yywrap): Refactored.
20036 (grub_script_lexer_init): Refactored.
20037 * grub-core/script/yylex.l (yywrap): New function.
20038 (grub_lexer_resplit): New function.
20039 (grub_lexer_unput): New function.
20040 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20041 and resplit.
20042 * tests/grub_script_echo1.in: Added few more testcases.
20043
dda060dd
VS
200442010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 * grub-core/kern/misc.c: Don't add abort alias in utils.
20047 Reported by: echoline.
20048
6556eba9
BC
200492010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20050
20051 Add missing files into "make dist" tarball for other platforms.
20052
20053 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20054 * conf/Makefile.common (dist_noinst_DATA): New variable.
20055 * conf/Makefile.extra-dist: Added missing make dist files.
20056 * grub-core/Makefile.core.def: Likewise.
20057
c8e7bf5f
VS
200582010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 Compress grub_prefix.
20061
20062 * grub-core/boot/i386/pc/lnxboot.S: Use
20063 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20064 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20065 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20066 GRUB_MACHINE_PREFIX_END. All users updated.
20067 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20068 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20069 + 0x40.
20070 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20071 * util/grub-mkimage.c (image_target_desc): Change data_end to
20072 prefix_end. All users updated.
20073
a7c00cdb
VS
200742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20077 value.
20078 (grub_openbsd_boot): Likewise.
20079 (grub_netbsd_boot): Likewise.
20080 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20081 (grub_xnu_boot): Likewise.
20082
9f915872
VS
200832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 * configure.ac: Clean LIBS variable after tests.
20086
efa1bee7
CW
200872010-09-02 Colin Watson <cjwatson@ubuntu.com>
20088
20089 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20090
61d720e5
VS
200912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20094 echo if libdevmapper will be used.
20095
ef8e0ec8
IT
200962010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20097
20098 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20099 constant for the same file.
20100
03e261d8
VS
201012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20104
c2a4eba6
CW
201052010-09-02 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20108 grub-core/*.pp.
20109
9056cbf3
CW
201102010-09-02 Colin Watson <cjwatson@ubuntu.com>
20111
20112 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20113 required by the boot protocol.
20114
20115 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20116 ebp and edi members.
20117 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20118 state.ebp and state.edi.
20119 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20120 %ebp and %edi according to grub_relocator32_ebp and
20121 grub_relocator32_edi respectively.
20122 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20123 and state.edi.
20124
529cc99a
VS
201252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 Add i386-pc-pxe image target.
20128
20129 * util/grub-mkimage.c (image_target_desc): New enum value
20130 IMAGE_I386_PC_PXE.
20131 (image_targets): New target i386-pc-pxe.
20132 (generate_image): Handle i386-pc-pxe image.
20133
9a093920
VS
201342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 Fix grub_pxe_scan.
20137
20138 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20139 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20140 All users updated.
20141 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20142 (grub_pxe_pxenv): Correct type.
20143
f9cefc4e
CW
201442010-09-01 Colin Watson <cjwatson@ubuntu.com>
20145
20146 * NEWS: Document most of the important changes since 1.98.
20147
4066f57f
CW
201482010-09-01 Colin Watson <cjwatson@ubuntu.com>
20149
20150 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20151 generated manual page) a little.
20152
da2891f9
CW
201532010-09-01 Colin Watson <cjwatson@ubuntu.com>
20154
20155 * docs/grub.texi: Add myself as an author.
20156
ad717fae
VS
201572010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 * Makefile.util.def (libgrub.a): Add missing sunpc.
20160 Reported by: Seth Goldberg.
20161
eefe8abd
VS
201622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 Interrupt wrapping and code simplifications.
20165
9494ef9a
VS
20166 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20167 x86_noieee1275 which are functionaly equivalent in this case.
20168 (grub-install): Make source on each platform explicit. Enable on
20169 all noemu.
20170 * gentpl.py (x86_efi_pc): Removed group.
20171 (x86_noefi): Likewise.
20172 (i386_noefi): Likewise.
20173 (x86_noieee1275): Likewise.
20174 (i386_noieee1275): Likewise.
20175 (i386_noefi_noieee1275): Likewise.
20176 (i386_pc_qemu_coreboot): Likewise.
20177 (i386_coreboot_multiboot): Likewise.
20178 (i386_pc_coreboot_multiboot_qemu): Likewise.
20179 (x86_noefi_mips): Likewise.
20180 (noieee1275): Likewise.
20181 (ieee1275_mips): Likewise.
20182 (noemu_noieee1275): Likewise.
20183 (cmos): New group.
20184 (usb): Likewise.
20185 (videoinkernel): Likewise.
20186 (videomodules): Likewise.
eefe8abd 20187 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20188 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20189 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20190 include/grub/loader.h, include/grub/msdos_partition.h,
20191 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20192 include/grub/machine/console.h, include/grub/machine/vga.h,
20193 include/grub/machine/vbe.h, include/grub/machine/init.h,
20194 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20195 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20196 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20197 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20198 * grub-core/Makefile.core.def (kernel): Explicit the source for
20199 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20200 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20201 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20202 Use videoinkernel tag.
20203 (usb): Enable on all usb.
20204 (usbserial_common): Likewise.
20205 (usbserial_pl2303): Likewise.
20206 (usbserial_ftdi): Likewise.
20207 (uhci): Enable on all x86.
20208 (ohci): Enable on all pci.
20209 (cmostest): Enable on all CMOS.
20210 (acpi): Include commands/acpi.c on all platforms.
20211 (halt): Add relevant lib/*/halt.c.
20212 (hdparm): Enable on all pci.
20213 (lspci): Likewise.
20214 (usbtest): Enable on all usb.
20215 (ata): Enable on all pci.
20216 (ata_pthru): Likewise.
20217 (usbms): Enable on all usb.
20218 (usb_keyboard): Likewise.
20219 (font): Use tag videomodules.
20220 (bufio): Likewise.
20221 (datetime): Use tag cmos. Enable on all noemu.
20222 (mmap): Use tags common and x86.
20223 (gfxterm): Use tag videomodules.
20224 (bitmap): Likewise.
20225 (bitmap_scale): Likewise.
20226 (video_fb): Likewise.
20227 (video): Likewise.
20228 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20229 adjust padding accordingly. All users updated.
20230 (grub_ohci_transaction): Fix bad format specification.
20231 (GRUB_MOD_INIT): Add asserts for struct size.
20232 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20233 (grub_alloc_td): Likewise.
20234 (grub_free_queue): Likewise.
20235 (grub_uhci_transfer): Likewise.
20236 (grub_uhci_transaction): Fix bad format specification.
20237 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20238 (grub_usb_bulk_readwrite): Likewise.
20239 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20240 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20241 Made static.
20242 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20243 Made static.
20244 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20245 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20246 Transformed into C.
20247 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20248 Moved from here ...
20249 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20250 ... here. Transformed into C. Made static.
20251 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20252 Moved from here ...
20253 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20254 ... here. Transformed into C. Made static.
20255 * grub-core/kern/i386/pc/startup.S
20256 (grub_biosdisk_check_int13_extensions): Moved from here ...
20257 * grub-core/disk/i386/pc/biosdisk.c
20258 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20259 Made static.
20260 * grub-core/kern/i386/pc/startup.S
20261 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20262 * grub-core/disk/i386/pc/biosdisk.c
20263 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20264 Transformed into C. Made static.
20265 * grub-core/kern/i386/pc/startup.S
20266 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20267 * grub-core/disk/i386/pc/biosdisk.c
20268 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20269 Transformed into C. Made static.
20270 * grub-core/kern/i386/pc/startup.S
20271 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20272 * grub-core/disk/i386/pc/biosdisk.c
20273 (grub_biosdisk_get_diskinfo_standard): ... here.
20274 Transformed into C. Made static.
20275 * grub-core/kern/i386/pc/startup.S
20276 (grub_biosdisk_get_num_floppies): Moved from here ...
20277 * grub-core/disk/i386/pc/biosdisk.c
20278 (grub_biosdisk_get_num_floppies): ... here.
20279 Transformed into C. Made static.
20280 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20281 New function.
20282 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20283 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20284 Transformed into C. Made static.
20285 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20286 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20287 Transformed into C. Made static.
20288 * grub-core/kern/i386/ieee1275/init.c: Removed.
20289 * grub-core/kern/i386/misc.S: Likewise.
20290 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20291 Splitted from here ...
20292 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20293 Transformed into C. Made static. All users updated.
20294 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20295 Transformed into C. Made static. All users updated.
20296 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20297 Moved from here...
20298 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20299 Transformed into C. Made static. All users updated.
20300 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20301 Moved from here...
20302 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20303 Transformed into C. Made static. All users updated.
20304 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20305 Removed (replaced by C version).
20306 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20307 Moved from here...
20308 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20309 Transformed into C. Made static.
20310 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20311 Moved from here...
20312 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20313 ... here. Transformed into C.
20314 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20315 Moved from here...
20316 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20317 ... here. Transformed into C.
20318 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20319 Moved from here...
20320 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20321 ... here. Transformed into C. Made static.
20322 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20323 Moved from here...
20324 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20325 ... here. Transformed into C.
21ed554b
VS
20326 * grub-core/kern/i386/pc/startup.S
20327 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20328 * grub-core/video/i386/pc/vbe.c
20329 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20330 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20331 Moved from here...
20332 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20333 ... here. Transformed into C.
20334 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20335 Moved from here...
20336 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20337 ... here. Transformed into C.
20338 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20339 Moved from here...
20340 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20341 ... here. Transformed into C.
20342 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20343 Moved from here...
20344 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20345 ... here. Transformed into C.
20346 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20347 Moved from here...
20348 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20349 ... here. Transformed into C. Made static.
20350 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20351 Moved from here...
20352 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20353 ... here. Transformed into C. Made static.
20354 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20355 Moved from here...
20356 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20357 ... here. Transformed into C. Made static.
20358 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20359 pxe_rm_entry as third argument.
20360 (grub_bios_interrupt): New function.
20361 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20362 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20363 of calling grub_stop.
20364 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20365 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20366 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20367 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20368 * grub-core/lib/i386/halt.c: Moved from here ...
20369 * grub-core/lib/i386/halt.c: ... here.
20370 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20371 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20372 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20373 grub_stop_floppy.
20374 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20375 * include/grub/i386/coreboot/init.h: Removed.
20376 * include/grub/i386/multiboot/init.h: Likewise.
20377 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20378 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20379 * include/grub/i386/pc/int.h: New file.
20380 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20381 (grub_pxe_scan): Removed.
20382 (grub_pxe_call): Update prototype.
20383 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20384 prototypes.
20385 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20386 * include/grub/i386/qemu/init.h: Removed.
20387 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20388 noreturn.
20389 (grub_halt): Likewise.
20390 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20391 (grub_reboot): Likewise.
20392 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20393 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20394 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20395
215dd471
RM
203962010-08-30 Robert Millan <rmh@gnu.org>
20397
20398 * NEWS: Document addition of ZFS support in `grub-install' and
20399 `grub-mkconfig'.
20400
ebd65b82
BC
204012010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20402
20403 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20404 dprintf output.
20405
11721d19
VS
204062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 Remove leftover embedding of font objects.
20409
20410 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20411 * util/grub-install.in (font): Removed.
20412 * util/grub-mkimage.c (generate_image): Remove font support. All users
20413 updated.
20414
37837d4e
VS
204152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20416
20417 Remove leftover embedding of font objects.
20418
20419 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20420 * util/grub-install.in (font): Removed.
20421 * util/grub-mkimage.c (generate_image): Remove font support. All users
20422 updated.
20423
b4c1aae0
VS
204242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20427 Reported by: Ian Turner
b4c1aae0 20428
8920a08d
VS
204292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20432 timeout to avoid indefinite boot stalling.
20433
f21db033
VS
204342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20437 (grub_env_write_color_highlight): Likewise.
20438
9a9de209
VS
204392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 * grub-core/normal/term.c (print_more): Return to normal and not
20442 to standard state after printing "---MORE---".
20443
3dca01d7
VS
204442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20447 Mask out the bit 0x80 since it has other meaning that specifiing color.
20448
0b986c40
VS
204492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 New relocator. Allows for more kernel support and more straightforward
20452 loader writing.
20453
20454 * Makefile.am (BOOTTARGET): New variable.
20455 (QEMU32): Likewise.
20456 (linux.init.x86_64): New target.
20457 (linux.init.i386): Likewise.
20458 (multiboot.elf): Likewise.
20459 (kfreebsd.elf): Likewise.
20460 (kfreebsd.aout): Likewise.
20461 (pc-chainloader.elf): Likewise.
20462 (pc-chainloader.bin): Likewise.
20463 (ntldr.elf): Likewise.
20464 (ntldr.bin): Likewise.
20465 (multiboot2.elf): Likewise.
20466 (kfreebsd.init.x86_64): Likewise.
20467 (kfreebsd.init.i386): Likewise.
20468 (knetbsd.init.i386): Likewise.
20469 (kopenbsd.init.i386): Likewise.
20470 (knetbsd.init.x86_64): Likewise.
20471 (kopenbsd.init.x86_64): Likewise.
20472 (linux-initramfs.i386): Likewise.
20473 (linux-initramfs.x86_64): Likewise.
20474 (kfreebsd-mfsroot.i386.img): Likewise.
20475 (knetbsd.image.i386): Likewise.
20476 (kopenbsd.image.i386): Likewise.
20477 (kopenbsd.image.x86_64): Likewise.
20478 (knetbsd.miniroot-image.i386.img): Likewise.
20479 (kfreebsd-mfsroot.x86_64.img): Likewise.
20480 (knetbsd.image.x86_64): Likewise.
20481 (knetbsd.miniroot-image.x86_64.img): Likewise.
20482 (kfreebsd-mfsroot.i386.gz): Likewise.
20483 (bootcheck-kfreebsd-i386): Likewise.
20484 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20485 (bootcheck-kfreebsd-x86_64): Likewise.
20486 (knetbsd.miniroot-image.i386.gz): Likewise.
20487 (bootcheck-knetbsd-i386): Likewise.
20488 (bootcheck-kopenbsd-i386): Likewise.
20489 (bootcheck-kopenbsd-x86_64): Likewise.
20490 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20491 (bootcheck-knetbsd-x86_64): Likewise.
20492 (bootcheck-linux-i386): Likewise.
20493 (bootcheck-linux-x86_64): Likewise.
20494 (bootcheck-linux16-i386): Likewise.
20495 (bootcheck-linux16-x86_64): Likewise.
20496 (bootcheck-multiboot): Likewise.
20497 (bootcheck-multiboot2): Likewise.
20498 (bootcheck-kfreebsd-aout): Likewise.
20499 (bootcheck-pc-chainloader): Likewise.
20500 (bootcheck-ntldr): Likewise.
20501 (CLEANFILES): Add new targets.
20502 (BOOTCHECKS): New variable.
20503 (.PHONY): Add bootchecks.
20504 (SUCCESSFUL_BOOT_STRING): New variable.
20505 (BOOTCHECK_TIMEOUT): Likewise.
20506 (bootcheck): New target
20507 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20508 * configure.ac: Correct efiemu excuse.
20509 * docs/grub.texi (Supported kernels): New chapter.
20510 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20511 include/grub/mm_private.h. Simplify inclusion of
20512 include/grub/boot.h, include/grub/loader.h
20513 and include/grub/msdos_partition.h
20514 (KERNEL_HEADER_FILES) [i386_coreboot]:
20515 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20516 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20517 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20518 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20519 include/grub/machine/loader.h.
20520 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20521 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20522 extra_dist.
20523 (pci.mod): Enable on i386-multiboot.
20524 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20525 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20526 i386-qemu.
20527 (relocator.mod): Rewritten.
20528 (aout.mod): Enable on all x86.
20529 (bsd.mod): Likewise.
20530 (ntldr.mod): New module.
20531 (linux.mod): Use loader/i386/linux.c on all x86.
20532 (xnu.mod): Enable on all x86.
20533 (vga_text.mod): disable on EFI and QEMU.
20534 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20535 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20536 * grub-core/efiemu/loadcore.c: Likewise.
20537 * grub-core/efiemu/main.c: Likewise.
20538 (grub_efiemu_exit_boot_services): Removed.
20539 (grub_efiemu_finish_boot_services): Likewise.
20540 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20541 function.
20542 * grub-core/efiemu/i386/nocfgtables.c: New file.
20543 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20544 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20545 (grub_efi_finish_boot_services): Moved from here ...
20546 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20547 Fille finish memory map and related data.
20548 (finish_mmap_buf): New variable.
20549 (grub_efi_uintn_t finish_mmap_size): Likewise.
20550 (grub_efi_uintn_t finish_key): Likewise.
20551 (grub_efi_uintn_t finish_desc_size): Likewise.
20552 (grub_efi_uint32_t finish_desc_version): Likewise.
20553 (grub_efi_is_finished): Likewise.
20554 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20555 finished.
20556 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20557 (grub_elf64_phdr_iterate): Likewise.
20558 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20559 (grub_os_area_size): Likewise.
20560 (grub_machine_init): Don't reserve os area.
20561 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20562 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20563 * grub-core/kern/i386/loader.S: Removed.
20564 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20565 (grub_os_area_size): Likewise.
20566 (grub_machine_init): Don't reserve os area.
20567 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20568 Don't call grub_dl_unload_all.
20569 Don't include loader.S.
20570 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20571 Declare the memory after _end as available.
20572 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20573 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20574 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20575 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20576 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20577 * include/grub/mm_private.h (grub_mm_header): ... here.
20578 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20579 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20580 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20581 (grub_mm_region): ..here. Removed addr. Added pre_size.
20582 All users updated.
20583 * grub-core/kern/mm.c (base): Renamed to ...
20584 (grub_mm_base): ... this. Made global.
20585 (grub_real_malloc): Alloc from end of region.
20586 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20587 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20588 * grub-core/kern/powerpc/cache_flush.S: ... here.
20589 * grub-core/lib/efi/relocator.c: New file.
20590 * grub-core/lib/i386/relocator.c: Rewritten.
20591 * grub-core/lib/i386/relocator16.S: New file.
20592 * grub-core/lib/i386/relocator32.S: Likewise.
20593 * grub-core/lib/i386/relocator64.S: Likewise.
20594 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20595 * grub-core/lib/i386/relocator_common.S: New file.
20596 * grub-core/lib/ieee1275/relocator.c: Likewise.
20597 * grub-core/lib/mips/relocator.c: Rewritten.
20598 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20599 stylistic adjustments.
20600 * grub-core/lib/powerpc/relocator.c: New file.
20601 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20602 * grub-core/lib/relocator.c: Rewritten.
20603 * grub-core/lib/x86_64/relocator_asm.S: New file.
20604 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20605 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20606 (bsd_tag): New struct.
20607 (tags): New variable.
20608 (tags_last): Likewise.
20609 (netbsd_module): New struct.
20610 (netbsd_mods): New variable.
20611 (netbsd_mods_last): Likewise.
20612 (openbsd_opts): New parameter "serial".
20613 (OPENBSD_SERIAL_ARG): New definition.
20614 (netbsd_opts): New parameter "serial".
20615 (NETBSD_SERIAL_ARG): New definition.
20616 (grub_freebsd_add_meta): Reorganised into ...
20617 (grub_bsd_add_meta): ...this. All users updated.
20618 (grub_freebsd_add_mmap): Reorganised into ...
20619 (generate_e820_mmap): ...this...
20620 (grub_bsd_add_mmap): ...and this. All users updated.
20621 (grub_freebsd_list_modules): Use tags.
20622 (grub_netbsd_add_meta_module): New function.
20623 (grub_netbsd_list_modules): Likewise.
20624 (grub_freebsd_boot): Use relocator and finish EFI.
20625 (grub_openbsd_boot): Likewise.
20626 (grub_netbsd_setup_video): New function.
20627 (grub_netbsd_add_modules): Likewise.
20628 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20629 and finish EFI.
20630 (grub_bsd_unload): Unload tags.
20631 (grub_bsd_load_aout): Use relocator.
20632 (grub_bsd_elf32_size_hook): New function.
20633 (grub_bsd_elf32_hook): Use relocator.
20634 (grub_bsd_elf64_size_hook): New function.
20635 (grub_bsd_elf64_hook): Use relocator.
20636 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20637 (grub_bsd_load): Zero-out openbsd_ramdisk.
20638 (grub_bsd_load): Use relocator.
20639 (grub_cmd_openbsd): Support serial.
20640 (grub_cmd_netbsd): Support modules.
20641 (grub_cmd_freebsd_module): Use relocator.
20642 (grub_netbsd_module_load): New function.
20643 (grub_cmd_netbsd_module): Likewise.
20644 (grub_cmd_openbsd_ramdisk): Likewise.
20645 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20646 kopenbsd_ramdisk.
20647 (GRUB_MOD_FINI): Unregister new commands.
20648 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20649 (grub_freebsd_load_elfmodule_obj): Use relocator.
20650 (grub_freebsd_load_elfmodule): Likewise.
20651 (grub_freebsd_load_elf_meta): Likewise.
20652 (grub_netbsd_load_elf_meta): New function.
20653 (grub_openbsd_find_ramdisk): Likewise.
20654 * grub-core/loader/i386/bsd_helper.S: Removed.
20655 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20656 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20657 * grub-core/loader/i386/efi/linux.c: Likewise.
20658 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20659 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20660 (DEFAULT_VIDEO_MODE): Likewise.
20661 (real_mode_target): New variable.
20662 (prot_mode_target): Likewise.
20663 (initrd_mem_target): Likewise.
20664 (relocator): Likewise.
20665 (efi_mmap_buf): Likewise.
20666 (efi_mmap_size): Likewise.
20667 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20668 (free_pages): Use relocator.
20669 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20670 (grub_linux_setup_video): Return error.
20671 (grub_linux_trampoline_start): Removed.
20672 (grub_linux_trampoline_end): Likewise.
20673 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20674 andd video parameters depending on firmware.
20675 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20676 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20677 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20678 (grub_cmd_initrd): Use relocator.
20679 * grub-core/loader/i386/linux_trampoline.S: Removed.
20680 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20681 (elf_sec_entsize): Likewise.
20682 (elf_sec_shstrndx): Likewise.
20683 (elf_sections): Likewise.
20684 (grub_multiboot_load): Use relocator.
20685 (grub_multiboot_get_mbi_size): Account for sections.
20686 (grub_multiboot_make_mbi): Use relocator and support sections.
20687 (grub_multiboot_add_elfsyms): New function.
20688 (grub_multiboot_free_mbi): Free sections.
20689 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20690 (grub_linux_real_target): Likewise.
20691 (grub_linux_real_chunk): Likewise.
20692 (grub_linux16_prot_size): Likewise.
20693 (grub_linux16_boot): Use relocator.
20694 (grub_linux_unload): Unload relocator.
20695 (grub_cmd_linux): Use relocator.
20696 (grub_cmd_initrd): Likewise.
20697 * grub-core/loader/i386/pc/ntldr.c: New file.
20698 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20699 Don't try to guess CPU frequency.
20700 (grub_xnu_set_video): Stretch bitmap.
20701 (grub_xnu_boot): Use relocator.
20702 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20703 (grub_linux_unload): Free relocator.
20704 (grub_linux_load32): Use relocator.
20705 (grub_linux_load64): Likewise.
20706 (grub_cmd_initrd): Likewise.
20707 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20708 (grub_multiboot_unload): Unload relocator.
20709 (grub_cmd_multiboot): Use relocator.
20710 (grub_cmd_module): Likewise.
20711 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20712 Use relocator and support sections.
20713 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20714 (elf_sec_entsize): Likewise.
20715 (elf_sec_shstrndx): Likewise.
20716 (elf_sections): Likewise.
20717 (grub_multiboot_load): Use relocator.
20718 (grub_multiboot_get_mbi_size): Account for sections.
20719 (grub_multiboot_make_mbi): Use relocator and support sections.
20720 (grub_multiboot_add_elfsyms): New function.
20721 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20722 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20723 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20724 Prototype changed. All users updated.
20725 (grub_xnu_align_heap): Simplified.
20726 (grub_xnu_writetree_toheap): Likewise.
20727 (grub_xnu_unload): Unload relocator.
20728 (grub_cmd_xnu_kernel): Use relocator.
20729 (grub_cmd_xnu_kernel64): Likewise.
20730 (grub_xnu_register_memory): Simplified.
20731 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20732 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20733 EFI is finished.
20734 (grub_console_checkkey): Likewise.
20735 (grub_console_getkey): Likewise.
20736 (grub_console_getwh): Likewise.
20737 (grub_console_getxy): Likewise.
20738 (grub_console_gotoxy): Likewise.
20739 (grub_console_cls): Likewise.
20740 (grub_console_setcolorstate): Likewise.
20741 (grub_console_setcursor): Likewise.
20742 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20743 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20744 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20745 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20746 * grub-core/tests/boot/kernel-8086.S: Likewise.
20747 * grub-core/tests/boot/kernel-i386.S: Likewise.
20748 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20749 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20750 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20751 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20752 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20753 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20754 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20755 * grub-core/tests/boot/linux.cfg: Likewise.
20756 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20757 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20758 * grub-core/tests/boot/linux16.cfg: Likewise.
20759 * grub-core/tests/boot/multiboot.cfg: Likewise.
20760 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20761 * grub-core/tests/boot/ntldr.cfg: Likewise.
20762 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20763 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20764 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20765 New definition.
20766 * include/grub/dl.h (grub_dl_unload_all): Removed.
20767 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20768 (grub_efi_finish_boot_services): Change prototype.
20769 (grub_efi_is_finished): New variable.
20770 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20771 Changed prototype.
20772 (grub_efiemu_finish_boot_services): Removed.
20773 (grub_machine_efiemu_init_tables): New prototype.
20774 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20775 (grub_elf64_phdr_iterate): Likewise.
20776 * include/grub/i386/bsd.h: Include relocator.h.
20777 (freebsd_tag_header): New struct.
20778 (grub_openbsd_bios_mmap): Removed.
20779 (grub_unix_real_boot): Removed.
20780 (grub_freebsd_load_elfmodule32): Changed prototype.
20781 (grub_freebsd_load_elfmodule_obj64): Likewise.
20782 (grub_freebsd_load_elf_meta32): Likewise.
20783 (grub_freebsd_load_elf_meta64): Likewise.
20784 (grub_freebsd_add_meta): Removed.
20785 (grub_netbsd_load_elf_meta32): New prototype.
20786 (grub_netbsd_load_elf_meta64): Likewise.
20787 (grub_bsd_add_meta): Likewise.
20788 (grub_openbsd_ramdisk_descriptor): New struct.
20789 (grub_openbsd_find_ramdisk32): New prototype.
20790 (grub_openbsd_find_ramdisk64): Likewise.
20791 * include/grub/i386/coreboot/loader.h: Removed.
20792 * include/grub/i386/efi/loader.h: Likewise.
20793 * include/grub/i386/ieee1275/loader.h: Likewise.
20794 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20795 to grub_uint32_t.
20796 * include/grub/i386/loader.h: Removed.
20797 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20798 value.
20799 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20800 (grub_phys_addr_t): New type.
20801 (grub_vtop): New inline function.
20802 (grub_map_memory): Likewise.
20803 (grub_unmap_memory): Likewise.
20804 * include/grub/i386/multiboot/loader.h: Removed.
20805 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20806 (NETBSD_BTINFO_CONSOLE): New definition.
20807 (NETBSD_BTINFO_SYMTAB): Likewise.
20808 (NETBSD_BTINFO_MODULES): Likewise.
20809 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20810 (grub_netbsd_bootinfo): New struct.
20811 (grub_netbsd_btinfo_common): Use explicit bitsize.
20812 (grub_netbsd_btinfo_mmap_entry): Removed.
20813 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20814 (grub_netbsd_btinfo_bootdisk): New struct.
20815 (grub_netbsd_btinfo_symtab): Likewise.
20816 (grub_netbsd_btinfo_serial): Likewise.
20817 (grub_netbsd_btinfo_modules): Likewise.
20818 (grub_netbsd_btinfo_framebuf): Likewise.
20819 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20820 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20821 Likewise.
20822 (grub_openbsd_bootargs): Use explicit bitsize.
20823 (grub_openbsd_bootarg_console): New struct.
20824 (GRUB_OPENBSD_COM_MAJOR): New definition.
20825 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20826 * include/grub/i386/pc/efiemu.h: Removed.
20827 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20828 * include/grub/i386/qemu/loader.h: Removed.
20829 * include/grub/i386/relocator.h: Rewritten.
20830 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20831 * include/grub/mips/memory.h: New file.
20832 * include/grub/mips/multiboot.h: Rewritten.
20833 * include/grub/mips/relocator.h: Rewritten.
20834 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20835 (grub_vtop): New function.
20836 (grub_map_memory): Likewise.
20837 (grub_unmap_memory): Likewise.
20838 * include/grub/misc.h (ALIGN_DOWN): New definition.
20839 * include/grub/mm.h (grub_mm_check_real): New proto.
20840 (GRUB_MM_CHECK): New definition.
20841 * include/grub/mm_private.h: New file.
20842 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20843 (grub_multiboot_get_mbi_size): Removed.
20844 (grub_multiboot_make_mbi): Change prottype.
20845 (grub_multiboot_set_accepts_video): New proto.
20846 (grub_multiboot_add_elfsyms): Likewise.
20847 (grub_multiboot_payload_eip): New variable.
20848 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20849 New prototype.
20850 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20851 New definition.
20852 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20853 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20854 * include/grub/powerpc/ieee1275/loader.h: Removed.
20855 * include/grub/powerpc/memory.h: New file.
20856 * include/grub/powerpc/relocator.h: Likewise.
20857 * include/grub/relocator.h: Likewise.
20858 * include/grub/relocator_private.h: Likewise.
20859 * include/grub/sparc64/ieee1275/loader.h: Removed.
20860 * include/grub/x86_64/memory.h: New file.
20861 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20862 (grub_xnu_heap_malloc): Likewise.
20863 (grub_xnu_heap_real_start): Removed.
20864 (grub_xnu_heap_start): Likewise.
20865 (grub_xnu_relocator): New variable.
20866 (grub_xnu_heap_target_start): Likewise.
20867 * tests/util/grub-shell.in: Support non-pc.
20868 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20869
5303b85d
VS
208702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20873 on malloc error.
20874 (grub_bidi_logical_to_visual): Check that malloc succeded.
20875 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20876 puts.
20877 (grub_xputs_normal): Likewise.
20878
d768d159
VS
208792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20882 extra_dist.
20883
208842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20887
5bf84df4
VS
208882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20889
20890 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20891
3626810e
VS
208922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20895 dprintf.
20896
a7363f53
BC
208972010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20898
20899 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20900
902f75f6
VS
209012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * grub-core/normal/term.c (print_more): Fix a memory leak.
20904 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20905 (grub_xputs_normal): Likewise.
20906
3c707967
VS
209072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20910 the begining of the string
20911
2053cc07
VS
209122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * grub-core/script/script.c (grub_script_parse): Free parsed on
20915 failure.
20916
46422ebf
VS
209172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20920 on failure.
20921
9e0fa3f6
VS
209222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20925 return.
20926
3393cf16
VS
209272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20930 (scroll_up): Fix a memory leak.
20931
b17540cb
VS
209322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20935 errors.
20936
67140446
VS
209372010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 Handle USB pendrives exposed as floppies.
20940
20941 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20942 floppy.
20943 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20944 Check for partitions on all devices.
20945
e35e46fc
VS
209462010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20949 (readkey): Likewise.
20950
d24c6190
BC
209512010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20952
20953 Multiple variable names support to "export" command.
20954
20955 * normal/context.c (grub_cmd_export): "export" command supports
20956 multiple variable names.
20957
04ddcc6a
ST
209582010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20959
20960 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20961 --target=drive output to Mach device name.
20962
0c8b61d8
BC
209632010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20964
20965 New Automake based build system for GRUB.
20966
20967 * ABOUT-NLS: New file.
20968 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20969 in Makefile.util.def file.
20970 * Makefile.util.def: New file. Autogen build definitions file for
20971 GRUB host utils.
20972 * conf/Makefile.common: New file. Common variables for GRUB host
20973 utils and target modules.
20974 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20975 * docs/Makefile.am: New file. Automake file for docs.
20976 * gentpl.py: New file. Python script to generate Autogen
20977 template.
20978 * grub-core/Makefile.am: New file. GRUB target modules' rules
20979 that doesn't fit in Makefile.core.def file.
20980 * grub-core/Makefile.core.def: New file. Autogen build
20981 definitions file for GRUB target modules.
20982 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20983 specific setjmp.S file.
20984 * po/Makefile.am: New file.
20985
20986 * .bzrignore: New ignores.
20987 * INSTALL: New requirements, without Ruby.
20988 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20989 * autogen.sh: Updated to invoke autogen as necessary.
20990 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20991 and defines for Automake conditionals.
20992 * geninit.sh: Refactoring.
20993
20994 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20995 necessary.
20996 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20997 New prototype.
20998
20999 * include/grub/test.h: Fix functional test modules' naming.
21000 * grub-core/tests/example_functional_test.c: Fix test module name.
21001
21002 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21003 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21004 * util/grub-editenv.c: Likewise.
21005 * util/grub-fstest.c: Likewise.
21006 * util/grub-mkdevicemap.c: Likewise.
21007 * util/grub-mkfont.c: Likewise.
21008 * util/grub-mkimage.c: Likewise.
21009 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21010 * util/grub-probe.c: Likewise.
21011 * util/grub-script-check.c: Likewise.
21012 * util/i386/pc/grub-setup.c: Likewise.
21013 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21014
21015 * tests/util/grub-shell.in: Fix override directory path.
21016 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21017 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21018
21019 * util/lvm.c: Update #includes.
21020 * util/raid.c: Likewise.
21021 * util/resolve.c: Likewise.
21022 * grub-core/bus/emu/pci.c: Likewise.
21023 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21024 * grub-core/lib/posix_wrap/string.h: Likewise.
21025 * grub-core/kern/emu/main.c: Likewise.
21026
21027 * grub-core/gensymlist.sh: New file. Script for generating kernel
21028 symbols file.
21029 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21030
21031 * grub-core/gentrigtables.c: Fix unused variable warnings.
21032
21033 * Makefile.in: Removed.
21034 * conf/any-emu.rmk: Removed.
21035 * conf/common.rmk: Removed.
21036 * conf/i386-coreboot.rmk: Removed.
21037 * conf/i386-efi.rmk: Removed.
21038 * conf/i386-ieee1275.rmk: Removed.
21039 * conf/i386-multiboot.rmk: Removed.
21040 * conf/i386-pc.rmk: Removed.
21041 * conf/i386-qemu.rmk: Removed.
21042 * conf/i386.rmk: Removed.
21043 * conf/mips-yeeloong.rmk: Removed.
21044 * conf/mips.rmk: Removed.
21045 * conf/powerpc-ieee1275.rmk: Removed.
21046 * conf/sparc64-ieee1275.rmk: Removed.
21047 * conf/tests.rmk: Removed.
21048 * conf/x86-efi.rmk: Removed.
21049 * conf/x86_64-efi.rmk: Removed.
21050 * gendistlist.sh: Removed.
21051 * geninitheader.sh: Removed.
21052 * genkernsyms.sh.in: Removed.
21053 * genmk.rb: Removed.
21054 * gensymlist.sh.in: Removed.
21055 * mkinstalldirs: Removed.
21056 * boot: Moved ...
21057 * grub-core/boot: ... to here.
21058 * bus: Moved ...
21059 * grub-core/bus: ... to here.
21060 * commands: Moved ...
21061 * grub-core/commands: ... to here.
21062 * disk: Moved ...
21063 * grub-core/disk: ... to here.
21064 * efiemu: Moved ...
21065 * grub-core/efiemu: ... to here.
21066 * font: Moved ...
21067 * grub-core/font: ... to here.
21068 * fs: Moved ...
21069 * grub-core/fs: ... to here.
21070 * gencmdlist.sh: Moved ...
21071 * grub-core/gencmdlist.sh: ... to here.
21072 * genemuinit.sh: Moved ...
21073 * grub-core/genemuinit.sh: ... to here.
21074 * genemuinitheader.sh: Moved ...
21075 * grub-core/genemuinitheader.sh: ... to here.
21076 * genfslist.sh: Moved ...
21077 * grub-core/genfslist.sh: ... to here.
21078 * genhandlerlist.sh: Moved ...
21079 * grub-core/genhandlerlist.sh: ... to here.
21080 * genmoddep.awk: Moved ...
21081 * grub-core/genmoddep.awk: ... to here.
21082 * genmodsrc.sh: Moved ...
21083 * grub-core/genmodsrc.sh: ... to here.
21084 * genpartmaplist.sh: Moved ...
21085 * grub-core/genpartmaplist.sh: ... to here.
21086 * genparttoollist.sh: Moved ...
21087 * grub-core/genparttoollist.sh: ... to here.
21088 * genterminallist.sh: Moved ...
21089 * grub-core/genterminallist.sh: ... to here.
21090 * gentrigtables.c: Moved ...
21091 * grub-core/gentrigtables.c: ... to here.
21092 * genvideolist.sh: Moved ...
21093 * grub-core/genvideolist.sh: ... to here.
21094 * gettext: Moved ...
21095 * grub-core/gettext: ... to here.
21096 * gfxmenu: Moved ...
21097 * grub-core/gfxmenu: ... to here.
21098 * gnulib: Moved ...
21099 * grub-core/gnulib: ... to here.
21100 * hello: Moved ...
21101 * grub-core/hello: ... to here.
21102 * hook: Moved ...
21103 * grub-core/hook: ... to here.
21104 * io: Moved ...
21105 * grub-core/io: ... to here.
21106 * kern: Moved ...
21107 * grub-core/kern: ... to here.
21108 * lib: Moved ...
21109 * grub-core/lib: ... to here.
21110 * loader: Moved ...
21111 * grub-core/loader: ... to here.
21112 * mmap: Moved ...
21113 * grub-core/mmap: ... to here.
21114 * normal: Moved ...
21115 * grub-core/normal: ... to here.
21116 * partmap: Moved ...
21117 * grub-core/partmap: ... to here.
21118 * parttool: Moved ...
21119 * grub-core/parttool: ... to here.
21120 * script: Moved ...
21121 * grub-core/script: ... to here.
21122 * term: Moved ...
21123 * grub-core/term: ... to here
21124 * tests/example_functional_test.c: Moved ...
21125 * grub-core/tests/example_functional_test.c: ... to here.
21126 * tests/lib/functional_test.c: Moved ...
21127 * grub-core/tests/lib/functional_test.c: ... to here.
21128 * tests/lib/test.c: Moved ...
21129 * grub-core/tests/lib/test.c: ... to here.
21130 * video: Moved ...
21131 * grub-core/video: ... to here.
21132
645586e6
BC
211332010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21134
21135 Replace --enable-grub-emu-modules with grub-emu-lite.
21136
21137 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21138 cache.S.
21139
21140 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21141 * kern/emu/full.c: New file. For grub-emu specific initialization.
21142 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21143 * kern/emu/main.c: Call initialization function grub_emu_init.
21144
21145 * Makefile.in: Include grub-emu-lite in install.
21146 * commands/parttool.c: Use grub_no_autoload to differentiate
21147 between grub-emu and grub-emu-lite.
21148 * include/grub/misc.h: New variable grub_no_autoload.
21149
21150 * conf/any-emu.rmk: New rules for grub-emu-lite.
21151 * configure.ac: Remove --enable-grub-emu-modules.
21152 * genmk.rb: Cleanup unnecessary rules.
21153 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21154
21155 * normal/main.c: Don't load list files on grub-emu-lite.
21156 * util/misc.c (grub_arch_sync_caches): Removed.
21157
f86a4030
CW
211582010-08-23 Colin Watson <cjwatson@ubuntu.com>
21159
21160 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21161 grub-mkimage rather than grub-mkelfimage.
21162 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21163
06776944
VS
211642010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21167 a key after CapsLock or NumLock. It's just a qemu bug.
21168
df262419
VS
211692010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21170
21171 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21172 needed by libusb wrapper.
21173
b40ea81b
ST
211742010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21175
21176 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21177
dee50575
VS
211782010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21181 --nounzip is passed.
21182
fb1d7b79
VS
211832010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 USB hotunplugging and USB serial support.
21186
21187 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21188 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21189 (grub_uhci_transfer): Respect timeout and set *actual.
21190 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21191 non-standard length.
21192 (grub_usb_device_attach): Autoload modules.
21193 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21194 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21195 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21196 users updated.
21197 (grub_usb_add_hub): Fill nports and children.
21198 (attach_root_port): Receive hub instead of controller.
21199 All users updated. Fill hub->devices.
21200 (grub_usb_root_hub): Allocate hub->devices.
21201 (detach_device): New function.
21202 (poll_nonroot_hub): Fill children and detach devices.
21203 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21204 actual arguments. All users updated.
21205 (grub_usb_bulk_read_extended): New function.
21206 * bus/usb/serial/common.c: New file.
21207 * bus/usb/serial/ftdi.c: Likewise.
21208 * bus/usb/serial/pl2303.c: Likewise.
21209 * commands/terminal.c (handle_command): Support wildcard.
21210 * commands/usbtest.c: Output "Unknown" instead of empty string.
21211 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21212 (usbserial_common_mod_SOURCES): New variable.
21213 (usbserial_common_mod_CFLAGS): Likewise.
21214 (usbserial_common_mod_LDFLAGS): Likewise.
21215 (pkglib_MODULES): Add usbserial_pl2303.mod.
21216 (usbserial_pl2303_mod_SOURCES): New variable.
21217 (usbserial_pl2303_mod_CFLAGS): Likewise.
21218 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21219 (pkglib_MODULES): Add usbserial_ftdi.mod.
21220 (usbserial_ftdi_mod_SOURCES): New variable.
21221 (usbserial_ftdi_mod_CFLAGS): Likewise.
21222 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21223 (pkglib_MODULES): Add serial.mod.
21224 (serial_mod_SOURCES): New variable.
21225 (serial_mod_CFLAGS): Likewise.
21226 (serial_mod_LDFLAGS): Likewise.
21227 * conf/i386-pc.rmk: Likewise.
21228 * conf/mips-yeeloong.rmk: Likewise.
21229 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21230 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21231 * disk/usbms.c (first_available_slot): New variable.
21232 (grub_usbms_attach): Don't reuse free slots due to potential cache
21233 problems.
21234 * include/grub/serial.h: Moved to ..
21235 * include/grub/ns8250.h: ...this.
21236 * include/grub/serial.h: New file.
21237 * include/grub/term.h (grub_term_poll_usb): New variable.
21238 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21239 readkey. All users updated.
21240 (grub_terminfo_output_state): Pass term to put.
21241 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21242 (grub_usb_controller_dev): Add timeout and actual arguments to
21243 transfer. All users updated.
21244 (grub_usb_interface): New field detach_data.
21245 (grub_usb_device): New fields children and nports.
21246 (grub_usb_ep_type_t): New type.
21247 (grub_usb_get_ep_type): New function.
21248 (grub_usb_bulk_read_extended): Likewise.
21249 * include/grub/usbdesc.h (grub_usb_desc): New type.
21250 * include/grub/usbserial.h: New file.
21251 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21252 * kern/term.c (grub_term_poll_usb): New variable.
21253 (grub_getkey): Call grub_term_poll_usb if set.
21254 (grub_checkkey): Likewise.
21255 (grub_getkeystatus): Likewise.
21256 * term/serial.c: Moved controller-specific parts to ...
21257 * term/ns8250.c: ... here.
21258 * term/serial.c: Mostly rewritten.
21259 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21260 according to spec.
21261
21a313de
RM
212622010-08-20 Robert Millan <rmh@gnu.org>
21263
21264 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21265 a separate module and maybe other interesting combinations.
21266
21267 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21268 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21269 (kfreebsd_entry): Add generic filesystem module load routine.
21270 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21271
63c734a6
CW
212722010-08-20 Colin Watson <cjwatson@ubuntu.com>
21273
21274 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21275 "numcenter" (I misunderstood the purpose of this entry).
21276 * docs/grub.texi (sendkey): Likewise.
21277
c4d16542
CW
212782010-08-20 Colin Watson <cjwatson@ubuntu.com>
21279
21280 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21281 status flag options; simply omitting the option is equivalent and
21282 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21283 (keysym_table): Rename "num5numlock" to "numlock".
21284 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21285 can uniformly say that only the last of multiple `sendkey'
21286 invocations has any effect.
21287 * docs/grub.texi (sendkey): New section.
21288
93541d66
CW
212892010-08-19 Colin Watson <cjwatson@ubuntu.com>
21290
21291 * commands/i386/pc/sendkey.c (options): Fix three typos.
21292
b4ece5e1
VS
212932010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Implement sendkey support.
21296
21297 * commands/i386/pc/sendkey.c: New file.
21298 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21299 (sendkey_mod_SOURCES): New variable.
21300 (sendkey_mod_CFLAGS): Likewise.
21301 (sendkey_mod_LDFLAGS): Likewise.
21302
51f1f5af
CW
213032010-08-18 Colin Watson <cjwatson@ubuntu.com>
21304
21305 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21306 fix warnings from Autoconf.
21307
9da94e05
CW
213082010-08-18 Colin Watson <cjwatson@ubuntu.com>
21309
21310 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21311 to avoid false positives with some assemblers that output things
21312 like "someprefix_func" as part of their output.
21313
729a0f2e
RM
213142010-08-15 Robert Millan <rmh@gnu.org>
21315
21316 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21317 errors.
21318 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21319 grub_get_libzfs_handle() errors.
21320
f3710e08
RM
213212010-08-14 Robert Millan <rmh@gnu.org>
21322
21323 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21324 filesystem is not ZFS.
21325
7a3c13de
BC
213262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21327
21328 Fix for misspelled color names defaulting to black/black (bug
21329 reported by Doug Nazar)
21330
21331 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21332 status to prototype.
21333 * normal/color.c (grub_parse_color_name_pair): Return failure
21334 status.
21335 (grub_env_write_color_normal): Ignore bad color names.
21336 (grub_env_write_color_highlight): Likewise.
21337 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21338
ab8ba50d
BC
213392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21340
21341 "shift" command support to GRUB script.
21342
21343 * include/grub/script_sh.h (grub_script_shift): New prototype.
21344 * script/execute.c (grub_script_shift): New function.
21345 * script/main.c (grub_script_init): Register shift command.
21346 (grub_script_fini): Unregister shift command.
21347 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21348
21349 * tests/grub_script_shift.in: New testcase.
21350 * conf/tests.rmk: Rules for new testcase.
21351
4d61999e
BC
213522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21353
21354 "continue" command support to GRUB script.
21355
21356 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21357 (grub_script_break): Continue support.
21358 * script/main.c (grub_script_init): Register continue command.
21359 (grub_script_fini): Unregister continue command.
21360
21361 * tests/grub_script_continue.in: New testcase.
21362 * conf/tests.rmk: Rules for new testcase.
21363
4df51e00
BC
213642010-08-12 BVK Chaitanya <bvk@dbook>
21365
21366 "break" command support to GRUB script.
21367
21368 * conf/common.rmk: Rule updates to grub-script-check.
21369 * include/grub/misc.h (grub_min): New function.
21370 * include/grub/script_sh.h (grub_script_init): New prototype.
21371 (grub_script_fini): New prototype.
21372 (grub_script_break): New prototype.
21373 * script/main.c (grub_script_init): New function.
21374 (grub_script_fini): New function.
21375 * script/execute.c (grub_script_break): New function.
21376 * normal/main.c: Calls to grub_script_{init,fini}.
21377 * util/grub-script-check.c (grub_script_break): New function.
21378
21379 * tests/grub_script_break.in: New testcase.
21380 * conf/tests.rmk: Rules for new test case.
21381
f12c8420
BC
213822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21383
21384 Function parameters support to GRUB script.
21385
21386 * script/yylex.l (VARIABLE): Regular expression update.
21387 * script/function.c (grub_script_function_call): Moved ...
21388 * script/execute.c (grub_script_function_call): ... to here.
21389 (grub_script_execute_arglist_to_argv): Removed.
21390 (grub_script_arglist_to_argv): New function.
21391 * script/argv.c: New file.
21392 (grub_script_argv_free): New function.
21393 (grub_script_argv_next): Likewise.
21394 (grub_script_argv_append): Likewise.
21395 (grub_script_argv_split_append): Likewise.
21396 * include/grub/script_sh.h (grub_script_argv): New struct.
21397 (grub_script_argv_free): New function.
21398 (grub_script_argv_next): Likewise.
21399 (grub_script_argv_append): Likewise.
21400 (grub_script_argv_split_append): Likewise.
21401
21402 * conf/common.rmk (normal.mod): New source script/argv.c.
21403
21404 * tests/grub_script_echo1.in: More tests.
21405 * tests/grub_script_vars1.in: Likewise.
21406 * tests/grub_script_functions.in: New test case.
21407 * conf/tests.rmk: Rules for new testcase.
21408
8022b748
BC
214092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21410
21411 Remove grub_script_cmdblock struct.
21412
21413 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21414 * script/parser.y: Likewise.
21415 * script/execute.c: Rename cmdblock suffix to cmdlist.
21416 * script/script.c: Likewise.
21417 * util/grub-script-check.c: Likewise.
21418
79a6ba61
YB
214192010-08-11 Yves Blusseau <blusseau@zetam.org>
21420
21421 * .bzrignore: add grub-macho2img
21422
d04b9414
VS
214232010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21426
f947ab49
VS
214272010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 Remove the dump of sm712 initialisation sequence.
21430
21431 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21432 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21433 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21434 (GRUB_VGA_CR_*): Added many registers.
21435 (GRUB_VGA_SR_*): Likewise.
21436 (GRUB_VGA_GR_*): Likewise.
21437 (grub_vga_write_arx): New function.
21438 (grub_video_hw_config): New struct.
21439 (grub_vga_set_geometry): New function.
21440 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21441 GRUB_PCI_CLASS_SUBCLASS_VGA.
21442 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21443 * video/sm712.c (grub_sm712_write_reg): New function
21444 (grub_sm712_read_reg): Likewise.
21445 (grub_sm712_sr_write): Likewise.
21446 (grub_sm712_gr_write): Likewise.
21447 (grub_sm712_cr_write): Likewise.
21448 (grub_sm712_write_arx): Likewise.
21449 (grub_sm712_cr_shadow_write): Likewise.
21450 (grub_sm712_write_dda_lookup): Likewise.
21451 (grub_video_sm712_setup): Initialise the video rather then
21452 blindly replay the dump.
21453 (main) [TEST]: Add a routine to be able to compile as standalone for
21454 tests.
21455 * video/sm712_init.c (sm712_init): Removed.
21456 (sm712_sr_seq1): New array.
21457 (sm712_sr_seq2): Likewise.
21458
f0206638
VS
214592010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 * include/grub/vga.h: Add missing grub/pci.h include.
21462
2764da3b
YB
214632010-08-10 Yves Blusseau <blusseau@zetam.org>
21464
21465 * util/grub-macho2img.c (main): fix typo
21466
cf0c775e
VS
214672010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21470 (grub_vga_gr_read): Likewise.
21471 (grub_vga_cr_write): Likewise.
21472 (grub_vga_cr_read): Likewise.
21473 (grub_vga_sr_write): Likewise.
21474 (grub_vga_sr_read): Likewise.
21475 (grub_vga_palette_read): Likewise.
21476 (grub_vga_palette_write): Likewise.
21477 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21478 (grub_sm712_sr_read): New function.
21479 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21480 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21481
07f360e9
RM
214822010-08-09 Robert Millan <rmh@gnu.org>
21483
21484 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21485 out unused variables on non-ZFS build.
21486
346c2072
RM
214872010-08-08 Robert Millan <rmh@gnu.org>
21488
21489 Fix path generation for sub-filesystems in ZFS.
21490
21491 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21492 missing slash.
21493
71175420
RM
214942010-08-08 Robert Millan <rmh@gnu.org>
21495
21496 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21497
0d8286f3
RM
214982010-08-08 Robert Millan <rmh@gnu.org>
21499
21500 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21501 exist, issue a proper error message (rely on `ls' for translated
21502 strings).
21503
55dd2924
RM
215042010-08-08 Robert Millan <rmh@gnu.org>
21505
21506 Fix grub-probe invocation.
21507
21508 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21509
d3dd9e80
RM
215102010-08-04 Robert Millan <rmh@gnu.org>
21511
21512 * configure.ac: Remove checks for getfsstat() and getmntany().
21513 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21514 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21515 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21516 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21517 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21518 function.
21519 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21520 via find_mount_point_from_dir() and getfsstat() / getmntany().
21521
0de22aa9
RM
215222010-08-04 Robert Millan <rmh@gnu.org>
21523
21524 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21525 (grub_find_zpool_from_mount_point): Merge into ...
21526 (grub_find_zpool_from_dir): ... this.
21527 * kern/emu/misc.c: Likewise.
21528
21529 * kern/emu/misc.c
21530 (grub_make_system_path_relative_to_its_root): Replace
21531 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21532 with grub_find_zpool_from_dir().
21533 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21534
62858144
RM
215352010-08-04 Robert Millan <rmh@gnu.org>
21536
21537 Support OpenSolaris in ZFS device resolution.
21538
21539 * configure.ac: Check for getmntany().
21540 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21541 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21542 support.
21543
9dd6fd50
RM
215442010-08-03 Robert Millan <rmh@gnu.org>
21545
21546 Fix grub-emu build.
21547
21548 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21549 * include/grub/emu/misc.h: ... here.
21550
21551 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21552 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21553
21554 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21555 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21556 (grub_get_libzfs_handle): Move to ...
21557 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21558 (grub_get_libzfs_handle): ... here.
21559
c9f7ff97
BC
215602010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21561
21562 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21563 as command name case.
21564
a870a783
CW
215652010-08-02 Colin Watson <cjwatson@ubuntu.com>
21566
21567 * disk/raid.c (insert_array): Select unique numbers for named arrays
21568 as well, for use as keys in the disk cache.
21569
c7db243b
RM
215702010-08-01 Robert Millan <rmh@gnu.org>
21571
21572 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21573 kFreeBSD device name, except on ZFS where the filesystem label is
21574 used.
21575 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21576 `/boot/zfs/zpool.cache'.
21577 Set mountfrom kernel variable using ${kfreebsd_device}.
21578
f7abdefb
RM
215792010-08-01 Robert Millan <rmh@gnu.org>
21580
21581 Make it even harder to use uninitialized `libzfs_handle' (and
21582 make the interface a bit simpler).
21583
21584 * include/grub/util/misc.h (grub_util_init_libzfs)
21585 (libzfs_handle): Remove.
21586 (grub_get_libzfs_handle): New prototype.
21587
21588 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21589 attribute.
21590 (grub_util_init_libzfs): Remove.
21591 (grub_get_libzfs_handle): New function.
21592
21593 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21594 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21595 accessing `libzfs_handle' directly.
21596
c882acc0
RM
215972010-08-01 Robert Millan <rmh@gnu.org>
21598
21599 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21600 (grub_find_zpool_from_mount_point): New function prototypes.
21601
21602 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21603 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21604
21605 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21606 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21607 `static' attribute.
21608
21609 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21610 finding zpool from mount point into ...
21611 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21612
21613 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21614 requested path is part of a ZFS pool, use
21615 grub_find_zpool_from_mount_point() to detect its filesystem name,
21616 and generate a path with `/fsname@path' syntax.
21617
8bfe31d8
CW
216182010-08-01 Colin Watson <cjwatson@ubuntu.com>
21619
21620 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21621 (void) rather than () so that this is a proper prototype.
21622
553df63d
VS
216232010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21626
8687cf07
VS
216272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21630 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21631
ea9be8ea
CW
216322010-08-01 Colin Watson <cjwatson@ubuntu.com>
21633
21634 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21635
6eea041a
CW
216362010-08-01 Colin Watson <cjwatson@ubuntu.com>
21637
21638 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21639
2cfb45df
CW
216402010-08-01 Colin Watson <cjwatson@ubuntu.com>
21641
21642 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21643 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21644 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21645 disable gfxpayload.
21646 (Shell-like scripting): Add real content.
21647 (Serial terminal): Suggest `terminal_input serial; terminal_output
21648 serial' rather than putting the two commands on separate lines,
21649 since console input will be inoperative after the first command.
21650 (menuentry): Document --class, --users, and --hotkey options.
21651 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21652 Vladimir Serbinenko).
21653
7decd202
VS
216542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
216552010-08-01 Colin Watson <cjwatson@ubuntu.com>
21656
21657 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21658
c882acc0
RM
216592010-08-01 Robert Millan <rmh@gnu.org>
21660
21661 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21662 (grub_find_zpool_from_mount_point): New function prototypes.
21663
21664 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21665 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21666
21667 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21668 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21669 `static' attribute.
21670
21671 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21672 finding zpool from mount point into ...
21673 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21674
21675 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21676 requested path is part of a ZFS pool, use
21677 grub_find_zpool_from_mount_point() to detect its filesystem name,
21678 and generate a path with `/fsname@path' syntax.
21679
deb0caa3
RM
216802010-08-01 Robert Millan <rmh@gnu.org>
21681
21682 Prevent accidental use of uninitialized libzfs_handle.
21683
21684 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21685 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21686 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21687
ce04ef47
CW
216882010-08-01 Colin Watson <cjwatson@ubuntu.com>
21689
21690 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21691 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21692
ebf53056
RM
216932010-08-01 Robert Millan <rmh@gnu.org>
21694
21695 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21696
3710bb6b
RM
216972010-07-31 Robert Millan <rmh@gnu.org>
21698
21699 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21700
8072efeb
RM
217012010-07-31 Robert Millan <rmh@gnu.org>
21702
21703 * kern/emu/misc.c: Add missing license header.
21704
3169f4c7
RM
217052010-07-31 Robert Millan <rmh@gnu.org>
21706
21707 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21708
21709 * include/grub/util/libnvpair.h: Include `<config.h>'.
21710 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21711 declaring libnvpair prototypes ourselves.
21712 * include/grub/util/libzfs.h: Include `<config.h>'.
21713 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21714 declaring libzfs prototypes ourselves.
21715
21716 (libzfs_handle): Moved to ...
21717 * include/grub/util/misc.h (libzfs_handle): ... here.
21718 Include `<grub/util/libzfs.h>'.
21719
c9a00aee
RM
217202010-07-30 Robert Millan <rmh@gnu.org>
21721
21722 * include/grub/emu/misc.h: Add missing license header.
21723
a184f9c8
RM
217242010-07-30 Robert Millan <rmh@gnu.org>
21725
21726 Enable `grub-probe -t device' resolution on ZFS.
21727
21728 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21729 * include/grub/util/libnvpair.h: New file.
21730 * include/grub/util/libzfs.h: New file.
21731
21732 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21733 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21734 `<grub/util/libnvpair.h>'.
21735 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21736
21737 (find_mount_point_from_dir): New static function.
21738 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21739 function.
21740 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21741 find_root_device_from_libzfs() before ressorting to find_root_device().
21742
21743 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21744 prototype.
21745 * util/misc.c: Include `<grub/util/libzfs.h>'.
21746 (grub_util_init_libzfs): New function.
21747 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21748 [HAVE_LIBZFS] (fini_libzfs): New static function.
21749 (grub_util_init_libzfs): New function.
21750 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21751
f7790cdd
RM
217522010-07-30 Robert Millan <rmh@gnu.org>
21753
21754 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21755 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21756 `warn_unused_result' attribute.
21757 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21758 (grub_xasprintf, grub_xvasprintf): Likewise.
21759 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21760
0806b63c
RM
217612010-07-29 Robert Millan <rmh@gnu.org>
21762
21763 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21764 (probe): Handle `PRINT_FS_LABEL'.
21765 (main): Handle `-t fs_label'.
21766
9f841f5c
RM
217672010-07-29 Robert Millan <rmh@gnu.org>
21768
21769 * configure.ac: Remove grub-mkisofs checks.
21770
46371121
VS
217712010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21774 Reported by: Lennart Sorensen.
21775
217762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21779 prior to terminal_input/terminal_output separation. It's been over 1.5
21780 years and those versions weren't widely deployed.
21781
a9600892
CW
217822010-07-22 Colin Watson <cjwatson@ubuntu.com>
21783
21784 * disk/raid.c (insert_array): Don't count named arrays when looking
21785 for unused array numbers.
697e053c 21786 Reported and tested by: Michael Guntsche.
a9600892 21787
c03507df
CW
217882010-07-20 Colin Watson <cjwatson@ubuntu.com>
21789
21790 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21791 implementation of this so that grub-emu links again, with a note
21792 that this should support hotplugging in the future.
21793
b26f1c11
CW
217942010-07-20 Colin Watson <cjwatson@ubuntu.com>
21795
21796 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21797
efc9d7f1
CW
217982010-07-20 Colin Watson <cjwatson@ubuntu.com>
21799
21800 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21801 handle on failure.
21802 (grub_loopback_close): Remove empty function.
21803 (grub_loopback_dev): Remove close method.
21804
dd8ff5c9
CW
218052010-07-20 Colin Watson <cjwatson@ubuntu.com>
21806
21807 Disable EFI cursor when the EFI console becomes inactive.
21808
21809 * term/efi/console.c (grub_efi_console_init): New function.
21810 (grub_efi_console_fini): New function.
21811 (grub_console_term_output): Register init and fini methods.
21812
5e3bec67
VS
218132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21814
21815 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21816 sh script.
21817
afaec079
VS
218182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 * disk/loopback.c (grub_loopback): Replace filename with file.
21821 (delete_loopback): Handle new semantics.
21822 (grub_cmd_loopback): Likewise.
21823 (grub_loopback_iterate): Likewise.
21824 (grub_loopback_close): Likewise.
21825
a6a11f3c
VS
218262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21827
21828 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21829 with -p "".
21830 Reported by: Tito Keitel.
21831
64a638b0
VS
218322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21833
21834 * docs/grub.texi (Naming convention): Document new naming convention.
21835
ab8ba957
VS
218362010-07-20 Vadim Solomin <vadic052@gmail.com>
218372010-07-20 Colin Watson <cjwatson@ubuntu.com>
21838
21839 Generate device.map in something closer to the old ordering.
21840
21841 * util/deviceiter.c (struct device): New declaration.
21842 (compare_file_names): Rename to ...
21843 (compare_devices): ... this. Sort by kernel name in preference to
21844 the stable by-id name, but keep the latter as a fallback comparison.
21845 Update header comment.
21846 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21847 of `struct device' rather than of plain file names.
21848
a29d6a4b
TF
218492010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21850
21851 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21852 on i386.
21853
39d824e8
VS
218542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21857 hardcoding size.
21858 (setv1table): Likewise.
21859
f058276b
FZ
218602010-07-20 Colin Watson <cjwatson@ubuntu.com>
21861
21862 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21863 removing the homehost if present.
21864 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21865 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21866 removing the homehost if present.
21867 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21868 if possible.
21869 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21870
21871 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21872 parameter. Set its pointer target to 0.
21873 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21874 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21875 `data_offset' value from the superblock for 1.x metadata.
21876 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21877 data on the device.
21878 (insert_array): Record the start sector of data on the device.
21879 (grub_raid_register): Pass start_sector parameters to
21880 grub_raid_list->detect and insert_array.
21881 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21882 member.
21883 (struct grub_raid): Add start_sector parameter to `detect'.
21884
21885 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21886 __attribute__ ((packed)), leaving a comment.
21887 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21888 (grub_mdraid_detect_09): ... here and ...
21889 (grub_mdraid_detect_1x): ... here.
21890
218912010-07-20 Peter Henn <peter.henn@web.de>
21892
21893 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21894 chunk size and disk size, which are already given as sector counts
21895 as distinct from the 0.90 units. Fetch the correct device number
21896 from the role table instead of using the table index.
21897
218982010-07-20 Felix Zielcke <fzielcke@z-51.de>
21899
21900 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21901 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21902 (WriteMostly1): New macro.
21903 Set array->name to NULL for metadata format 0.90. Add support for
21904 metadata 1.x. Fix some comments.
21905 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21906 few comments.
21907 * util/getroot.c (grub_util_get_grub_dev): Add support for
21908 /dev/md/name style devices.
21909
4b761da9
CW
219102010-07-20 Colin Watson <cjwatson@ubuntu.com>
21911
21912 * .bzrignore: Ignore 20_linux_xen.
21913
5771289a
CW
219142010-07-17 Colin Watson <cjwatson@ubuntu.com>
21915
21916 * util/import_unicode.py: Remove unnecessary imports.
21917
5dab68df
AN
219182010-07-17 Aleš Nesrsta <starous@volny.cz>
21919
21920 Hotplugging and USB hub support.
21921
21922 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21923 (grub_ohci): Likewise.
21924 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21925 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21926 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21927 (GRUB_OHCI_CTRL_EDS): Likewise.
21928 (GRUB_OHCI_BULK_EDS): Likewise.
21929 (GRUB_OHCI_TDS): Likewise.
21930 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21931 (grub_ohci_ed_phys2virt): New function.
21932 (grub_ohci_virt_to_phys): Likewise.
21933 (grub_ohci_td_phys2virt): Likewise.
21934 (grub_ohci_td_virt2phys): Likewise.
21935 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21936 attachment.
21937 (grub_ohci_find_ed): New function.
21938 (grub_ohci_alloc_td): Likewise.
21939 (grub_ohci_free_td): Likewise.
21940 (grub_ohci_free_tds): Likewise.
21941 (grub_ohci_transfer): Use previously allocated memory.
21942 (grub_ohci_portstatus): Reset status changed bit.
21943 (grub_ohci_detect_dev): Supply status changed.
21944 (grub_ohci_fini_hw): Free memory.
21945 (grub_ohci_restore_hw): Reallocate memory.
21946 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21947 Reset status change.
21948 (grub_uhci_detect_dev): Supply status_change.
21949 * bus/usb/usb.c (attach_hooks): New var.
21950 (grub_usb_device_attach): New function.
21951 (grub_usb_register_attach_hook_class): Likewise.
21952 (grub_usb_unregister_attach_hook_class): Likewise.
21953 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21954 (grub_usb_add_hub): Reset connection changed bit.
21955 (attach_root_port): New function.
21956 (grub_usb_root_hub): Likewise.
21957 (poll_nonroot_hub): Likewise.
21958 (grub_usb_poll_devices): Likewise.
21959 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21960 * disk/usbms.c (grub_usbms_open): Use device hooks.
21961 (grub_usbms_iterate) :Poll devices.
21962 (grub_usbms_finddevs): Split into ...
21963 (grub_usbms_attach): ... this ...
21964 (grub_usbms_attach): ... and this.
21965 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21966 in detect_dev.
21967 (grub_usb_interface): New fields attached and detach_hook.
21968 (grub_usb_attach_hook_class): New type.
21969 (grub_usb_attach_desc): New struct.
21970 (grub_usb_register_attach_hook_class): New function.
21971 (grub_usb_unregister_attach_hook_class): Likewise.
21972 (grub_usb_poll_devices): Likewise.
21973 (grub_usb_device_attach): Likewise.
21974 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21975 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21976
3222efaf
VS
219772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21978
21979 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21980 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21981 delta determination style. Works with most NetBSD partitions too.
21982
139b714a
VS
219832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21986 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21987
986aad56
VS
219882010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21989
21990 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21991
99be513c
AB
219922010-07-14 Anton Blanchard <anton@samba.org>
21993
21994 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21995 ET_DYN files.
21996
18075f62
GS
219972010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21998
21999 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22000
8d9a5b15
GS
220012010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22002
22003 * kern/partition.c (grub_partition_check_containment): New function to
22004 check that a partition is physically contained in a parent. Since
22005 offsets are relative (and non-negative), this reduces to checking that
22006 the partition ends before its parent.
22007 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22008 (grub_partition_iterate): Likewise.
22009 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22010 comments.
22011 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22012 partitions that start before their parent, and add debug printfs.
22013
19563c25
CW
220142010-07-13 Colin Watson <cjwatson@ubuntu.com>
22015
22016 * Makefile.in (.SUFFIX): Spell correctly, as ...
22017 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22018 bare module name without `.mod', e.g. `test') tried to invoke a
22019 Modula-2 compiler.
22020
1a1f1e67
CW
220212010-07-13 Colin Watson <cjwatson@ubuntu.com>
22022
22023 * README: Point to the Info manual.
22024
811b0dca
JS
220252010-07-13 Jiro SEKIBA <jir@unicus.jp>
22026
22027 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22028 2nd superblock position from partition size.
22029
e4f4eafc
CW
220302010-07-10 Colin Watson <cjwatson@ubuntu.com>
22031
22032 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22033 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22034 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22035 outputs.
22036
4274c30f
VS
220372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 Restructure SCSI .id handling.
22040 Reported and tested by: Aleš Nesrsta.
22041
22042 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22043 (grub_atapi_dev): Changed .name to "ata". New field .id.
22044 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22045 (grub_usbms_dev): New field .id.
22046 * disk/scsi.c (grub_scsi_iterate): Generate name.
22047 (grub_scsi_open): Parse name.
22048 * include/grub/scsi.h (grub_make_scsi_id): New function.
22049 (grub_scsi_dev): Change iterate and open to number instead of naming
22050 busses. All users updated.
22051 (grub_scsi): Remove name. Add .bus.
22052
5bc24388
VS
220532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22054
22055 * commands/help.c (grub_cmd_help): Fix a typo.
22056
249975ba
VS
220572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22058
22059 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22060 Reported and tested by: Colin Watson.
22061
3eaac1a1
VS
220622010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22065 in this context.
22066
becce1b1
VS
220672010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22068
22069 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22070
f7bf0918
CW
220712010-07-07 Colin Watson <cjwatson@ubuntu.com>
22072
22073 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22074 indentation.
22075
0b0f9620
CW
220762010-07-06 Colin Watson <cjwatson@ubuntu.com>
22077
22078 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22079 and disk/raid6_recover.c.
22080 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22081 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22082
1e545469
CW
220832010-07-06 Colin Watson <cjwatson@ubuntu.com>
22084
22085 * term/gfxterm.c (repaint_schedulded): Rename to ...
22086 (repaint_scheduled): ... this. Update all callers.
22087 (repaint_was_schedulded): Rename to ...
22088 (repaint_was_scheduled): ... this. Update all callers.
22089
5357687a
CW
220902010-07-06 Colin Watson <cjwatson@ubuntu.com>
22091
22092 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22093 which we expect to be handled by upper layers.
22094
29d7e783
BC
220952010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22096
22097 * bus/usb/usbhub.c: #include time.h header.
22098
37582066
CW
220992010-07-06 Colin Watson <cjwatson@ubuntu.com>
22100
22101 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22102 entry_name also for entries without stat blocks (e.g. ".."); fixes
22103 corruption of the first entry in a directory.
22104
c8c06953
CW
221052010-07-06 Colin Watson <cjwatson@ubuntu.com>
22106
22107 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22108 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22109 doesn't work otherwise.
22110
e75056f1
CW
221112010-07-05 Colin Watson <cjwatson@ubuntu.com>
22112
22113 * docs/grub.texi (Features): Update list of supported file systems.
22114 (GNU/Linux): Update for GRUB 2.
22115 (Serial terminal): Remove mention of --disable-serial, which was a
22116 GRUB Legacy configure option. Update instructions to use
22117 `terminal_input' and `terminal_output' rather than `terminal'.
22118 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22119 configuration' and `Installing GRUB using grub-install'.
22120 (Menu entry editor): Update for GRUB 2.
22121 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22122 Document new -a, -u, and -v options.
22123 (initrd): New section.
22124 (initrd16): New section.
22125 (linux): New section.
22126 (linux16): New section.
22127 (search): The `var' argument to `--set' is optional.
22128 (GRUB only offers a rescue shell): Go into a little more detail on
22129 drive ordering.
22130
5cf69151
CW
221312010-07-05 Colin Watson <cjwatson@ubuntu.com>
22132
22133 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22134
e3f90044
CW
221352010-07-05 Colin Watson <cjwatson@ubuntu.com>
22136
22137 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22138 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22139
38d8f4f3
CW
221402010-07-05 Colin Watson <cjwatson@ubuntu.com>
22141
22142 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22143 install_prefix, in line with install_dos_part and install_bsd_part.
22144 Add new prefix variable, which is copied to install_prefix after
22145 comparing core.img in memory with the one read from disk in the
22146 no-embedding case, and use that rather than overwriting
22147 install_prefix immediately when installing to a partition.
22148 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22149 Bicakci.
22150
57ebd41e
GS
221512010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22152
22153 * configure.ac: Avoid == in test command, it's not portable.
22154 * util/grub.d/30_os-prober.in: Likewise.
22155
cb7f64b2
CW
221562010-07-04 Colin Watson <cjwatson@ubuntu.com>
22157
22158 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22159
6b654bb0
GS
221602010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22161
22162 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22163 multiple (top-level) partmaps.
22164
72a2026d
VS
221652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22168 Reported by: Tino Keitel.
72a2026d 22169
df3eb88f
VS
221702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 Bidi and diacritics support.
22173
22174 * Makefile.in (widthspec.bin): New target.
22175 (widthspec.h): Likewise.
22176 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22177 * autogen.sh: Generate unidata.c.
22178 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22179 * commands/ls.c (grub_ls_list_devices): Likewise.
22180 (grub_ls_list_files): Likewise.
22181 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22182 (grub_mini_cmd_lsmod): Likewise.
22183 * commands/read.c: Likewise.
22184 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22185 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22186 * lib/arg.c (grub_arg_show_help): Likewise.
22187 * lib/crypto.c (grub_password_get): Likewise.
22188 * normal/auth.c (grub_username_get): Likewise.
22189 * normal/misc.c (grub_normal_print_device_info): Likewise.
22190 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22191 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22192 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22193 (normal/charset.c_DEPENDENCIES): New variable.
22194 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22195 (pkglib_MODULES): Remove charset.mod.
22196 (charset_mod_SOURCES): Removed.
22197 (charset_mod_CFLAGS): Likewise.
22198 (charset_mod_LDFLAGS): Likewise.
22199 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22200 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22201 and term/tparm.c.
22202 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22203 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22204 (kernel_img_HEADERS): Add terminfo.h.
22205 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22206 Fill ->font. Reverse ascii bitmaps.
22207 (grub_font_get_xheight): New function.
22208 * font/font.c (grub_font_get_string_width): Moved from here ...
22209 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22210 * font/font.c (grub_font_draw_string): Moved from here ...
22211 * gfxmenu/font.c (grub_font_draw_string): ... here.
22212 * font/font.c (grub_font_dup_glyph): New function.
22213 (grub_font_blit_glyph): Likewise.
22214 (grub_font_blit_glyph_mirror): Likewise.
22215 (blit_comb): Likewise.
22216 (grub_font_construct_dry_run): Likewise.
22217 (grub_font_get_constructed_device_width): Likewise.
22218 (grub_font_construct_glyph): Likewise.
22219 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22220 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22221 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22222 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22223 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22224 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22225 (grub_font_get_xheight): New proto.
22226 (grub_font_get_constructed_device_width): Likewise.
22227 (grub_font_construct_glyph): Likewise.
22228 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22229 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22230 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22231 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22232 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22233 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22234 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22235 (grub_console_getcharwidth): Likewise.
22236 * include/grub/misc.h (grub_xputs): New proto.
22237 (grub_puts): Inlined.
22238 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22239 (grub_normal_get_line_counter): Removed.
22240 (grub_install_newline_hook): Likewise.
22241 (grub_normal_get_char_counter): New proto.
22242 (grub_normal_reset_more): Likewise.
22243 (grub_xputs_normal): Likewise.
22244 * include/grub/powerpc/ieee1275/console.h: Removed.
22245 * include/grub/sparc64/ieee1275/console.h: Likewise.
22246 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22247 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22248 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22249 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22250 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22251 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22252 (grub_term_input): Pass reference to self. All users updated.
22253 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22254 Pass reference to self. New fields normal_color, highlight_color and
22255 data. All users updated.
22256 (grub_putchar): Removed.
22257 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22258 (grub_unicode_estimate_width): New function.
22259 (grub_term_getcharwidth): Add defaults.
22260 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22261 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22262 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22263 (grub_cls): Remove EXPORT_FUNC.
22264 (grub_setcolorstate): Inline.
22265 (grub_newline_hook): Removed.
22266 * include/grub/terminfo.h: Rewritten. All users updated.
22267 * include/grub/unicode.h: New file.
22268 * include/grub/video.h (grub_video_signed_rect): New type.
22269 * kern/emu/console.c (grub_console_highlight_color): Removed.
22270 (grub_console_normal_color): Likewise.
22271 (grub_console_standard_color): Made static.
22272 (grub_ncurses_putchar): Remove mapping.
22273 (grub_ncurses_getcharwidth): Removed.
22274 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22275 (grub_ncurses_setcolor): Removed.
22276 (grub_ncurses_getcolor): Likewise.
22277 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22278 (grub_console_putchar): ... this.
22279 (grub_console_putchar): Handle argument difference.
22280 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22281 console_init_early and console_init_lately.
22282 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22283 * kern/misc.c (grub_puts): Removed.
22284 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22285 (grub_vsnprintf_real): Remove str = NULL support.
22286 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22287 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22288 * kern/term.c (grub_putcode): Renamed to ...
22289 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22290 (grub_putchar): Removed.
22291 (grub_xputs_dumb): New function.
22292 (grub_xputs): New variable.
22293 * lib/charset.c: Move from here ...
22294 * normal/charset.c: ... to here.
22295 (grub_ucs4_to_utf8): New function.
22296 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22297 (join_types): New variable.
22298 (unpack_join): New function.
22299 (bidi_types): New variable.
22300 (unpack_bidi): New function.
22301 (get_bidi_type): Likewise.
22302 (get_join_type): Likewise.
22303 (is_mirrored): Likewise.
22304 (grub_unicode_get_comb_type): Likewise.
22305 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22306 (is_type_after): Likewise.
22307 (grub_unicode_aglomerate_comb): Likewise.
22308 (bidi_line_wrap): Likewise.
22309 (grub_bidi_line_logical_to_visual): Likewise.
22310 (grub_bidi_logical_to_visual): Likewise.
22311 (grub_unicode_mirror_code): Likewise.
22312 (grub_unicode_shape_code): Likewise.
22313 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22314 Don't use grub_putchar.
22315 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22316 (grub_normal_reader_init): Likewise.
22317 (grub_xputs_saved): New variable.
22318 (GRUB_MOD_INIT): Set grub_xputs.
22319 (GRUB_MOD_FINI): Restore grub_xputs.
22320 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22321 (menu_init): Avoid printing gfxmenu error.
22322 (show_menu): Use grub_normal_get_char_counter.
22323 * normal/menu_entry.c (update_screen): Fix out-of-array.
22324 (complete): Avoid NULL dereferencing.
22325 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22326 * normal/menu_text.c (print_spaces): Removed.
22327 (grub_print_ucs4): Likewise.
22328 (grub_print_message_indented): Use grub_print_ucs4.
22329 (print_message): Use grub_putcode.
22330 (print_entry): Hanlde diacritics.
22331 * normal/term.c (term_state): New type.
22332 (grub_more_lines): Removed.
22333 (term_states): New variable.
22334 (grub_normal_line_counter): Renamed to ..
22335 (grub_normal_char_counter): ...this. All users updated.
22336 (grub_normal_get_line_counter): Renamed to ...
22337 (grub_normal_get_char_counter): ... this.
22338 (grub_normal_reset_more): New function.
22339 (process_newline): Removed.
22340 (print_more): New function.
22341 (grub_install_newline_hook): Removed.
22342 (map_code): New function.
22343 (grub_puts_terminal): Use grub_print_ucs4.
22344 (putglyph): New function.
22345 (putcode_real): Likewise.
22346 (grub_putcode): Use putcode_real.
22347 (get_maxwidth): New function.
22348 (get_startwidth): Likewise.
22349 (print_ucs4_terminal): Likewise.
22350 (find_term_state): Likewise.
22351 (put_glyphs_terminal): Likewise.
22352 (print_backlog): Likewise.
22353 (print_ucs4_real): Likewise.
22354 (grub_print_ucs4): Likewise.
22355 (grub_xputs_normal): Likewise.
22356 * term/efi/console.c (grub_console_putchar): Output diacritics.
22357 (grub_console_getcharwidth): Removed.
22358 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22359 * term/gfxterm.c (clear_char): Free chars.
22360 (scroll_up): Avoid leaking memory.
22361 (grub_gfxterm_putchar): Support diacritics.
22362 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22363 * term/i386/pc/console.c (grub_console_term_output): Declare as
22364 GRUB_TERM_CODE_TYPE_VGA.
22365 * term/i386/pc/vga.c (grub_vga_term): Declare as
22366 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22367 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22368 GRUB_TERM_CODE_TYPE_VGA.
22369 * term/i386/vga_common.c (map_char): Removed.
22370 (grub_console_putchar): Likewise.
22371 (grub_console_getcharwidth): Likewise.
22372 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22373 (colors): Reordered to match terminfo.
22374 (grub_ofconsole_normal_color): Removed.
22375 (grub_ofconsole_writeesc): Likewise.
22376 (grub_ofconsole_highlight_color): Likewise.
22377 (grub_ofconsole_getcharwidth): Likewise.
22378 (grub_ofconsole_setcolorstate): Likewise.
22379 (grub_ofconsole_setcolor): Likewise.
22380 (grub_ofconsole_getcolor): Likewise.
22381 (grub_ofconsole_readkey): Renamed to ...
22382 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22383 key.
22384 (grub_ofconsole_checkkey): Removed.
22385 (grub_ofconsole_getkey): Likewise.
22386 (grub_ofconsole_getxy): Likewise.
22387 (grub_ofconsole_gotoxy): Likewise.
22388 (grub_ofconsole_cls): Likewise.
22389 (grub_ofconsole_refresh): Likewise.
22390 (grub_ofconsole_terminfo_input): New struct.
22391 (grub_ofconsole_terminfo_output): Likewise.
22392 (grub_ofconsole_term_input): Use terminfo.
22393 (grub_ofconsole_term_output): Likewise.
22394 (grub_console_init): Split into ...
22395 (grub_console_init_early): ...this and ...
22396 (grub_console_init_lately): ...this. Use terminfo.
22397 (grub_ofconsole_putchar): Renamed to ...
22398 (put): ... this. Remove mapping.
22399 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22400 * term/serial.c: Simplify using terminfo.
22401 (xpos): Removed.
22402 (ypos): Likewise.
22403 (keep_track): Likewise.
22404 (registered): Likewise.
22405 (input_buf): Likewise.
22406 (npending): Likewise.
22407 (serial_translate_key_sequence): Likewise.
22408 (fill_input_buf): Likewise.
22409 (grub_serial_checkkey): Likewise.
22410 (grub_serial_getkey): Likewise.
22411 (grub_serial_getxy): Likewise.
22412 (grub_serial_gotoxy): Likewise.
22413 (grub_serial_putchar): Likewise.
22414 (grub_serial_cls): Likewise.
22415 (grub_serial_setcolorstate): Likewise.
22416 (grub_serial_setcursor): Likewise.
22417 (serial_hw_init): Use serial_hw_fetch.
22418 (grub_serial_terminfo_input): New variable.
22419 (grub_serial_terminfo_output): Likewise.
22420 (grub_serial_term_input): Use terminfo.
22421 (grub_serial_term_output): Likewise.
22422 * term/terminfo.c (putstr): Use put.
22423 (grub_terminfo_all_free): New function
22424 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22425 (grub_terminfo_output_register): New function.
22426 (grub_terminfo_output_unregister): Likewise.
22427 (grub_terminfo_getxy): Likewise.
22428 (grub_terminfo_readkey): Likewise.
22429 (grub_terminfo_checkkey): Likewise.
22430 (grub_terminfo_getkey): Likewise.
22431 (grub_terminfo_input_init): Likewise.
22432 (print_terminfo): Likewise.
22433 (grub_cmd_terminfo): Handle encoding.
22434 (grub_terminfo_gotoxy): Track position.
22435 (grub_terminfo_cls): Likewise.
22436 (grub_terminfo_putchar): Likewise.
22437 (grub_terminfo_setcolorstate): Handle colors
22438 (grub_terminfo_cursor_on): This ...
22439 (grub_terminfo_cursor_off): ... and this merged into ...
22440 (grub_terminfo_setcursor): ... this.
22441 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22442 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22443 * unicode/BidiMirroring.txt: Likewise.
22444 * unicode/UnicodeData.txt: Likewise.
22445 * unicode/COPYING: Likewise.
22446 * util/grub-editenv.c (grub_putchar): Removed.
22447 (grub_xputs_real): New function.
22448 (grub_xputs): New variable.
22449 * util/grub-fstest.c (grub_putchar): Removed.
22450 (grub_xputs_real): New function.
22451 (grub_xputs): New variable.
22452 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22453 (grub_xputs_real): New function.
22454 (grub_xputs): New variable.
22455 * util/grub-probe.c (grub_putchar): Removed.
22456 (grub_xputs_real): New function.
22457 (grub_xputs): New variable.
22458 * util/grub-script-check.c (grub_putchar): Removed.
22459 (grub_xputs_real): New function.
22460 (grub_xputs): New variable.
22461 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22462 (grub_xputs_real): New function.
22463 (grub_xputs): New variable.
22464 * util/import_unicode.py: New file.
22465 * util/grub-mkfont.c (ft_errmsgs): New array.
22466 (grub_glyph_info): Make bitmap a pointer.
22467 (file_formats): New type WIDTH_SPEC.
22468 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22469 (options): Add width-spec.
22470 (help): Likewise.
22471 (add_char): Renamed to ...
22472 (add_glyph): ... this.
22473 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22474 (glyph_replace): New type.
22475 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22476 (add_char): New function.
22477 (add_subst): Likewise.
22478 (process_cursive): Likewise.
22479 (add_font): Handle GSUB.
22480 (write_font_width_spec): New function.
22481 (main): Sort glyphs.
22482 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22483 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22484 * kern/term.c (grub_cls): Moved from here...
22485 * normal/term.c (grub_cls): ... here.
22486
50f0bcda
CW
224872010-07-02 Colin Watson <cjwatson@ubuntu.com>
22488
22489 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22490 suitable for using within the format argument of printf when
22491 converting grub_size_t.
22492 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22493 "x" to convert grub_size_t arguments.
22494
40372103
VS
224952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22498 too long captions.
22499 (list_get_minimal_size): Take selection box into account.
22500
942a10c7
VS
225012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22504 NULL font.
22505
2bdb2892
CW
225062010-07-02 Colin Watson <cjwatson@ubuntu.com>
22507
22508 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22509 devices when iterating over /dev/disk/by-id; they will be handled
22510 later if appropriate, which they aren't always (e.g. LVM).
22511
e03ed6c1
CW
225122010-07-02 Colin Watson <cjwatson@ubuntu.com>
22513
22514 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22515 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22516 fails.
22517 (grub_halt): Likewise.
22518 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22519 reset-all fails.
22520 (grub_halt): Don't return, even if all of shut-down, power-off, and
22521 poweroff fail.
22522
47695765
CW
225232010-07-02 Colin Watson <cjwatson@ubuntu.com>
22524
22525 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22526 arguments, not three.
22527
507736c8
CW
225282010-07-02 Colin Watson <cjwatson@ubuntu.com>
22529
22530 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22531 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22532 LVM-on-RAID is handled correctly.
22533
e3c8cd37
CW
225342010-07-02 Colin Watson <cjwatson@ubuntu.com>
22535
22536 * docs/grub.texi (Changes from GRUB Legacy): New section.
22537 (Future): Fix typo.
22538
8d4a2fec
CW
225392010-07-02 Colin Watson <cjwatson@ubuntu.com>
22540
22541 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22542 grub.d/README accidentally ends up executable for one reason or
22543 another. Ignore it.
22544
1c4827be
VS
225452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22548 (gpt_partition_map_iterate): Support non-512B sectors.
22549
d9a0c941
VS
225502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22553 Tested by: Seth Goldberg.
22554
48f27e87
VS
225552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22558 Properly align mbi.
22559 Reported by: Seth Goldberg.
22560
b0c4f956
VS
225612010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 * util/grub-mkrescue.in: Avoid module duplication.
22564
105a2e8c
SF
225652010-07-01 Sean Finney <seanius@seanius.net>
22566
22567 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22568
5944958c
SF
225692010-07-01 Sean Finney <seanius@seanius.net>
22570
22571 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22572
225732010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 * disk/lvm.c (grub_lvm_checkvalue): New function.
22576 (grub_lvm_check_flag): Likewise.
22577
b79889ba
RM
225782010-07-01 Robert Millan <rmh@gnu.org>
22579
22580 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22581 Support 'p' as partition separator on kernel of FreeBSD (used
22582 with GPT labels).
22583 (grub_util_biosdisk_get_grub_dev): Likewise.
22584
ec1d04f1
VS
225852010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 Yeeloong firmware port.
22588
22589 * boot/mips/yeeloong/fwstart.S: New file.
22590 * bus/cs5536.c (gpiodump): New const.
22591 (set_io_space): New function.
22592 (set_iod): Likewise.
22593 (set_p2d): Likewise.
22594 (grub_cs5536_init_geode): Likewise.
22595 * commands/mips/yeeloong/lsspd.c: New file.
22596 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22597 (serial_mod_SOURCES): New variable.
22598 (serial_mod_CFLAGS): Likewise.
22599 (serial_mod_LDFLAGS): Likewise.
22600 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22601 term/terminfo.c and term/tparm.c.
22602 (pkglib_IMAGES): Add fwstart.img.
22603 (fwstart_img_SOURCES): New variable.
22604 (fwstart_img_CFLAGS): Likewise.
22605 (fwstart_img_ASFLAGS): Likewise.
22606 (fwstart_img_LDFLAGS): Likewise.
22607 (fwstart_img_FORMAT): Likewise.
22608 (pkglib_MODULES): Add lsspd.mod.
22609 (lsspd_mod_SOURCES): New variable.
22610 (lsspd_mod_CFLAGS): Likewise.
22611 (lsspd_mod_LDFLAGS): Likewise.
22612 (pkglib_MODULES): Add halt.mod.
22613 (halt_mod_SOURCES): New variable.
22614 (halt_mod_CFLAGS): Likewise.
22615 (halt_mod_LDFLAGS): Likewise.
22616 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22617 (serial_mod_SOURCES): Removed.
22618 (serial_mod_CFLAGS): Likewise.
22619 (serial_mod_LDFLAGS): Likewise.
22620 * disk/ata.c (check_device): New function.
22621 (grub_ata_device_initialize): Use check_device.
22622 (grub_ata_iterate): Recheck devices.
22623 (grub_ata_open): Likewise.
22624 (grub_atapi_iterate): Likewise.
22625 (grub_atapi_open): Likewise.
22626 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22627 (GRUB_ATA_CH1_PORT1): Likewise.
22628 (GRUB_ATA_CH0_PORT2): Likewise.
22629 (GRUB_ATA_CH1_PORT2): Likewise.
22630 * include/grub/mips/loongson.h: New file.
22631 * include/grub/mips/yeeloong/ec.h: Likewise.
22632 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22633 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22634 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22635 * include/grub/misc.h (grub_halt): Declare as noreturn.
22636 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22637 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22638 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22639 (UART_ENABLE_DTRRTS): Likewise.
22640 (UART_ENABLE_MODEM): Removed.
22641 (UART_ENABLE_OUT2): New const.
22642 * include/grub/term.h (grub_term_register_input_active): New function.
22643 (grub_term_register_output_active): Likewise.
22644 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22645 argument.
22646 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22647 (init_pci): New function.
22648 (grub_machine_init): Execute platform init when firmware. Init serial.
22649 (grub_halt): Implement.
22650 (grub_exit): Likewise.
22651 (grub_reboot): Likewise.
22652 * term/serial.c (serial_hw_init): Update macros.
22653 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22654 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22655 (image_targets): New target mipsel-yeeloong-flash.
22656 (generate_image): Support IMAGE_YEELOONG_FLASH.
22657 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22658 (grub_video_sm712_setup): Init card.
22659 (grub_video_sm712_set_palette): Removed.
22660 * video/sm712_init.c: New file.
22661
ff4a70d2
CW
226622010-06-30 Colin Watson <cjwatson@ubuntu.com>
22663
22664 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22665 PATH when running help2man and then run it on the unadorned
22666 executable names, rather than passing $(builddir)/* paths to
22667 help2man. This avoids the build directory ending up in generated
22668 manual pages.
22669
1246efeb
CW
226702010-06-29 Colin Watson <cjwatson@ubuntu.com>
22671
22672 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22673 to avoid accidents when debugging with 'sh -x'.
22674 * util/grub-mkrescue.in: Likewise.
22675 * util/grub.d/00_header.in: Likewise.
22676 * util/grub.d/10_hurd.in: Likewise.
22677 * util/grub.d/10_kfreebsd.in: Likewise.
22678 * util/grub.d/10_linux.in: Likewise.
22679 * util/grub.d/10_netbsd.in: Likewise.
22680 * util/grub.d/10_windows.in: Likewise.
22681 * util/grub.d/20_linux_xen.in: Likewise.
22682 * util/grub.d/30_os-prober.in: Likewise.
22683 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22684
1ba9b889
CW
226852010-06-29 Colin Watson <cjwatson@ubuntu.com>
22686
22687 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22688 last character in the buffer.
22689 Reported by: Vladimir Serbinenko.
22690
dccaf99d
RM
226912010-06-29 Robert Millan <rmh@gnu.org>
22692
22693 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22694 (Command-line and menu entry commands): Document `badram' command.
22695
d500ed12
RM
226962010-06-28 Robert Millan <rmh@gnu.org>
22697
22698 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22699 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22700 command using ${GRUB_BADRAM} as parameter.
22701
20bc84a6
CW
227022010-06-28 Colin Watson <cjwatson@ubuntu.com>
22703
22704 * docs/grub.texi (Device map): New section.
22705 (Themes): New section (stub).
22706 * Makefile.in (docs/grub.info): The info documentation now builds
22707 without errors. Make sure it stays that way.
22708
4045dee1
VS
227092010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 Use normal parser for menu entries.
22712 Reported by: Thomas Frauendorfer
22713
22714 * include/grub/parser.h (grub_parser_execute): Don't export.
22715 * normal/menu.c (grub_menu_execute_entry_real): New function.
22716 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22717
bca58c7b
CW
227182010-06-28 Colin Watson <cjwatson@ubuntu.com>
22719
22720 * docs/grub.texi (Embedded configuration): New section (replacing
22721 old "Preset Menu" stub).
22722 (Images): New section.
22723 (configfile): Note that any menu entries defined in `file' are shown
22724 immediately.
22725
dec53e63
JT
227262010-06-28 Josh Triplett <josh@joshtriplett.org>
22727
22728 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22729
c06e40f7
CW
227302010-06-28 Colin Watson <cjwatson@ubuntu.com>
22731
22732 * util/grub-install.in: Add --debug-image= option.
22733
cb88052b
CW
227342010-06-28 Colin Watson <cjwatson@ubuntu.com>
22735
22736 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22737 possible on Linux.
22738
22739 * util/deviceiter.c (check_device): Rename to ...
22740 (check_device_readable_unique): ... this. Update all callers.
22741 Maintain and check a list of which devices (by canonicalized name)
22742 have already been seen.
22743 (clear_seen_devices): New function.
22744 (compare_file_names) [__linux__]: New function.
22745 (grub_util_iterate_devices): Clear the list of seen devices on exit
22746 and (just in case) on entry.
22747 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22748 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22749 seen-devices list, superseded by general code in check_device.
22750
bbe34652
CW
227512010-06-28 Colin Watson <cjwatson@ubuntu.com>
22752
22753 * commands/cat.c (options): New variable.
22754 (grub_cmd_cat): Parse options. If the --dos option is given, print
22755 DOS-style "\r\n" line endings as simple newlines (Debian bug
22756 #586358).
22757 (GRUB_MOD_INIT): Use extcmd.
22758 (GRUB_MOD_FINI): Likewise.
22759 * docs/grub.texi (cat): Document --dos.
22760
412e09f3
VS
227612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 XEN with Linux grub-mkconfig support.
22764
22765 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22766 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22767 GRUB_CMDLINE_XEN_DEFAULT.
22768 * util/grub.d/20_linux_xen.in: New file.
22769
53f3ef38 227702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22771
22772 Initialise VGA video on qemu ourselves.
22773
22774 * boot/i386/qemu/boot.S: Don't call 0xc000.
22775 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22776 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22777 (kernel_img_HEADERS): Add pci.h.
22778 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22779 * configure.ac: Force unifont on qemu and yeeloong.
22780 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22781 (grub_vga_palette_write): Use correct register.
22782 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22783 Call grub_qemu_init_cirrus.
22784 * kern/i386/qemu/init.c: New file.
22785 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22786
22787 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22788
c75be4fb
PR
227892010-06-26 Pavel Roskin <proski@gnu.org>
22790
22791 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22792 13.
22793
d8034603
CW
227942010-06-26 Colin Watson <cjwatson@ubuntu.com>
22795
22796 * docs/grub.texi (Simple configuration): Explain that
22797 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22798 set to `true' to disable their respective recovery entries, not
22799 merely set.
22800
3fa06487
CW
228012010-06-26 Colin Watson <cjwatson@ubuntu.com>
22802
22803 Make the `source' command slightly faster.
22804
22805 * normal/main.c (grub_normal_execute): Don't re-read list files when
22806 nested.
22807
e9b29642
CW
228082010-06-23 Colin Watson <cjwatson@ubuntu.com>
22809
22810 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22811 field position and mask size to red fields from mode_info, not
22812 green.
22813 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22814 Remove redundant tag->common.framebuffer_type assignment.
22815 Reported by: Seth Goldberg.
22816
e726542f
CW
228172010-06-23 Colin Watson <cjwatson@ubuntu.com>
22818
22819 Sync up other versions of the Linux loader with Robert Millan's
22820 change of 2010-01-09, "Make loader output a bit more user-friendly".
22821
22822 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22823 grub_dprintf().
22824 (grub_cmd_linux): Likewise.
22825 (grub_cmd_initrd): Likewise.
22826 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22827 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22828
d6e98a17
CW
228292010-06-21 Colin Watson <cjwatson@ubuntu.com>
22830
22831 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22832 larger than MEMORY_MAP_SIZE.
22833
14d3f08e
BC
228342010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22835
22836 Fix parallel build.
22837
22838 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22839 dependency.
22840 * script/parser.y: #include grub_script.tab.h header.
22841
4f9613a3
VS
228422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22843
22844 Support >3GiB and <16MiB RAM in i386-qemu.
22845
22846 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22847 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22848 (grub_lower_mem): Removed.
22849 (grub_upper_mem): Likewise.
22850 (mem_size): Made static.
22851 (above_4g): New variable.
22852 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22853 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22854 support.
22855
05e51879
VS
228562010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22857
22858 Cirrus 5446 and Bochs video cards support.
22859
22860 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22861 video_bochs.mod
22862 (video_cirrus_mod_SOURCES): New variable.
22863 (video_cirrus_mod_CFLAGS): Likewise.
22864 (video_cirrus_mod_LDFLAGS): Likewise.
22865 (video_bochs_mod_SOURCES): Likewise.
22866 (video_bochs_mod_CFLAGS): Likewise.
22867 (video_bochs_mod_LDFLAGS): Likewise.
22868 * include/grub/vga.h: New file.
22869 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22870 (grub_video_fb_set_page_t): New type.
22871 (grub_video_fb_setup): New prototype.
22872 (grub_video_fb_swap_buffers): Likewise.
22873 (grub_video_fb_get_info_and_fini): Likewise.
22874 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22875 (CRTC_DATA_PORT): Likewise.
22876 (CRTC_CURSOR): Likewise.
22877 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22878 (CRTC_CURSOR_ADDR_LOW): Likewise.
22879 (CRTC_CURSOR_DISABLE): Likewise.
22880 (update_cursor): Use grub_vga_cr_write.
22881 (grub_vga_text_setcursor): Likewise.
22882 * video/bochs.c: New file.
22883 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22884 (palette): Likewise.
22885 (palette_size): Likewise.
22886 (framebuffer): New variable.
22887 (grub_video_fb_init): Use 'framebuffer'.
22888 (grub_video_fb_fini): Likewise.
22889 (grub_video_fb_get_info): Likewise.
22890 (grub_video_fb_get_palette): Likewise.
22891 (grub_video_fb_set_palette): Likewise.
22892 (grub_video_fb_set_viewport): Likewise.
22893 (grub_video_fb_get_viewport): Likewise.
22894 (grub_video_fb_map_color): Likewise.
22895 (grub_video_fb_map_rgb): Likewise.
22896 (grub_video_fb_map_rgba): Likewise.
22897 (grub_video_fb_unmap_color): Likewise.
22898 (grub_video_fb_unmap_color_int): Likewise.
22899 (grub_video_fb_fill_rect): Likewise.
22900 (grub_video_fb_blit_bitmap): Likewise.
22901 (grub_video_fb_blit_render_target): Likewise.
22902 (grub_video_fb_scroll): Likewise.
22903 (grub_video_fb_create_render_target): Likewise.
22904 (grub_video_fb_doublebuf_blit_init): Likewise.
22905 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22906 (doublebuf_pageflipping_update_screen): New function.
22907 (doublebuf_pageflipping_init): Likewise.
22908 (grub_video_fb_setup): Likewise.
22909 (grub_video_fb_swap_buffers): Likewise.
22910 (grub_video_fb_get_info_and_fini): Likewise.
22911 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22912 All users updated.
22913 (doublebuf_pageflipping_commit): Restructured into ...
22914 (doublebuf_pageflipping_set_page): ... this.
22915 (doublebuf_pageflipping_update_screen): Removed.
22916 (doublebuf_pageflipping_init): Likewise.
22917 (double_buffering_init): Likewise.
22918 (grub_video_vbe_setup): Use grub_video_fb_setup.
22919 (grub_video_vbe_swap_buffers): Removed.
22920 (grub_video_vbe_set_active_render_target): Likewise.
22921 (grub_video_vbe_get_active_render_target): Likewise.
22922 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22923 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22924 grub_video_fb_set_active_render_target and
22925 grub_video_fb_get_active_render_target.
22926 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22927 (SEQUENCER_DATA_PORT): Likewise.
22928 (MAP_MASK_REGISTER): Likewise.
22929 (CRTC_ADDR_PORT): Likewise.
22930 (CRTC_DATA_PORT): Likewise.
22931 (START_ADDR_HIGH_REGISTER): Likewise.
22932 (START_ADDR_LOW_REGISTER): Likewise.
22933 (GRAPHICS_ADDR_PORT): Likewise.
22934 (GRAPHICS_DATA_PORT): Likewise.
22935 (READ_MAP_REGISTER): Likewise.
22936 (INPUT_STATUS1_REGISTER): Likewise.
22937 (INPUT_STATUS1_VERTR_BIT): Likewise.
22938 (get_map_mask): Use grub_vga_sr_read.
22939 (set_map_mask): Use grub_vga_sr_write.
22940 (set_read_map): Use grub_vga_gr_write.
22941 (set_start_address): Use grub_vga_cr_write.
22942 * video/sm712.c (framebuffer): Remove leftover fields.
22943
4321c64a
CW
229442010-06-20 Colin Watson <cjwatson@ubuntu.com>
22945
22946 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22947 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22948 instead. Replace the gfxterm backend check with a check that
22949 ${GRUB_PREFIX}/video.lst is non-empty.
22950 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22951 again.
22952 (load_video): New generated function. Call it before loading
22953 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22954 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22955 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22956 * docs/grub.texi (Simple configuration): Document
22957 GRUB_VIDEO_BACKEND.
22958
229592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 Use video functions in linux and xnu loaders.
22962
22963 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22964 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22965 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22966 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22967 loader/i386/pc/linux.c.
22968 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22969 (find_line_len): Removed.
22970 (find_framebuf): Likewise.
22971 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22972 * loader/i386/efi/xnu.c: Removed.
22973 * loader/i386/pc/xnu.c: Moved from here...
22974 * loader/i386/xnu.c: ...here.
22975
22976 Enable priorities in video drivers.
22977
22978 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22979 (grub_video_adapter): New field prio.
22980 (grub_video_register): Respect prio when inserting.
22981 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22982 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22983 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22984 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22985 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22986 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22987 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22988
22989 Fix SDL driver ID.
22990
22991 * include/grub/video.h (grub_video_driver_id_t): New value
22992 GRUB_VIDEO_DRIVER_SDL.
22993 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22994
7d24e434
CW
229952010-06-17 Colin Watson <cjwatson@ubuntu.com>
22996
22997 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22998 argument to printf.
22999 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23000
c88a83f6
CW
230012010-06-17 Colin Watson <cjwatson@ubuntu.com>
23002
23003 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23004 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23005
094dfb69
CW
230062010-06-17 Colin Watson <cjwatson@ubuntu.com>
23007
23008 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23009 directly, and recommend grub-install instead.
23010 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23011
2164da6b
CW
230122010-06-17 Colin Watson <cjwatson@ubuntu.com>
23013
23014 Fix i386-pc prefix handling with nested partitions (Debian bug
23015 #585068). Note that the case where the core image is booted using
23016 multiboot and relocated from its original location still requires
23017 more work.
23018
23019 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23020 with "(,", fill the boot drive in between those two characters, but
23021 expect that a full partition specification including partition map
23022 names will follow.
23023 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23024 specified, write a prefix without the drive name but including a
23025 full partition specification.
23026
044e2e60
CW
230272010-06-16 Colin Watson <cjwatson@ubuntu.com>
23028
23029 * util/grub-mkconfig.in: Ignore non-option arguments, for
23030 compatibility with older versions (before 2010-06-12) which did the
23031 same. In particular, this makes it easier to ship an update-grub
23032 wrapper which is compatible with that used with GRUB Legacy (Debian
23033 bug #586056).
23034
5591324f
GS
230352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23036
23037 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23038 for manual page generation.
23039
662e24d5
GS
230402010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23041
23042 * po/POTFILES: Remove leftover commands/handler.c.
23043
8d70754e
CW
230442010-06-14 Colin Watson <cjwatson@ubuntu.com>
23045
23046 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23047 left this script non-functional.
23048
41160e2e
CW
230492010-06-14 Colin Watson <cjwatson@ubuntu.com>
23050
23051 * docs/man/grub-emu.h2m: New file.
23052
b5309cc1
CW
230532010-06-13 Colin Watson <cjwatson@ubuntu.com>
23054
23055 * docs/grub.texi (Commands): Document reduced command set in rescue
23056 mode.
23057 (cpuid): New section.
23058
fcb2d090
GS
230592010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23060
23061 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23062 new partition naming style.
23063 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23064
96e5c556
BC
230652010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23066
23067 Add "-o grub.iso" like cmdline options support.
23068
23069 * util/grub-install.in: Improve cmdline option parsing.
23070 * util/grub-mkconfig.in: Likewise.
23071 * util/grub-mkrescue.in: Likewise.
23072 * util/grub-reboot.in: Likewise.
23073 * util/grub-set-default.in: Likewise.
23074 * util/i386/efi/grub-install.in: Likewise.
23075 * util/ieee1275/grub-install.in: Likewise.
23076 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23077
c16be99b
CW
230782010-06-12 Colin Watson <cjwatson@ubuntu.com>
23079
23080 * .bzrignore: Ignore 41_custom.
23081
ce08a9fb
TS
230822010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23083
23084 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23085
7beac90c
CW
230862010-06-12 Colin Watson <cjwatson@ubuntu.com>
23087
23088 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23089 prototype declarations.
23090
23091 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23092 generating fs, partmap, and video lists.
23093 * include/grub/fs.h (grub_fs_register): Omit prototype if
23094 GRUB_LST_GENERATOR is defined.
23095 * include/grub/partition.h (grub_partition_map_register): Likewise.
23096 * include/grub/video.h (grub_video_register): Likewise.
23097
1c8f0f8d
JM
230982010-06-12 Javier Martín <lordhabbit@gmail.com>
23099
23100 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23101
a6085973
TS
231022010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23103
23104 * util/grub-mkrescue.in: Support --xorriso argument.
23105
25c56d29
VS
231062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23109 Suggested by: Thomas Schmitt.
23110
e03e4b24
VS
231112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23114 Suggested by: Thomas Schmitt.
23115
57711df6
VS
231162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23117
23118 custom.cfg support.
23119
23120 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23121 * util/grub.d/41_custom.in: New file.
23122
ee62c427
CW
231232010-06-12 Colin Watson <cjwatson@ubuntu.com>
23124
23125 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23126 been merged back into normal.
23127
283af07a
CW
231282010-06-11 Colin Watson <cjwatson@ubuntu.com>
23129
23130 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23131 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23132
56a0d956
CW
231332010-06-11 Colin Watson <cjwatson@ubuntu.com>
23134
23135 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23136 when generating manual pages.
23137 * docs/man/grub-bin2h.h2m: New file.
23138 * docs/man/grub-editenv.h2m: New file.
23139 * docs/man/grub-fstest.h2m: New file.
23140 * docs/man/grub-install.h2m: New file.
23141 * docs/man/grub-macho2img.h2m: New file.
23142 * docs/man/grub-mkconfig.h2m: New file.
23143 * docs/man/grub-mkdevicemap.h2m: New file.
23144 * docs/man/grub-mkfont.h2m: New file.
23145 * docs/man/grub-mkimage.h2m: New file.
23146 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23147 * docs/man/grub-mkrelpath.h2m: New file.
23148 * docs/man/grub-mkrescue.h2m: New file.
23149 * docs/man/grub-ofpathname.h2m: New file.
23150 * docs/man/grub-pe2elf.h2m: New file.
23151 * docs/man/grub-probe.h2m: New file.
23152 * docs/man/grub-reboot.h2m: New file.
23153 * docs/man/grub-script-check.h2m: New file.
23154 * docs/man/grub-set-default.h2m: New file.
23155 * docs/man/grub-setup.h2m: New file.
23156
3a37e322
VS
231572010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 Use FOR_* macros instead of *_iterate whenever possible.
23160
23161 * commands/handler.c: Removed.
23162 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23163 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23164 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23165 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23166 (grub_probe_SOURCES): Remove kern/parser.c.
23167 (util/grub-script-check.c_DEPENDENCIES): Removed.
23168 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23169 and grub_script_check_init.c.
23170 (grub_script_check_init.lst): Removed.
23171 (grub_script_check_init.h): Likewise.
23172 (grub_script_check_init.c): Likewise.
23173 (pkglib_MODULES): Remove handler.mod and sh.mod.
23174 (handler_mod_SOURCES): Removed.
23175 (handler_mod_CFLAGS): Likewise.
23176 (handler_mod_LDFLAGS): Likewise.
23177 (normal_mod_SOURCES): Remove normal/handler.c.
23178 Add script/main.c, script/script.c, script/execute.c,
23179 script/function.c, script/lexer.c, grub_script.tab.c
23180 and grub_script.yy.c.
23181 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23182 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23183 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23184 (grub_setup_SOURCES): Remove kern/parser.c.
23185 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23186 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23187 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23188 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23189 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23190 (grub_setup_SOURCES): Remove kern/parser.c.
23191 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23192 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23193 * include/grub/command.h (grub_command_iterate): Removed.
23194 (FOR_COMMANDS): New macro.
23195 * include/grub/dl.h (grub_dl): New member next.
23196 (grub_dl_iterate): Removed.
23197 (grub_dl_head): New variable declaration.
23198 (FOR_DL_MODULES): New macro.
23199 * include/grub/fs.h: Include list.h.
23200 (grub_fs): Make next first element.
23201 (grub_fs_list): New variable declaration.
23202 (grub_fs_register): Make inline.
23203 (grub_fs_unregister): Likewise.
23204 (grub_fs_iterate): Removed.
23205 (FOR_FILESYSTEMS): New macro.
23206 * include/grub/handler.h: Removed.
23207 * include/grub/list.h (grub_list_hook_t): Removed.
23208 (grub_list_test_t): Likewise.
23209 (grub_list_pop): Likewise.
23210 (grub_list_iterate): Likewise.
23211 (grub_list_insert): Likewise.
23212 (FOR_LIST_ELEMENTS): New macro.
23213 * include/grub/parser.h (grub_parser_class): Removed.
23214 (grub_parser_register): Likewise.
23215 (grub_parser_unregister): Likewise.
23216 (grub_parser_get_current): Likewise.
23217 (grub_parser_set_current): Likewise.
23218 (grub_register_rescue_parser): Likewise.
23219 (grub_rescue_parse_line): New function.
23220 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23221 * include/grub/script_sh.h (grub_script_function_list): New variable
23222 declaration.
23223 (FOR_SCRIPT_FUNCTIONS): New macro.
23224 (grub_script_function_iterate): Removed.
23225 (grub_normal_parse_line): New prototype.
23226 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23227 (FOR_DISABLED_TERM_INPUTS): Likewise.
23228 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23229 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23230 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23231 element.
23232 (grub_video_register): Inline.
23233 (grub_video_unregister): Likewise.
23234 (grub_video_adapter_list): New variable declaration.
23235 (grub_video_iterate): Removed.
23236 (FOR_VIDEO_ADAPTERS): New macro.
23237 * kern/dl.c (grub_dl_list): Removed. All users updated.
23238 (grub_dl_iterate): Removed.
23239 * kern/fs.c (grub_fs_list): Make global.
23240 (grub_fs_register): Removed.
23241 (grub_fs_unregister): Likewise.
23242 (grub_fs_iterate): Likewise.
23243 * kern/handler.c: Removed.
23244 * kern/list.c (grub_list_pop): Removed.
23245 (grub_list_iterate): Likewise.
23246 (grub_list_insert): Likewise.
23247 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23248 (grub_prio_list_insert): Don't use grub_list_insert.
23249 * kern/main.c (grub_register_rescue_parser): Don't call
23250 grub_register_rescue_parser.
23251 * kern/parser.c (grub_parser_class): Removed.
23252 (grub_parser_execute): Use grub_rescue_parse_line.
23253 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23254 (grub_rescue_parser): Removed.
23255 (grub_register_rescue_parser): Likewise.
23256 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23257 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23258 (grub_auth_check_authentication): Likewise.
23259 * normal/completion.c (iterate_command): Removed.
23260 (grub_normal_do_completion): Use FOR_COMMANDS.
23261 * normal/handler.c: Removed.
23262 * normal/main.c (read_config_file): Remove parser changing.
23263 (grub_normal_execute): Don't call read_handler_list.
23264 (grub_normal_read_line_real): Statically allocate prompt.
23265 (grub_cmdline_run): Use grub_normal_parse_line.
23266 (GRUB_MOD_FINI): Don't call free_handler_list.
23267 * normal/menu_entry.c (run): Likewise.
23268 * script/function.c (grub_script_function_list): Make global.
23269 (grub_script_function_iterate): Removed.
23270 * script/main.c (grub_normal_parse_line): Make global.
23271 (grub_sh_parser): Removed.
23272 (GRUB_MOD_INIT): Likewise.
23273 (GRUB_MOD_FINI): Likewise.
23274 * tests/lib/functional_test.c (grub_functional_test): Use
23275 FOR_LIST_ELEMENTS.
23276 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23277 (grub_test_run): Use FOR_LIST_ELEMENTS.
23278 * tests/lib/unit_test.c (main): Likewise.
23279 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23280 grub_list_pop.
23281 * util/grub-fstest.c (grub_term_input_class): Removed.
23282 (grub_term_output_class): Likewise.
23283 * util/grub-probe.c: Likewise.
23284 * util/i386/pc/grub-setup.c: Likewise.
23285 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23286 * util/grub-script-check.c (main): Don't call grub_init_all and
23287 grub_fini_all.
23288 * video/video.c (grub_video_adapter_list): Make global.
23289 (grub_video_register): Removed.
23290 (grub_video_unregister): Likewise.
23291 (grub_video_iterate): Likewise.
23292
6289c3a7
VS
232932010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23296 reported by Henrique Ferreiro.
23297
91460247
RM
232982010-06-09 Robert Millan <rmh@gnu.org>
23299
23300 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23301 ones, when both are available.
23302
0ea7c4f9
GS
233032010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23304
23305 Make --version uniform and avoid hard-coded program name.
23306
23307 * util/grub-mkimage.c (main): Use `program_name' instead of
23308 hard-coded string.
23309 * util/i386/pc/grub-setup.c (main): Likewise.
23310 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23311 * util/grub-install.in: Save the basename of $0 in $self, and use the
23312 latter in informational messages. Use the same format for --version
23313 as the binary programs.
23314 * util/grub-mkconfig.in: Likewise.
23315 * util/grub-mkrescue.in: Likewise.
23316 * util/grub-reboot.in: Likewise.
23317 * util/grub-set-default.in: Likewise.
23318 * util/i386/efi/grub-install.in: Likewise.
23319 * util/ieee1275/grub-install.in: Likewise.
23320 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23321
e8a6f3b6
GS
233222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23323
23324 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23325 embedding area. Use <= instead of == when checking for non-emptiness.
23326
f4d095d7
GS
233272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23328
23329 * configure.ac: Add `.' to the directories searched for unifont.
23330
50e532ca
CW
233312010-06-08 Colin Watson <cjwatson@ubuntu.com>
23332
23333 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23334 grub_script.yy.h.
23335
d39f3dec
CW
233362010-06-08 Colin Watson <cjwatson@ubuntu.com>
23337
23338 * docs/grub.texi (History): Expand to cover GRUB 2.
23339 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23340 commands, not `terminal'.
23341 (serial): Likewise.
23342 (terminal_input): New section.
23343 (terminal_output): New section.
23344 (uppermem): New section (stub).
23345 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23346
6ef0ddb4
CW
233472010-06-08 Colin Watson <cjwatson@ubuntu.com>
23348
23349 * docs/grub.texi (Security): Menu entries are unrestricted by
23350 default, not restricted to superusers as I had previously thought.
23351 Reword to account for this.
23352
e0f4c438
CW
233532010-06-07 Colin Watson <cjwatson@ubuntu.com>
23354
23355 * kern/emu/misc.c (device_mapper_null_log): New function.
23356 (grub_device_mapper_supported): New function.
23357 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23358 prototype.
23359 * kern/emu/hostdisk.c (find_partition_start): Check whether
23360 device-mapper is supported before trying to use it.
23361 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23362
da908200
CW
233632010-06-07 Colin Watson <cjwatson@ubuntu.com>
23364
23365 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23366 (File name syntax): Likewise.
23367 (help): --all is no longer supported in GRUB 2. Be more precise
23368 about pattern matching.
23369
fb55c3ac
CW
233702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23371
23372 * normal/completion.c (grub_normal_do_completion): When completing
23373 arguments to "set" and the current word contains an equals sign,
23374 skip to after the equals sign before starting completion.
23375
258c2573
CW
233762010-06-07 Colin Watson <cjwatson@ubuntu.com>
23377
23378 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23379
ee75515e
CW
233802010-06-07 Colin Watson <cjwatson@ubuntu.com>
23381
23382 * docs/grub.texi (Network): New section.
23383 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23384 `(nd)' as in GRUB Legacy.
23385 (pxe_unload): New section.
23386
a6a700aa
CW
233872010-06-07 Colin Watson <cjwatson@ubuntu.com>
23388
23389 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23390 in the rescue shell, so recommend using `set' instead. Thanks,
23391 Jordan Uggla.
23392
4003dd38
CW
233932010-06-07 Colin Watson <cjwatson@ubuntu.com>
23394
23395 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23396 (password): New section.
23397 (password_pbkdf2): New section.
23398 (search): New section.
23399 (Security): New section.
23400 (Troubleshooting): New section, currently very incomplete.
23401 (Invoking grub-mkpasswd-pbkdf2): New section.
23402 (Internals): New section, currently very incomplete.
23403
e1cbcc40
CW
234042010-06-07 Colin Watson <cjwatson@ubuntu.com>
23405
23406 * util/grub.d/00_header.in: Add some more quoting (of
23407 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23408 work again.
23409 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23410
db8fa1ad
CW
234112010-06-07 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23414 to `count', fixing variable shadowing that broke the -c option.
23415
234162010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23417
23418 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23419 in case they contain spaces.
23420
f28a9212
CW
234212010-06-04 Colin Watson <cjwatson@ubuntu.com>
23422
23423 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23424 "part_" to partmap module names, in line with grub-install.
23425 Reported by: Jindřich Makovička (Debian bug #584426).
23426
9cdfe32f
CW
234272010-06-04 Colin Watson <cjwatson@ubuntu.com>
23428
23429 * util/grub-mkimage.c: Make target-related error messages slightly
23430 more helpful; -O talks about "format". Explicitly point to the use
23431 of -O if no target is specified.
23432 Reported by: Didier Raboud (Debian bug #584415).
23433
795b593a
CW
234342010-06-03 Colin Watson <cjwatson@ubuntu.com>
23435
23436 * INSTALL: Document several build requirements for optional features
23437 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23438
9d9b5833
GS
234392010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23440
23441 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23442 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23443 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23444
0819fec8
CW
234452010-06-02 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23448 Thanks to Jordan Uggla for spotting this.
23449
49396b4f
VS
234502010-06-02 Aleš Nesrsta <starous@volny.cz>
23451
23452 Finally make USB usable.
23453
23454 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23455 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23456 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23457 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23458 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23459 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23460 (GRUB_OHCI_FSMPS): Likewise.
23461 (GRUB_OHCI_PERIODIC_START): Likewise.
23462 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23463 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23464 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23465 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23466 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23467 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23468 (grub_ohci_transaction): Likewise.
23469 (grub_ohci_transfer): Improve condition detection algorithms.
23470 Handle toggle property. Program the transactions correctly.
23471 Improve error handling. Various important fixups.
23472 (grub_ohci_portstatus): Put register writes in right order.
23473 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23474 (grub_uhci_transfer): Don't show "failed" message on success.
23475 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23476 array.
23477 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23478 determine its size.
23479 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23480 before initialization is completed. Use IN direction for empty
23481 transfers. Use last_trans and compute toggle.
23482 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23483 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23484 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23485 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23486 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23487 (grub_usb_device): Increase toggle to 256.
23488 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23489 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23490 GRUB_USBMS_SUBCLASS_SFF8070.
23491 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23492 (grub_scsi_inquiry): New member page and alloc_length.
23493 (grub_scsi_request_sense): New structure.
23494 (grub_scsi_request_sense_data): Likewise.
23495 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23496 control.
23497 * disk/scsi.c (grub_scsi_request_sense): New function.
23498 (grub_scsi_test_unit_ready): Likewise.
23499 (grub_scsi_inquiry): Fill new fields.
23500 (grub_scsi_read_capacity): Likewise.
23501 (grub_scsi_read10): Add request sense at the end.
23502 (grub_scsi_read12): Likewise.
23503 (grub_scsi_write10): Likewise.
23504 (grub_scsi_write12): Likewise.
23505 (grub_scsi_open): Add Test Unit Ready.
23506 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23507 Support additional subclasses. Con't clear halt yet. Activate the
23508 proper config. Calculate LUNs correctly.
23509 (grub_usbms_transfer): Various important fixups.
23510
235112010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23512
23513 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23514 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23515 (grub_ohci_fini_hw): New function.
23516 (grub_ohci_restore_hw): Likewise.
23517 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23518 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23519 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23520
235212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23522
23523 Dedicated DMA allocations.
23524
23525 * bus/pci.c (grub_memalign_dma32): New function
23526 (grub_dma_free): Likewise.
23527 (grub_dma_get_virt): Likewise.
23528 (grub_dma_get_phys): Likewise.
23529 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23530 (grub_ohci_pci_iter): Use dma32_alloc.
23531 (grub_ohci_transfer): Likewise.
23532 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23533 (grub_usb_bulk_readwrite): Likewise.
23534 * include/grub/pci.h: Add declarations.
23535
235362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 CS5536 support.
23539
23540 * bus/cs5536.c: New file.
23541 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23542 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23543 (cs5536_mod_SOURCES): New variable.
23544 (cs5536_mod_CFLAGS): Likewise.
23545 (cs5536_mod_LDFLAGS): Likewise.
23546 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23547 machine/pci.h.
23548 (kernel_img_SOURCES): Add bus/cs5536.c.
23549 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23550 usb_keyboard.mod.
23551 (usb_mod_SOURCES): New variable.
23552 (usb_mod_CFLAGS): New variable.
23553 (usb_mod_LDFLAGS): New variable.
23554 (usbtest_mod_SOURCES): New variable.
23555 (usbtest_mod_CFLAGS): New variable.
23556 (usbtest_mod_LDFLAGS): New variable.
23557 (ohci_mod_SOURCES): New variable.
23558 (ohci_mod_CFLAGS): New variable.
23559 (ohci_mod_LDFLAGS): New variable.
23560 (usbms_mod_SOURCES): New variable.
23561 (usbms_mod_CFLAGS): New variable.
23562 (usbms_mod_LDFLAGS): New variable.
23563 (usb_keyboard_mod_SOURCES): New variable.
23564 (usb_keyboard_mod_CFLAGS): New variable.
23565 (usb_keyboard_mod_LDFLAGS): New variable.
23566 * include/grub/smbus.h: New file.
23567 * include/grub/cs5536.h: New file.
23568
0b35b2a9
CW
235692010-06-02 Colin Watson <cjwatson@ubuntu.com>
23570
23571 * util/grub.d/00_header.in: Add safety check to make sure that
23572 ${locale_dir} exists before trying to probe it.
23573
ca0afd5b
CW
235742010-06-02 Colin Watson <cjwatson@ubuntu.com>
23575
23576 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23577 per the GNU Coding Standards; this is now too obscure to be worth
23578 documenting.
23579 (QNX): Likewise.
23580 (chainloader): Remove cross-reference to `SCO UnixWare'.
23581
1c41aa78
CW
235822010-06-02 Colin Watson <cjwatson@ubuntu.com>
23583
23584 * docs/grub.texi (Chain-loading): New section.
23585 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23586 adjusted for GRUB 2.
23587 (SCO UnixWare): Likewise.
23588 (QNX): Likewise.
23589 (chainloader): Add reference to `Block list syntax'.
23590 (drivemap): New section.
23591 (parttool): New section.
23592
bb8ea0f5
CW
235932010-06-02 Colin Watson <cjwatson@ubuntu.com>
23594
23595 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23596 the grub shell'.
23597 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23598 (Installing GRUB using grub-install): Remove reference to the grub
23599 shell; mention `grub-mkimage' and `grub-setup' instead.
23600 (Invoking grub-install): Likewise.
23601 (Interface): Add reference to `Menu entry editor'.
23602 (serial): Remove `--device' option.
23603
288dd6ed
CW
236042010-06-02 Colin Watson <cjwatson@ubuntu.com>
23605
23606 * docs/grub.texi (Configuration): New section, documenting
23607 configuration file generation using grub-mkconfig. I've left a slot
23608 for documenting the full shell scripting format but have not yet
23609 started on writing that up.
23610 (Invoking grub-mkconfig): New section.
23611
34c9f0e9
CW
236122010-06-02 Colin Watson <cjwatson@ubuntu.com>
23613
23614 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23615 (GNU GRUB manual): Likewise.
23616 (General commands): Update description of `terminfo' for GRUB 2.
23617
9121567e
CW
236182010-06-02 Colin Watson <cjwatson@ubuntu.com>
23619
23620 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23621 (GRUB_MOD_INIT): Fix capitalisation.
23622 * docs/grub.texi (Command-line and menu entry commands): Document
23623 gettext and gptsync commands.
23624
ab631611
CW
236252010-06-02 Colin Watson <cjwatson@ubuntu.com>
23626
23627 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23628 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23629
bde4a9ac
CW
236302010-06-01 Colin Watson <cjwatson@ubuntu.com>
23631
23632 Add btrfs probing support, currently only in the single-device case.
23633
23634 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23635 function.
23636 (grub_guess_root_device): Call find_root_device_from_mountinfo
23637 before looking in /dev.
23638
b1d17e10
VS
236392010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23640
23641 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23642 GRUB_DISK_SIZE_UNKNOWN.
23643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23644
dfbfe004
JS
236452010-05-31 Jiro SEKIBA <jir@unicus.jp>
23646
23647 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23648 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23649 corrupted or not synced properly.
23650
c2ffc8e9
VS
236512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23652
23653 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23654 Reported by: Seth Goldberg.
23655
56293166
VS
236562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23659 addition of dest.
23660 Reported by: Seth Goldberg.
23661
7620e7de
VS
236622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23663
23664 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23665 Reported by: Seth Goldberg.
23666
c837af3f
VS
236672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23668
23669 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23670 64-bit address as signed on MIPS.
23671
c7c75cf4
CW
236722010-05-28 Colin Watson <cjwatson@ubuntu.com>
23673
23674 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23675 to the empty string.
23676
fa4b8490
BC
236772010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23678
23679 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23680
23681 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23682 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23683 * kern/misc.c (__enable_execute_stack): Disable on
23684 GRUB_MACHINE_EMU.
23685
a33075b9
CW
236862010-05-28 Colin Watson <cjwatson@ubuntu.com>
23687
23688 Make grub-probe work with symbolic links under /dev/mapper as well
23689 as with real block devices. The Linux world seems to be (at best)
23690 in transition here, and GRUB shouldn't get caught in the middle.
23691
23692 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23693 /dev/mapper.
23694
d8708134
CW
236952010-05-27 Colin Watson <cjwatson@ubuntu.com>
23696
23697 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23698 input files (in which case exit zero).
23699
db2102a0
CW
237002010-05-27 Colin Watson <cjwatson@ubuntu.com>
23701
23702 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23703 return NULL for various reasons even if it has a maximum-length
23704 buffer: for example, there might be a symlink loop, or the path
23705 might exceed PATH_MAX. If this happens, return NULL.
23706
5fdba519
RM
237072010-05-27 Robert Millan <rmh@gnu.org>
23708
23709 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23710 partmap module to handle cross-partmap setups.
23711 Reported by Orestes Mas. Gràcies!
23712
d1d368e4
CW
237132010-05-27 Colin Watson <cjwatson@ubuntu.com>
23714
23715 * util/grub-mkrescue.in: Initialise override_dir rather than
23716 assuming that it's unset or empty in the environment.
23717
95ac3c73
GS
237182010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23719
23720 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23721 variable index into p_index to suppress a warning with -Wshadow.
23722
7d8c0213
BC
237232010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23724
23725 * INSTALL: Added flex >= 2.5.35 requirement.
23726
db4d5813
VS
237272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23730
f24f4300
VS
237312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 cmostest support.
23734
23735 * commands/i386/cmostest.c: New file.
23736 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23737 (cmostest_mod_SOURCES): New variable.
23738 (cmostest_mod_CFLAGS): Likewise.
23739 (cmostest_mod_LDFLAGS): Likewise.
23740 * conf/i386-pc.rmk: Likewise.
23741 * docs/grub.texi (Vendor power-on keys): New section.
23742 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23743 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23744 and GRUB_BUTTON_CMOS_ADDRESS.
23745 * util/grub.d/00_header.in: Handle powering-on by separate button.
23746
ad603f61
VS
237472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23750 Removed drawing_scrollbar argument. All users updated
23751 Fixes #29792.
23752 Reported by Jo Shields
23753
3ecb080a
VS
237542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23757 buffer since gfxterm handles double repaint.
23758
5f2316c1
VS
237592010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23762 * term/gfxterm.c (real_scroll): Likewise.
23763
9a25f885
VS
237642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23767 before calling BIOS.
23768
39fbb79a
VS
237692010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * include/grub/i18n.h: Always enable grub_gettext.
23772
228cfa97
VS
237732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23776 partition naming style.
23777
21717c8f
CW
237782010-05-21 Colin Watson <cjwatson@ubuntu.com>
23779
23780 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23781 not the first option.
23782
c0f48e65
CW
237832010-05-20 Colin Watson <cjwatson@ubuntu.com>
23784
23785 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23786
96779aec
CW
237872010-05-20 Colin Watson <cjwatson@ubuntu.com>
23788
23789 * util/misc.c: Move inclusion of <limits.h> to ...
23790 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23791
fa9d256e
GS
237922010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23793
23794 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23795 Fix merge error in NetBSD code.
23796 (find_partition_start) [__NetBSD__]: Likewise.
23797
123b7a85
BC
237982010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23799
23800 Fix grub-mkrescue usage unit testing.
23801
23802 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23803
74276c0d
CF
238042010-05-18 Christian Franke <franke@computer.org>
23805
23806 * util/grub.d/10_windows.in: Use path names instead of
23807 drive letters to prevent warning from Cygwin 1.7.
23808 Add drivemap command to menuentry if needed.
23809
c4f7b523
ST
238102010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23811
23812 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23813 gnumach and gnumach.gz.
23814
95b97950
VS
238152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * include/grub/i18n.h (gettext): Inline instead of using #define.
23818 (grub_gettext): Likewise.
23819 (_): Likewise.
23820
01b8d2d7
VS
238212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23822
23823 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23824 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23825 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23826 (main): Add a slash after pkglibdirroot.
23827
654e1d1e
VS
238282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 * util/grub-install.in: Add missing "in" keyword.
23831
26966aeb
VS
238322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23833
23834 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23835 Reported by: Seth Goldberg.
23836
75006747
VS
238372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23838
23839 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23840
74cbf5bd
CW
238412010-05-18 Colin Watson <cjwatson@ubuntu.com>
23842
23843 * configure.ac: Check for Linux device-mapper support.
23844
23845 * util/hostdisk.c (device_is_mapped): New function.
23846 (find_partition_start): New function, partly broken out from
23847 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23848 device-mapper support added.
23849 (linux_find_partition): Use find_partition_start.
23850 (convert_system_partition_to_system_disk): Add `st' argument.
23851 Support Linux /dev/mapper/* devices if device-mapper support is
23852 available; only DM-RAID devices are understood at present.
23853 (find_system_device): Add `st' argument. Pass it to
23854 convert_system_partition_to_system_disk.
23855 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23856 find_system_device and convert_system_partition_to_system_disk. Use
23857 find_partition_start.
23858
23859 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23860 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23861 * util/deviceiter.c [__linux__]: Define MINOR.
23862 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23863 * util/mkdevicemap.c (grub_putchar): New function.
23864 (grub_getkey): New function.
23865 (grub_refresh): New function.
23866 (main): Set debug=all if -v -v is used.
23867
355b51e9
CW
238682010-05-18 Colin Watson <cjwatson@ubuntu.com>
23869
23870 Fix build with non-GNU libcs.
23871
23872 * util/misc.c (canonicalize_file_name): Move to ...
23873 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23874 grub_make_system_path_relative_to_its_root.
23875
7fb5c25f
CW
238762010-05-18 Colin Watson <cjwatson@ubuntu.com>
23877
23878 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23879 we handle finding grub-mkimage. Default to finding grub-mkimage in
23880 ${bindir} with program_transform_name applied, and provide a
23881 --grub-mkimage option to override this.
23882
1d3293d6
VS
238832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 Remove grub-mkisofs.
23886
23887 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23888 (grub_mkisofs_SOURCES): Removed.
23889 (grub_mkisofs_CFLAGS): Removed.
23890 * util/mkisofs/defaults.h: Removed.
23891 * util/mkisofs/eltorito.c: Likewise.
23892 * util/mkisofs/exclude.h: Likewise.
23893 * util/mkisofs/hash.c: Likewise.
23894 * util/mkisofs/include/: Likewise.
23895 * util/mkisofs/include/fctldefs.h: Likewise.
23896 * util/mkisofs/include/mconfig.h: Likewise.
23897 * util/mkisofs/include/prototyp.h: Likewise.
23898 * util/mkisofs/include/statdefs.h: Likewise.
23899 * util/mkisofs/iso9660.h: Likewise.
23900 * util/mkisofs/joliet.c: Likewise.
23901 * util/mkisofs/match.c: Likewise.
23902 * util/mkisofs/match.h: Likewise.
23903 * util/mkisofs/mkisofs.c: Likewise.
23904 * util/mkisofs/mkisofs.h: Likewise.
23905 * util/mkisofs/msdos_partition.h: Likewise.
23906 * util/mkisofs/multi.c: Likewise.
23907 * util/mkisofs/name.c: Likewise.
23908 * util/mkisofs/rock.c: Likewise.
23909 * util/mkisofs/tree.c: Likewise.
23910 * util/mkisofs/write.c: Likewise.
23911
5dde9afe
VS
239122010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23913
23914 Unify grub-mkimage accross platforms.
23915
23916 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23917 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23918 (grub_mkelfimage_SOURCES): Removed.
23919 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23920 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23921 (bin_UTILITIES): Add grub-mkimage.
23922 (grub_mkimage_SOURCES): New variable.
23923 (kernel_img_HEADERS): Remove machine/kernel.h.
23924 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23925 (pkglib_PROGRAMS): Add kernel.img.
23926 (kernel_img_HEADERS): Add machine/kernel.h.
23927 (kernel_img_FORMAT): Removed.
23928 (bin_UTILITIES): Remove grub-mkimage.
23929 (grub_mkimage_SOURCES): Removed.
23930 (grub_mkimage_CFLAGS): Likewise.
23931 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23932 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23933 (pkglib_PROGRAMS): Add kernel.img.
23934 (bin_UTILITIES): Remove grub-mkimage.
23935 (grub_mkimage_SOURCES): Removed.
23936 (grub_mkimage_CFLAGS): Likewise.
23937 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23938 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23939 (pkglib_PROGRAMS): Add kernel.img.
23940 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23941 (pkglib_PROGRAMS): Add kernel.img.
23942 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23943 (grub_mkimage_SOURCES): Removed.
23944 (grub_mkimage_CFLAGS): Likewise.
23945 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23946 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23947 (pkglib_PROGRAMS): Add kernel.img.
23948 (bin_UTILITIES): Remove grub-mkimage.
23949 (grub_mkimage_SOURCES): Removed.
23950 (grub_mkimage_CFLAGS): Likewise.
23951 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23952 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23953 (grub_mkimage_SOURCES): Removed.
23954 (grub_mkimage_CFLAGS): Likewise.
23955 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23956 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23957 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23958 (grub_pe32_optional_header): ... this.
23959 (grub_pe64_optional_header): ... and this. All users updated.
23960 (GRUB_PE32_PE32_MAGIC): Split into ..
23961 (GRUB_PE32_PE32_MAGIC): .. this.
23962 (GRUB_PE32_PE64_MAGIC): .. and this.
23963 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23964 * include/grub/elf.h (PT_GNU_STACK): New definition.
23965 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23966 * include/grub/i386/efi/kernel.h: Likewise.
23967 * include/grub/i386/kernel.h: Likewise.
23968 * include/grub/i386/pc/kernel.h: Likewise.
23969 * include/grub/i386/qemu/boot.h: Likewise.
23970 * include/grub/mips/kernel.h: Likewise.
23971 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23972 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23973 * include/grub/powerpc/kernel.h: Likewise.
23974 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23975 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23976 * include/grub/sparc64/kernel.h: Likewise.
23977 * include/grub/x86_64/efi/kernel.h: Likewise.
23978 * include/grub/x86_64/kernel.h: Likewise.
23979 * include/grub/offsets.h: New file.
23980 * include/grub/kernel.h (grub_module_info): Split into ...
23981 (grub_module_info32): ... this.
23982 (grub_module_info64): ... and this.
23983 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23984 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23985 (grub_boot_blocklist): Moved from here ...
23986 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23987 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23988 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23989 * include/grub/types.h (grub_target_to_host16): Removed.
23990 (grub_target_to_host32): Likewise.
23991 (grub_target_to_host64): Likewise.
23992 (grub_host_to_target16): Likewise.
23993 (grub_host_to_target32): Likewise.
23994 (grub_host_to_target64): Likewise.
23995 (grub_host_to_target_addr): Likewise.
23996
23997 Support grub-mkrescue for efi, coreboot and qemu.
23998
23999 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24000 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24001 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24002 * util/grub-mkrawimage.c: Moved from here ...
24003 * util/grub-mkimage.c: ... here. All users updated.
24004 (ALIGN_ADDR): Use image_target.
24005 (TARGET_NO_FIELD): New const.
24006 (image_target_desc): New type.
24007 (image_targets): New array.
24008 (grub_target_to_host64): Use image_target.
24009 (grub_target_to_host32): Likewise.
24010 (grub_target_to_host16): Likewise.
24011 (grub_host_to_target64): Likewise.
24012 (grub_host_to_target32): Likewise.
24013 (grub_host_to_target16): Likewise.
24014 (grub_host_to_target_addr): Likewise.
24015 (generate_image): Handle multiimage.
24016 (main): Require -O parameter. All users updated.
24017 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24018 util/efi/grub-mkimage.c
24019 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24020 New option --rom-directory.
24021 Use xorriso.
24022 * util/i386/efi/grub-mkimage.c: Removed.
24023 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24024 (grub_target_to_host32): Likewise.
24025 (grub_target_to_host64): Likewise.
24026 (grub_host_to_target16): Likewise.
24027 (grub_host_to_target32): Likewise.
24028 (grub_host_to_target64): Likewise.
24029 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24030 (grub_target_to_host32): Likewise.
24031 (grub_target_to_host64): Likewise.
24032 (grub_host_to_target16): Likewise.
24033 (grub_host_to_target32): Likewise.
24034 (grub_host_to_target64): Likewise.
24035
f4fc97d0
BC
240362010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24037
24038 Source tree is reorganized for emu build.
24039
24040 * include/grub/util/console.h: Move from here...
24041 * include/grub/emu/console.h: ...to here.
24042 * include/grub/util/getroot.h: Move from here...
24043 * include/grub/emu/getroot.h: ...to here.
24044 * include/grub/util/hostdisk.h: Move from here...
24045 * include/grub/emu/hostdisk.h: ...to here.
24046 * util/console.c: Move from here...
24047 * kern/emu/console.c: ...to here.
24048 * util/getroot.c: Move from here...
24049 * kern/emu/getroot.c: ...to here.
24050 * util/grub-emu.c: Move from here...
24051 * kern/emu/main.c: ...to here.
24052 * util/hostdisk.c: Move from here...
24053 * kern/emu/hostdisk.c: ...to here.
24054 * util/hostfs.c: Move from here...
24055 * kern/emu/hostfs.c: ...to here.
24056 * util/mm.c: Move from here...
24057 * kern/emu/mm.c: ...to here.
24058 * util/pci.c: Move from here...
24059 * bus/emu/pci.c: ...to here.
24060 * util/sdl.c: Move from here...
24061 * video/emu/sdl.c: ...to here.
24062 * util/time.c: Move from here...
24063 * kern/emu/time.c: ...to here.
24064 * util/usb.c: Move from here...
24065 * bus/usb/emu/usb.c: ...to here.
24066
24067 * include/grub/emu/misc.h: New header for grub-emu functions.
24068 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24069
24070 * conf/any-emu.rmk: Rule updates for above renames.
24071 * conf/common.rmk: Likewise.
24072 * conf/i386-pc.rmk: Likewise.
24073 * conf/i386-qemu.rmk: Likewise.
24074 * conf/mips.rmk: Likewise.
24075 * conf/sparc64-ieee1275.rmk: Likewise.
24076 * conf/x86-efi.rmk: Likewise.
24077
24078 * disk/lvm.h: #include updates for above renames.
24079 * util/grub-mkrelpath.c: Likewise.
24080 * util/grub-probe.c: Likewise.
24081 * util/i386/pc/grub-setup.c: Likewise.
24082 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24083 * kern/emu/console.c: Likewise.
24084 * kern/emu/getroot.c: Likewise.
24085 * kern/emu/hostdisk.c: Likewise.
24086 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24087
24088 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24089 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24090 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24091 * util/misc.c: Remove grub-emu functions.
24092
cced9145
VS
240932010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24094
24095 Fix gfxmenu crash.
24096 Reported by: Thorsten Grützmacher.
24097
24098 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24099 timeout hook.
24100 (circprog_set_property): Register and unregister timeout hook.
24101 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24102 (label_destroy): Free template. and unregister hook.
24103 (label_set_state): New function.
24104 (label_set_property): Handle templates and hooks.
24105 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24106 timeout hook.
24107 (progress_bar_set_property): Register and unregister timeout hook.
24108 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24109 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24110 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24111 (update_timeout_visit): Removed.
24112 (update_timeouts): New function.
24113 (redraw_timeouts): Likewise.
24114 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24115 (grub_gfxmenu_clear_timeout): Likewise.
24116 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24117 (grub_gfxmenu_timeout_notify): Likewise.
24118 (grub_gfxmenu_timeout_notifications): New external variable.
24119 (grub_gfxmenu_timeout_register): New function.
24120 (grub_gfxmenu_timeout_unregister): Likewise.
24121
c6e5caab
VS
241222010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24123
24124 Transform (broken) vga terminal into (working) vga video driver.
24125
24126 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24127 video/i386/pc/vga.c.
24128 * include/grub/video.h (grub_video_driver_id):
24129 Add GRUB_VIDEO_DRIVER_VGA.
24130 * term/i386/pc/vga.c: Renamed to ...
24131 * video/i386/pc/vga.c: ...this
24132 (DEBUG_VGA): Removed.
24133 (CHAR_WIDTH): Likewise.
24134 (CHAR_HEIGHT): Likewise.
24135 (TEXT_WIDTH): Likewise.
24136 (TEXT_HEIGHT): Likewise.
24137 (DEFAULT_FG_COLOR): Likewise.
24138 (DEFAULT_BG_COLOR): Likewise.
24139 (colored_char): Likewise.
24140 (xpos): Likewise.
24141 (ypos): Likewise.
24142 (cursor_state): Likewise.
24143 (fg_color): Likewise.
24144 (bg_color): Likewise.
24145 (text_buf): Likewise.
24146 (page): Likewise.
24147 (font): Likewise.
24148 (framebuffer): New variable.
24149 (set_read_map): Disabled.
24150 (setup): New variable.
24151 (is_target): Likewise.
24152 (grub_vga_mod_init): Likewise.
24153 (grub_vga_mod_fini): Likewise.
24154 (check_vga_mem): Likewise.
24155 (write_char): Likewise.
24156 (write_cursor): Likewise.
24157 (scroll_up): Likewise.
24158 (grub_vga_putchar): Likewise.
24159 (grub_vga_getcharwidth): Likewise.
24160 (grub_vga_getwh): Likewise.
24161 (grub_vga_getxy): Likewise.
24162 (grub_vga_gotoxy): Likewise.
24163 (grub_vga_cls): Likewise.
24164 (grub_vga_setcolorstate): Likewise.
24165 (grub_vga_setcursor): Likewise.
24166 (grub_video_vga_init): New function.
24167 (grub_video_vga_setup): Likewise.
24168 (grub_video_vga_fini): Likewise.
24169 (update_target): Likewise.
24170 (grub_video_vga_blit_bitmap): Likewise.
24171 (grub_video_vga_blit_render_target): Likewise.
24172 (grub_video_vga_set_active_render_target): Likewise.
24173 (grub_video_vga_get_active_render_target): Likewise.
24174 (grub_video_vga_swap_buffers): Likewise.
24175 (grub_video_vga_set_palette): Likewise.
24176 (grub_video_vga_get_info_and_fini): Likewise.
24177 (grub_vga_term): Removed.
24178 (grub_video_vga_adapter): New variable.
24179 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24180 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24181
2bf61a98
VS
241822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 * video/readers/jpeg.c: Indented.
24185
09ddcd11
VS
241862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 Various jpeg cleanups.
24189
24190 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24191 (grub_jpeg_decode_quan_table): Use sizeof.
24192 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24193
e5507505
PH
241942010-05-05 Peter Hurley <No e-mail available> (tiny change)
24195
24196 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24197 tables. Ignore non-last ac bit.
24198 (grub_jpeg_decode_quan_table): Likewise.
24199
7e720a9b
VS
242002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24201
24202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24203 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24204 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24205 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24206 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24207 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24208
a7fc080b
VS
242092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24212 error.
24213
2bf6012d
VS
242142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24215
24216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24217
265d68cd
VS
242182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24221 condition.
24222
242232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24224
24225 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24226 part.
24227
265d68cd 242282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24229
24230 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24231 pointers.
24232
265d68cd 242332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24234
24235 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24236
d1b61374
CF
242372010-05-01 Christian Franke <franke@computer.org>
24238
24239 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24240 Remove broken Cygwin path conversion.
24241 * util/misc.c: [__CYGWIN__] Add include and define.
24242 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24243 for Cygwin 1.7.
24244 (make_system_path_relative_to_its_root): Simplify loop, replace early
24245 return by break.
24246 [__CYGWIN__] Add conversion to win32 path.
24247 Include "/" case in trailing slash removal.
24248
3558c6e9
VS
242492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24252 Reported by: Seth Goldberg
24253
f5f3ff93
VS
242542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 * commands/help.c (grub_cmd_help): Fix a typo.
24257 Reported by: Seth Goldberg
24258
d8b5cd40
VS
242592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24260
24261 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24262 name and add N_.
24263 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24264 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24265 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24266 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24267 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24268 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24269 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24270 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24271 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24272 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24273 * normal/context.c (GRUB_MOD_INIT): Likewise.
24274 * normal/main.c (GRUB_MOD_INIT): Likewise.
24275 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24276 * term/serial.c (GRUB_MOD_INIT): Likewise.
24277 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24278
88c14915
VS
242792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24282 extra == 0.
24283
165134bc
VS
242842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24285
24286 * commands/iorw.c: New file.
24287 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24288 (iorw_mod_SOURCES): New variable.
24289 (iorw_mod_CFLAGS): Likewise.
24290 (iorw_mod_LDFLAGS): Likewise.
24291
c5ac9b32
VS
242922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 Hotkey support
24295
24296 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24297 * normal/main.c (hotkey_aliases): New variable.
24298 (grub_normal_add_menu_entry): Parse "--hotkey".
24299 * normal/menu_text.c (run_menu): Handle hotkeys.
24300
ce60689c
VS
243012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 * kern/i386/coreboot/init.c (grub_machine_init): Call
24304 grub_machine_mmap_init on qemu.
24305
0359d006
VS
243062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24307
24308 * boot/i386/qemu/boot.S: Add a missing .code16.
24309
7819a456
VS
243102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24311
24312 Use LBIO on coreboot.
24313
24314 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24315 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24316 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24317 New declaration.
24318 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24319 grub_machine_mmap_init on coreboot.
24320 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24321 GRUB_LINUXBIOS_MEMBER_LINK.
24322 (grub_machine_mmap_iterate): Fix declaration.
24323 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24324
7210dca9
VS
243252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24326
24327 Split coreboot and multiboot ports.
24328
24329 * conf/i386-multiboot.rmk: New file.
24330 * configure.ac: Add multiboot port.
24331 * include/grub/i386/multiboot/boot.h: New file.
24332 * include/grub/i386/multiboot/console.h: Likewise.
24333 * include/grub/i386/multiboot/init.h: Likewise.
24334 * include/grub/i386/multiboot/kernel.h: Likewise.
24335 * include/grub/i386/multiboot/loader.h: Likewise.
24336 * include/grub/i386/multiboot/memory.h: Likewise.
24337 * include/grub/i386/multiboot/serial.h: Likewise.
24338 * include/grub/i386/multiboot/time.h: Likewise.
24339 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24340 * loader/multiboot.c: Likewise.
24341 * loader/multiboot_mbi2.c: Likewise.
24342 * util/grub-mkrescue.in: Generate multiboot rescue.
24343
6f8aaf68
VS
243442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24345
3080f7a7
VS
24346 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24347
243482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24349
24350 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24351
24352 * commands/terminal.c (abstract_terminal): New struct.
24353 (handle_command): New function. Based on grub_cmd_terminal_input.
24354 (grub_cmd_terminal_input): Use handle_command.
24355 (grub_cmd_terminal_output): Use handle_command.
24356
a8ebb841
BC
243572010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24358
24359 Fix comment handling.
24360
24361 * tests/grub_script_comments.in: New testcase.
24362 * conf/tests.rmk: Rules for new testcase.
24363 * script/yylex.l: Updated flex rules.
24364
bb06ba08
ST
243652010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24366
24367 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24368 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24369 if argc is 1.
bb06ba08 24370
cc9d2425
VS
243712010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24372
24373 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24374 autogen issues.
24375
460d8402
CF
243762010-04-26 Christian Franke <franke@computer.org>
24377
24378 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24379 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24380 (grub_get_prefix): Remove function.
24381 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24382 make_system_path_relative_to_its_root ().
24383 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24384
553c01f9
CF
243852010-04-24 Christian Franke <franke@computer.org>
24386
24387 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24388 (kernel_img_LDFLAGS): Remove -static-libgcc.
24389
2aec1692
CF
243902010-04-24 Christian Franke <franke@computer.org>
24391
24392 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24393 and CHECK_END_SYMBOL if grub-emu is built.
24394 Unset TARGET_OBJ2ELF if grub-emu is built
24395 without module support.
24396
f67dc308
JS
243972010-04-24 Jiro SEKIBA <jir@unicus.jp>
24398
24399 Nilfs2 support.
24400
24401 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24402 (grub_fstest_SOURCES): Likewise.
24403 (pkglib_MODULES): Add nilfs2.mod.
24404 (nilfs2_mod_SOURCES): New variable.
24405 (nilfs2_mod_CFLAGS): Likewise.
24406 (nilfs2_mod_LDFLAGS): Likewise.
24407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24408 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24409 * fs/nilfs2.c: New file.
24410
4ba8d354
VS
244112010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24412
24413 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24414 is not supported.
24415
0d2c20c6
GS
244162010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24417
24418 Add grub-mkconfig support for NetBSD.
24419
24420 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24421 * util/grub-mkconfig.in: export new NetBSD specific variables.
24422 * po/POTFILES-shell: added 10_netbsd.in.
24423 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24424
bc4a2d83
BC
244252010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24426
24427 Fix emu build with grub-emu-pci and grub-emu-modules.
24428
24429 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24430 functions.
24431 * include/grub/libpciaccess.h: New file.
24432 * conf/any-emu.rmk: Update kernel headers for emu build.
24433
f48c87aa
VS
244342010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24435
24436 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24437
18959385
VS
244382010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24441
0037de3f
VS
244422010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24445 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24446 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24447 util/ieee1275/ofpath.c.
24448 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24449 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24450 * include/grub/sparc64/ieee1275/boot.h
24451 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24452 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24453 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24454 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24455 const char *.
24456 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24457 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24458 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24459 install.
24460
38e55e90
GS
244612010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24462
24463 * util/grub-mkconfig.in: Corrected two == equality tests.
24464 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24465 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24466 expect a number appended to it.
24467 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24468 expects a number appended to it.
24469
a9e6ff28
VS
244702010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24471
24472 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24473
0b830b8f
VS
244742010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24475
24476 * util/hostdisk.c (make_device_name): Change to new partition naming.
24477
0973daeb
VS
244782010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24481
460d8402 244822010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24483
24484 * Makefile.in: Add missing localedir setting.
24485
0b456309
CW
244862010-04-14 Colin Watson <cjwatson@ubuntu.com>
24487
24488 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24489 mistake in r2156. Noticed by Anthony Fok.
24490
24491 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24492 @localedir@.
24493 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24494
08f46d62
BC
244952010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24496
24497 Fix a spurious, uninitialized variable warning.
24498
24499 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24500 Initialize variable, shdr.
24501 (grub_freebsd_load_elfmodule): Likewise.
24502 (grub_freebsd_load_elf_meta): Likewise.
24503
8c4a72d4
BC
245042010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24505
24506 Fix for escaped dollar in double quoted strings.
24507
24508 * script/yylex.l: Updated flex rules.
24509 * conf/tests.rmk: Rule for new testcase.
24510 * tests/grub_script_dollar.in: New testcase.
24511
ce44826e
CPE
245122010-04-13 Carles Pina i Estany <carles@pina.cat>
245132010-04-13 Colin Watson <cjwatson@ubuntu.com>
24514
24515 Enclose all translated strings in grub.cfg in single quotes, and
24516 escape them appropriately (Ubuntu bug #552921).
24517
24518 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24519 * util/grub.d/10_hurd.in: Use it.
24520 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24521 * util/grub.d/10_linux.in (linux_entry): Likewise.
24522
4b0cd8f8
VS
245232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24524
24525 Fix cygwin compilation.
24526
24527 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24528 * include/grub/misc.h (__register_frame_info)
24529 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24530 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24531 * kern/misc.c (__register_frame_info)
24532 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24533 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24534
01fcf061
VS
245352010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24536
24537 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24538
5d04b11e
VS
245392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Unify libgcc processing.
24542
24543 * Makefile.in (kernel_img_LDFLAGS): New variable.
24544 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24545 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24546 overwriting.
24547 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24548 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24549 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24550 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24551 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24552 overwriting. Remove -lgcc and -static-libgcc
24553 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24554 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24555 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24556 (kernel_img_LDFLAGS): Append instead of overwriting.
24557 Remove -lgcc and -static-libgcc
24558 * conf/sparc64-ieee1275.rmk: Likewise.
24559 * include/grub/powerpc/libgcc.h: Move to ...
24560 * include/grub/libgcc.h: .. this.
24561 * include/grub/libgcc.h: Don't export most of the function on x86.
24562 (__bswapsi2): New export.
24563 (__bswapdi2): Likewise.
24564 * include/grub/mips/libgcc.h: Removed.
24565 * include/grub/sparc64/libgcc.h: Likewise.
24566
b7f3ac29
VS
245672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24568
24569 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24570 disk_info_msg (conflicts with gettexting into languages with cases).
24571
2c7031b1
GS
245722010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24573
24574 Add grub-probe support for NetBSD.
24575
24576 * util/getroot.c (find_root_device): Convert block device to
24577 character device on NetBSD.
24578 * util/probe.c (probe): Require character device on NetBSD.
24579 * util/hostdisk.c: NetBSD specific headers.
24580 (configure_device_driver): new function to tune device driver
24581 parameters (currently only for NetBSD floppy driver).
24582 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24583 via disklabel ioctl).
24584 (open_device): call configure_device_driver on NetBSD.
24585 (convert_system_partition_to_system_disk): NetBSD specific code.
24586 (device_is_wholedisk): Likewise.
24587 (grub_util_biosdisk_get_grub_dev): Likewise.
24588 (make_device_name): Fixed a typo in bsd_part_str.
24589 * configure.ac: check for opendisk() and getrawpartition() on
24590 NetBSD and set LIBUTIL.
24591 * Makefile.in: add LIBUTIL to LIBS.
24592
f516290c
BC
245932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24594
24595 Documentation fix.
24596
24597 * util/grub-script-check.c: Better help message.
24598
d8dcc0df
BC
245992010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24600
24601 Fix FreeBSD build.
24602
24603 * configure.ac: Flex version check.
24604 * conf/common.rmk: Add -Wno-error to sh.mod.
24605 * script/yylex.l: Remove all #pragma.
24606
6734334a
VS
246072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24608
24609 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24610 prototype.
24611 Reported by: Seth Goldberg.
24612
daea6abd
VS
246132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24616 Rename "module" to "module2".
24617 Reported by: Seth Goldberg.
24618
f2fd9d2b
VS
246192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24620
24621 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24622 EXPORT_FUNC.
24623 Reported by: Seth Goldberg.
24624
be124579
VS
246252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 * lib/posix_wrap/locale.h: Add missing file.
24628 Reported by: Seth Goldberg.
24629
ef5da797
VS
246302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24631
24632 grub-emu module load support.
24633
24634 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24635 NO_DYNAMIC_MODULES switched to this.
24636 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24637 (CFLAGS): Likewise.
24638 * conf/any-emu.rmk: Generate symlist.
24639 (kernel_img_HEADERS): Add util/datetime.h.
24640 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24641 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24642 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24643 kern/$(target_cpu)/cache.S.
24644 * configure.ac (grub-emu-modules): New option.
24645 * genmk.rb: Handle multiple source lists.
24646 * include/grub/sdl.h: New file.
24647 * include/grub/libusb.h: Likewise.
24648 * util/grub-emu.c (main): Hanle (host) root.
24649 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24650 GRUB_ERR_UNKNOWN_DEVICE.
24651 * util/misc.c: Move mm functions to ...
24652 * util/mm.c: ... here. All users updated.
24653
47822096
VS
246542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24655
24656 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24657 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24658 missing files.
24659 (maintainer-clean): Remove libgcrypt-grub.
24660
5d7e7445
VS
246612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24664
25f4e252
EC
246652010-04-09 EFI Coder <eficoder@hotmail.com>
24666
24667 * normal/menu_text.c (print_message): Clean up the message and show
24668 the Fn information when on EFI
24669 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24670
027de555
VS
246712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24672
24673 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24674 All users updated.
24675 * normal/crypto.c (read_crypto_list): Likewise.
24676 * normal/dyncmd.c (read_command_list): Likewise.
24677 * normal/term.c (read_terminal_list): Likewise.
24678 * normal/main.c (read_lists): Use explicit prefix.
24679 (read_lists_hook): Use read_lists.
24680 (grub_normal_execute): Likewise.
24681
47779711
VS
246822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24685 Reported by: Thomas Schmitt.
24686 Add -no-emul-boot to grub-mkisofs parameters.
24687
1118c32e
VS
246882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24689
24690 * font/font.c: Indented.
24691
7d652447
BC
246922010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24693
24694 Elif support to GRUB script (by Deepak Vankadaru).
24695
24696 * tests/grub_script_if.in: New testcase.
24697 * conf/tests.rmk: Rule for new testcase.
24698 * script/parser.y: Grammar rules for elif.
24699
34bb22df
BC
247002010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24701
24702 While and until loops support to GRUB script.
24703
24704 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24705 (grub_script_create_cmdwhile): New function prototype.
24706 (grub_script_execute_cmdwhile): New function prototype.
24707 * script/execute.c (grub_script_execute_cmdwhile): New function.
24708 * script/parser.y (command): New commands.
24709 (whilecmd): New grammar rule.
24710 (untilcmd): New grammar rule.
24711 * script/script.c (grub_script_create_cmdwhile): New function.
24712 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24713 function.
24714
24715 * tests/grub_script_while1.in: New testcase.
24716 * conf/tests.rmk: Rule for new testcase.
24717
e215d8e0
VS
247182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24721 as *.jpg.
24722
d7c43ba1
MV
247232010-04-09 Mario Vazquez <mariovazq@gmail.com>
24724
24725 GRUB_BACKGROUND support.
24726
24727 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24728 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24729
d64795c0
VS
247302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24731
24732 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24733 Idea by: Mario Vazquez
d64795c0
VS
24734
24735 * util/grub.d/00_header.in: Load pf2 and image modules.
24736
f267f83a
VS
247372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 grub-mkconfig multiple terminal support.
24740
24741 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24742 * util/grub.d/00_header.in: Likewise.
24743
b7841ceb
VS
247442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24747 we use cd $(srcdir).
24748
df60998c
CW
247492010-04-08 Colin Watson <cjwatson@ubuntu.com>
24750
24751 * util/grub.d/10_linux.in: Only use the first word of
24752 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24753 spaces in GRUB_DISTRIBUTOR.
24754 * util/grub.d/10_kfreebsd.in: Likewise.
24755 * util/grub.d/10_hurd.in: Likewise.
24756
fa09c82e
BC
247572010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24758
14e18ae3 24759 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24760
24761 * tests/util/grub-shell.in: Remove -serial stdio option.
24762
daf892b3
BC
247632010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 POSIX header file wrappers.
24766
24767 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24768 equivalents.
24769 * lib/posix_wrap/ctype.h: Likewise.
24770 * lib/posix_wrap/errno.h: Likewise.
24771 * lib/posix_wrap/langinfo.h: Likewise.
24772 * lib/posix_wrap/limits.h: Likewise.
24773 * lib/posix_wrap/localcharset.h: Likewise.
24774 * lib/posix_wrap/stdint.h: Likewise.
24775 * lib/posix_wrap/stdio.h: Likewise.
24776 * lib/posix_wrap/stdlib.h: Likewise.
24777 * lib/posix_wrap/string.h: Likewise.
24778 * lib/posix_wrap/sys/types.h: Likewise.
24779 * lib/posix_wrap/unistd.h: Likewise.
24780 * lib/posix_wrap/wchar.h: Likewise.
24781 * lib/posix_wrap/wctype.h: Likewise.
24782 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24783 (grub_script.yy.h): Likewise.
24784 * script/yylex.l: Remove POSIX emulation #defines.
24785 * Makefile.in (POSIX_CFLAGS): New variable.
24786 (GNULIB_UTIL_CFLAGS): Likewise.
24787
24788 Regexp support.
24789
24790 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24791 (regexp_mod_SOURCES): New variable.
24792 (regexp_mod_CFLAGS): Likewise.
24793 (regexp_mod_LDFLAGS): Likewise.
24794 * commands/regexp.c: New file.
24795 * gnulib/regcomp.c: New file. Imported from gnulib.
24796 * gnulib/regex.c: Likewise.
24797 * gnulib/regex_internal.c: Likewise.
24798 * gnulib/regex_internal.h: Likewise.
24799 * gnulib/regexec.c: Likewise.
24800 * gnulib/regex.h: Likewise.
24801
974ac4f7
VS
248022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24805 unsupported video mode types.
24806
2622c3ff
VS
248072010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24810
064cb524
VS
248112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24812
24813 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24814 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24815
a8c3b552
VS
248162010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24817
24818 Remove unused grub_vga_get_font.
24819
24820 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24821 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24822
187bbe3d
GS
248232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24824
24825 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24826 * include/grub/misc.h: Likewise.
24827
b9396631
GS
248282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24829
24830 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24831 for which failure is fatal.
24832
50479feb
GS
248332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24834
24835 * util/grub-install.in: Use mkdir -p to create grub directory.
24836 * util/i386/efi/grub-install.in: Likewise.
24837 * util/ieee1275/grub-install.in: Likewise.
24838
b1654fdf
GS
248392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24840
24841 * Makefile.in (LEX): new variable.
24842
bd5a6415
GS
248432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24844
24845 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24846 `=' and added double quotes on operands of this equality test.
24847
3db3a82b
VS
248482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24849
24850 * Makefile.in (uninstall): Remove a leftover debug echo.
24851 Reported by: Grégoire Sutre
24852
38023412
VS
248532010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24854
24855 MIPS multiboot2 support.
24856
24857 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24858 (multiboot2_mod_SOURCES): New variable.
24859 (multiboot2_mod_CFLAGS): Likewise.
24860 (multiboot2_mod_LDFLAGS): Likewise.
24861 (multiboot2_mod_ASFLAGS): Likewise.
24862 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24863 definition.
24864 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24865 (MULTIBOOT_MBI_REGISTER): Likewise.
24866 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24867 (MULTIBOOT_ELF32_MACHINE): Likewise.
24868 (MULTIBOOT_ELF64_MACHINE): Likewise.
24869 * include/grub/mips/multiboot.h: New file.
24870 * include/grub/video.h (grub_video_driver_id): New type
24871 GRUB_VIDEO_DRIVER_SM712.
24872 (grub_video_get_info_and_fini): Export.
24873 (grub_video_get_palette): Likewise.
24874 (grub_video_get_driver_id): Likewise.
24875 * include/multiboot2.h: Resynced with spec.
24876 * loader/i386/multiboot.c: Moved from here ...
24877 * loader/multiboot.c: ... here. All users updated.
24878 (grub_multiboot_boot): Use platform-specific macros.
24879 * loader/i386/multiboot_elfxx.c: Moved from here ...
24880 * loader/multiboot_elfxx.c: ... here. All users updated.
24881 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24882 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24883 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24884
47674667
VS
248852010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24886
24887 Import gnulib argp module.
24888
24889 * gnulib/argp-ba.c: New file.
24890 * gnulib/argp-eexst.c: Likewise.
24891 * gnulib/argp-fmtstream.c: Likewise.
24892 * gnulib/argp-fmtstream.h: Likewise.
24893 * gnulib/argp-fs-xinl.c: Likewise.
24894 * gnulib/argp-help.c: Likewise.
24895 * gnulib/argp-namefrob.h: Likewise.
24896 * gnulib/argp-parse.c: Likewise.
24897 * gnulib/argp-pin.c: Likewise.
24898 * gnulib/argp-pv.c: Likewise.
24899 * gnulib/argp-pvh.c: Likewise.
24900 * gnulib/argp-version-etc.c: Likewise.
24901 * gnulib/argp-version-etc.h: Likewise.
24902 * gnulib/argp-xinl.c: Likewise.
24903 * gnulib/argp.h: Likewise.
24904
495442ed
VS
249052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * kern/device.c (grub_device_iterate): Clear errors after failed
24908 opening device.
24909
f9fd65df
VS
249102010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24913 returned by firmware.
24914
af09641e
VS
249152010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24918 compilation on coreboot and qemu
24919
016883a5
VS
249202010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * include/multiboot2.h: Resync with spec.
24923
f97e1f7d
VS
249242010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24925
24926 Multiboot2 tag support
24927
24928 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24929 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24930 Remove loader/multiboot_loader.c.
24931 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24932 (grub_multiboot2_real_boot): Likewise.
24933 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24934 (grub_get_multiboot_mmap_count): New proto.
24935 (grub_fill_multiboot_mmap): Likewise.
24936 (grub_multiboot_set_video_mode): Likewise.
24937 (grub_multiboot_set_console): Likewise.
24938 (grub_multiboot_load): Likewise.
24939 (grub_multiboot_load_elf): Likewise.
24940 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24941 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24942 * include/multiboot.h: Resynced with specification.
24943 * include/multiboot2.h: Resynced with specification.
24944 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24945 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24946 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24947 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24948 users updated.
24949 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24950 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24951 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24952 Removed.
24953 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24954 Moved from here...
24955 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24956 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24957 Moved from here...
24958 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24959 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24960 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24961 All users updated.
24962 * loader/i386/multiboot_mbi2.c: New file.
24963
3506b90b
VS
249642010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24965
24966 Resync with gnulib.
24967
24968 * Makefile.in (GNULIB_CFLAGS): New variable.
24969 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24970 (grub_script_check_CFLAGS): New variable.
24971 * gnulib/alloca.h: Resync with gnulib.
24972 * gnulib/error.c: Likewise.
24973 * gnulib/error.h: Likewise.
24974 * gnulib/fnmatch.c: Likewise.
24975 * gnulib/fnmatch_loop.c: Likewise.
24976 * gnulib/getdelim.c: Likewise.
24977 * gnulib/getline.c: Likewise.
24978 * gnulib/getopt.c: Likewise.
24979 * gnulib/getopt1.c: Likewise.
24980 * gnulib/getopt_int.h: Likewise.
24981 * gnulib/gettext.h: Likewise.
24982 * gnulib/progname.c: Likewise.
24983 * gnulib/progname.h: Likewise.
24984
394a3120
GS
249852010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24986
24987 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24988 which is the case with --disabled-nls.
24989
24990 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24991 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24992 * util/misc.c: Likewise.
24993 * util/mkisofs/mkisofs.c: Likewise.
24994 * util/mkisofs/mkisofs.h: Likewise.
24995
969d1c78
VS
249962010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24997
24998 Simplify Apple CC support.
24999
25000 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25001 Add 0 byte at the end not to have a symbol with empty target.
25002 * mmap/i386/pc/mmap_helper.S: Likewise.
25003 * genmk.rb: Ignore errors 2030 and 2050.
25004 * kern/i386/pc/startup.S: Use LOCAL when possible.
25005
8d2977bb
BC
250062010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25007
25008 Testcase and the fix for final semicolon on cmdline.
25009
25010 * tests/grub_script_final_semicolon.in: New testcase.
25011 * conf/tests.rmk: Rules for the new testcase.
25012 * script/parser.y: Grammar fix.
25013
a7bd6915
BC
250142010-03-26 BVK Chaitanya <bvk@localhost>
25015
25016 Blank lines testcase for GRUB script.
25017
25018 * tests/grub_script_blanklines.in: New testcase.
25019 * conf/tests.rmk: Rules for the new testcase.
25020
e4ff6628
VS
250212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25022
25023 Don't use __FILE__.
25024
25025 * genmk.rb: Add -DGRUB_FILE to all C targets.
25026 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25027 * include/grub/list.h: Likewise.
25028 * include/grub/misc.h: Likewise.
25029 * include/grub/mm.h: Likewise.
25030 * include/grub/test.h: Likewise.
25031 * kern/mm.c: Likewise.
25032 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25033
6a5cf6b6
VS
250342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25035
25036 Sunpc partitions support.
25037
25038 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25039 (grub_fstest_SOURCES): Likewise.
25040 (pkglib_MODULES): Add part_sunpc.mod.
25041 (part_sunpc_mod_SOURCES): New variable.
25042 (part_sunpc_mod_CFLAGS): Likewise.
25043 (part_sunpc_mod_LDFLAGS): Likewise.
25044 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25045 * partmap/sunpc.c: New file.
25046
746d9045
BC
250472010-03-26 BVK Chaitanya <bvk@localhost>
25048
25049 For loop support to GRUB script.
25050
25051 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25052 (grub_script_create_cmdfor): New function prototype.
25053 (grub_script_execute_cmdfor): New function prototype.
25054 * script/execute.c (grub_script_execute_cmdfor): New function.
25055 * script/parser.y (command): New for command.
25056 (forcmd): New grammar rule.
25057 * script/script.c (grub_script_create_cmdfor): New function.
25058 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25059 function.
25060 * tests/grub_script_for1.in: New testcase.
25061 * conf/tests.rmk: Rules for new testcase.
25062
18486b18
VS
250632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 Nested partitions
25066
25067 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25068 'partition' is NULL, grub_partition_get_start already does that.
25069 * commands/loadenv.c (check_blocklists): Likewise.
25070 (write_blocklists): Likewise.
25071 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25072 (grub_fstest_SOURCES): Likewise.
25073 (pkglib_MODULES): Add part_bsd.mod.
25074 (part_bsd_mod_SOURCES): New variable.
25075 (part_bsd_mod_CFLAGS): Likewise.
25076 (part_bsd_mod_LDFLAGS): Likewise.
25077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25078 (grub_emu_SOURCES): Likewise.
25079 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25080 * include/grub/bsdlabel.h: New file.
25081 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25082 'get_name'.
25083 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25084 (grub_partition_map_list): New variable.
25085 (grub_partition_map_register): Inline.
25086 (grub_partition_map_unregister): Likewise.
25087 (FOR_PARTITION_MAPS): New macro.
25088 (grub_partition_map_iterate): Removed.
25089 (grub_partition_get_start): Handle nested partitions.
25090 * include/grub/msdos_partition.h: Remove bsd-related entries.
25091 (grub_pc_partition): Remove.
25092 * kern/disk.c (grub_disk_close): Free partition data.
25093 (grub_disk_adjust_range): Handle nested partitions.
25094 * kern/partition.c (grub_partition_map_probe): New function.
25095 (grub_partition_probe): Parse name to number, handle subpartitions.
25096 (get_partmap): New function.
25097 (grub_partition_iterate): Handle subpartitions.
25098 (grub_partition_get_name): Likewise.
25099 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25100 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25101 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25102 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25103 Set 'number'.
25104 (acorn_partition_map_probe): Remove.
25105 (acorn_partition_map_get_name): Likewise.
25106 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25107 Set 'number'.
25108 Set 'index' to 0 since there can be only one partition entry per sector.
25109 (amiga_partition_map_probe): Remove.
25110 (amiga_partition_map_get_name): Likewise.
25111 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25112 Set 'number'.
25113 Set 'offset' and 'index' to real positions of partitions.
25114 (apple_partition_map_probe): Remove.
25115 (apple_partition_map_get_name): Likewise.
25116 * partmap/bsdlabel.c: New file.
25117 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25118 Set 'number'.
25119 Allocate 'data' so it can be correctly freed.
25120 Set 'index' to offset inside sector.
25121 (gpt_partition_map_probe): Remove.
25122 (gpt_partition_map_get_name): Likewise.
25123 * partmap/msdos.c (grub_partition_parse): Remove.
25124 (pc_partition_map_iterate): Don't force raw access.
25125 Set 'number'.
25126 Make 'ext_offset' a local variable.
25127 (pc_partition_map_probe): Remove.
25128 (pc_partition_map_get_name): Remove.
25129 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25130 Set 'number'.
25131 (sun_partition_map_probe): Remove.
25132 (sun_partition_map_get_name): Likewise.
25133 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25134 (grub_pcpart_type): Likewise.
25135 * util/hostdisk.c (open_device): Handle new numbering scheme.
25136 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25137 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25138 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25139 * util/grub-install.in: Insert all subpartition modules.
25140 * util/ieee1275/grub-install.in: Likewise.
25141
a3940f88
AG
251422010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25143
25144 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25145 grammar.
25146
21b99926 251472010-03-24 Colin Watson <cjwatson@ubuntu.com>
25148
25149 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25150
bed1d352
CW
251512010-03-21 Colin Watson <cjwatson@ubuntu.com>
25152
25153 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25154 match where 'make install' puts them.
25155 * util/i386/efi/grub-install.in: Likewise.
25156
c9f58427
CW
251572010-03-19 Colin Watson <cjwatson@ubuntu.com>
25158
25159 * .bzrignore: Add gentrigtables, grub-script-check,
25160 grub_script_check_init.c, grub_script_check_init.h, and
25161 trigtables.c.
25162
f84afb27
VS
251632010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 * kern/parser.c: Indented.
25166
ed0e3d30
VS
251672010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25168
25169 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25170
0ea81d98
VS
251712010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25174 alpha_mask_size == 0 case.
25175
0cdc2a09
BC
251762010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25177
25178 GRUB shell lexer and parser improvements.
25179
25180 * conf/any-emu.rmk: Build rule updates.
25181 * conf/common.rmk: Likewise.
25182 * conf/i386-coreboot.rmk: Likewise.
25183 * conf/i386-efi.rmk: Likewise.
25184 * conf/i386-ieee1275.rmk: Likewise.
25185 * conf/i386-pc.rmk: Likewise.
25186 * conf/powerpc-ieee1275.rmk: Likewise.
25187 * conf/x86_64-efi.rmk: Likewise.
25188
25189 * configure.ac: Configure check for flex.
25190
25191 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25192 types.
25193 (grub_lexer_param): Struct member updates.
25194 (grub_parser_param): Likewise.
25195 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25196 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25197 (grub_script_lexer_init): Prototype update.
25198 (grub_script_lexer_record_start): Likewise.
25199 (grub_script_lexer_record_stop): Likewise.
25200 (grub_script_lexer_yywrap): New function prototype.
25201 (grub_script_lexer_fini): Likewise.
25202 (grub_script_execute_argument_to_string): Removed by...
25203 (grub_script_execute_argument_to_argv): ...better version.
25204
25205 * script/execute.c (ROUND_UPTO): New macro.
25206 (grub_script_execute_cmdline): Out of memory fixes.
25207 (grub_script_execute_menuentry): Likewise.
25208 (grub_script_execute_argument_to_string): Removed. Update all
25209 users by...
25210 (grub_script_execute_argument_to_argv): ...better version.
25211 * script/function.c (grub_script_function_create): Use
25212 grub_script_execute_argument_to_argv instead of
25213 grub_script_execute_argument_to_string.
25214
25215 * script/lexer.c (check_varstate): Removed.
25216 (check_textstate): Removed.
25217 (grub_script_lexer_record_start): Likewise.
25218 (grub_script_lexer_record_stop): Likewise.
25219 (recordchar): Replaced with...
25220 (grub_script_lexer_record): ...new function.
25221 (nextchar): Removed.
25222 (grub_script_lexer_init): Rewritten.
25223 (grub_script_yylex): Rewritten.
25224 (append_newline): New function.
25225 (grub_script_lexer_yywrap): New function.
25226 (grub_script_lexer_fini): New function.
25227 (grub_script_yyerror): Sets error flag.
25228
25229 * script/yylex.l: New file.
25230 (grub_lexer_yyfree): Wrapper for flex yyffre.
25231 (grub_lexer_yyalloc): Likewise.
25232 (grub_lexer_yyrealloc): Likewise.
25233 * script/parser.y: Refactored.
25234
25235 * script/script.c (grub_script_arg_add): Out of memory fixes.
25236 (grub_script_add_arglist): Likewise.
25237 (grub_script_create_cmdline): Likewise.
25238 (grub_script_create_cmdmenu): Likewise.
25239 (grub_script_add_cmd): Likewise.
25240 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25241 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25242 unnecessary code.
25243
25244 * tests/grub_script_echo1.in: New testcase.
25245 * tests/grub_script_vars1.in: New testcase.
25246 * tests/grub_script_echo_keywords.in: New testcase.
25247
1d63a066
VS
252482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 Remove some redundancy in build system.
25251
25252 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25253 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25254 (TARGET_LDFLAGS): Add -nostdlib.
25255 (TARGET_IMG_LDFLAGS): Likewise.
25256 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25257 anything since mmap isn't available.
25258 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25259 Add util/time.c.
25260 (pkglib_MODULES): Remove reboot.mod.
25261 (reboot_mod_SOURCES): Removed.
25262 (reboot_mod_CFLAGS): Likewise.
25263 (reboot_mod_LDFLAGS): Likewise.
25264 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25265 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25266 (DEFSYMFILES): Add kernel_syms.lst.
25267 (kernel_img_HEADERS): Add common headers.
25268 (symlist.c): New target.
25269 (kernel_syms.lst): Likewise.
25270 (pkglib_MODULES): Add memdisk.mod.
25271 (memdisk_mod_SOURCES): New variable.
25272 (memdisk_mod_CFLAGS): Likewise.
25273 (memdisk_mod_LDFLAGS): Likewise.
25274 (pkglib_MODULES): Add reboot.mod.
25275 (reboot_mod_SOURCES): New variable.
25276 (reboot_mod_CFLAGS): Likewise.
25277 (reboot_mod_LDFLAGS): Likewise.
25278 (pkglib_MODULES): Add date.mod.
25279 (date_mod_SOURCES): New variable.
25280 (date_mod_CFLAGS): Likewise.
25281 (date_mod_LDFLAGS): Likewise.
25282 (pkglib_MODULES): Add datehook.mod.
25283 (datehook_mod_SOURCES): New variable.
25284 (datehook_mod_CFLAGS): Likewise.
25285 (datehook_mod_LDFLAGS): Likewise.
25286 (pkglib_MODULES): Add lsmmap.mod.
25287 (lsmmap_mod_SOURCES): New variable.
25288 (lsmmap_mod_CFLAGS): Likewise.
25289 (lsmmap_mod_LDFLAGS): Likewise.
25290 (pkglib_MODULES): Add boot.mod.
25291 (boot_mod_SOURCES): New variable.
25292 (boot_mod_CFLAGS): Likewise.
25293 (boot_mod_LDFLAGS): Likewise.
25294 * conf/i386-coreboot.rmk: Removed redundant parts.
25295 * conf/i386-ieee1275.rmk: Likewise.
25296 * conf/i386-pc.rmk: Likewise.
25297 * conf/mips-yeeloong.rmk: Likewise.
25298 * conf/mips.rmk: Likewise.
25299 * conf/powerpc-ieee1275.rmk: Likewise.
25300 * conf/sparc64-ieee1275.rmk: Likewise.
25301 * conf/x86_64-efi.rmk: Likewise.
25302 * conf/i386-coreboot.rmk: Moved qemu parts ..
25303 * conf/i386-qemu.rmk: ... here
25304 * conf/i386-efi.rmk: Moved common parts to...
25305 * conf/x86-efi.rmk: ... here.
25306 * conf/i386.rmk: Added modules common to all x86 variants.
25307 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25308 * disk/memdisk.c: Remove grub/machine/kernel.h.
25309 * gensymlist.sh.in: Include symbol.h.
25310 * hook/datehook.c: Correct module name.
25311 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25312 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25313 * include/grub/i386/efi/serial.h: New file.
25314 * include/grub/x86_64/efi/serial.h: Likewise.
25315 * util/time.c: Likewise.
25316 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25317
463ac55f
CK
253182010-03-14 Colin King <colin.king@ubuntu.com>
253192010-03-14 Colin Watson <cjwatson@ubuntu.com>
25320
25321 Shrink the pre-partition-table part of boot.img by eight bytes.
25322
25323 * boot/i386/pc/boot.S (ERR): New macro.
25324 (chs_mode): Use ERR.
25325 (geometry_error): Likewise.
25326 (hd_probe_error): Remove. This is only used once, so we wrwite
25327 it inline instead.
25328 (read_error): Instead of printing read_error_string, just set up
25329 %si and fall through to ...
25330 (error_message): ... this new function, also used by ERR.
25331
08e46ede
CW
253322010-03-14 Colin Watson <cjwatson@ubuntu.com>
25333
25334 Speed up consecutive hostdisk operations on the same device.
25335
25336 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25337 (grub_util_biosdisk_open): Initialise disk->data.
25338 (struct linux_partition_cache): New structure.
25339 (linux_find_partition): Cache partition start positions; these are
25340 expensive to compute on every read and write.
25341 (open_device): Cache open file descriptor in disk->data, so that we
25342 don't have to reopen it and flush the buffer cache for consecutive
25343 operations on the same device.
25344 (grub_util_biosdisk_close): New function.
25345 (grub_util_biosdisk_dev): Set `close' member.
25346
25347 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25348 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25349 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25350 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25351 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25352
4a6d2d06
VS
253532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 Compile parts of grub-emu as modules.
25356
25357 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25358 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25359 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25360 (all-local): Add $(GRUB_EMU).
25361 (install-local): Install $(GRUB_EMU).
25362 (uninstall): Uninstall $(GRUB_EMU).
25363 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25364 * kern/dl.c: Likewise.
25365 * commands/sleep.c: Not include machine/time.h.
25366 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25367 (COMMON_CFLAGS): Likewise.
25368 (sbin_UTILITIES): Remove grub-emu.
25369 (grub_emu_SOURCES): Removed.
25370 (kernel_img_RELOCATABLE): New variable.
25371 (pkglib_PROGRAMS): Add kernel.img.
25372 (kernel_img_SOURCES): New variable
25373 (kernel_img_CFLAGS): Likewise.
25374 (kernel_img_LDFLAGS): Likewise.
25375 (TARGET_NO_STRIP): Likewise.
25376 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25377 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25378 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25379 (grub-emu): New target.
25380 (GRUB_EMU): New variable.
25381 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25382 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25383 * loader/xnu.c: Likewise.
25384 * include/grub/pci.h: Likewise.
25385 * genemuinit.sh: New file.
25386 * genemuinitheader.sh: Likewise.
25387 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25388 Support TARGET_NO_DYNAMIC_MODULES.
25389 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25390 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25391 * disk/loopback.c: Likewise.
25392 * font/font_cmd.c: Likewise.
25393 * partmap/acorn.c: Likewise.
25394 * partmap/amiga.c: Likewise.
25395 * partmap/apple.c: Likewise.
25396 * partmap/gpt.c: Likewise.
25397 * partmap/msdos.c: Likewise.
25398 * partmap/sun.c: Likewise.
25399 * parttool/msdospart.c: Likewise.
25400 * term/gfxterm.c: Likewise.
25401 * video/bitmap.c: Likewise.
25402 * video/readers/jpeg.c: Likewise.
25403 * video/readers/png.c: Likewise.
25404 * video/readers/tga.c: Likewise.
25405 * video/video.c: Likewise.
25406 * util/grub-emu.c (read_command_list): Removed.
25407 (main): Don't call util_init_nls.
25408 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25409 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25410
91fdd2ed
VS
254112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25412
25413 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25414 date.mod, datehook.mod.
25415 (datetime_mod_SOURCES): New variable.
25416 (datetime_mod_CFLAGS): Likewise.
25417 (datetime_mod_LDFLAGS): Likewise.
25418 (date_mod_SOURCES): Likewise.
25419 (date_mod_CFLAGS): Likewise.
25420 (date_mod_LDFLAGS): Likewise.
25421 (datehook_mod_SOURCES): Likewise.
25422 (datehook_mod_CFLAGS): Likewise.
25423 (datehook_mod_LDFLAGS): Likewise.
25424 * conf/sparc64-ieee1275.rmk: Likewise.
25425 * lib/ieee1275/datetime.c: New file.
25426
873ccae6
VS
254272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25430 (ieee1275_fb_mod_SOURCES): New variable.
25431 (ieee1275_fb_mod_CFLAGS): Likewise.
25432 (ieee1275_fb_mod_LDFLAGS): Likewise.
25433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25434 New proto.
25435 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25436 (HEAP_MAX_ADDR): Likewise.
25437 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25438 type.
25439 Correct stop condition.
25440 (grub_ieee1275_devices_iterate): New function.
25441 * video/ieee1275.c: New file.
25442
601c97c0
VS
254432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25444
25445 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25446
25447 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25448 as scratch.
25449 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25450 SCRATCH_PAD_DISKBOOT as scratch.
25451 (bootit): Pass Openfirmware pointer in %o4.
25452 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25453 of 0x200000.
25454 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25455 with util/grub-mkrawimage.c.
25456 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25457 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25458 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25459 (grub_aout_load) [GRUB_UTIL]: Likewise.
25460 * include/grub/kernel.h (grub_modules_get_end): New proto.
25461 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25462 (SCRATCH_PAD_BOOT): New definition.
25463 (SCRATCH_PAD_DISKBOOT): Likewise.
25464 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25465 * include/grub/sparc64/ieee1275/ieee1275.h
25466 (grub_ieee1275_original_stack): New variable
25467 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25468 New definition
25469 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25470 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25471 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25472 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25473 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25474 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25475 (grub_platform_image_format_t): New type.
25476 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25477 * kern/main.c (grub_modules_get_end)
25478 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25479 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25480 (codestart): Switch stacks.
25481 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25482 variable.
25483 (grub_heap_init): Use grub_modules_get_end.
25484 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25485 stack.
25486 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25487 (main): Likewise.
25488 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25489
d68b491e
TG
254902010-03-14 Thorsten Glaser <tg@mirbsd.org>
25491
25492 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25493
4e02ed50
MK
254942010-03-08 Matt Kraai <kraai@ftbfs.org>
25495
25496 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25497 bug #559005).
25498
1f15fc1e
VS
254992010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25500
25501 * genmoddep.awk: Output all missing symbols and not only first.
25502
fce5d8ff
VS
255032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25504
25505 * NEWS: Put the date of 1.98 release.
25506
d1e8a02f
VS
255072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25508
25509 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25510 ft2build.h.
25511
696fd607
VS
255122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25515 completition in the middle of string.
25516
33e2e6f3
VS
255172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 * util/grub-mkrescue.in: Use mktemp with explicit template.
25520
b1f6d291
VS
255212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25522
25523 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25524
2ac227c7
VS
255252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25528 right pointer.
25529
8f9a632b
VS
255302010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 Fix FreeBSD compilation.
25533
25534 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25535 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25536
60b03859
VS
255372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25540
48a5a769
VS
255412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25542
25543 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25544
3ab4bd77
VS
255452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25546
25547 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25548
d116e0d8
RM
255492010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25550
25551 Support relative image path in theme file.
25552
25553 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25554 (image_set_property): Handle theme_dir and relative path.
25555
c7ef54aa
VS
255562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 * configure.ac: Alias amd64 to x86_64.
25559
fcee14ed
VS
255602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * NEWS: mention multiboot on EFI.
25563
d0780363
VS
255642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25565
25566 * kern/main.c (grub_load_modules): Handle errors from init functions of
25567 embeded modules.
25568
41168ea4
VS
255692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25570
25571 * normal/autofs.c (autoload_fs_module): Handle errors.
25572
b54d93ac
VS
255732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 Disable linux.mod on qemu-mips since it's not functional and leads
25576 to compilation failure.
25577
25578 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25579 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25580 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25581 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25582 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25583 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25584 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25585 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25586 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25587 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25588 Reported by: BVK Chaitanya
25589
fc8345da
JU
255902010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25591
25592 * INSTALL: Add gettext as a dependency and add qemu to a new section
25593 "Prerequisites for make-check".
25594
4760f979
CF
255952010-03-04 Christian Franke <franke@computer.org>
25596
25597 * util/grub-pe2elf.c: Add missing include "progname.h".
25598
f209b5b2
VS
255992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25600
25601 * normal/crypto.c (read_crypto_list): Fix a typo.
25602 Reported by: Seth Goldberg.
25603
b4b7be98
VS
256042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25607 Reported by: Seth Goldberg.
b4b7be98 25608
c0ee0385
VS
256092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25612 ascii.bitmaps.
25613
a8efbf64
VS
256142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25617 Reported by: Seth Goldberg.
a8efbf64 25618
08dcd913
VS
256192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25620
25621 * util/i386/efi/grub-install.in: Copy gettext files.
25622
c4d0b332
VS
256232010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25626
c6f2fe52
VS
256272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 Wait for user entry basing on presence of output rather than on errors.
25630
25631 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25632 (grub_install_newline_hook): Likewise.
25633 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25634 * normal/menu.c (show_menu): Check line_counter to determine presence
25635 of output.
25636 * normal/term.c (grub_normal_line_counter): New variable.
25637 (grub_normal_get_line_counter): New function.
25638 (grub_install_newline_hook): Likewise.
25639
5382b1e4
VS
256402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25641
25642 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25643
5519963b
VS
256442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 * configure.ac: Update version to 1.98.
25647
72b28631
VS
256482010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25649
25650 * util/grub.d/10_linux.in (linux_entry): Don't default to
25651 gfxpayload=keep if Linux doesn't support video handover.
25652
c140a180
VS
256532010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25654
25655 Don't compile video modules on yeeloong since video subsystem is part
25656 of kernel.
25657
25658 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25659 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25660 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25661 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25662 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25663 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25664 * include/grub/bitmap_scale.h: Likewise.
25665 * include/grub/bufio.h: Likewise.
25666 * include/grub/font.h: Likewise.
25667 * include/grub/gfxterm.h: Likewise.
25668 * include/grub/video.h: Likewise.
25669 * include/grub/vbe.h: Don't include video_fb.h.
25670 * video/i386/pc/vbe.c: Include video_fb.h.
25671 * commands/i386/pc/vbetest.c: Include video.h.
25672
a0ca21c2
CW
256732010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25674
25675 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25676 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25677 default entry if GRUB_SAVEDEFAULT=true. This allows using
25678 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25679 saving a new default on every boot.
25680
4a8a763c
VS
256812010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25684 * normal/term.c (read_terminal_list): Likewise.
25685 * normal/main.c (grub_normal_init_page): Likewise.
25686 (grub_normal_read_line_real): Likewise.
25687
607ffde2
VS
256882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25691 memory leak.
25692 Reported by: Seth Goldberg.
25693
2b8fa975
CW
256942010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25695
25696 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25697 duplicate declaration of `start'.
25698
618307dd
VS
256992010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25702 filename.
25703 Reported by: Georgy Buranov
25704
7dd05b96 257052010-02-20 Carles Pina i Estany <carles@pina.cat>
25706
25707 * util/grub-mkrawimage.c (usage): Change string formatting to
25708 improve gettext.
25709
d1484a42
MRA
257102010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25711
25712 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25713 backspace keys.
25714
42b1d186
VS
257152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25716
25717 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25718 Reported by: Michael Suchanek.
25719
257202010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25721
25722 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25723 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25724
d9f31a41
VS
257252010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 Remove any reference to non-free fonts.
25728
25729 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25730 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25731 uses non-free components.
25732 * font/font.c (grub_font_get_name): Remove example name.
25733 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25734 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25735 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25736 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25737
2793c71e
GB
257382010-02-16 Georgy Buranov <gburanov@gmail.com>
25739
25740 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25741
402e3779
VS
257422010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25743
25744 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25745 Double divisor.
25746 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25747 features.
25748 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25749
0dd1e0dd
VS
257502010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25753
6fa7cfce
ST
257542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25755
25756 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25757 * docs/grub.texi (Command-line and menu entry commands): Document play
25758 command.
25759
37c8483b
ST
257602010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25761
25762 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25763 parse arguments as inline tempo and notes. Move code for playing notes
25764 to...
25765 (play): ... new function.
25766
14da0fb7
ST
257672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25768
25769 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25770 grub_uint16_t instead of short.
25771 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25772 disk from little endian to cpu endianness.
25773
04459e70
ST
257742010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25775
25776 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25777 GRUB_TICKS_PER_SECOND instead of 120.
25778
a0876943
VS
257792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25780
25781 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25782 escape sequence after \e.
25783
e29f95dc
VS
257842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25785
25786 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25787 non-ASCII characters.
25788
d27859b2
VS
257892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25790
25791 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25792 set root in single quotes to prevent \, from being unescaped.
25793
bc028f2f
VS
257942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25795
25796 Prevent unknown commands from stopping menuentry execution.
25797
25798 * script/execute.c (grub_script_execute_cmdline): Print error after
25799 unknown command.
25800
095f5f82
VS
258012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25802
25803 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25804 Reported by: Pavel Pisa.
25805
8c717950
VS
258062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25809
904935c3
VS
258102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25811
25812 Merge grub_ieee1275_map_physical into grub_map and rename to
25813 grub_ieee1275_map
25814
25815 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25816 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25817 Remove.
25818 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25819 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25820 necessary.
25821 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25822
5b59a4e3
VS
258232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25824
25825 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25826 opening and not after.
25827
69e137e8
VS
258282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25829
25830 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25831 constants.
25832
2c0fcc36
VS
258332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25834
25835 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25836 (alloc_phys): Use ALIGN_UP instead of align_addr.
25837
8c6052ce
VS
258382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25839
25840 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25841
17cec782
VS
258422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25843
25844 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25845
e0128bbd
VS
258462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25847
25848 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25849 verbose dprintf.
25850
ca62070b
VS
258512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 Fix over-4GiB seek on sparc64.
25854
25855 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25856 Replace pos_i and pos_lo with pos. All users updated.
25857 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25858 New constant.
25859 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25860 Likewise.
25861 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25862 and pos_lo.
25863
bdca2607
VS
258642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 * util/grub-mkrawimage.c (main): Call set_program_name.
25867
da278c4d
VS
258682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25869
25870 Properly align 64-bit targets.
25871
25872 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25873 (generate_image): Use ALIGN_ADDR.
25874
b274d734
VS
258752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 Properly create cross-endian images.
25878
25879 * include/grub/types.h (grub_host_to_target_addr): New macro
25880 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25881
82da2062
VS
258822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25883
25884 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25885
7cae4377
VS
258862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25887
25888 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25889
25890 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25891 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25892 (grub_linux_boot): Divide by 64K when on VESA.
25893
65a533e7
VS
258942010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25895
25896 Support GRUB_GFXPAYLOAD_LINUX.
25897
25898 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25899 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25900
dd01d397
VS
259012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25904 to show messages instead of discarding them.
25905 Process errors after executing command and not before. Keep old method
25906 too as precaution.
25907
660960d6
VS
259082010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25909
25910 * configure.ac: Check for ft2build.h.
25911
62509f04
VS
259122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25913
25914 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25915
473df63d
VS
259162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25917
25918 * genkernsyms.sh.in: Use TARGET_CC.
25919
c98d2a13
CW
259202010-02-07 Colin Watson <cjwatson@ubuntu.com>
25921
25922 * NEWS: Update.
25923
6e14234c
VS
259242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25927 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25928 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25929
b255e9cf
YB
259302010-02-07 Yves Blusseau <blusseau@zetam.org>
25931
6e14234c 25932 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25933
98e6959d
VS
259342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Fix warnings in grub-emu when compiling with maximum warning options.
25937
25938 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25939 (grub_arch_modules_addr): Return 0 and not NULL.
25940 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25941 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25942 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25943 of disk to dsk to avoid shadowing.
74e4934e
VS
25944 (find_free_slot): Fix prototype.
25945 * util/getroot.c (grub_util_is_dmraid): Make static.
25946 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25947 Add missing prototype.
25948 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25949
74e31b5c
VS
259502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25953 appropriately.
25954
6b2ad14b
VS
259552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25958 code out.
25959
8f891adc
VS
259602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25961
25962 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25963 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25964 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25965 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25966 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25967 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25968
74b45184
VS
259692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 * include/grub/err.h (grub_err_printf): Don't export.
25972
a4bced77
VS
259732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25974
25975 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25976
007d0695
VS
259772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25978
25979 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25980 * kern/misc.c (grub_gettext_dummy): Make static.
25981
b6c0d9c2
VS
259822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25983
25984 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25985 by non-valid ones.
25986 * kern/term.c (grub_putchar): Likewise.
25987
f51a90d0
VS
259882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25991 buggy hook call and memory leak.
25992
6846cec5
VS
259932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25996
468d69fe
VS
259972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25998
25999 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26000
51906b8c
VS
260012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26004 modevar.
26005 Return grub_errno on allocation error.
26006
09706ce5
VS
260072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26010
911df80c
YB
260112010-02-06 Yves Blusseau <blusseau@zetam.org>
26012
26013 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26014 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26015
3746a6bc
VS
260162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26019 non-pxe disk.
26020 (grub_pxefs_open): Likewise.
26021
09706ce5
VS
260222010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26023
26024 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26025 * util/grub.d/10_kfreebsd.in: Likewise.
26026 * util/grub.d/10_linux.in: Likewise.
26027
7cc192d9
VS
260282010-02-06 Colin D Bennett <colin@gibibit.com>
26029
26030 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26031 (gfxmenu_mod_SOURCES): New variable.
26032 (gfxmenu_mod_CFLAGS): Likewise.
26033 (gfxmenu_mod_LDFLAGS): Likewise.
26034 * include/grub/term.h (grub_term_set_current_output): Declare
26035 argument as const.
26036 * docs/gfxmenu-theme-example.txt: New file.
26037 * gfxmenu/gfxmenu.c: Likewise.
26038 * gfxmenu/gui_box.c: Likewise.
26039 * gfxmenu/gui_canvas.c: Likewise.
26040 * gfxmenu/gui_circular_progress.c: Likewise.
26041 * gfxmenu/gui_image.c: Likewise.
26042 * gfxmenu/gui_label.c: Likewise.
26043 * gfxmenu/gui_list.c: Likewise.
26044 * gfxmenu/gui_progress_bar.c: Likewise.
26045 * gfxmenu/gui_string_util.c: Likewise.
26046 * gfxmenu/gui_util.c: Likewise.
26047 * gfxmenu/icon_manager.c: Likewise.
26048 * gfxmenu/model.c: Likewise.
26049 * gfxmenu/named_colors.c: Likewise.
26050 * gfxmenu/theme_loader.c: Likewise.
26051 * gfxmenu/view.c: Likewise.
26052 * gfxmenu/widget-box.c: Likewise.
26053 * include/grub/gfxmenu_model.h: Likewise.
26054 * include/grub/gfxmenu_view.h: Likewise.
26055 * include/grub/gfxwidgets.h: Likewise.
26056 * include/grub/gui.h: Likewise.
26057 * include/grub/gui_string_util.h: Likewise.
26058 * include/grub/icon_manager.h: Likewise.
26059
260602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 Agglomerate scrolling in gfxterm.
26063
26064 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26065 (grub_virtual_screen_setup): Initialise 'total_screen'.
26066 (write_char): Split to ...
26067 (paint_char): ... this ...
26068 (write_char): ... and this.
26069 (paint_char): Handle delayed scrolling.
26070 (draw_cursor): Likewise.
26071 (scroll_up): Split to ...
26072 (real_scroll): ... this ...
26073 (scroll_up): ... and this.
26074 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26075 characters.
26076 (grub_gfxterm_refresh): Call real_scroll.
26077
260782010-02-06 Colin D Bennett <colin@gibibit.com>
26079
26080 * include/grub/misc.h (grub_iscntrl): New inline function.
26081 (grub_isalnum): Likewise.
26082 (grub_strtol): Likewise.
26083
260842010-02-06 Colin D Bennett <colin@gibibit.com>
26085
26086 * normal/menu_text.c (get_entry_number): Move from here ...
26087 * normal/menu.c (get_entry_number): ... moved here.
26088 * include/grub/menu.h (grub_menu_get_default_entry_index):
26089 New prototype.
26090 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26091 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26092 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26093 (grub_menu_viewer_should_return): Likewise.
26094 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26095 * normal/menu_text.c (run_menu): Enable menu switching.
26096 * normal/menu_viewer.c (should_return): New variable.
26097 (menu_viewer_changed): Likewise.
26098 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26099 (grub_menu_viewer_should_return): New function.
26100 (menuviewer_write_hook): Likewise.
26101 (grub_menu_viewer_init): Likewise.
26102
261032010-02-06 Colin D Bennet <colin@gibibit.com>
261042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26105
26106 Support for gfxterm in a window.
26107
26108 * include/grub/gfxterm.h: New file.
26109 * include/grub/video.h (struct grub_video_rect): New declaration.
26110 (grub_video_rect_t): Likewise.
26111 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26112 (refcount): New variable.
26113 (render_target): Likewise.
26114 (window): Likewise.
26115 (repaint_callback): Likewise.
26116 (grub_virtual_screen_setup): Use 'render_target'.
26117 (init_window): New function.
26118 (grub_gfxterm_init_window): Likewise.
26119 (grub_gfxterm_init): Check reference counter.
26120 Use init_window.
26121 (destroy_window): New function.
26122 (grub_gfxterm_destroy_window): Likewise.
26123 (grub_gfxterm_fini): Check reference counter.
26124 Use destroy_window.
26125 (redraw_screen_rect): Restore viewport.
26126 Use 'render_target' and 'window'.
26127 Call 'repaint_callback'.
26128 (write_char): Use 'render_target'.
26129 (draw_cursor): Likewise.
26130 (scroll_up): Restore viewport.
26131 Use 'render_target' and 'window'.
26132 Call 'repaint_callback'.
26133 (grub_gfxterm_cls): Likewise.
26134 (grub_gfxterm_refresh): Use 'window'.
26135 (grub_gfxterm_set_repaint_callback): New function.
26136 (grub_gfxterm_background_image_cmd): Use 'window'.
26137 (grub_gfxterm_get_term): New function.
26138 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26139
261402010-02-06 Colin D Bennett <colin@gibibit.com>
26141
26142 Bitmap scaling support.
26143
26144 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26145 (bitmap_scale_mod_SOURCES): New variable.
26146 (bitmap_scale_mod_CFLAGS): Likewise.
26147 (bitmap_scale_mod_LDFLAGS): Likewise.
26148 * include/grub/bitmap_scale.h: New file.
26149 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26150 (background_image_cmd_options): New variable.
26151 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26152 (cmd): Rename and change type to ...
26153 (background_image_cmd_handle): ... this. All users updated.
26154 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26155 * video/bitmap_scale.c: New file.
26156
261572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26158
26159 SDL support.
26160
26161 * Makefile.in (LIBSDL): New variable.
26162 (enable_grub_emu_sdl): Likewise.
26163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26164 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26165 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26166 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26167 * util/sdl.c: New file.
26168
261692010-02-06 Colin D Bennett <colin@gibibit.com>
261702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Double buffering support.
26173
26174 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26175 * include/grub/video.h: Update comment.
26176 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26177 New type.
26178 (grub_video_fb_doublebuf_blit_init): New prototype.
26179 * term/gfxterm.c (scroll_up): Support double buffering.
26180 (grub_gfxterm_refresh): Likewise.
26181 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26182 (grub_video_fb_doublebuf_blit_init): Likewise.
26183 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26184 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26185 'displayed_page', 'render_page' and 'update_screen'.
26186 (grub_video_vbe_fini): Free offscreen buffer.
26187 (doublebuf_pageflipping_commit): New function.
26188 (doublebuf_pageflipping_update_screen): Likewise.
26189 (doublebuf_pageflipping_init): Likewise.
26190 (double_buffering_init): Likewise.
26191 (grub_video_vbe_setup): Enable doublebuffering.
26192 (grub_video_vbe_swap_buffers): Implement.
26193 (grub_video_vbe_set_active_render_target): Handle double buffering.
26194 (grub_video_vbe_get_active_render_target): Likewise.
26195 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26196 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26197 (grub_video_vbe_enable_double_buffering): Likewise.
26198 (grub_video_vbe_swap_buffers): Use update_screen.
26199 (grub_video_set_mode): Use double buffering.
26200
262012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26202
26203 * maintainance/gentrigtables.py: Remove.
26204 * lib/trig.c: Likewise.
26205
26206 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26207
26208 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26209 `trigtables.c'.
26210 (trigtables.c): New rule.
26211 (gentrigtables): Likewise.
26212 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26213
262142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26215
26216 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26217 integer constants.
26218
262192010-02-06 Colin D Bennet <colin@gibibit.com>
26220
26221 Trigonometry support.
26222
26223 * include/grub/trig.h: New file.
26224 * lib/trig.c: Likewise.
26225 * maintainance/gentrigtables.py: Likewise.
26226 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26227 (trig_mod_SOURCES): New variable.
26228 (trig_mod_CFLAGS): Likewise.
26229 (trig_mod_LDFLAGS): Likewise.
26230
5562834e
VS
262312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26234 disk devices.
26235
4f8528fc
VS
262362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26239 error.
26240
2b4068e9
VS
262412010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 * util/hostdisk.c (open_device): Don't use partition device when reading
26244 before the partition.
26245 (grub_util_biosdisk_read): Don't read from partition and before the
26246 partition in single operation.
26247 (grub_util_biosdisk_write): Don't write to partition and before the
26248 partition in single operation.
26249
399f6e4d
TL
262502010-02-03 Torsten Landschoff <torsten@debian.org>
26251
26252 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26253 last sectors.
26254
996649b0
VS
262552010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26256
26257 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26258 CDROM reads.
26259 (grub_biosdisk_write): Refuse to write to CDROM.
26260
3b205d4d
VS
262612010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26264
61e89d9d
VS
262652010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * font/font.c (find_glyph): Check that bmp_idx is available before
26268 using it.
26269 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26270 with (font == NULL).
26271
bf7fcba2
CS
262722010-01-28 Christian Schmitt <chris@ilovelinux.de>
26273
26274 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26275
f45d2663
BC
262762010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26277
26278 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26279 * util/grub-script-check.c (getline): Fix empty lines case.
26280
ec1444e6
RM
262812010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26282
26283 * Makefile.in (check): Exit with fail status when one of the tests
26284 fails.
26285 * tests/example_functional_test.c (example_test): Fix reversed assert.
26286 * tests/example_unit_test.c (example_test): Likewise.
26287
2e1cb9bb
CW
262882010-01-28 Colin Watson <cjwatson@ubuntu.com>
26289
26290 * util/grub.d/10_linux.in: This script does not use any of the
26291 contents of gettext.sh, only the external command `gettext', so stop
26292 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26293 the same prefix as GRUB.)
26294 * util/grub.d/10_kfreebsd.in: Likewise.
26295
63533ab0
VS
262962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26299 of the line.
26300
989e1f93
VS
263012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26302
26303 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26304 last sectors.
26305
e709ebe2
VS
263062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26309 having a 4KiB and not 32KiB buffer size.
26310
27dea7ed
RM
263112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26312
26313 * util/hostfs.c: Include `<errno.h>'.
26314 (grub_hostfs_read): Handle errors from fseeko() and fread().
26315
67667b9c
RM
263162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26317
26318 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26319 loop when using read hooks on files whose size isn't sector-aligned.
26320
c294d9d8
RM
263212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26322
26323 Remove unused parameter.
26324
26325 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26326 (grub_iso9660_open): Remove initialization of `data->length'.
26327
af75a9f1
RM
263282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26331 memleak conditions.
26332
254e2ce5 263332010-01-27 Carles Pina i Estany <carles@pina.cat>
26334
26335 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26336 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26337
b510928c 263382010-01-26 Carles Pina i Estany <carles@pina.cat>
26339
26340 * util/bin2h.c (usage): Fix warning (space after backslash).
26341
aa2f9dd2 263422010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26343
26344 * font/font.c: Include `grub/fontformat.h.
26345 Remove font file format constants.
26346 (grub_font_load): Use the new macros.
26347 * include/grub/fontformat.h: New file.
26348 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26349 (write_font_pf2): Use the new macros.
26350
94e7e712
RM
263512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26352
26353 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26354 does.
26355
3973a59a
RM
263562010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26357
26358 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26359
26360 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26361 (_start): Macroify `0x7F'.
26362
26363 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26364 (make_install_device): Use "(pxe)" as fallback prefix when booting
26365 via PXE.
26366
42e0cba3
GS
263672010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * configure.ac: Reset LIBS after check for libgcc symbols.
26370
847effd8
CW
263712010-01-25 Colin Watson <cjwatson@ubuntu.com>
26372
26373 * util/hostdisk.c (open_device): Add trailing newline to debug
26374 message.
26375
ea4a7e35
GS
263762010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26377
26378 * configure.ac: Check for `limits.h'.
26379 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26380
67951a53
RM
263812010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26382
26383 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26384 capitalize error strings.
26385
c273d4ce
ST
263862010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26387
26388 * util/grub.d/10_hurd.in: Add a recovery mode.
26389
69be5b74
VS
263902010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26391
26392 * configure.ac: Check for libgcc symbols with -nostdlib.
26393
fc9e5810
BC
263942010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26395
26396 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26397
4b358c0a
VS
263982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26401 stack since heap may be unavailable at that point.
26402 (grub_ofconsole_gotoxy): Likewise.
26403
454fcd1c
VS
264042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26405
26406 * configure.ac: Check for _restgpr_14_x.
26407 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26408 and _savegpr_* prototypes.
26409
566863ca
RM
264102010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26411
26412 Use generic grub_reboot() for i386-efi.
26413
26414 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26415 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26416 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26417
bf86e59a
VS
264182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26419
26420 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26421 presence of "prefix" variable as it breaks when normal.mod is
26422 embedded.
26423
d645e0f8
VS
264242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26425
26426 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26427 stack since heap is unavailable at that point.
26428
f9ab2e25
VS
264292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26430
26431 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26432 (grub_freebsd_bootinfo): Rewritten.
26433 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26434
01fc7054
VS
264352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26438
caab4fd6
RM
264392010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26440
26441 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26442 domain now.
26443
67eb1427
FZ
264442010-01-20 Felix Zielcke <fzielcke@z-51.de>
26445
26446 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26447 around for handling "/" to the correct fix. Fix a memory leak. Use
26448 xstrdup instead of strdup.
26449
a9ed4ff3
VS
264502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26451
26452 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26453
264542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26455
26456 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26457
26458 * font/font.c (struct grub_font): New member 'bmp_idx'.
26459 (font_init): Initialise 'bmp_idx'.
26460 (load_font_index): Fill 'bmp_idx'.
26461 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26462
48209f4f
VS
264632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26464
26465 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26466 unnecessary calls.
26467
9f0a4bb7
VS
264682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26469
26470 Move context handling out of the kernel.
26471
26472 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26473 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26474 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26475 * conf/i386-efi.rmk: Likewise.
26476 * conf/i386-ieee1275.rmk: Likewise.
26477 * conf/i386-pc.rmk: Likewise.
26478 * conf/powerpc-ieee1275.rmk: Likewise.
26479 * conf/sparc64-ieee1275.rmk: Likewise.
26480 * conf/x86_64-efi.rmk: Likewise.
26481 * include/grub/env.h: Include grub/menu.h.
26482 (grub_env_var_type): Removed.
26483 (grub_env_var): Replaced field 'type' with 'global'.
26484 (grub_env_find): New prototype.
26485 (grub_env_context_open): Remove EXPORT_FUNC.
26486 (grub_env_context_close): Likewise.
26487 (grub_env_export): Likewise.
26488 (grub_env_set_data_slot): Removed.
26489 (grub_env_get_data_slot): Likewise.
26490 (grub_env_unset_data_slot): Likewise.
26491 (grub_env_unset_menu): New prototype.
26492 (grub_env_set_menu): Likewise.
26493 (grub_env_get_menu): Likewise.
26494 * include/grub/env_private.h: New file.
26495 * include/grub/normal.h (grub_context_init): New prototype.
26496 (grub_context_fini): Likewise.
26497 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26498 * normal/context.c (grub_cmd_export): ... to here.
26499 * kern/env.c: Include env_private.h.
26500 (HASHSZ): Moved to include/grub/env_private.h.
26501 (grub_env_context): Likewise.
26502 (grub_env_sorted_var): Likewise.
26503 (current_context): Renamed from this ...
26504 (grub_current_context): ...to this. 'static' removed. All users updated.
26505 (grub_env_find): Removed 'static'.
26506 (grub_env_context_open): Moved to normal/context.c.
26507 (grub_env_context_close): Likewise.
26508 (grub_env_export): Likewise.
26509 (mangle_data_slot_name): Removed.
26510 (grub_env_set_data_slot): Likewise.
26511 (grub_env_get_data_slot): Likewise.
26512 (grub_env_unset_data_slot): Likewise.
26513 * kern/main.c (grub_set_root_dev): Don't export root.
26514 It will be done later.
26515 (grub_main): Don't export prefix.
26516 It will be done later.
26517 * normal/context.c: New file.
26518 * normal/main.c (free_menu): Use grub_env_unset_menu.
26519 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26520 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26521 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26522 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26523
8dd35b8c
VS
265242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 setpci support.
26527
26528 * commands/setpci.c: New file.
26529 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26530 (setpci_mod_SOURCES): New variable.
26531 (setpci_mod_CFLAGS): Likewise.
26532 (setpci_mod_LDFLAGS): Likewise.
26533
449193d5
VS
265342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26535
26536 Byte-addressable PCI configuration space.
26537
26538 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26539 dword address.
26540 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26541 GRUB_PCI_REG_CACHELINE.
26542 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26543 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26544 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26546 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26547 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26548 grub_pci_make_address.
26549 (lock_rom_area): Likewise.
26550 * commands/lspci.c (grub_lspci_iter): Use macroses
26551 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26552 of grub_pci_make_address.
26553 * disk/ata.c (grub_ata_pciinit): Likewise.
26554 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26555 (GRUB_PCI_REG_VENDOR): Likewise.
26556 (GRUB_PCI_REG_DEVICE): Likewise.
26557 (GRUB_PCI_REG_COMMAND): Likewise.
26558 (GRUB_PCI_REG_STATUS): Likewise.
26559 (GRUB_PCI_REG_REVISION): Likewise.
26560 (GRUB_PCI_REG_CLASS): Likewise.
26561 (GRUB_PCI_REG_CACHELINE): Likewise.
26562 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26563 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26564 (GRUB_PCI_REG_BIST): Likewise.
26565 (GRUB_PCI_REG_ADDRESSES): Likewise.
26566 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26567 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26568 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26569 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26570 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26571 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26572 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26573 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26574 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26575 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26576 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26577 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26578 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26579 (GRUB_PCI_REG_MIN_GNT): Likewise.
26580 (GRUB_PCI_REG_MAX_LAT): Likewise.
26581 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26582 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26583 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26584 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26585 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26586 space.
26587
96d73208
RM
265882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26591 can be reliably determined to be supported.
26592
d4484482
RM
265932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26594
26595 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26596 that VESA is supported.
26597 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26598 supported.
26599
00308ecf
VS
266002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26601
26602 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26603
f66924a4
RM
266042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26605
26606 * util/misc.c (make_system_path_relative_to_its_root): Work around
26607 special-casing of "/", as previous incarnation of this routine did.
26608
cbca0ada
VS
266092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26610
26611 Fix any-emu compilation.
26612
26613 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26614 * grub_bin2h_SOURCES: New variable.
26615
34a66d99
RM
266162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26619
94fabf58
RM
266202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26621
26622 * util/grub.d/00_header.in: Fix handling of locale_dir.
26623
02cf98ca
VS
266242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26625
26626 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26627 as possible unifont location (Gentoo).
26628 Reported by: Alexander Brüning
26629
327dbcd7
VS
266302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26631
26632 Don't try to generate lists for kernel.img.
26633
26634 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26635 (pkglib_MODULES): Remove kernel.img.
26636 (kernel_img_EXPORTS): Removed.
26637 (kernel_img_RELOCATABLE): New variable.
26638 * conf/x86_64-efi.rmk: Likewise.
26639 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26640
ca467290
VS
266412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26642
26643 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26644 grub_xasprintf or grub_snprintf.
26645 (grub_vsprintf): Likewise.
26646 (grub_snprintf): New proto.
26647 (grub_vsnprintf): Likewise.
26648 (grub_xasprintf): Likewise.
26649 (grub_xvasprintf): Likewise.
26650 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26651 (grub_sprintf): Removed.
26652 (grub_vsnprintf): New function.
26653 (grub_snprintf): Likewise.
26654 (grub_xvasprintf): Likewise.
26655 (grub_xasprintf): Likewise.
26656 (grub_vsprintf): Renamed to ...
26657 (grub_vsnprintf_real): ...this. New argument max_len.
26658
aca655fd
BC
266592010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26660
26661 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26662 fix grub-script-check warning.
26663
7ee92c32
VS
266642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26665
26666 * include/grub/font.h (grub_font_load): Fix prototype.
26667
f80927ca
VS
266682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26671
119c50ea
VS
266722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26673
26674 * include/grub/x86_64/at_keyboard.h: New file.
26675
47d5f3c1
VS
266762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26677
26678 * loader/mips/linux.c: Include missing grub/i18n.h.
26679
55ff5266
RM
266802009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26681
26682 * normal/menu.c (notify_execution_failure): Clarify error message.
26683
c893cc87
RM
266842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26685
26686 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26687 return value (and revert all return statements). Update users.
26688
917dd370
CW
266892010-01-20 Dan Merillat <debian@dan.merillat.org>
26690
26691 * kern/device.c (grub_device_iterate): Allocate new part_ent
26692 structure based on sizeof (*p) rather than sizeof (p->next), to
26693 account for structure padding.
26694
26695 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26696 disk is NULL, which might happen for LVM physical volumes with no
26697 LVM signature.
26698
d4a4ee57
RM
266992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26700
26701 * loader/mips/linux.c (grub_cmd_initrd)
26702 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26703
267042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26705
26706 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26707 (grub_video_video_init, grub_video_bitmap_init)
26708 (grub_font_manager_init, grub_term_gfxterm_init)
26709 (grub_at_keyboard_init): New extern declarations.
26710 (grub_machine_init): Initialize gfxterm and at_keyboard.
26711
26712 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26713
26714 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26715 `gfxterm.mod' into core image.
26716
26717 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26718 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26719 (kernel_img_FORMAT): Copy to ...
26720
26721 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26722 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26723 (kernel_img_FORMAT): ... here, and ...
26724
26725 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26726 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26727 (kernel_img_FORMAT): ... here.
26728
26729 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26730 and input (at_keyboard) terminals in kernel.
26731 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26732
26733 (pkglib_MODULES): Remove `pci.mod'.
26734 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26735 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26736 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26737 (at_keyboard_mod_LDFLAGS): Remove variables.
26738
267392010-01-11 Felix Zielcke <fzielcke@z-51.de>
26740
26741 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26742
267432009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26744
26745 * include/grub/mips/libgcc.h: Only export symbols for functions
26746 that libgcc provides.
26747
267482009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 MIPS support.
26751
26752 * bus/bonito.c: New file.
26753 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26754 GRUB_PCI_NUM_DEVICES.
26755 * term/i386/pc/serial.c: Move to ...
26756 * term/serial.c: ... here. All users updated.
26757 * util/i386/pc/grub-mkimage.c: Move to ...
26758 * util/grub-mkrawimage.c: ... here. All users updated.
26759 * term/i386/pc/at_keyboard.c: Move to ...
26760 * term/at_keyboard.c: ... here. All users updated.
26761 * conf/mips-qemu-mips.rmk: New file.
26762 * conf/mips-yeeloong.rmk: Likewise.
26763 * conf/mips.rmk: Likewise.
26764 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26765 mipsel-qemu-mips.
26766 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26767 to port addresses.
26768 (grub_ata_pciinit): Support CS5536.
26769 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26770 * font/font_cmd.c (loadfont_command): Open file before passing it to
26771 grub_font_load.
26772 (pseudo_file_read): New function.
26773 (pseudo_file_close): Likewise.
26774 (pseudo_fs): New structure.
26775 (load_font_module): New function.
26776 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26777 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26778 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26779 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26780 * include/grub/i386/at_keyboard.h: Split into ...
26781 * include/grub/at_keyboard.h: ... this ...
26782 * include/grub/i386/at_keyboard.h: ... and this.
26783 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26784 New prototype.
26785 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26786 updated.
26787 (grub_elf64_size): Likewise.
26788 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26789 filename.
26790 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26791 * include/grub/i386/coreboot/serial.h: Rewritten.
26792 * include/grub/i386/ieee1275/serial.h: Include
26793 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26794 * include/grub/i386/pc/serial.h: Moved from here ...
26795 * include/grub/serial.h: ... to here. All users updated.
26796 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26797 (GRUB_PCI_NUM_BUS): Likewise.
26798 (GRUB_PCI_NUM_DEVICES): Likewise.
26799 (grub_pci_device_map_range): Add missing volatile keyword.
26800 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26801 * include/grub/mips/at_keyboard.h: New file.
26802 * include/grub/mips/cache.h: Likewise.
26803 * include/grub/mips/io.h: Likewise.
26804 * include/grub/mips/kernel.h: Likewise.
26805 * include/grub/mips/libgcc.h: Likewise.
26806 * include/grub/mips/pci.h: Likewise.
26807 * include/grub/mips/qemu-mips/boot.h: Likewise.
26808 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26809 * include/grub/mips/qemu-mips/loader.h: Likewise.
26810 * include/grub/mips/qemu-mips/memory.h: Likewise.
26811 * include/grub/mips/qemu-mips/serial.h: Likewise.
26812 * include/grub/mips/qemu-mips/time.h: Likewise.
26813 * include/grub/mips/relocator.h: Likewise.
26814 * include/grub/mips/time.h: Likewise.
26815 * include/grub/mips/types.h: Likewise.
26816 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26817 * include/grub/mips/yeeloong/boot.h: Likewise.
26818 * include/grub/mips/yeeloong/kernel.h: Likewise.
26819 * include/grub/mips/yeeloong/loader.h: Likewise.
26820 * include/grub/mips/yeeloong/memory.h: Likewise.
26821 * include/grub/mips/yeeloong/pci.h: Likewise.
26822 * include/grub/mips/yeeloong/serial.h: Likewise.
26823 * include/grub/mips/yeeloong/time.h: Likewise.
26824 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26825 * kern/elf.c (grub_elf32_size): New parameter. All users
26826 updated.
26827 (grub_elf64_size): Likewise.
26828 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26829 Load modules before saying "Welcome to GRUB!".
26830 Call grub_refresh after saying "Welcome to GRUB!".
26831 * kern/mips/cache.S: New file.
26832 * kern/mips/cache_flush.S: Likewise.
26833 * kern/mips/dl.c: Likewise.
26834 * kern/mips/init.c: Likewise.
26835 * kern/mips/qemu-mips/init.c: Likewise.
26836 * kern/mips/startup.S: Likewise.
26837 * kern/mips/yeeloong/init.c: Likewise.
26838 * kern/term.c (grub_putcode): Handle NULL terminal.
26839 (grub_getcharwidth): Likewise.
26840 (grub_getkey): Likewise.
26841 (grub_checkkey): Likewise.
26842 (grub_getkeystatus): Likewise.
26843 (grub_getxy): Likewise.
26844 (grub_getwh): Likewise.
26845 (grub_gotoxy): Likewise.
26846 (grub_cls): Likewise.
26847 (grub_setcolorstate): Likewise.
26848 (grub_setcolor): Likewise.
26849 (grub_getcolor): Likewise.
26850 (grub_refresh): Likewise.
26851 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26852 (write_jump): Add hatch nop.
26853 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26854 * lib/mips/setjmp.S: New file.
26855 * loader/mips/linux.c: Likewise.
26856 * term/i386/pc/at_keyboard.c: Move from here ...
26857 * term/at_keyboard.c: ... to here.
26858 * term/i386/pc/serial.c: Moved from here ...
26859 * term/serial.c: ... to here. All users updated.
26860 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26861 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26862 (serial_translate_key_sequence): Avoid deadlock.
26863 (grub_serial_getkey): Handle backspace.
26864 (grub_serial_putchar): Fix newline handling.
26865 * util/i386/pc/grub-mkimage.c: Move from here ...
26866 * util/grub-mkrawimage.c: ... to here. All users updated.
26867 (generate_image): New parameters 'font_path' and 'format'.
26868 Support embedding font.
26869 Use grub_host_to_target* instead of grub_cpu_to_le*.
26870 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26871 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26872 (options): New option "--font".
26873 (usage): Likewise.
26874 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26875 (main): Handle "--font".
26876 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26877 (grub_virtual_screen_setup): Set bg_color_display.
26878 (redraw_screen_rect): Use bg_color_display instead of incorrect
26879 bg_color.
26880 (grub_gfxterm_cls): Likewise.
26881 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26882 Support embedding config file.
26883 (add_segments): Likewise.
26884 (options): New option "--config".
26885 (main): Handle "--config".
26886 * video/sm712.c: New file.
26887
25c2b5b3
RM
268882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26889
26890 Fix parallel builds.
26891
26892 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26893 font.c depend on ascii.h).
26894
268952010-01-12 Carles Pina i Estany <carles@pina.cat>
26896
26897 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26898
268992010-01-11 Carles Pina i Estany <carles@pina.cat>
26900
26901 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26902 By default: disabled.
26903 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26904 parameter.
26905
269062010-01-10 Carles Pina i Estany <carles@pina.cat>
26907
26908 * font/font.c: Update copyright years.
26909 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26910
269112010-01-10 Carles Pina i Estany <carles@pina.cat>
26912
26913 * font/font.c: Include `ascii.h'.
26914 (ASCII_BITMAP_SIZE): New macro.
26915 (ascii_font_glyph): Define.
26916 (ascii_glyph_lookup): New function.
26917 (grub_font_get_string_width): Change comment. If glyph not found, use
26918 ascii_glyph_lookup.
26919 (grub_font_get_glyph_with_fallback): If glyph not available returns
26920 ascii_glyph_lookup.
26921 * util/grub-mkfont.c (file_formats): New enum.
26922 (options): Add `ascii-bitmaps' new option.
26923 (usage): Add `asii-bitmaps' new option.
26924 (write_font_ascii_bitmap): New function.
26925 (write_font): Rename to ...
26926 (write_font_p2): ... this. Remove print_glyphs call.
26927 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26928 used. Call print_glyphs.
26929 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26930
269312010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26932
26933 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26934 (grub_bin2h_SOURCES): New variable.
26935 * util/bin2h.c: New file.
26936
915fc1b8
VS
269372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 * include/multiboot.h: Resynced with spec.
26940 * include/multiboot2.h: Likewise.
26941 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26942 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26943
9444b678
RM
269442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26945
26946 * include/grub/term.h (grub_term_register_input,
26947 grub_term_register_output): Check return of terminal init()
26948 routines, and abort if errors are raised.
26949
26950 * commands/terminal.c: Update copyright year.
26951
cba98e8d
RM
269522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26953
26954 * commands/terminal.c (grub_cmd_terminal_input)
26955 (grub_cmd_terminal_output): Check return of terminal init()
26956 routines, and abort if errors are raised.
26957
6f7db5d6
VS
269582010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26959
26960 * include/grub/i386/bsd.h: Fix include pathes.
26961
262bff8d
VS
269622010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26963
26964 Add missing *BSD copyright headers.
26965
26966 * include/grub/aout.h: Add BSD licence.
26967 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26968 * include/grub/i386/freebsd_linker.h: ... here,
26969 * include/grub/i386/freebsd_reboot.h: ... here,
26970 * include/grub/i386/netbsd_bootinfo.h: ... here,
26971 * include/grub/i386/netbsd_reboot.h: ... here,
26972 * include/grub/i386/openbsd_bootarg.h: ... here,
26973 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26974 licence to each file.
26975
b2cab848
RM
269762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26977
26978 * acinclude.m4: Remove `nop' assembly instruction; it's not
26979 implemented by all architectures.
26980
2cb6be4b
RM
269812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26982
26983 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26984 ELILO. This is no longer necessary.
26985
a2eaee15
BC
269862010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26987
26988 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26989
26990 * util/grub-script-check.c: grub-script-check tool.
26991 * conf/common.rmk: Make rules for grub-script-check.
26992
88d17012
RM
269932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26994
26995 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26996 spotting it back in 2008. Shame on me for forgetting he did.
26997
26998 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26999
8040619d
RM
270002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27001
27002 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27003 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27004 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27005 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27006 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27007 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27008
a0c2a0f6
RM
270092010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27010
27011 * include/grub/test.h: Add license header.
27012 * tests/example_functional_test.c: Likewise.
27013 * tests/example_unit_test.c: Likewise.
27014 * tests/lib/functional_test.c: Likewise.
27015 * tests/lib/test.c: Likewise.
27016 * tests/lib/unit_test.c: Likewise.
27017
b0b13907
VS
270182010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27019
27020 Use flag-based instead of hook-based video mode selection and "auto"
27021 keyword.
27022
27023 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27024 (grub_video_set_mode): Changed prototype. All users updated.
27025 (grub_video_check_mode_flag): New inline function.
27026 * video/video.c (parse_modespec): New function.
27027 (grub_video_set_mode): Parse flags and keywords.
27028
ea379330 270292010-01-17 Carles Pina i Estany <carles@pina.cat>
27030
27031 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27032 fprintf call.
27033
e15c215e
FZ
270342010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27035
27036 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27037
409ae1c9 270382010-01-16 Carles Pina i Estany <carles@pina.cat>
27039
27040 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27041 string.
27042 * util/grub-emu.c (usage): Likewise.
27043 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27044 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27045 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27046 * util/i386/pc/grub-setup.c (usage): Likewise.
27047
70a14d3d 270482010-01-16 Carles Pina i Estany <carles@pina.cat>
27049
27050 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27051 the message.
27052 (grub_util_info): Likewise.
27053 (grub_util_error): Likewise.
27054 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27055 and/or new lines in `grub_util_warna', `grub_util_info',
27056 `grub_util_error' calls.
27057 * util/getroot.c: Likewise.
27058 * util/grub-editenv.c: Likewise.
27059 * util/grub-emu.c: Likewise.
27060 * util/grub-fstest.c: Likewise.
27061 * util/grub-mkdevicemap.c: Likewise.
27062 * util/grub-mkfont.c: Likewise.
27063 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27064 * util/grub-mkrelpath.c: Likewise.
27065 * util/grub-pe2elf.c: Likewise.
27066 * util/grub-probe.c: Likewise.
27067 * util/hostdisk.c: Likewise.
27068 * util/i386/efi/grub-mkimage.c: Likewise.
27069 * util/i386/pc/grub-mkimage.c: Likewise.
27070 * util/i386/pc/grub-setup.c: Likewise.
27071 * util/ieee1275/ofpath.c: Likewise.
27072 * util/mkisofs/eltorito.c: Likewise.
27073 * util/mkisofs/rock.c: Likewise.
27074 * util/mkisofs/write.c: Likewise.
27075 * util/raid.c: Likewise.
27076 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27077 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27078
a0b766fc
VS
270792010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27080
27081 Enable multiboot on non-pc.
27082
27083 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27084 multiboot.mod and multiboot2.mod to ...
27085 * conf/i386.rmk (pkglib_MODULES): ... here.
27086 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27087 Moved to ...
27088 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27089 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27090 Moved to ...
27091 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27092 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27093 Moved to ...
27094 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27095 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27096 Moved to ...
27097 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27098 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27099 relocator.mod.
27100 (ata_mod_SOURCES): Removed.
27101 (ata_mod_CFLAGS): Likewise.
27102 (ata_mod_LDFLAGS): Likewise.
27103 (relocator_mod_SOURCES): Removed.
27104 (relocator_mod_CFLAGS): Likewise.
27105 (relocator_mod_ASFLAGS): Likewise.
27106 (relocator_mod_LDFLAGS): Likewise.
27107 Include i386.mk.
27108 * include/grub/x86_64/multiboot.h: New file.
27109 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27110 Terminate EFI.
27111
884ade56
VS
271122010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27113
27114 Video multiboot support.
27115
27116 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27117 New prototype.
27118 * include/multiboot.h: Resynced with multiboot specification.
27119 * include/multiboot2.h: Likewise.
27120 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27121 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27122 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27123 (HAS_VGA_TEXT): Likewise.
27124 (accepts_video): New variable.
27125 (grub_multiboot_set_accepts_video): New function.
27126 (grub_multiboot_get_mbi_size): Account for video structures.
27127 (set_video_mode): New function.
27128 (retrieve_video_parameters): Likewise.
27129 (grub_multiboot_make_mbi): Fill video fields.
27130
0d90e8a6
VS
271312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 Video driver ids.
27134
27135 * include/grub/video.h (grub_video_driver_id): New type.
27136 (grub_video_adapter): New member 'id'. All users updated.
27137 (grub_video_get_driver_id): New proto.
27138 * video/video.c (grub_video_get_driver_id): New function.
27139
5c71db1b 271402010-01-14 Carles Pina i Estany <carles@pina.cat>
27141
27142 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27143 `var=val'.
27144
cca15b52 271452010-01-14 Carles Pina i Estany <carles@pina.cat>
27146
27147 * normal/cmdline.c (print_completion): Gettextizze.
27148
c586fbb2 271492001-01-14 Carles Pina i Estany <carles@pina.cat>
27150
27151 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27152
ba2f6848 271532010-01-14 Carles Pina i Estany <carles@pina.cat>
27154
27155 * gettext/gettext.c (grub_gettext_translate): Push and pop
27156 grub_errno.
27157 (grub_gettext_delete_list): Change comment style.
27158 * kern/err.c (grub_error): Gettextizze.
27159 (grub_fatal): Gettextizze.
27160
0a46429a
RM
271612010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27162
27163 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27164 (grub_linux16_real_boot): ... this.
27165 * kern/i386/loader.S: Likewise.
27166 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27167 (grub_linux16_boot): New function. Switches to text mode and calls
27168 grub_linux16_real_boot().
27169
27170 * loader/i386/bsd.c: Include `<grub/video.h>'.
27171 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27172 text mode before calling grub_unix_real_boot().
27173
27174 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27175 (grub_multiboot_boot): Switch to text mode before calling
27176 grub_relocator32_boot().
27177
27178 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27179 (grub_chainloader_boot): Switch to text mode before calling
27180 grub_chainloader_real_boot().
27181
d6f93a66
RM
271822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
271832010-01-05 Colin Watson <cjwatson@ubuntu.com>
27184
27185 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27186 non-empty value.
27187
271882010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
271892010-01-05 Colin Watson <cjwatson@ubuntu.com>
27190
27191 * util/grub.d/00_header.in: Define a "savedefault" function for use
27192 in menu entries.
27193 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27194
271952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
271962010-01-05 Colin Watson <cjwatson@ubuntu.com>
27197
27198 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27199 saved_entry if boot_once is unset.
27200 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27201 previous saved entry (i.e. grub-reboot).
27202
272032009-12-08 Colin Watson <cjwatson@ubuntu.com>
27204
27205 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27206
272072009-12-08 Colin Watson <cjwatson@ubuntu.com>
27208
27209 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27210 `var=val'.
27211 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27212
272132009-12-08 Colin Watson <cjwatson@ubuntu.com>
27214
27215 * util/grub-reboot.in: Fix --version output.
27216 * util/grub-set-default.in: Likewise.
27217
272182009-12-08 Colin Watson <cjwatson@ubuntu.com>
27219
27220 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27221 blocks.
27222
272232009-12-08 Colin Watson <cjwatson@ubuntu.com>
27224
27225 * util/grub.d/00_header.in: Quote the value assigned to `default',
27226 in case it contains spaces.
27227
272282009-12-08 Colin Watson <cjwatson@ubuntu.com>
27229
27230 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27231 `save_default_entry' call from the macosx case to the linux case.
27232
272332009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
272342009-10-25 Colin Watson <cjwatson@ubuntu.com>
27235
27236 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27237 in `chosen' environment variable.
27238 * normal/menu_text.c (get_entry_number): Check if the variable
27239 matches the title of a menu entry.
27240 (run_menu): Pass menu to get_entry_number.
27241
27242 * util/grub-reboot.in: New file.
27243 * util/grub-set-default.in: New file.
27244 * conf/common.rmk (grub-reboot): New utility.
27245 (grub-set-default): New utility.
27246
27247 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27248 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27249 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27250 move it to `saved_entry' for the next boot. Load environment on
27251 initialisation.
27252 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27253 * util/grub.d/10_hurd.in: Likewise.
27254 * util/grub.d/10_linux.in (linux_entry): Likewise.
27255 * util/grub.d/10_windows.in: Likewise.
27256 * util/grub.d/30_os-prober.in: Likewise.
27257
27258 * util/grub-install.in: Create environment block.
27259 * util/i386/efi/grub-install.in: Likewise.
27260 * util/ieee1275/grub-install.in: Likewise.
27261 * util/sparc64/ieee1275/grub-install.in: Likewise.
27262
0934d184
BC
272632010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27264
27265 Unit testing framework for GRUB.
27266
27267 * Makefile.in: Test framework build rules for 'make check'.
27268 * conf/tests.rmk: Build rules for individual tests and framework.
27269
27270 * include/grub/test.h: Header file for whitebox tests.
27271 * tests/lib/functional_test.c: Framework support for whitebox
27272 functional tests.
27273 * tests/lib/test.c: Common whitebox testing code for unit and
27274 functional tests.
27275 * tests/lib/unit_test.c: Framework support for whitebox unit
27276 tests.
27277
27278 * tests/util/grub-shell-tester.in: Support utility for grub-script
27279 tests.
27280 * tests/util/grub-shell.in: Utility to execute grub-script
27281 commands in a Qemu instance.
27282
27283 * tests/example_functional_test.c: Example whitebox functional
27284 test.
27285 * tests/example_grub_script_test.in: Example grub-script test.
27286 * tests/example_scripted_test.in: Example scripted test.
27287 * tests/example_unit_test.c: Example whitebox unit test.
27288
9c4ffeeb
VS
272892010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27290
27291 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27292 Add loader/i386/multiboot_mbi.c.
27293 (multiboot2_mod_SOURCES): Likewise.
27294 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27295 (multiboot2_mod_SOURCES): Likewise.
27296 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27297 (grub_multiboot_make_mbi): Likewise.
27298 (grub_multiboot_free_mbi): Likewise.
27299 (grub_multiboot_init_mbi): Likewise.
27300 (grub_multiboot_add_module): Likewise.
27301 (grub_multiboot_set_bootdev): Likewise.
27302 * loader/i386/multiboot.c (mbi): Removed.
27303 (mbi_dest): Likewise.
27304 (alloc_mbi): New variable.
27305 (grub_multiboot_payload_size): Removed. All users updated.
27306 (grub_multiboot_pure_size): New variable.
27307 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27308 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27309 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27310 (grub_fill_multiboot_mmap): Likewise.
27311 (grub_multiboot_get_bootdev): Likewise.
27312 (grub_multiboot): Use multiboot_mbi functions.
27313 * loader/i386/multiboot_mbi.c: New file.
27314
17383dfe
VS
273152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27318 it would result in module crash.
27319
c1f28820
VS
273202010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27323 (grub_ofconsole_getwh): Split to ...
27324 (grub_ofconsole_getwh): ... this.
27325 (grub_ofconsole_dimensions): ...and this.
27326 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27327
58655a16
RM
273282010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27331
10891398
VS
273322010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 * loader/i386/pc/multiboot2.c: Removed stalled file.
27335
0b8a223c
VS
273362010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27337
27338 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27339 Reported by: Grégoire Sutre
27340
92ab12b0
RM
273412010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27342
27343 * util/misc.c (canonicalize_file_name): New function.
27344 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27345 instead of realpath().
27346
a788afb6
CW
273472010-01-11 Colin Watson <cjwatson@ubuntu.com>
27348
27349 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27350 and make it clearer that it's optional. Based on confusion
27351 witnessed on IRC.
27352
ffa8e3d2
VS
273532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27354
27355 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27356 in premature implicit newline.
27357
e9060a9d
VS
273582010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27361 which resulted in garbled command line at the end of screen.
27362
f0d0c0b7
RM
273632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27364
27365 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27366 initialization with similar approach as with other Linux loaders.
27367
0e60bae7
RM
273682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27369
27370 Fix i386-ieee1275 build.
27371
27372 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27373 and grub_term_height() for video_{width,height} initialization.
27374
273752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27376
27377 Fix grub-emu build.
27378
27379 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27380
cdb3f378
RM
273812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
273822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27383
27384 Support for multiple terminals.
27385
27386 * Makefile.in (pkglib_DATA): terminal.lst.
27387 (terminal.lst): New target.
27388 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27389 (GRUB_MOD_INIT(handler)): Likewise.
27390 (GRUB_MOD_FINI(handler)): Likewise.
27391 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27392 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27393 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27394 (grub_cmd_sleep): Use grub_term_save_pos.
27395 * commands/terminal.c: New file.
27396 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27397 commands/terminal.c and lib/charset.c.
27398 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27399 (pkglib_MODULES): Add terminal.mod.
27400 (terminal_mod_SOURCES): New variable.
27401 (terminal_mod_CFLAGS): Likewise.
27402 (terminal_mod_LDFLAGS): Likewise.
27403 * genhandlerlist.sh: Don't handle terminals.
27404 * genmk.rb: Generate terminal-*.lst.
27405 * genterminallist.sh: New file.
27406 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27407 (grub_is_valid_utf8): Likewise.
27408 (grub_utf8_to_ucs4_alloc): Likewise.
27409 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27410 (grub_menu_register_viewer): Changed argument.
27411 (grub_menu_try_text): New proto.
27412 (grub_gfxmenu_try_hook): New declaration.
27413 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27414 (grub_menu_init_page): Additional argument term.
27415 (grub_normal_init_page): Likewise.
27416 (grub_cmdline_get): Arguments simplified.
27417 (grub_utf8_to_ucs4_alloc): Removed.
27418 (grub_print_ucs4): Additional argument term.
27419 (grub_getstringwidth): Likewise.
27420 (grub_print_message_indented): Likewise.
27421 (grub_menu_text_register_instances): New proto.
27422 (grub_show_menu): Likewise.
27423 (read_terminal_list): Likewise.
27424 (grub_set_more): Likewise.
27425 * include/grub/parser.h: Include handler.h.
27426 * include/grub/reader.h: Rewritten.
27427 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27428 (GRUB_TERM_WIDTH): Changed to function.
27429 (GRUB_TERM_HEIGHT): Likewise.
27430 (GRUB_TERM_BORDER_WIDTH): Likewise.
27431 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27432 (GRUB_TERM_NUM_ENTRIES): Likewise.
27433 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27434 (GRUB_TERM_CURSOR_X): Likewise.
27435 (grub_term_input_class): Likewise.
27436 (grub_term_output_class): Likewise.
27437 (grub_term_outputs_disabled): New declaration.
27438 (grub_term_inputs_disabled): Likewise.
27439 (grub_term_outputs): Likewise.
27440 (grub_term_inputs): Likewise.
27441 (grub_term_register_input): Rewritten.
27442 (grub_term_register_output): Likewise.
27443 (grub_term_unregister_input): Likewise.
27444 (grub_term_unregister_output): Likewise.
27445 (FOR_ACTIVE_TERM_INPUTS): New macro.
27446 (FOR_DISABLED_TERM_INPUTS): Likewise.
27447 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27448 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27449 * include/grub/terminfo.h: Add oterm argument to all protypes.
27450 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27451 Use grub_rescue_run.
27452 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27453 All users updated.
27454 * kern/reader.c: Removed. All users updated.
27455 * kern/rescue_reader.c (grub_rescue_init): Removed.
27456 (grub_rescue_reader): Likewise.
27457 (grub_register_rescue_reader): Likewise.
27458 (grub_rescue_run): New function based on kern/reader.c.
27459 * kern/term.c: Adapted for multiterm.
27460 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27461 (grub_is_valid_utf8): Likewise.
27462 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27463 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27464 right terminal.
27465 * loader/i386/linux.c (grub_linux_boot): Likewise.
27466 * normal/auth.c (grub_username_get): New function.
27467 (grub_auth_check_authentication): Use grub_username_get.
27468 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27469 * normal/color.c: Adapt for multiterm.
27470 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27471 (grub_normal_init_page): Additional argument term.
27472 (read_lists): Call read_terminal_lists.
27473 (grub_enter_normal_mode): Call grub_cmdline_run.
27474 Handle grub_normal_exit_level.
27475 (grub_cmd_normal): Make reentrant.
27476 (grub_cmd_normal_exit): New function.
27477 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27478 * normal/menu.c: Adapt for multiterm.
27479 * normal/menu_entry.c: Likewise.
27480 * normal/menu_text.c: Likewise.
27481 * normal/menu_viewer.c: Removed. All users updated.
27482 * normal/term.c: New file.
27483 * util/console.c: Change order of includes to workaround a bug in
27484 ncurses headers.
27485 * term/terminfo.c: New argument oterm on all exported functions.
27486 All users updated.
27487 * util/grub-editenv.c (grub_term_input_class): Removed.
27488 (grub_term_output_class): Likewise.
27489
1a064917
RM
274902010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27491
27492 Make loader output a bit more user-friendly.
27493
27494 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27495 is being loaded. Likewise for the Hurd.
27496
27497 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27498 that kernel of FreeBSD ${version} is being loaded.
27499
27500 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27501 grub_dprintf().
27502 (grub_cmd_initrd): Likewise.
27503 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27504 that Linux ${version} is being loaded. Likewise for initrd.
27505
5ce0a83a 275062010-01-09 Carles Pina i Estany <carles@pina.cat>
27507
27508 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27509
809bbfeb 275102010-01-08 Carles Pina i Estany <carles@pina.cat>
27511
27512 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27513 (GRUB_MOD_INIT): Gettextizze.
27514 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27515 (GRUB_MOD_INIT): Gettextizze.
27516 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27517 (grub_cmd_linux): Capitalise Linux.
27518 (GRUB_MOD_INIT): Gettextizze.
27519 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27520 (grub_cmd_linux): Capitalise Linux.
27521 (GRUB_MOD_INIT): Gettextizze.
27522 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27523 (grub_cmd_linux): Capitalise Linux.
27524 (GRUB_MOD_INIT): Gettextizze.
27525 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27526 (GRUB_MOD_INIT): Gettextizze.
27527 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27528 (grub_cmd_linux): Capitalise Linux.
27529 (GRUB_MOD_INIT): Gettextizze.
27530 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27531 (grub_cpu_xnu_init): Gettextizze.
27532 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27533 (GRUB_MOD_INIT): Gettextizze.
27534 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27535 (GRUB_MOD_INIT): Gettextizze.
27536 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27537 (grub_linux_load64): Capitalise Linux.
27538 (GRUB_MOD_INIT): Gettextizze.
27539 * loader/xnu.c: Include `<grub/i18n.h>'.
27540 (GRUB_MOD_INIT): Gettextizze.
27541 * po/POTFILES: Add `loader/efi/appleloader.c',
27542 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27543 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27544 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27545 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27546 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27547 and `loader/xnu.c'.
27548
b394b2ca
RM
275492010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27550
27551 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27552
275532010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27554
27555 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27556 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27557 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27558
bc8b32b3
RM
275592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27560
27561 Reset Multiboot 2 support. New loader implements the draft in
27562 /branches/multiboot2 and shares as much code as possible with the
27563 production Multiboot 1 implementation.
27564
27565 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27566 * loader/multiboot2.c: Likewise.
27567 * loader/i386/multiboot_helper.S: Likewise.
27568 * include/multiboot2.h: Replace with latest version from the draft
27569 in /branches/multiboot2.
27570
27571 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27572 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27573 and `loader/multiboot2.c'.
27574 (pkglib_MODULES): Add `multiboot2.mod'.
27575 (multiboot2_mod_SOURCES): New variable.
27576 (multiboot2_mod_LDFLAGS): Likewise.
27577 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27578
27579 * conf/i386-pc.rmk: Likewise.
27580
27581 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27582 (multiboot_mod_SOURCES): Remove variable.
27583 (multiboot_mod_LDFLAGS): Likewise.
27584 (multiboot_mod_CFLAGS): Likewise.
27585
27586 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27587 `<multiboot2.h>' instead of `<multiboot.h>'.
27588 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27589 (MULTIBOOT_HEADER_MAGIC): New macros.
27590
27591 * loader/multiboot_loader.c (module_version_status): Remove variable.
27592 (find_multi_boot2_header): Remove function.
27593 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27594 logic. Always check for the Multiboot version we're compiling for.
27595 (grub_cmd_module_loader): Likewise.
27596 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27597 command instead of `multiboot'.
27598
5d2c52b8
RM
275992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27602 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27603 all users.
27604
53108d92
RM
276052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
276062010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27607
27608 Fix breakage introduced with previous commit.
27609
27610 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27611 commands.
27612 * normal/handler.c (read_handler_list): Revert part of previous commit
27613 affecting this file.
27614 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27615 (grub_normal_execute): ... here.
27616
e2e936b2
RM
276172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27618
27619 Merge prefix-redefinition-fix branch.
27620
27621 * normal/autofs.c (read_fs_list): Make function capable of being
27622 run multiple times, gracefuly replacing the previous data
27623 structures.
27624 * normal/dyncmd.c (read_command_list): Likewise.
27625 * normal/handler.c (read_handler_list): Likewise.
27626 * normal/main.c (read_lists): New function. Calls all the
27627 list reading functions.
27628 (grub_normal_execute): Use read_lists() instead of calling all
27629 list reading functions explicitly. Register read_lists() as a
27630 variable hook attached to ${prefix}.
27631
607a3701
VS
276322010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27633
27634 Merge crypto branch.
27635
27636 * Makefile.in (pkglib_DATA): Add crypto.lst.
27637 (crypto.lst): New target.
27638 * commands/hashsum.c: New file.
27639 * commands/password.c (check_password): Use grub_crypto_memcmp.
27640 * commands/password_pbkdf2.c: New file.
27641 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27642 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27643 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27644 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27645 -I$(srcdir)/lib/libgcrypt_wrap.
27646 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27647 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27648 password_pbkdf2.mod.
27649 (crypto_mod_SOURCES): New variable.
27650 (crypto_mod_CFLAGS): Likewise.
27651 (crypto_mod_LDFLAGS): Likewise.
27652 (hashsum_mod_SOURCES): New variable.
27653 (hashsum_mod_CFLAGS): Likewise.
27654 (hashsum_mod_LDFLAGS): Likewise.
27655 (pbkdf2_mod_SOURCES): New variable.
27656 (pbkdf2_mod_CFLAGS): Likewise.
27657 (pbkdf2_mod_LDFLAGS): Likewise.
27658 (password_pbkdf2_mod_SOURCES): New variable.
27659 (password_pbkdf2_mod_CFLAGS): Likewise.
27660 (password_pbkdf2_mod_LDFLAGS): Likewise.
27661 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27662 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27663 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27664 Include conf/gcry.rmk.
27665 * include/grub/auth.h: Rewritten.
27666 * include/grub/crypto.h: New file.
27667 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27668 * include/grub/normal.h (read_crypto_list): New prototype.
27669 * lib/crypto.c: New file.
27670 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27671 * lib/pbkdf2.c: Likewise.
27672 * normal/auth.c (grub_auth_strcmp): Removed.
27673 (grub_iswordseparator): Likewise.
27674 (grub_auth_strword): Likewise.
27675 (is_authenticated): Use grub_strword.
27676 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27677 and grub_strword. Pass entered password to authentication callback.
27678 * normal/crypto.c: New file.
27679 * normal/main.c: Call read_crypto_list.
27680 * util/grub-mkpasswd-pbkdf2.c: New file.
27681 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27682
42841caa
VS
276832010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fix descent and ascent calculation.
27686
27687 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27688 (options): New option "asce".
27689 (usage): Likewise.
27690 (add_char): Ignore invalid glyphs for descent calculation.
27691 Calculate ascent from actual content.
27692 (print_glyphs): Use 'asce'.
27693 (write_font): Likewise. Allow ascent override.
27694 (main): Handle "asce" option.
27695
e7730de7 276962010-01-06 Carles Pina i Estany <carles@pina.cat>
27697
27698 * kern/err.c: Include `<grub/i18n.h>'.
27699 (grub_print_error): Add full stop. Gettextizze.
27700 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27701 (grub_bsd_load_elf): Capitalise ELF.
27702 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27703 (grub_cmd_freebsd_module): Likewise.
27704 (grub_cmd_freebsd_module_elf): Likewise.
27705 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27706
40e3a41f 277072010-01-06 Carles Pina i Estany <carles@pina.cat>
27708
27709 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27710 * commands/search_file.c (HELP_MESSAGE): New macro.
27711 * commands/search_label.c (HELP_MESSAGE): Likewise.
27712 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27713 * po/POTFILES: Add `commands/search_file.c',
27714 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27715 `commands/search.c'.
27716
83507e68
RM
277172010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27718
27719 * config.rpath: Update from Gnulib.
27720
465c787b
YB
277212010-01-05 Yves Blusseau <blusseau@zetam.org>
27722
27723 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27724
6581dd3a
YB
277252010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27726
27727 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27728
3bff18c5
CW
277292010-01-05 Colin Watson <cjwatson@ubuntu.com>
27730
27731 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27732 arguments to fread so that we get a return value in bytes, rather
27733 than something that will normally be rounded down to 0.
27734 Adjust error handling to avoid producing garbage when size_t is not
27735 the same size as long long.
27736
a1368118
CW
277372010-01-05 Colin Watson <cjwatson@ubuntu.com>
27738
27739 * util/mkisofs/write.c (padblock_write): Check return value of
27740 fread.
27741
7c302978
RM
277422010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27743
27744 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27745 floppy images now.
27746
27747 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27748
e33ace06
RM
277492010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27750
27751 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27752 instead of manual alignment.
27753 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27754 verbose). Avoid attempts to read past end of the device
27755 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27756 but GRUB_DISK_CACHE_SIZE may exceed that).
27757
4b856776
RM
277582010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27759
27760 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27761 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27762 it to upper layer.
27763
52c2d97f
VS
277642010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27765
27766 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27767 New constant.
27768 (grub_efi_piwg_device_path): New structure
27769 (grub_efi_piwg_device_path_t): New type.
27770 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27771 (devpath_1): Transform to a structure. All users updated.
27772 (devpath_2): Likewise.
27773 (devpath_3): Likewise.
27774 (devpath_4): Likewise.
27775 (devpath_5): Likewise.
27776
98ff6a54
VS
277772010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 * loader/efi/appleloader.c: Restored. Update all users.
27780
3a73dcb6
RM
277812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27782
27783 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27784
27785 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27786 (struct boot_blocklist): Move from here ...
27787 * include/grub/i386/pc/boot.h [ASM_FILE]
27788 (struct grub_boot_blocklist): ... to here. Update all users.
27789 (setup): Only initialize `start' member of `first_block'
27790 structure. Add assert() calls to verify the other members.
27791
27792 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27793 (generate_image): Fix broken blocklist length initialization.
27794 Add assert() call to verify blocklist `segment' field.
27795
ab0eeb0c
RM
277962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27797
27798 * loader/efi/appleloader.c: Remove. Update all users.
27799
58bc8bd5
RM
278002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27801
27802 * boot/i386/pc/boot.S: Update copyright year.
27803 * boot/i386/pc/cdboot.S: Likewise.
27804 * boot/i386/pc/diskboot.S: Likewise.
27805 * boot/i386/pc/lnxboot.S: Likewise.
27806 * boot/i386/pc/pxeboot.S: Likewise.
27807 * bus/pci.c: Likewise.
27808 * commands/cmp.c: Likewise.
27809 * commands/help.c: Likewise.
27810 * commands/hexdump.c: Likewise.
27811 * commands/i386/pc/halt.c: Likewise.
27812 * commands/i386/pc/play.c: Likewise.
27813 * commands/i386/pc/vbeinfo.c: Likewise.
27814 * commands/ls.c: Likewise.
27815 * commands/test.c: Likewise.
27816 * disk/dmraid_nvidia.c: Likewise.
27817 * disk/i386/pc/biosdisk.c: Likewise.
27818 * disk/ieee1275/nand.c: Likewise.
27819 * disk/ieee1275/ofdisk.c: Likewise.
27820 * disk/lvm.c: Likewise.
27821 * disk/raid.c: Likewise.
27822 * disk/raid6_recover.c: Likewise.
27823 * disk/scsi.c: Likewise.
27824 * fs/affs.c: Likewise.
27825 * fs/cpio.c: Likewise.
27826 * fs/ext2.c: Likewise.
27827 * fs/hfs.c: Likewise.
27828 * fs/iso9660.c: Likewise.
27829 * fs/ntfs.c: Likewise.
27830 * fs/sfs.c: Likewise.
27831 * fs/udf.c: Likewise.
27832 * fs/ufs.c: Likewise.
27833 * fs/xfs.c: Likewise.
27834 * gencmdlist.sh: Likewise.
27835 * genmk.rb: Likewise.
27836 * include/grub/disk.h: Likewise.
27837 * include/grub/efi/api.h: Likewise.
27838 * include/grub/efi/efi.h: Likewise.
27839 * include/grub/efi/pe32.h: Likewise.
27840 * include/grub/elf.h: Likewise.
27841 * include/grub/fs.h: Likewise.
27842 * include/grub/i386/at_keyboard.h: Likewise.
27843 * include/grub/i386/pc/memory.h: Likewise.
27844 * include/grub/i386/pc/vbe.h: Likewise.
27845 * include/grub/i386/pci.h: Likewise.
27846 * include/grub/i386/tsc.h: Likewise.
27847 * include/grub/ieee1275/ieee1275.h: Likewise.
27848 * include/grub/ntfs.h: Likewise.
27849 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27850 * include/grub/sparc64/libgcc.h: Likewise.
27851 * include/grub/symbol.h: Likewise.
27852 * include/grub/types.h: Likewise.
27853 * include/multiboot2.h: Likewise.
27854 * io/gzio.c: Likewise.
27855 * kern/device.c: Likewise.
27856 * kern/disk.c: Likewise.
27857 * kern/efi/efi.c: Likewise.
27858 * kern/efi/mm.c: Likewise.
27859 * kern/elf.c: Likewise.
27860 * kern/file.c: Likewise.
27861 * kern/i386/dl.c: Likewise.
27862 * kern/i386/pc/init.c: Likewise.
27863 * kern/i386/pc/startup.S: Likewise.
27864 * kern/ieee1275/ieee1275.c: Likewise.
27865 * kern/ieee1275/init.c: Likewise.
27866 * kern/main.c: Likewise.
27867 * kern/mm.c: Likewise.
27868 * kern/powerpc/dl.c: Likewise.
27869 * kern/sparc64/dl.c: Likewise.
27870 * kern/x86_64/dl.c: Likewise.
27871 * lib/hexdump.c: Likewise.
27872 * loader/efi/appleloader.c: Likewise.
27873 * loader/i386/ieee1275/linux.c: Likewise.
27874 * loader/i386/pc/chainloader.c: Likewise.
27875 * loader/i386/pc/linux.c: Likewise.
27876 * loader/i386/pc/multiboot2.c: Likewise.
27877 * loader/ieee1275/multiboot2.c: Likewise.
27878 * loader/multiboot2.c: Likewise.
27879 * loader/multiboot_loader.c: Likewise.
27880 * loader/powerpc/ieee1275/linux.c: Likewise.
27881 * normal/completion.c: Likewise.
27882 * normal/menu_entry.c: Likewise.
27883 * partmap/apple.c: Likewise.
27884 * util/grub.d/10_hurd.in: Likewise.
27885 * util/hostfs.c: Likewise.
27886 * video/readers/png.c: Likewise.
27887
e2d70b5c
CW
278882010-01-03 Colin Watson <cjwatson@ubuntu.com>
27889
27890 * include/grub/misc.h (GNUC_PREREQ): New macro.
27891 (ATTRIBUTE_ERROR): New macro.
27892 * include/grub/list.h (grub_bad_type_cast_real): Use
27893 ATTRIBUTE_ERROR.
27894
a173283f 278952010-01-03 Carles Pina i Estany <carles@pina.cat>
27896
27897 * normal/menu_text.c (print_message): Change messages.
27898
7fa7ff74 278992010-01-03 Carles Pina i Estany <carles@pina.cat>
27900
27901 * normal/menu_entry.c (store_completion): Gettextizze.
27902
136d24f6 279032010-01-03 Carles Pina i Estany <carles@pina.cat>
27904
27905 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27906
f936862e 279072010-01-03 Carles Pina i Estany <carles@pina.cat>
27908
27909 * po/POTFILES: Sort correctly.
27910
29c44ad1 279112010-01-03 Carles Pina i Estany <carles@pina.cat>
27912
27913 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27914 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27915 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27916 full stop.
27917 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27918 summary. Gettextizze the strings.
27919 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27920 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27921 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27922 full stop.
27923 (GRUB_MOD_INIT): Remove command name from summary.
27924 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27925 summary.
27926 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27927 * term/i386/pc/serial.c (options): Add full stops.
27928 (GRUB_MOD_INIT): Remove command name from the summary.
27929
77a79592 279302010-01-03 Carles Pina i Estany <carles@pina.cat>
27931
27932 * commands/acpi.c: Gettextizze help strings and/or options. Include
27933 `grub/i18n.h' if needed.
27934 * commands/blocklist.c: Likewise.
27935 * commands/boot.c: Likewise.
27936 * commands/cat.c: Likewise.
27937 * commands/cmp.c: Likewise.
27938 * commands/configfile.c: Likewise.
27939 * commands/crc.c: Likewise.
27940 * commands/date.c: Likewise.
27941 * commands/echo.c: Likewise.
27942 * commands/efi/fixvideo.c: Likewise.
27943 * commands/efi/loadbios.c: Likewise.
27944 * commands/gptsync.c: Likewise.
27945 * commands/halt.c: Likewise.
27946 * commands/handler.c: Likewise.
27947 * commands/hdparm.c: Likewise.
27948 * commands/hexdump.c: Likewise.
27949 * commands/i386/cpuid.c: Likewise.
27950 * commands/i386/pc/drivemap.c: Likewise.
27951 * commands/i386/pc/halt.c: Likewise.
27952 * commands/i386/pc/pxecmd.c: Likewise.
27953 * commands/i386/pc/vbeinfo.c: Likewise.
27954 * commands/i386/pc/vbetest.c: Likewise.
27955 * commands/ieee1275/suspend.c: Likewise.
27956 * commands/keystatus.c: Likewise.
27957 * commands/loadenv.c: Likewise.
27958 * commands/ls.c: Likewise.
27959 * commands/lsmmap.c: Likewise.
27960 * commands/lspci.c: Likewise.
27961 * commands/memrw.c: Likewise.
27962 * commands/minicmd.c: Likewise.
27963 * commands/parttool.c: Likewise.
27964 * commands/password.c: Likewise.
27965 * commands/probe.c: Likewise.
27966 * commands/read.c: Likewise.
27967 * commands/reboot.c: Likewise.
27968 * commands/search.c: Likewise.
27969 * commands/sleep.c: Likewise.
27970 * commands/test.c: Likewise.
27971 * commands/true.c: Likewise.
27972 * commands/usbtest.c: Likewise.
27973 * commands/videotest.c: Likewise.
27974 * commands/xnu_uuid.c: Likewise.
27975 * disk/loopback.c: Likewise.
27976 * hello/hello.c: Likewise.
27977 * loader/i386/bsd.c: Likewise.
27978 * term/i386/pc/serial.c: Likewise.
27979 * po/POTFILES: Add new files.
27980
da8d5c53
CW
279812010-01-02 Colin Watson <cjwatson@ubuntu.com>
27982
27983 * term/i386/pc/at_keyboard.c
27984 (keyboard_controller_wait_untill_ready): Rename to ...
27985 (keyboard_controller_wait_until_ready): ... this. Update all users.
27986
33937904 279872010-01-01 Carles Pina i Estany <carles@pina.cat>
27988
27989 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27990 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27991 string using string width.
27992 * normal/menu_text.c (grub_print_message_indented): Use
27993 grub_print_spaces and not print_spaces.
27994 (print_timeout): Likewise.
27995 (print_spaces): Move to...
27996 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27997
3fd3b8d8
RM
279982010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27999
28000 Import from Gnulib.
28001
28002 * gnulib/getdelim.c: New file.
28003 * gnulib/getline.c: Likewise.
28004
33433555
VS
280052009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28006
28007 * include/grub/list.h (grub_assert_fail): Removed.
28008 (grub_bad_type_cast_real): New function.
28009 (grub_bad_type_cast): New macro.
28010 (GRUB_AS_LIST): Use grub_bad_type_cast.
28011 (GRUB_AS_LIST_P): Likewise.
e44721e8 28012 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28013 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28014 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28015 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28016 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28017
f5a51306
VS
280182009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28021 Fix syntax error.
28022
90d1e879
RM
280232009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28024
28025 * configure.ac: Check for TARGET_CFLAGS initialization before we
28026 initialize it ourselves (sigh).
28027 Move a few modifications to TARGET_CFLAGS to be unconditional
28028 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28029 eh_frame)
28030
28031 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28032 * term/i386/pc/at_keyboard.c
28033 (keyboard_controller_wait_untill_ready): Likewise.
28034 (keyboard_controller_led): Rename `led_status' paramter to avoid
28035 name conflict.
28036
465b5a81 280372009-12-28 Carles Pina i Estany <carles@pina.cat>
28038
28039 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28040 quotes.
28041
c181849b
VS
280422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28043
28044 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28045
9c8739a4
VS
280462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 * normal/menu_text.c (grub_print_message_indented): Prevent
28049 past-the-end-of-array dereference.
28050
3e74249c
VS
280512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28052
28053 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28054 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28055
64fd18ed 280562009-12-27 Carles Pina i Estany <carles@pina.cat>
28057
28058 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28059 * normal/main.c (grub_normal_read_line): Remove a space from the
28060 default prompt.
28061
714af9b9 280622009-12-27 Carles Pina i Estany <carles@pina.cat>
28063
28064 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28065 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28066 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28067 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28068 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28069 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28070 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28071
82f3e412 280722009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28073
28074 * video/readers/jpeg.c (cmd): Declare.
28075 (grub_cmd_jpegtest): Use `grub_command_t' type.
28076 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28077 Assign to `cmd'.
28078 (GRUB_MOD_FINI): Use `cmd' to unregister.
28079 * video/readers/png.c (cmd): Declare.
28080 (grub_cmd_pngtest): Use `grub_command_t' type.
28081 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28082 Assign to `cmd'.
28083 (GRUB_MOD_FINI): Use `cmd' to unregister.
28084 * video/readers/tga.c (cmd): Declare.
28085 (grub_cmd_tgatest): Use `grub_command_t' type.
28086 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28087 Assign to `cmd'.
28088 (GRUB_MOD_FINI): Use `cmd' to unregister.
28089
82f3e412 280902009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28091
28092 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28093 stops.
28094 * kern/corecmd.c (grub_register_core_commands): Likewise.
28095 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28096 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28097 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28098 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28099 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28100 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28101 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28102 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28103 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28104 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28105 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28106 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28107 * normal/handler.c (insert_handler): Likewise.
28108 * normal/main.c (GRUB_MOD_INIT): Likewise.
28109 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28110
fdcdbb66 281112009-12-26 Carles Pina i Estany <carles@pina.cat>
28112
28113 * commands/help.c (grub_cmd_help): Print the command name before the
28114 summary.
28115 (GRUB_MOD_INIT): Remove command name from the summary.
28116 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28117 string as summary.
fdcdbb66 28118 * lib/arg.c (find_long): Print the command name before the summary.
28119 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28120 summary.
28121 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28122 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28123 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28124 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28125 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28126 * commands/date.c (GRUB_MOD_INIT): Likewise.
28127 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28128 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28129 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28130 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28131 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28132 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28133 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28134 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28135 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28136 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28137 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28138 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28139 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28140 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28141 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28142 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28143 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28144 * commands/password.c (GRUB_MOD_INIT): Likewise.
28145 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28146 * commands/read.c (GRUB_MOD_INIT): Likewise.
28147 * commands/search.c (GRUB_MOD_INIT): Likewise.
28148 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28149 * commands/test.c (GRUB_MOD_INIT): Likewise.
28150 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28151 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28152 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28153 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28154 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28155 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28156 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28157 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28158 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28159 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28160 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28161 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28162 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28163 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28164
9c288be2
VS
281652009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Use search command for preliminar UUID search.
28168
28169 * commands/search.c: Split into ...
28170 * commands/search_wrap.c: ...this
28171 * commands/search.c: ...and this.
28172 * commands/search_file.c: New file.
28173 * commands/search_label.c: New file.
28174 * commands/search_uuid.c: New file.
28175 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28176 Add commands/search_wrap.c, commands/search_file.c,
28177 commands/search_label.c and commands/search_uuid.c.
28178 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28179 (search_mod_SOURCES): Set to commands/search_wrap.c.
28180 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28181 search_label.mod.
28182 (search_fs_file_mod_SOURCES): New variable.
28183 (search_fs_file_mod_CFLAGS): Likewise.
28184 (search_fs_file_mod_LDFLAGS): Likewise.
28185 (search_label_mod_SOURCES): Likewise.
28186 (search_label_mod_CFLAGS): Likewise.
28187 (search_label_mod_LDFLAGS): Likewise.
28188 (search_fs_uuid_mod_SOURCES): New variable.
28189 (search_fs_uuid_mod_CFLAGS): Likewise.
28190 (search_fs_uuid_mod_LDFLAGS): Likewise.
28191 (fs_file_mod_SOURCES): Removed.
28192 (fs_file_mod_CFLAGS): Likewise.
28193 (fs_file_mod_LDFLAGS): Likewise.
28194 (fs_uuid_mod_SOURCES): Removed.
28195 (fs_uuid_mod_CFLAGS): Likewise.
28196 (fs_uuid_mod_LDFLAGS): Likewise.
28197 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28198 Set to util/grub-install.in.
28199 * disk/fs_file.c: Removed.
28200 * disk/fs_uuid.c: Likewise.
28201 * include/grub/search.h: New file.
28202 * util/grub-install.in: Handle sparc64.
28203 Create and use load.cfg.
28204 * util/sparc64/ieee1275/grub-install.in: Removed.
28205
db943399
VS
282062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28209 Ignore return status if CF is cleared.
28210 (grub_biosdisk_get_diskinfo_standard): Likewise.
28211
3fdae612
RM
282122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28213
28214 * term/i386/pc/at_keyboard.c
28215 (keyboard_controller_wait_untill_ready): New function.
28216 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28217 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28218 for keyboard polling, rather than duplicate the same loop. This
28219 saves a few bytes in code size.
28220
7ebaa2b4
VS
282212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 Support for (pxe[:server[:gateway]]) syntax and
28224 use environment variable for PXE.
28225
28226 * commands/i386/pc/pxecmd.c (options): Removed.
28227 (print_ip): Removed.
28228 (grub_cmd_pxe): Removed
28229 (grub_cmd_pxe_unload): New function.
28230 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28231 (grub_pxe_your_ip): Made static.
28232 (grub_pxe_default_server_ip): Likewise.
28233 (grub_pxe_default_gateway_ip): Likewise.
28234 (grub_pxe_blksize): Likewise.
28235 (parse_ip): New function.
28236 (grub_pxe_open): Support server and gateway specification.
28237 (grub_pxe_close): Free disk->data.
28238 (grub_pxefs_open): Use disk->data.
28239 (grub_pxefs_read): Likewise.
28240 (grub_env_write_readonly): New function.
28241 (set_mac_env): Likewise.
28242 (set_env_limn_ro): Likewise.
28243 (parse_dhcp_vendor): Likewise.
28244 (grub_pxe_detect): Set the environment variables.
28245 (set_ip_env): New function.
28246 (write_ip_env): Likewise.
28247 (grub_env_write_pxe_default_server): Likewise.
28248 (grub_env_write_pxe_default_gateway): Likewise.
28249 (grub_env_write_pxe_blocksize): Likewise.
28250 (GRUB_MOD_INIT(pxe)): Set environment variables.
28251 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28252 (grub_pxe_mac_addr_t): ... this. All users updated.
28253 (grub_pxe_your_ip): Removed.
28254 (grub_pxe_server_ip): Likewise.
28255 (grub_pxe_gateway_ip): Likewise.
28256 (grub_pxe_blksize): Likewise.
28257
ec5f98ab 282582009-12-25 Carles Pina i Estany <carles@pina.cat>
28259
28260 * commands/help.c: Include `<grub/i18n.h>'.
28261 (grub_cmd_help): Gettextizze.
28262 (GRUB_MOD_INIT): Likewise.
28263 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28264 (GRUB_MOD_INIT): Gettextizze.
28265 * commands/search.c: Include `<grub/i18n.h>'.
28266 (options): Gettextizze.
28267 (GRUB_MOD_INIT): Gettextizze.
28268 * lib/arg.c: Include `<grub/i18n.h>'.
28269 (help_options): Gettextizze.
28270 (find_long): Likewise.
28271 (grub_arg_show_help): Likewise.
28272 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28273 (read_command_list): Gettextizze.
28274 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28275 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28276
22815526
RM
282772009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28278
28279 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28280 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28281 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28282 (led_status): New variable.
28283 (keyboard_controller_led): New function.
28284 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28285 update led status for caps lock, num lock and scroll lock.
28286
0ad46fd7
FZ
282872009-12-25 Felix Zielcke <fzielcke@z-51.de>
28288
28289 * util/hostdisk.c (open_device): Fix a comment.
28290
d0e158c2
RM
282912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28292
28293 * util/grub-install.in (host_os): New variable.
28294 * util/i386/efi/grub-install.in (host_os): Likewise.
28295
401c0ad6
RM
282962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28297
28298 * util/mkisofs/write.c (padblock_write): Abort when given an
28299 excedingly large embed image, instead of silently truncating it.
28300
d14d3370
RM
283012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28302
28303 * include/multiboot.h: Indentation fixes.
28304
eeed10b4
RM
283052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 * include/multiboot.h (struct multiboot_aout_symbol_table)
28308 (struct multiboot_elf_section_header_table): New structure
28309 declarations (stolen from GRUB Legacy).
28310 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28311 table information.
28312
28313 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28314 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28315 type aliases.
28316
681c70ab
RM
283172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28318
28319 * include/multiboot.h: Make comments src2texi-friendly.
28320
e4d47d8d
RM
283212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28322
28323 For consistency with [multiboot]/docs/boot.S.
28324
28325 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28326 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28327 (MULTIBOOT_MAGIC2): Rename from this ...
28328 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28329
a0b70bda
RM
283302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28331
28332 * include/multiboot.h: Remove `<grub/types.h>'.
28333 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28334 types. Update all users.
28335
61ba42be 283362009-12-25 Carles Pina i Estany <carles@pina.cat>
28337
28338 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28339 `couldn't' and `can not' by `cannot'.
28340 * commands/i386/pc/drivemap.c: Likewise.
28341 * disk/ata.c: Likewise.
28342 * disk/ieee1275/nand.c: Likewise.
28343 * fs/affs.c: Likewise.
28344 * fs/fat.c: Likewise.
28345 * fs/hfs.c: Likewise.
28346 * fs/hfsplus.c: Likewise.
28347 * fs/iso9660.c: Likewise.
28348 * fs/jfs.c: Likewise.
28349 * fs/minix.c: Likewise.
28350 * fs/reiserfs.c: Likewise.
28351 * fs/sfs.c: Likewise.
28352 * fs/udf.c: Likewise.
28353 * fs/ufs.c: Likewise.
28354 * fs/xfs.c: Likewise.
28355 * loader/powerpc/ieee1275/linux.c: Likewise.
28356 * loader/sparc64/ieee1275/linux.c: Likewise.
28357 * util/grub-probe.c: Likewise.
28358 * util/misc.c: Likewise.
28359
7fd0baee 283602009-12-24 Carles Pina i Estany <carles@pina.cat>
28361
28362 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28363 grub_errno calls.
28364 * commands/acpi.c: Likewise.
28365 * commands/blocklist.c: Likewise.
28366 * commands/efi/loadbios.c: Likewise.
28367 * commands/i386/pc/drivemap.c: Likewise.
28368 * commands/loadenv.c: Likewise.
28369 * commands/memrw.c: Likewise.
28370 * commands/password.c: Likewise.
28371 * commands/videotest.c: Likewise.
28372 * disk/ata.c: Likewise.
28373 * disk/ata_pthru.c: Likewise.
28374 * disk/dmraid_nvidia.c: Likewise.
28375 * disk/ieee1275/nand.c: Likewise.
28376 * disk/ieee1275/ofdisk.c: Likewise.
28377 * disk/loopback.c: Likewise.
28378 * disk/lvm.c: Likewise.
28379 * disk/mdraid_linux.c: Likewise.
28380 * disk/raid.c: Likewise.
28381 * disk/raid6_recover.c: Likewise.
28382 * disk/scsi.c: Likewise.
28383 * efiemu/main.c: Likewise.
28384 * efiemu/mm.c: Likewise.
28385 * efiemu/pnvram.c: Likewise.
28386 * efiemu/symbols.c: Likewise.
28387 * font/font.c: Likewise.
28388 * fs/cpio.c: Likewise.
28389 * fs/hfsplus.c: Likewise.
28390 * fs/iso9660.c: Likewise.
28391 * fs/jfs.c: Likewise.
28392 * fs/minix.c: Likewise.
28393 * fs/ntfs.c: Likewise.
28394 * fs/ntfscomp.c: Likewise.
28395 * fs/reiserfs.c: Likewise.
28396 * fs/ufs.c: Likewise.
28397 * fs/xfs.c: Likewise.
28398 * gettext/gettext.c: Likewise.
28399 * include/grub/auth.h: Likewise.
28400 * kern/elf.c: Likewise.
28401 * kern/file.c: Likewise.
28402 * kern/ieee1275/init.c: Likewise.
28403 * kern/ieee1275/mmap.c: Likewise.
28404 * kern/ieee1275/openfw.c: Likewise.
28405 * kern/powerpc/dl.c: Likewise.
28406 * kern/sparc64/dl.c: Likewise.
28407 * lib/arg.c: Likewise.
28408 * loader/i386/bsd.c: Likewise.
28409 * loader/i386/bsdXX.c: Likewise.
28410 * loader/i386/efi/linux.c: Likewise.
28411 * loader/i386/efi/xnu.c: Likewise.
28412 * loader/i386/ieee1275/linux.c: Likewise.
28413 * loader/i386/linux.c: Likewise.
28414 * loader/i386/multiboot.c: Likewise.
28415 * loader/i386/pc/linux.c: Likewise.
28416 * loader/i386/pc/multiboot2.c: Likewise.
28417 * loader/i386/xnu.c: Likewise.
28418 * loader/ieee1275/multiboot2.c: Likewise.
28419 * loader/macho.c: Likewise.
28420 * loader/machoXX.c: Likewise.
28421 * loader/multiboot2.c: Likewise.
28422 * loader/multiboot_loader.c: Likewise.
28423 * loader/powerpc/ieee1275/linux.c: Likewise.
28424 * loader/sparc64/ieee1275/linux.c: Likewise.
28425 * loader/xnu.c: Likewise.
28426 * loader/xnu_resume.c: Likewise.
28427 * mmap/i386/pc/mmap.c: Likewise.
28428 * normal/menu_viewer.c: Likewise.
28429 * partmap/acorn.c: Likewise.
28430 * partmap/amiga.c: Likewise.
28431 * partmap/apple.c: Likewise.
28432 * script/lexer.c: Likewise.
28433 * term/gfxterm.c: Likewise.
28434 * term/i386/pc/serial.c: Likewise.
28435 * term/i386/pc/vga.c: Likewise.
28436 * term/ieee1275/ofconsole.c: Likewise.
28437 * term/terminfo.c: Likewise.
28438 * video/bitmap.c: Likewise.
28439 * video/efi_gop.c: Likewise.
28440 * video/efi_uga.c: Likewise.
28441 * video/fb/video_fb.c: Likewise.
28442 * video/i386/pc/vbe.c: Likewise.
28443 * video/readers/tga.c: Likewise.
28444 * video/video.c: Likewise.
28445
0ad46fd7 284462009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28447
28448 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28449 * commands/lspci.c: Likewise.
28450 * commands/probe.c: Likewise.
28451 * commands/xnu_uuid.c: Likewise.
28452 * conf/i386-coreboot.rmk: Likewise.
28453 * conf/i386-efi.rmk: Likewise.
28454 * conf/i386-ieee1275.rmk: Likewise.
28455 * conf/i386-pc.rmk: Likewise.
28456 * conf/powerpc-ieee1275.rmk: Likewise.
28457 * conf/sparc64-ieee1275.rmk: Likewise.
28458 * conf/x86_64-efi.rmk: Likewise.
28459 * fs/i386/pc/pxe.c: Likewise.
28460 * gettext/gettext.c: Likewise.
28461 * include/grub/efi/graphics_output.h: Likewise.
28462 * include/grub/i386/pc/memory.h: Likewise.
28463 * kern/env.c: Likewise.
28464 * kern/i386/qemu/startup.S: Likewise.
28465 * lib/i386/pc/biosnum.c: Likewise.
28466 * lib/i386/relocator.c: Likewise.
28467 * lib/i386/relocator_asm.S: Likewise.
28468 * lib/relocator.c: Likewise.
28469 * loader/i386/bsd.c: Likewise.
28470 * loader/i386/multiboot.c: Likewise.
28471 * loader/i386/pc/chainloader.c: Likewise.
28472 * loader/i386/xnu.c: Likewise.
28473 * loader/xnu.c: Likewise.
28474 * normal/main.c: Likewise.
28475 * normal/menu_text.c: Likewise.
28476 * util/getroot.c: Likewise.
28477 * util/grub-mkconfig_lib.in: Likewise.
28478 * util/grub.d/00_header.in: Likewise.
28479 * util/i386/pc/grub-mkimage.c: Likewise.
28480 * util/mkisofs/eltorito.c: Likewise.
28481 * util/mkisofs/exclude.h: Likewise.
28482 * util/mkisofs/hash.c: Likewise.
28483 * util/mkisofs/iso9660.h: Likewise.
28484 * util/mkisofs/joliet.c: Likewise.
28485 * util/mkisofs/mkisofs.c: Likewise.
28486 * util/mkisofs/mkisofs.h: Likewise.
28487 * util/mkisofs/multi.c: Likewise.
28488 * util/mkisofs/name.c: Likewise.
28489 * util/mkisofs/rock.c: Likewise.
28490 * util/mkisofs/tree.c: Likewise.
28491 * util/mkisofs/write.c: Likewise.
28492 * video/efi_gop.c: Likewise.
28493
009ec743
VS
284942009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28497 size counting.
28498
0ad46fd7 284992009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28500
28501 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28502 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28503
d3d30ea0
VS
285042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28505
28506 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28507 (GRUB_MOD_INIT(memrw)): Update help line.
28508
a34f5c70
VS
285092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28510
28511 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28512 Use grub_extcmd_t. All users updated.
28513 (options): New variable.
28514 (grub_cmd_read): Restructure for readability. Support "-v" option.
28515 (grub_cmd_write): Restructure for readability.
28516
0ad46fd7 285172009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28518
28519 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28520
0ad46fd7 285212009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28522
28523 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28524 with the actual contents of the correspondending make variable.
28525 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28526 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28527 specifying `*.lst' and `efiemu??.o'
28528
0ad46fd7 285292009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28530
28531 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28532 after function name.
28533 Noticed by Rene Engelhard <rene@debian.org>.
28534
dc77a799
VS
285352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28536
28537 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28538 (options): New variable.
28539 (iospace): Likewise.
28540 (grub_lspci_iter): List IO spaces if "-i" was given.
28541 (grub_cmd_lspci): Parse options.
28542 (GRUB_MOD_INIT(lspci)): Use extcmd.
28543 (GRUB_MOD_FINI(lspci)): Likewise.
28544
0ad46fd7 285452009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28546
28547 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28548 `function' keyword.
28549 Patch by Tony Mancill <tmancill@debian.org>.
28550
b5d5993b
VS
285512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28552
28553 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28554 (grub_uhci_portstatus): Likewise.
28555 (grub_uhci_portstatus): Add necessary delay.
11d18281 28556 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28557
941903f2 285582009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28559
941903f2 28560 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28561 (GRUB_MOD_INIT): Likewise.
28562 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28563 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28564 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28565 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28566 (enable_rom_area): Likewise.
28567 (GRUB_MOD_INIT): Likewise.
28568 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28569 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28570 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28571 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28572 * commands/hexdump.c (options): Likewise.
28573 * commands/i386/cpuid.c (options): Likewise.
28574 (GRUB_MOD_INIT): Likewise.
28575 * commands/i386/pc/drivemap.c (options): Likewise.
28576 (GRUB_MOD_INIT): Likewise.
28577 * commands/i386/pc/halt (options): Likewise.
28578 (GRUB_MOD_INIT): Likewise.
28579 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28580 * commands/i386/pc/pxecmd.c (options): Likewise.
28581 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28582 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28583 * commands/keystatus.c (options): Likewise.
28584 (GRUB_MOD_INIT): Likewise.
28585 * commands/loadenv.c (options): Likewise.
28586 * commands/ls.c (options): Likewise.
28587 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28588 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28589 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28590 * commands/parttool.c (helpmsg): Likewise.
28591 * commands/probe.c (options): Likewise.
28592 * commands/read.c (GRUB_MOD_INIT): Likewise.
28593 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28594 * commands/search.c (options): Likewise.
28595 * commands/sleep.c (options): Likewise.
28596 * commands/test.c (GRUB_MOD_INIT): Likewise.
28597 * commands/true.c (GRUB_MOD_INIT): Likewise.
28598 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28599 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28600 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28601 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28602 `$(XGETTEXT)'.
98a50553 28603 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28604
0ad46fd7 286052009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28606
ef3c2c3a 28607 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28608 instead of specifying them explicit.
28609
7922f68b
RM
286102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28611
28612 * NEWS: Add grub-probe support for GNU/Hurd.
28613
537ce47f
RM
286142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28615
28616 * NEWS: gettext was added after 1.97.
28617
9b214e3a
RM
286182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28619
28620 * util/mkisofs/msdos_partition.h: New file (based on
28621 include/grub/msdos_partition.h).
28622 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28623 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28624 (ld_options, main): Recognize --protective-msdos-label.
28625 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28626 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28627 (padblock_write): If `use_protective_msdos_label' is set, patch a
28628 protective DOS-style label in the output image.
28629
28630 * util/grub-mkrescue.in: Use --protective-msdos-label.
28631
e9309813
RM
286322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28633
28634 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28635 boot.
28636
0ae56929
RM
286372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28638
28639 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28640 variables.
28641 (ld_options, main): Recognize `--embedded-boot'.
28642 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28643 declarations.
28644 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28645 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28646 (padblock_write): Likewise. Rewrite to support embedded boot image.
28647
28648 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28649 for BIOS-based disk boot instead of only ElTorito.
28650
b15937b1
RM
286512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28652
28653 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28654 build (not needed for bootstrap).
28655
52cc3ce0
RM
286562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28657
28658 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28659 from i386-pc build (not needed for bootstrap).
28660 Rewrite a pair of strings.
28661
36f5ff04
RM
286622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28663
28664 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28665
973c6c85 286662009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28667
28668 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28669
05d21547
AB
286702009-12-21 Andreas Born <futur.andy@googlemail.com>
28671
28672 * kern/env.c (grub_env_context_open): Mark exported variable for
28673 reexport.
28674
0175d51f
AB
286752009-12-21 Andreas Born <futur.andy@googlemail.com>
28676
28677 * kern/env.c (grub_env_export): Create nonexistent variables before
28678 exporting.
28679
7f39d92f 286802009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28681
7f39d92f 28682 * include/grub/auth.h: Include `<grub/i18n.h>'.
28683 (GRUB_GET_PASSWORD): Gettextizze string.
28684 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28685 menu_text.c.
28686 (grub_utf8_to_ucs4_alloc): Fix indentation.
28687 (grub_print_ucs4): Likewise.
28688 (grub_getstringwidth): Likewise.
28689 (print_message_indented): New declaration.
28690 * normal/auth.c: Include `<grub/i18n.h>'.
28691 (grub_auth_check_authentication): Gettexttize string.
28692 * normal/cmdline.c: Include `<grub/i18n.h>'.
28693 (grub_cmdline_get): Gettextizze.
28694 * normal/color.c: Include `<grub/i18n.h>'.
28695 (grub_parse_color_name_pair): Gettexttize strings.
28696 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28697 string (use `print_message_indented').
28698 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28699 `include/grub/normal.h'.
28700 (print_message_indented): Renamed to ...
28701 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28702 used in normal/main.c).
28703 (print_message): Use `grub_print_message_indented' instead of
28704 `print_message_indented'.
28705 (print_timeout): Likewise.
28706 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28707 (grub_normal_print_device_info): Gettexttize strings.
28708 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28709
3041d898
VS
287102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28711
28712 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28713 of arguments. Return number of tokens and not arguments. All users
28714 updated.
28715
de15bf8e
VS
287162009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28717
28718 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28719 non-MSDOS paritions.
28720
e0a6ca52
VS
287212009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28722
28723 * include/grub/types.h (UNUSED): Removed since it conflicts with
28724 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28725 Reported by Grégoire Sutre.
28726
b99518d1 287272009-12-19 Carles Pina i Estany <carles@pina.cat>
28728
28729 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28730 (grub_print_ucs4_alloc): Likewise.
28731 (grub_getstringwidth): Likewise.
28732 * normal/main.c (grub_normal_init_page): Gettextize version string.
28733 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28734 (getstringwidth): Renamed to ...
28735 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28736 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28737 (grub_print_ucs4): Remove `static' qualifer (now used in
28738 normal/main.c).
28739 * po/POTFILES: Add normal/main.c.
28740
bfd5e52b 287412009-12-19 Carles Pina i Estany <carles@pina.cat>
28742
28743 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28744 (print_message_indented): Add `margin_left' and `margin_right'
28745 parameters.
28746 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28747 strings.
28748 (print_timeout): Use `print_message_indented' to print the message.
28749 Deletes `second_stage' parameter.
28750 (run_menu): Update `print_timeout' calls.
28751
5a1ad2b9
VS
287522009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28753
28754 Fix console palette on OpenFirmware.
28755
28756 * term/ieee1275/ofconsole.c (MAX): Removed.
28757 (colors): Redone based on VGA palette.
28758 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28759 colors are supported.
28760 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28761
b045f00a
VS
287622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28763
28764 Fix potential EfiEmu double prepare.
28765
28766 * efiemu/main.c (prepared): New variable
28767 (grub_efiemu_unload): Set prepare to '0'.
28768 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28769
28770 set_virtual_address_map support.
28771
28772 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28773 prototype.
28774 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28775 prototype.
28776 (grub_efiemu_crc32): Likewise.
28777 (grub_efiemu_crc64): Likewise.
28778 (grub_efiemu_set_virtual_address_map): Likewise.
28779 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28780 New definition.
28781 (grub_autoefi_set_virtual_address_map): Likewise.
28782 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28783 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28784 Restructure flow to accomodate it.
28785 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28786 (grub_efiemu_crc): Recompute CRC32.
28787 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28788 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28789 * efiemu/symbols.c (relocated_handle): New variable.
28790 (grub_efiemu_free_syms): Free relocated_handle.
28791 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28792 (grub_efiemu_write_sym_markers): New function.
28793 (grub_efiemu_set_virtual_address_map): Likewise.
28794
28795 Newer XNU parameters.
28796
28797 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28798 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28799 (grub_xnu_fill_devicetree): New prototype.
28800 (grub_xnu_heap_real_start): New variable.
28801 * loader/xnu.c (get_name_ptr): New function.
28802 (grub_xnu_load_driver): Fill namelen and name.
28803
28804 64-bit xnu support.
28805
28806 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28807 and 'loader/macho64.c'.
28808 * conf/i386-pc.rmk: Likewise.
28809 * conf/x86_64-efi.rmk: Likewise.
28810 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28811 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28812 * include/grub/macho.h (grub_macho_segment64): New structure.
28813 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28814 (grub_macho_size32): ... to this.
28815 (grub_macho32_get_entry_point): Renamed from ...
28816 (grub_macho_get_entry_point32): ... to this.
28817 (grub_macho_contains_macho64): New prototype.
28818 (grub_macho_size64): Likewise.
28819 (grub_macho_get_entry_point64): Likewise.
28820 (grub_macho32_load): Renamed from ...
28821 (grub_macho_load32): ... to this.
28822 (grub_macho32_filesize): Renamed from ...
28823 (grub_macho_filesize32): ... to this.
28824 (grub_macho32_readfile): Renamed from ...
28825 (grub_macho_readfile32): ... to this.
28826 (grub_macho_filesize64): New prototype.
28827 (grub_macho_readfile64): Likewise.
28828 (grub_macho_parse32): Likewise.
28829 (grub_macho_parse64): Likewise.
28830 * loader/macho.c: Split into ...
28831 * loader/machoXX.c: ... and this. Replace 32 with XX.
28832 * loader/macho32.c: New file.
28833 * loader/macho64.c: Likewise.
28834 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28835 (grub_cmd_xnu_kernel): Make 32-bit only.
28836 (grub_cmd_xnu_kernel64): New function.
28837 (grub_xnu_load_driver): Support Mach-O 64.
28838 (grub_cmd_xnu_mkext): Likewise.
28839 * util/grub.d/30_os-prober.in (osx_entry): New function.
28840 Generate entries for 64-bit boot too.
28841
28842 Eliminate ad-hoc tree format in XNU and EfiEmu.
28843
28844 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28845 * efiemu/pnvram.c: Rewritten to use environment variables.
28846 All users updated.
28847
28848 Inline utf16_to_utf8.
28849
28850 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28851 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28852 All users updated.
28853 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28854
28855 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28856 * commands/usbtest.c (grub_usb_get_string): ... move here.
28857 (usb_print_str): Fix error handling.
28858 * include/grub/usb.h (grub_usb_get_string): Remove.
28859
28860 UTF-8 to UTF-16 transformation.
28861
28862 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28863 (charset_mod_SOURCES): New variable.
28864 (charset_mod_CFLAGS): Likewise.
28865 (charset_mod_LDFLAGS): Likewise.
28866 * include/grub/utf.h: New file.
28867 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28868
28869 Support for device properties.
28870
28871 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28872 (grub_xnu_devprop_device_header): Likewise.
28873 (grub_xnu_devprop_device_descriptor): Likewise.
28874 (grub_xnu_devprop_add_device): New prototype.
28875 (grub_xnu_devprop_remove_device): Likewise.
28876 (grub_xnu_devprop_remove_property): Likewise.
28877 (grub_xnu_devprop_add_property_utf8): Likewise.
28878 (grub_xnu_devprop_add_property_utf16): Likewise.
28879 (grub_cpu_xnu_init): Likewise.
28880 (grub_cpu_xnu_fini): Likewise.
28881 (grub_cpu_xnu_unload): Likewise.
28882 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28883 (property_descriptor): Likewise.
28884 (devices): New variable.
28885 (grub_xnu_devprop_remove_property): New function.
28886 (grub_xnu_devprop_add_device): Likewise.
28887 (grub_xnu_devprop_remove_device): Likewise.
28888 (grub_xnu_devprop_add_property): Likewise.
28889 (grub_xnu_devprop_add_property_utf8): Likewise.
28890 (grub_xnu_devprop_add_property_utf16): Likewise.
28891 (hextoval): Likewise.
28892 (grub_cpu_xnu_fill_devprop): Likewise.
28893 (grub_cmd_devprop_load): Likewise.
28894 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28895 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28896 (cmd_devprop_load): New variable.
28897 (grub_cpu_xnu_init): New function.
28898 (grub_cpu_xnu_fini): Likewise.
28899 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28900 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28901 (grub_cmd_xnu_devtree): Likewise.
28902 (hextoval): New function.
28903 (unescape): Likewise.
28904 (grub_xnu_fill_devicetree): Likewise.
28905
28906 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28907 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28908
0945f181
VS
289092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28910
28911 Workaround for broken ATI VBE.
28912
28913 * video/i386/pc/vbe.c (last_set_mode): New variable.
28914 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28915 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28916 (grub_video_vbe_setup): Don't check for reserved flag.
28917
0ad46fd7 289182009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28919
28920 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28921 the `find' command.
28922
c179ebe4
VS
289232009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 UUID support for HFS.
28926
28927 * fs/hfs.c (grub_hfs_uuid): New function.
28928 (grub_hfs_fs): New value .uuid.
28929 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28930
0ad46fd7 289312009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28932
28933 Fix a segfault with parsing unknown long options.
28934
28935 * util/grub-mkrelpath.c (options): Zero terminate it.
28936
c4a3e41a
CPE
289372009-12-13 Carles Pina i Estany <carles@pina.cat>
28938
28939 * include/grub/misc.h (grub_puts): New declaration.
28940 (grub_puts_): Likewise.
a22008a6 28941 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28942 (grub_puts_): Likewise.
28943
2e8a7602
RM
289442009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28945
28946 * util/grub-probe.c (probe): Improve error message.
28947
b50b77b9
RM
289482009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28949
28950 * loader/i386/multiboot_elfxx.c
28951 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28952 initialization.
28953
289542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28955
28956 Relocator framework
28957
28958 * loader/i386/xnu_helper.S: Removed. All users updated.
28959 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28960 (relocator_mod_SOURCES): New variable.
28961 (relocator_mod_CFLAGS): Likewise.
28962 (relocator_mod_LDFLAGS): Likewise.
28963 (relocator_mod_ASFLAGS): Likewise.
28964 * conf/x86_64.rmk: Likewise.
28965 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28966 (grub_multiboot_payload_entry_offset): Likewise.
28967 (grub_multiboot_forward_relocator): Likewise.
28968 (grub_multiboot_forward_relocator_end): Likewise.
28969 (grub_multiboot_backward_relocator): Likewise.
28970 (grub_multiboot_backward_relocator_end): Likewise.
28971 (grub_multiboot_payload_eip): New variable.
28972 (grub_multiboot_payload_orig): Likewise.
28973 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28974 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28975 * include/grub/i386/memory.h
28976 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28977 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28978 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28979 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28980 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28981 * include/grub/i386/relocator.h: New file.
28982 * include/grub/x86_64/relocator.h: Likewise.
28983 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28984 (XNU_RELOCATOR): New macro.
28985 (grub_xnu_launcher_start): Remove.
28986 (grub_xnu_launcher_end): Likewise.
28987 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28988 (grub_xnu_heap_real_start): Remove.
28989 (grub_xnu_heap_start): Change to void *. All users updated.
28990 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28991 * lib/i386/relocator.c: New file.
28992 * lib/i386/relocator_asm.S: Likewise.
28993 * lib/i386/relocator_backward.S: Likewise.
28994 * lib/mips/relocator.c: Likewise.
28995 * lib/mips/relocator_asm.S: Likewise.
28996 * lib/relocator.c: Likewise.
28997 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28998 (entry): Removed.
28999 (playground): Likewise.
29000 (grub_multiboot_payload_orig): New variable.
29001 (grub_multiboot_payload_dest): Likewise.
29002 (grub_multiboot_payload_size): Likewise.
29003 (grub_multiboot_payload_eip): Likewise.
29004 (grub_multiboot_payload_esp): Likewise.
29005 (grub_multiboot_boot): Use grub_relocator32_boot.
29006 (grub_multiboot_unload): Free relocators.
29007 (grub_multiboot): Setup stack. Use relocators.
29008 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29009 (grub_multiboot_load_elfXX): Use relocators.
29010 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29011 (grub_multiboot_payload_size): Likewise.
29012 (grub_multiboot_payload_dest): Likewise.
29013 (grub_multiboot_payload_entry_offset): Likewise.
29014 (grub_multiboot_forward_relocator): Likewise.
29015 (grub_multiboot_backward_relocator): Likewise.
29016 (grub_multiboot_real_boot): Likewise.
29017 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29018 (grub_xnu_entry_point): Likewise.
29019 (grub_xnu_arg1): Likewise.
29020 (grub_xnu_stack): Likewise.
29021 (grub_xnu_launch): Removed.
29022 (grub_xnu_boot_resume): New function.
29023 (grub_xnu_boot): Use relocators.
29024 * loader/i386/xnu_helper.S: Removed.
29025 * loader/xnu.c (grub_xnu_heap_start): New variable.
29026 (grub_xnu_heap_size): Likewise.
29027 (grub_xnu_heap_malloc): Use relocators.
29028 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29029
29eb90c6
VS
290302009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29031
29032 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29033 anything.
29034
31027430
CPE
290352009-12-13 Carles Pina i Estany <carles@pina.cat>
29036
29037 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29038 GRUB_ERR_NONE before calling grub_env_set.
29039
dc0c71d9
RM
290402009-12-12 Robert Millan <rmh@aybabtu.com>
29041
29042 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29043 * genmk.rb (video): New variable.
29044 (CLEANFILES, VIDEOFILES): Add #{video}.
29045 (#{video}): New target rule.
29046 * genvideolist.sh: New file.
29047 * Makefile.in (pkglib_DATA): Add video.lst.
29048 (video.lst): New target rule.
29049 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29050 `video.lst'.
29051 * util/grub.d/30_os-prober.in: Replace `vbe' with
29052 ${GRUB_VIDEO_BACKEND}.
29053
2a4bfcf0
RM
290542009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * THANKS: Add David Miller.
29057
2a3aa4d5
RM
290582009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 libpciaccess support.
29061
29062 * Makefile.in (LIBPCIACCESS): New variable.
29063 (enable_grub_emu_pci): Likewise.
29064 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29065 util/pci.c and commands/lspci.c.
29066 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29067 * configure.ac (grub-emu-pci): New option.
29068 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29069 (grub_pci_device_unmap_range): Likewise.
29070 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29071 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29072 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29073 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29074 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29075 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29076 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29077 * include/grub/pciutils.h: New file.
29078 * util/pci.c: Likewise.
29079
0ad46fd7 290802009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29081
29082 * util/misc.c: Don't include <errno.h> twice.
29083
0ad46fd7 290842009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29085
29086 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29087 name in an error message.
29088 (grub_biosdisk_rw): Likewise.
29089
2e59983c
VS
290902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 Eliminate NTFS 4Gib barrier.
29093
29094 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29095 (read_run_data): Likewise.
29096 (grub_ntfs_read_run_list): Likewise.
29097 (grub_ntfs_read_block): Likewise.
29098 (grub_ntfs_iterate_dir): Likewise.
29099 (read_mft): Likewise.
29100 (read_data): Likewise.
29101 Use COM_LOG_LEN.
29102 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29103 to avoid 64-bit division
29104 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29105 (grub_ntfs_rlst): Use grub_disk_addr_t.
29106
71ee178a
VS
291072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29108
29109 Eliminate grub-fstest 4Gib barrier.
29110
29111 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29112 (read_file): Fix error reporting.
29113
2520d4b8
VS
291142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 Eliminate hexdump 4Gib barrier.
29117
29118 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29119 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29120
e1f27065
VS
291212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29124 Fixes amarsh bug.
29125
1a0f7f45
RM
291262009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29127
29128 Remove miscellaneous files in distclean target.
29129
29130 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29131
c631d9fb
CW
291322009-12-09 Colin Watson <cjwatson@ubuntu.com>
29133
29134 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29135 if they're already set. This resolves the conflict between my
29136 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29137 fixing the --grub-probe option again.
29138 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29139 change on 2009-10-06, so that we now once again source
29140 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29141
7c7b6106
RM
291422009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29143
29144 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29145 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29146 `util/devicemap.c'.
29147
e3069ec1
CPE
291482009-12-08 Carles Pina i Estany <carles@pina.cat>
29149
29150 * include/grub/misc.h (grub_printf_): New declaration.
29151 * kern/misc.c (grub_printf_): New definition.
29152 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29153 instead of `grub_printf' and `_'.
29154 * normal/menu_entry.c (store_completion): Likewise.
29155 (run): Likewise.
29156 (grub_menu_entry_run): Likewise.
29157 * normal/menu_text.c (grub_wait_after_message): Likewise.
29158 (notify_booting): Likewise.
29159 (notify_fallback): Likewise.
29160 (notify_execution_failure): Likewise.
29161
d6ceebf1
CW
291622009-12-07 Colin Watson <cjwatson@ubuntu.com>
29163
29164 * configure.ac: Check for vasprintf.
29165 * util/misc.c (asprintf): Move allocation from here ...
29166 (vasprintf): ... to here. New function.
29167 (xasprintf): New function.
29168 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29169 prototypes.
29170 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29171 * util/grub-mkfont.c (write_font): Likewise.
29172 * util/grub-probe.c (probe): Likewise.
29173 * util/hostdisk.c (make_device_name): Likewise.
29174
de6daa8b
DM
291752009-12-06 David S. Miller <davem@sunset.davemloft.net>
29176
29177 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29178 anything even prefixed with 'cdrom' as a cdrom.
29179
0ad46fd7 291802009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29181
29182 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29183 mount points.
29184
98d3dc02
CPE
291852009-12-05 Carles Pina i Estany <carles@pina.cat>
29186
29187 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29188 grub_gettext_msg_list.
29189 (grub_gettext_gettranslation_from_position): Return const char *
29190 and not char *.
a2c1332b 29191 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29192 returns from the list if existing there.
29193 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29194 (grub_gettext_delete_list): Delete the list.
29195 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29196 lang environment variable is changed.
29197 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29198
b283f108
VS
291992009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29200
29201 Rename kernel.mod to kernel.img.
29202
29203 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29204 (kernel_mod_EXPORTS): Rename to ...
29205 (kernel_img_EXPORTS): ... this.
29206 (kernel_mod_SOURCES): Rename to ...
29207 (kernel_img_SOURCES): ... this.
29208 (kernel_mod_HEADERS): Rename to ...
29209 (kernel_img_HEADERS): ... this. All users updated.
29210 (kernel_mod_CFLAGS): Rename to ...
29211 (kernel_img_CFLAGS): ... this.
29212 (kernel_mod_ASFLAGS): Rename to ...
29213 (kernel_img_ASFLAGS): ... this.
29214 (kernel_mod_LDFLAGS): Rename to ...
29215 (kernel_img_LDFLAGS): ... this.
29216 * conf/x86_64-efi.rmk: Likewise.
29217 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29218 (read_kernel_image): ... this. All users updated.
29219 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29220
69055f8a
CPE
292212009-12-05 Carles Pina i Estany <carles@pina.cat>
29222
29223 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29224 (print_spaces): New function.
29225 (grub_print_ucs4): New function.
29226 (getstringwidth): New function.
29227 (print_message_indented): New function.
29228 (print_message): Gettexttize strings using print_message_indented.
29229 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29230 width.
29231 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29232 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29233 Gettextize.
29234 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29235 string.
29236 (run): Likewise.
29237 (grub_menu_entry_run): Likewise.
29238 * PO/POTFILES: Add normal/menu_entry.c.
29239
f616f51c
VS
292402009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29243
57bbe3be
CPE
292442009-12-05 Carles Pina i Estany <carles@pina.cat>
29245
29246 * util/grub-install.in: Install gettext .mo files.
29247 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29248
013d67a1
CPE
292492009-12-05 Carles Pina i Estany <carles@pina.cat>
29250
29251 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29252 grub_dprintf.
29253
fb954db0
RM
292542009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29255
29256 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29257 non-firmware-dependant one in realmode.S takes precedence.
29258
6b8474f8
RM
292592009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29260
29261 * commands/halt.c: Replace misc arch-specific headers with
29262 `<grub/misc.h>'.
29263 * commands/reboot.c: Likewise.
29264 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29265 `<grub/misc.h>'.
29266 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29267 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29268 (kernel_img_SOURCES): ... to here.
29269
29270 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29271 * include/grub/i386/pc/init.h: Likewise.
29272 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29273 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29274
29275 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29276
29277 * include/grub/i386/halt.h: Remove.
29278 * include/grub/i386/reboot.h: Likewise.
29279
29280 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29281
4b2e6ca2
DM
292822009-12-03 David S. Miller <davem@sunset.davemloft.net>
29283
29284 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29285 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29286 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29287 "progname.h"
29288 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29289 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29290 (usage): Add missing comma in printf.
29291
5239348f
RM
292922009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29293
29294 Use the same reboot approach on i386 coreboot and qemu as we do on
29295 BIOS.
29296
29297 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29298 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29299 * kern/i386/reboot.c: Remove.
29300 * include/grub/i386/reboot.h (grub_reboot): Export function.
29301 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29302 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29303 0xf000:0xfff0 instead of 0xffff:0x0000.
29304 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29305 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29306
ef34cbd4
RM
293072009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 Fix $srcdir != $objdir build.
29310
29311 * Makefile.in (po/%.po): Rewrite as ...
29312 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29313
dc9837ea
ST
293142009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29315
29316 Fix GNU/Hurd grub-install crash.
29317 * util/grub-probe.c (probe): Try to access `path' only when it is not
29318 NULL.
29319
2f857f98
VS
293202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29321
29322 Correct module naming.
29323
29324 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29325 (GRUB_MOD_INIT(efi_uga)): ... to this
29326 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29327 (GRUB_MOD_FINI(efi_uga)): ... to this
29328 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29329 (GRUB_MOD_INIT(efi_gop)): ... to this
29330 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29331 (GRUB_MOD_FINI(efi_gop)): ... to this
29332
c5448046
RM
293332009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29334
29335 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29336 translatable.
29337 (usage): Translate `arg' strings using gettext().
29338 Thanks to Jordi Mallach for the suggestion.
29339
c85184ad
VS
293402009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29341
29342 GOP support. Based on patch from Bean
29343 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29344
29345 * video/efi_gop.c: New file.
29346 * include/grub/efi/graphics_output.h: Likewise.
29347 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29348 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29349 variables.
29350 * conf/x86_64-efi.rmk: Likewise.
29351
8a4c48d8
VS
293522009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29353
29354 Rename efi_fb to efi_uga.
29355
29356 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29357 'efi_uga.mod'.
29358 (efi_fb_mod_SOURCES): Rename this ...
29359 (efi_uga_mod_SOURCES): ... to this.
29360 (efi_fb_mod_CFLAGS): Rename this ...
29361 (efi_uga_mod_CFLAGS): ... to this.
29362 (efi_fb_mod_LDFLAGS): Rename this ...
29363 (efi_uga_mod_LDFLAGS): ... to this.
29364 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29365 'efi_uga.mod'.
29366 (efi_fb_mod_SOURCES): Rename this ...
29367 (efi_uga_mod_SOURCES): ... to this.
29368 (efi_fb_mod_CFLAGS): Rename this ...
29369 (efi_uga_mod_CFLAGS): ... to this.
29370 (efi_fb_mod_LDFLAGS): Rename this ...
29371 (efi_uga_mod_LDFLAGS): ... to this.
29372 * video/efi_fb.c: Move this ...
29373 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29374
fb6c1a7b
RM
293752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29376
29377 * po/README: New file. Explain our PO file workflow.
29378
3bc7896c
RM
293792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29380
29381 * po/ChangeLog: Remove. Move relevant entries back to ...
29382 * ChangeLog: ... here.
29383 * po/ca.po: Remove (now handled by TLP).
29384 * po/id.po: Likewise.
29385 * po/zh_CN.po: Likewise.
29386 * Makefile.in (LINGUAS): Initialize in a way that supports
29387 empty set.
29388
9ed4841d
RM
293892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29390
29391 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29392 reliing on po/LINGUAS.
29393 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29394 (po/%.po): ... this.
29395
0ad46fd7 293962009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29397
29398 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29399 (main): Use `program_name' instead of nonexistent `progname'.
29400
e30dd392
FZ
294012009-11-26 Felix Zielcke <fzielcke@z-51.de>
29402
29403 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29404 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29405
7656de4f
RM
294062009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29407
29408 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29409 commit.
29410 * conf/i386-efi.rmk: Likewise.
29411 * conf/i386-ieee1275.rmk: Likewise.
29412 * conf/powerpc-ieee1275.rmk: Likewise.
29413 * conf/sparc64-ieee1275.rmk: Likewise.
29414 * conf/x86_64-efi.rmk: Likewise.
29415
db77c4d4
FZ
294162009-11-26 Felix Zielcke <fzielcke@z-51.de>
29417
29418 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29419
a755bb04
FZ
294202009-11-26 Felix Zielcke <fzielcke@z-51.de>
29421
29422 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29423
8a4c07fd
RM
294242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29425
29426 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29427 (grub_mkdevicemap_SOURCES): New variable.
29428 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29429 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29430 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29431 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29432 (grub_mkdevicemap_SOURCES): Remove.
29433 * conf/i386-efi.rmk: Likewise.
29434 * conf/i386-ieee1275.rmk: Likewise.
29435 * conf/i386-pc.rmk: Likewise.
29436 * conf/powerpc-ieee1275.rmk: Likewise.
29437 * conf/sparc64-ieee1275.rmk: Likewise.
29438 * conf/x86_64-efi.rmk: Likewise.
29439 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29440 (usage): Fix strings to use `program_name'.
29441 (main): Initialize gettext.
29442 * util/grub-editenv.c: Likewise.
29443 * util/grub-emu.c: Likewise.
29444 * util/grub-fstest.c: Likewise.
29445 * util/grub-mkdevicemap.c: Likewise.
29446 * util/grub-mkfont.c: Likewise.
29447 * util/grub-mkrelpath.c: Likewise.
29448 * util/grub-pe2elf.c: Likewise.
29449 * util/grub-probe.c: Likewise.
29450 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29451 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29452 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29453
29454 * util/misc.c: Include `"progname.h"'.
29455 (progname): Remove variable.
29456 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29457
6f61ed55
FZ
294582009-11-25 Felix Zielcke <fzielcke@z-51.de>
29459
29460 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29461 printf and print a newline after the menuentry header line.
29462 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29463
f022876b
FZ
294642009-11-25 Felix Zielcke <fzielcke@z-51.de>
29465
29466 autoconf >= 2.60 support $(localedir).
29467
29468 * INSTALL: Note that autoconf 2.60 is required.
29469 * configure.ac (AC_PREREQ): Bump to 2.60.
29470 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29471 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29472
6717926e
YB
294732009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29474
29475 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29476 aclocal is run.
29477
08806a54
RM
294782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29479
29480 * normal/main.c (grub_normal_read_line): Fix off-by-one
29481 buffer overflow.
29482
13b33fba
RM
294832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29486 "parser.grub" in grub_command_execute() call.
29487
4a8572e9
CPE
294882009-11-24 Carles Pina i Estany <carles@pina.cat>
29489
29490 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29491 * conf/i386-efi.rmk: Likewise.
29492 * conf/i386-ieee1275.rmk: Likewise.
29493 * conf/i386-pc.rmk: Likewise.
29494 * conf/powerpc-ieee1275.rmk: Likewise.
29495 * conf/sparc64-ieee1275.rmk: Likewise.
29496 * conf/x86_64-efi.rmk: Likewise.
29497 * gettext/gettex.c: Include <grub/i18n.h>.
29498 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29499 here ...
29500 * include/grub/i18n.h: ... to here
29501 * include/grub/i18n.h: ... to here.
29502 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29503 (grub_gettext_dummy): Move above user.
4a8572e9 29504
bee48093
FZ
295052009-11-24 Felix Zielcke <fzielcke@z-51.de>
29506
29507 * util/Makefile.in (install-local): Convert a `for' into a normal
29508 shell expansion.
29509
a031e91c
RM
295102009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 * autogen.sh: Add automake call.
29513 * config.guess: Remove.
29514 * config.sub: Likewise.
29515 * install-sh: Likewise.
29516
26bec39d
FZ
295172009-11-24 Felix Zielcke <fzielcke@z-51.de>
29518
29519 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29520
8e2532fd
FZ
295212009-11-24 Felix Zielcke <fzielcke@z-51.de>
29522
29523 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29524 function to a normal shell `for'.
29525
fefa1b7d
FZ
295262009-11-24 Felix Zielcke <fzielcke@z-51.de>
29527
29528 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29529
4501250b
FZ
295302009-11-24 Felix Zielcke <fzielcke@z-51.de>
29531
29532 * util/grub-mkrelpath.c: New file.
29533 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29534 (grub_mkrelpath_SOURCES): New variable.
29535 * include/grub/util/misc.h: New function prototype.
29536 * util/misc.c (make_system_path_relative_to_its_root): New function.
29537
29538 * util/grub-mkconfig_lib.in (bindir): New variable.
29539 (grub_mkrelpath): Likewise.
29540 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29541
29542 * util/probe.c (probe): Make the file path relative to its root.
29543 Change a info message to use the GRUB path. Enable again the
29544 check if we can read the file with GRUB facilities.
29545
29546 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29547 to its root.
29548
11d9778b
FZ
295492009-11-24 Felix Zielcke <fzielcke@z-51.de>
29550
29551 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29552 platform.
29553
4465287d
FZ
295542009-11-24 Felix Zielcke <fzielcke@z-51.de>
29555
29556 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29557 strncmp().
29558
62b47f22
FZ
295592009-11-24 Felix Zielcke <fzielcke@z-51.de>
29560
29561 * util/getroot.c (grub_util_is_dmraid): New function.
29562 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29563 devices as normal ones, not as LVM.
29564
1eafb9b9 295652009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29566
29567 * conf/common.rmk: Add grub-gettext_lib target and updates
29568 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29569 LDFLAGS.
29570 * gettext/gettext.c: New file. (Reads mo files).
29571 * include/grub/file.h (grub_file_pread): New prototype.
29572 * include/grub/i18n.h (_): New prototype.
29573 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29574 prototypes.
29575 * kern/misc.c (grub_gettext_dummy): New function.
29576 * normal/menu_text.c: Include <grub/i18n.h>.
29577 * normal/menu_text.c (print_timeout): Gettexttize string.
29578 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29579 * po/POTFILES: Add `normal/menu_text.c'.
29580 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29581 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29582 gettext module and defines locale_dir and lang in grub.cfg.
29583 * NEWS: Add gettext support.
29584
0fdb2568
RM
295852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29586
29587 * util/hostdisk.c: Include `<grub/i18n.h>'.
29588 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29589 (make_device_name): Rewrite using asprintf.
29590 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29591 (find_system_device): If a device is not found, generate one just
29592 by reusing the OS path name.
29593 (read_device_map): Make it permissible for device.map not to exist.
29594
f515aa62
RM
295952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29596
29597 * script/sh/execute.c: Move from here ...
29598 * script/execute.c: ... to here. Update all users.
29599 * script/sh/function.c: Move from here ...
29600 * script/function.c: ... to here. Update all users.
29601 * script/sh/lexer.c: Move from here ...
29602 * script/lexer.c: ... to here. Update all users.
29603 * script/sh/main.c: Move from here ...
29604 * script/main.c: ... to here. Update all users.
29605 * script/sh/parser.y: Move from here ...
29606 * script/parser.y: ... to here. Update all users.
29607 * script/sh/script.c: Move from here ...
29608 * script/script.c: ... to here. Update all users.
29609
f84b481b
RM
296102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29611
29612 * configure.ac: Detect all `emu' platforms. Define
29613 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29614 --enable-grub-emu logic. Disable include/grub/machine
29615 symlink on `emu' platforms.
29616
29617 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29618 * gensymlist.sh.in: Likewise.
29619
29620 * include/grub/i386/coreboot/machine.h: Remove file.
29621 * include/grub/i386/efi/machine.h: Likewise.
29622 * include/grub/i386/ieee1275/machine.h: Likewise.
29623 * include/grub/i386/pc/machine.h: Likewise.
29624 * include/grub/i386/qemu/machine.h: Likewise.
29625 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29626 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29627 * include/grub/x86_64/efi/machine.h: Likewise.
29628
29629 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29630 * commands/halt.c: Likewise.
29631 * commands/reboot.c: Likewise.
29632 * include/grub/autoefi.h: Likewise.
29633 * include/grub/i386/at_keyboard.h: Likewise.
29634 * include/grub/i386/kernel.h: Likewise.
29635 * include/grub/i386/loader.h: Likewise.
29636 * include/grub/i386/pc/memory.h: Likewise.
29637 * kern/dl.c: Likewise.
29638 * kern/i386/coreboot/init.c: Likewise.
29639 * loader/i386/bsd.c: Likewise.
29640 * loader/i386/linux.c: Likewise.
29641 * loader/multiboot_loader.c: Likewise.
29642 * term/i386/pc/serial.c: Likewise.
29643 * term/usb_keyboard.c: Likewise.
29644
29645 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29646 `<grub/machine/machine.h>'
29647 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29648 * util/misc.c: Remove `<grub/machine/machine.h>' and
29649 `<grub/machine/time.h>'.
29650
29651 * Makefile.in (enable_grub_emu): Remove variable.
29652 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29653
29654 * conf/any-emu.rmk: New file.
29655 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29656 (grub_emu_init.c): Move from here ...
29657 * conf/any-emu.rmk: ... to here.
29658
29659 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29660 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29661 * conf/any-emu.rmk: ... to here.
29662
4efeab03
RM
296632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29664
29665 * include/grub/parser.h (grub_parser_register): Document need
29666 of `name' parameter.
29667 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29668 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29669 "sh" to "grub".
29670
ea1dd8bf
RM
296712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29672
29673 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29674 `$(XGETTEXT)'.
29675 * include/grub/i18n.h (N_): New macro.
29676 * util/mkisofs/mkisofs.h: Likewise.
29677 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29678 around N_().
29679 (usage): Use gettext() to translate help strings when printing them.
29680
0c140626
RM
296812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29682
29683 Based on patch from Bean
29684 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29685
29686 * video/efi_fb.c: New file.
29687 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29688 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29689 variables.
29690 * conf/x86_64-efi.rmk: Likewise.
29691
87d58298
RM
296922009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29693
29694 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29695 * util/i386/pc/grub-setup.c: Likewise.
29696
994cc3a3
ST
296972009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29698
29699 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29700 <hurd/fs.h>
29701 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29702 file_get_storage_info to implement grub_guess_root_device.
29703
26a61d6a
FZ
297042009-11-21 Felix Zielcke <fzielcke@z-51.de>
29705
29706 * Makefile.in (target): Use make's builtin $(shell) function
29707 instead of calling directly $(SHELL) to create the locale directories,
29708 inside the $(foreach) function.
29709
74ff1dd5
FZ
297102009-11-21 Felix Zielcke <fzielcke@z-51.de>
29711
29712 * util/grub-mkrescue.in: Print an error and usage if output option
29713 has not been given.
29714
0b787d0e
FZ
297152009-11-21 Felix Zielcke <fzielcke@z-51.de>
29716
29717 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29718 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29719 root and /boot are on different devices.
29720
1164b270
RM
297212009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29722
29723 Fix build for srcdir != objdir.
29724
29725 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29726 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29727 $(srcdir).
29728 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29729 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29730 reference for input.
29731
13774a2f
RM
297322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29733
29734 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29735 or hardlinking it). Remove -J option, Joliet is not compatible with
29736 multiple source directories.
29737
efda854e
RM
297382009-11-21 Carles Pina i Estany <carles@pina.cat>
297392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29740
29741 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29742 (process_input_dir): New function. Process an arbitrary input
29743 directory.
29744 Misc adjustments to support both "override mode" and system-wide mode.
29745
6c09890c
FZ
297462009-11-20 Felix Zielcke <fzielcke@z-51.de>
29747
29748 * configure.ac (UNIFONT_BDF): Rename to ...
29749 (FONT_SOURCE): ... this. Update all users.
29750
a797824f
FZ
297512009-11-20 Felix Zielcke <fzielcke@z-51.de>
29752
29753 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29754 to the list of unifont files to look for.
29755
cd4f42b0
RM
297562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29757
29758 Patch from Joe Auricchio <jauricchio@gmail.com>
29759 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29760 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29761 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29762
393c783d
FZ
297632009-11-19 Felix Zielcke <fzielcke@z-51.de>
29764
29765 * Makefile.in (install-local): Add a missing backslash.
29766
b2f1e327
FZ
297672009-11-19 Felix Zielcke <fzielcke@z-51.de>
29768
29769 * include/grub/x86_64/io.h: New file.
29770
f577f7a0
RM
297712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29772
29773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29774 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29775 Include `"progname.h"'.
29776 (main): Initialize gettext.
29777 * util/i386/pc/grub-setup.c: Gettexttize.
29778 * util/i386/pc/grub-mkimage.c: Likewise.
29779
29780 * Makefile.in (po/*.po): Redefine as ...
29781 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29782
3bc7896c
RM
29783 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29784
c37943b6
RM
297852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29788 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29789 (program_name): Remove.
29790 (main): Initialize gettext support.
6323f705
RM
29791 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29792 Include `<libintl.h>'.
29793 (_): New macro.
c37943b6
RM
29794
29795 * util/mkisofs/eltorito.c: Gettexttize.
29796 * util/mkisofs/joliet.c: Likewise.
29797 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29798 * util/mkisofs/multi.c: Likewise.
29799 * util/mkisofs/rock.c: Likewise.
29800 * util/mkisofs/tree.c: Likewise.
29801 * util/mkisofs/write.c: Likewise.
29802
3bc7896c
RM
29803 * po/POTFILES: Update with new files.
29804
5ce77c6e
RM
298052009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29806
29807 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29808 * util/mkisofs/iso9660.h: Likewise.
29809 * util/mkisofs/joliet.c: Likewise.
29810 * util/mkisofs/mkisofs.c: Likewise.
29811 * util/mkisofs/mkisofs.h: Likewise.
29812 * util/mkisofs/rock.c: Likewise.
29813 * util/mkisofs/tree.c: Likewise.
29814 * util/mkisofs/write.c: Likewise.
29815
29816 * util/mkisofs/eltorito.c (rcsid): Remove.
29817 * util/mkisofs/hash.c: Likewise.
29818 * util/mkisofs/joliet.c: Likewise.
29819 * util/mkisofs/name.c: Likewise.
29820 * util/mkisofs/rock.c: Likewise.
29821 * util/mkisofs/tree.c: Likewise.
29822 * util/mkisofs/write.c: Likewise.
29823
1dabbc77
RM
298242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29825
29826 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29827 instead of static allocation.
29828 * util/mkisofs/match.h: Likewise.
29829
633877cb
RM
298302009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29831
3bc7896c
RM
29832 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29833 and `util/grub.d/10_linux.in'.
633877cb
RM
29834 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29835 translatable Shell files.
29836
af1c0c85
RM
298372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29838
29839 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29840
769ae37b
RM
298412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29842
29843 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29844 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29845 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29846 Add gettext initialization.
29847 (kfreebsd_entry): Make menuentry output translatable.
29848
298492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29850
29851 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29852 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29853 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29854 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29855 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29856 * po/LINGUAS: New file.
769ae37b
RM
29857
298582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29859
29860 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29861 other things).
29862 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29863 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29864 bindtextdomain() calls for gettext initialization.
29865
298662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29867
29868 * gnulib/progname.c: New file (imported from Gnulib).
29869 * gnulib/progname.h: Likewise.
29870 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29871 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29872 (usage): Replace `progname' with `program_name'.
29873 (main): Use set_program_name() for program name initialization.
29874
298752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29876
29877 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29878 from here ...
29879 * Makefile.in (CPPFLAGS): ... to here.
29880
298812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29882
29883 * aclocal.m4: Move from here ...
29884 * acinclude.m4: ... to here.
29885 * autogen.sh: Add call to `aclocal'.
29886 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29887
298882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29889
29890 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29891 (LINGUAS): New variable.
29892 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29893 (install-local): Install MO files.
29894 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29895 * include/grub/i18n.h: New file.
3bc7896c
RM
29896 * po/POTFILES: New file.
29897 * po/ca.po: New file.
769ae37b
RM
29898 * util/grub.d/10_linux.in (bindir): New variable.
29899 Add gettext initialization.
29900 (linux_entry): Make menuentry output translatable.
29901 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29902 (usage): Make --help output translatable.
29903 (main): Initialize gettext.
29904
02c0a6ad
RM
299052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29906
29907 * import_gcry.py: New file (written by Vladimir with minor
29908 adjustments).
29909 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29910 ciphers.
29911 * INSTALL: Document that Python is required for bootstrap.
29912
299132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29914
29915 Import ciphers from libgcrypt 1.4.4.
29916
29917 * lib/libgcrypt/cipher/ChangeLog
29918 * lib/libgcrypt/cipher/ac.c
29919 * lib/libgcrypt/cipher/arcfour.c
29920 * lib/libgcrypt/cipher/bithelp.h
29921 * lib/libgcrypt/cipher/blowfish.c
29922 * lib/libgcrypt/cipher/camellia-glue.c
29923 * lib/libgcrypt/cipher/camellia.c
29924 * lib/libgcrypt/cipher/camellia.h
29925 * lib/libgcrypt/cipher/cast5.c
29926 * lib/libgcrypt/cipher/cipher.c
29927 * lib/libgcrypt/cipher/crc.c
29928 * lib/libgcrypt/cipher/des.c
29929 * lib/libgcrypt/cipher/dsa.c
29930 * lib/libgcrypt/cipher/ecc.c
29931 * lib/libgcrypt/cipher/elgamal.c
29932 * lib/libgcrypt/cipher/hash-common.c
29933 * lib/libgcrypt/cipher/hash-common.h
29934 * lib/libgcrypt/cipher/hmac-tests.c
29935 * lib/libgcrypt/cipher/md.c
29936 * lib/libgcrypt/cipher/md4.c
29937 * lib/libgcrypt/cipher/md5.c
29938 * lib/libgcrypt/cipher/primegen.c
29939 * lib/libgcrypt/cipher/pubkey.c
29940 * lib/libgcrypt/cipher/rfc2268.c
29941 * lib/libgcrypt/cipher/rijndael-tables.h
29942 * lib/libgcrypt/cipher/rijndael.c
29943 * lib/libgcrypt/cipher/rmd.h
29944 * lib/libgcrypt/cipher/rmd160.c
29945 * lib/libgcrypt/cipher/rsa.c
29946 * lib/libgcrypt/cipher/seed.c
29947 * lib/libgcrypt/cipher/serpent.c
29948 * lib/libgcrypt/cipher/sha1.c
29949 * lib/libgcrypt/cipher/sha256.c
29950 * lib/libgcrypt/cipher/sha512.c
29951 * lib/libgcrypt/cipher/tiger.c
29952 * lib/libgcrypt/cipher/twofish.c
29953 * lib/libgcrypt/cipher/whirlpool.c
29954
af2f93ac
RM
299552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29956
29957 Fix build for systems without error().
29958
29959 * gnulib/error.c: New file (imported from Gnulib).
29960 * gnulib/error.h: Likewise.
29961 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29962 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29963 (this variable is now used by error()).
29964
73fb3dd5
FZ
299652009-11-16 Felix Zielcke <fzielcke@z-51.de>
29966
814f5e96
FZ
29967 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29968 instead of relying that char is signed.
73fb3dd5 29969
a691ca33
VS
299702009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29973 blocksize different from specified.
29974 (grub_pxefs_read): Likewise.
29975
2af8f0f4
FZ
299762009-11-16 Felix Zielcke <fzielcke@z-51.de>
29977
29978 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29979
29980 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29981 (grub_ata_readwrite): Likewise. Update 2 format strings.
29982 (grub_atapi_read): Likewise.
29983
29984 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29985 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29986 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29987 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29988 (ata_mod_LDFLAGS): Move from here ...
29989 * conf/i386.rmk: ... to here ...
29990 * conf/x86_64-efi.rmk: ... and here.
29991 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29992 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29993
83bdecaf
RM
299942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29995
29996 Relicense multiboot.h, with RMS' blessing.
29997
29998 * include/multiboot.h: Change to X11 license.
29999
fd6fd3d7
RM
300002009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30001
30002 Support --version in grub-mkisofs.
30003
30004 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30005 (OPTION_VERSION): New macro.
30006 (ld_options): Recognize --version.
30007 (usage): Move `program_name' from here ...
30008 (program_name): ... to here. Add `static' qualifier.
30009 (main): Recognize `OPTION_VERSION'.
30010
16a88c49
FZ
300112009-11-15 Felix Zielcke <fzielcke@z-51.de>
30012
30013 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30014 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30015
a4158476
RM
300162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30017
30018 Fix help2man generation for mkisofs.
30019
30020 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30021 (usage): Send output to stdout (rather than stderr).
30022
fc2208b0
RM
300232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30024
30025 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30026 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30027 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30028 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30029 (bin_SCRIPTS): Add `grub-mkfloppy'.
30030 (grub_mkfloppy_SOURCES): New variable.
30031
30032 * util/grub-mkrescue.in: New file.
30033 * util/i386/pc/grub-mkfloppy.in: New file.
30034
30035 * util/i386/coreboot/grub-mkrescue.in: Remove.
30036 * util/i386/pc/grub-mkrescue.in: Remove.
30037
8d0edf4a
RM
300382009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30039
30040 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30041 from here ...
30042 * include/multiboot.h (struct multiboot_header): ... to here. Update
30043 all users.
30044 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30045 from here ...
30046 * include/multiboot.h (struct multiboot_info): ... to here. Update
30047 all users.
30048 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30049 from here ...
30050 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30051 Update all users.
30052 * include/grub/multiboot.h (struct grub_mod_list): Move
30053 from here ...
30054 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30055 Update all users.
30056
a73f5969
RM
300572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30058
30059 * include/multiboot2.h (multiboot_word): Rename from this ...
30060 (multiboot2_word): ... to this. Update all users.
30061 (multiboot_header): Rename from this ...
30062 (multiboot2_header): ... to this. Update all users.
30063 (multiboot_tag_header): Rename from this ...
30064 (multiboot2_tag_header): ... to this. Update all users.
30065 (multiboot_tag_start): Rename from this ...
30066 (multiboot2_tag_start): ... to this. Update all users.
30067 (multiboot_tag_name): Rename from this ...
30068 (multiboot2_tag_name): ... to this. Update all users.
30069 (multiboot_tag_module): Rename from this ...
30070 (multiboot2_tag_module): ... to this. Update all users.
30071 (multiboot_tag_memory): Rename from this ...
30072 (multiboot2_tag_memory): ... to this. Update all users.
30073 (multiboot_tag_unused): Rename from this ...
30074 (multiboot2_tag_unused): ... to this. Update all users.
30075 (multiboot_tag_end): Rename from this ...
30076 (multiboot2_tag_end): ... to this. Update all users.
30077
1c8927f0
RM
300782009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30081 this platform we should support Multiboot1 first.
30082
30083 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30084 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30085 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30086
6e1e0d89
RM
300872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30088
30089 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30090 of write calls (converting them to fwrite() if they aren't already).
30091 (get_torito_desc): Likewise.
30092 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30093
7f2b34d8
RM
300942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30095
30096 * util/i386/pc/grub-install.in: Move from here ...
30097 * util/grub-install.in: ... to here. Update all users.
30098
c0ef3311
CW
300992009-11-11 Colin Watson <cjwatson@ubuntu.com>
30100
30101 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30102
e1f240ff
RM
301032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30104
30105 Support for El Torito without floppy emulation.
30106
30107 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30108 (init_boot_catalog): Improve error handling.
30109 (get_torito_desc): Don't use floppy emulation unless requested by
30110 user. Patch boot information table when requested via
30111 `-boot-info-table'.
30112 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30113 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30114 (use_boot_info_table): New variables.
30115 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30116 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30117 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30118 `--eltorito-emul-floppy'.
30119 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30120 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30121 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30122 (use_boot_info_table, get_731): New prototypes.
30123 * util/mkisofs/write.c (get_731): New function.
30124
af7d4de5
FZ
301252009-11-11 Felix Zielcke <fzielcke@z-51.de>
30126
30127 Fix the generation of the man page.
30128
30129 * util/pc/i386/grub-install.in: Source
30130 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30131
2c55dbc0
RM
301322009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30133
30134 Large file support for grub-mkisofs.
30135
30136 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30137 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30138 (session_start): Upgrade type to `uint64_t'. Update all users.
30139 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30140 (struct directory_entry): Upgrade type of `starting_block' and
30141 `size' to `uint64_t'. Update all users.
30142 (struct deferred): Remove unused structure.
30143 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30144 Update all users.
30145 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30146 file is larger than `UINT32_MAX'.
30147 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30148 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30149 return value.
30150 (struct deferred_write): Upgrade type of `extent' and `size' to
30151 `uint64_t'. Update all users.
30152 (last_extent_written): Upgrade type to `uint64_t'. Update all
30153 users.
30154 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30155 Update all users. Upgrade type of `remain' to `int64_t' and
30156 `use' to `size_t'. Use error() to handle fread() errors.
30157 (write_files): Rely on write_one_file() rather than calling
30158 xfwrite() directly.
30159
6a9cead5
FZ
301602009-11-09 Felix Zielcke <fzielcke@z-51.de>
30161
30162 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30163
4825d790
RM
301642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30165
30166 * util/mkisofs/fnmatch.c: Remove.
30167 * util/mkisofs/getopt1.c: Likewise.
30168 * util/mkisofs/getopt.c: Likewise.
30169 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30170 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30171 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30172 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30173 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30174
30175 * configure.ac: Detect `mingw32msvc' host_os.
30176 Check for lstat(), getuid() and getgid().
30177
30178 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30179 instances of `u_char' with `uint8_t'.
30180
30181 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30182 [!HAVE_GETUID] (getuid): New function (stub).
30183 [!HAVE_GETGID] (getgid): Likewise.
30184 [!HAVE_LSTAT] (lstat): Likewise.
30185 [!S_IROTH] (S_IROTH): New macro (dummy).
30186 [!S_IRGRP] (S_IRGRP): Likewise.
30187
84b860d8
RM
301882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30189
30190 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30191 conditional expression).
30192
66e9b712
RM
301932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30194
30195 Import from Gnulib.
30196
30197 * gnulib/fnmatch.c: New file.
30198 * gnulib/fnmatch.h: Likewise.
30199 * gnulib/fnmatch_loop.c: Likewise.
30200 * gnulib/getopt.c: Likewise.
30201 * gnulib/getopt.h: Likewise.
30202 * gnulib/getopt1.c: Likewise.
30203 * gnulib/getopt_int.h: Likewise.
30204 * gnulib/gettext.h: Likewise.
30205
34f4a5b0
RM
302062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30207
30208 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30209 * normal/handler.c (read_handler_list): Likewise.
30210
ac451143
RM
302112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30212
30213 Misc cleanup.
30214
30215 * kern/command.c (grub_register_command_prio): Use
30216 grub_zalloc() instead of explicitly zeroing data.
30217 * kern/list.c: Include `<grub/mm.h>'.
30218 (grub_named_list_find): Replace `0' with `NULL'.
30219 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30220 (fs_module_list): Change type to `grub_named_list_t'. Update all
30221 users.
30222 * normal/dyncmd.c (read_command_list): Add space between function
30223 call and parenthesis.
30224 * normal/handler.c (read_handler_list): Likewise.
30225
4089b167
RM
302262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30227
30228 * normal/auth.c (punishment_delay): Moved from here ...
30229 (grub_auth_strcmp): ... to here (inside function).
30230
325f5037
RM
302312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30232
30233 * include/grub/list.h (struct grub_named_list): Remove `const'
30234 qualifier from `name'.
30235 (struct grub_prio_list): Likewise.
30236
7aea29a3
RM
302372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30238
30239 * normal/auth.c: Include `<grub/time.h>'.
30240 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30241
3fd6f044
RM
302422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30243
30244 * normal/auth.c (punishment_delay): New variable.
30245 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30246 (grub_auth_check_authentication): Punish failed login attempts with
30247 an incremental (2^N) delay.
30248
a4cd68e4
RM
302492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30250
30251 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30252 path with $(srcdir).
30253
7ad12f43
VS
302542009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30257
c1129f03
RM
302582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30259
30260 * util/i386/coreboot/grub-mkrescue.in: New file.
30261 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30262 variables.
30263
30264 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30265 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30266 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30267 requirements.
30268 * util/mkisofs/defaults.h: New file.
30269 * util/mkisofs/eltorito.c: Likewise.
30270 * util/mkisofs/exclude.h: Likewise.
30271 * util/mkisofs/fnmatch.c: Likewise.
30272 * util/mkisofs/getopt.c: Likewise.
30273 * util/mkisofs/getopt1.c: Likewise.
30274 * util/mkisofs/hash.c: Likewise.
30275 * util/mkisofs/include/fctldefs.h: Likewise.
30276 * util/mkisofs/include/mconfig.h: Likewise.
30277 * util/mkisofs/include/prototyp.h: Likewise.
30278 * util/mkisofs/include/statdefs.h: Likewise.
30279 * util/mkisofs/iso9660.h: Likewise.
30280 * util/mkisofs/joliet.c: Likewise.
30281 * util/mkisofs/match.c: Likewise.
30282 * util/mkisofs/match.h: Likewise.
30283 * util/mkisofs/mkisofs.c: Likewise.
30284 * util/mkisofs/mkisofs.h: Likewise.
30285 * util/mkisofs/multi.c: Likewise.
30286 * util/mkisofs/name.c: Likewise.
30287 * util/mkisofs/rock.c: Likewise.
30288 * util/mkisofs/tree.c: Likewise.
30289 * util/mkisofs/write.c: Likewise.
30290
ec8bb77d
VS
302912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30294 being insecure.
30295
3716b12c
RM
302962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30297
30298 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30299 `grub-mkimage' (and use $0 when possible).
30300
b97b7b91
RM
303012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30302
30303 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30304 error message for excessively large memory map.
30305
04114812
RM
303062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30307
30308 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30309 executable bit.
30310
e4eb2373
RM
303112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30312
30313 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30314 message for coreboot users.
30315
c926e1d5 303162009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30317
30318 Fix build with GNU gold.
30319
30320 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30321 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30322 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30323 link addresses.
30324 * aclocal.m4: Likewise.
30325
86e5b1db 303262009-11-04 Felix Zielcke <fzielcke@z-51.de>
30327
30328 * configure.ac (AC_PREREQ): Bump to 2.59d.
30329 * INSTALL: Make it more clear when Autoconf and Ruby are
30330 needed and when to run `./autogen.sh'.
30331
246cd78f 303322009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30333
30334 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30335 OSes.
30336
4f9dfb37 303372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30338
30339 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30340
b82bd5e1 303412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30342
30343 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30344 giving it to GNU Mach.
30345
ff1a9bca 303462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30347
30348 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30349 GNU partition number to get internal GRUB partition number.
30350
61697d9c 303512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30352
30353 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30354 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30355
a50569e1 303562009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30357
30358 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30359 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30360 case.
30361
5b153867 303622009-11-01 Felix Zielcke <fzielcke@z-51.de>
30363
30364 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30365
d9e2cd70 303662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30367
30368 Fix build problem.
30369
30370 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30371 `-isystem=$(srcdir)/include'.
30372
805111a4 303732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30374
30375 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30376 checked (grub-install doesn't currently rely on it).
30377
fa6e945f 303782009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30379
30380 Revert SVN r2660.
30381
30382 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30383 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30384 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30385 * conf/i386-ieee1275.rmk: Likewise.
30386 * conf/i386-pc.rmk: Likewise.
30387 * conf/powerpc-ieee1275.rmk: Likewise.
30388 * conf/sparc64-ieee1275.rmk: Likewise.
30389 * conf/x86_64-efi.rmk: Likewise.
30390
cee15086 303912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30392
30393 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30394
95b9239e 303952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30396
30397 * include/grub/misc.h: Stop checking for APPLE_CC.
30398
2ed19dfd 303992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30400
30401 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30402 doesn't cause an infinite call loop.
30403
fdcdde19 304042009-10-28 Felix Zielcke <fzielcke@z-51.de>
30405
30406 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30407 strings.
30408
cefabfe1 304092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30410
30411 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30412 variable.
30413 * Makefile.in: Likewise.
30414
ed96ab6d 304152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30416
30417 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30418
0579b753 304192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30420
30421 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30422
478df409 304232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30424
30425 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30426
083d1679 304272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30428
30429 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30430 from here ...
30431 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30432
5947ae32 304332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30436 in $(MAKEINFO) invocation. This makes it clear in output that
30437 errors are being ignored.
30438
94180ff6 304392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30440
30441 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30442 from here ...
30443 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30444 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30445 * conf/i386-ieee1275.rmk: Likewise.
30446 * conf/i386-pc.rmk: Likewise.
30447 * conf/powerpc-ieee1275.rmk: Likewise.
30448 * conf/sparc64-ieee1275.rmk: Likewise.
30449 * conf/x86_64-efi.rmk: Likewise.
30450
9031b03a 304512009-10-26 Colin Watson <cjwatson@ubuntu.com>
30452
30453 * util/grub-editenv.c (main): If only a command is given, use
30454 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30455 (usage): FILENAME is now optional and has a default.
30456
e4f6809b 304572009-10-26 Colin Watson <cjwatson@ubuntu.com>
30458
30459 Improve grub-mkconfig performance when there are several menu
30460 entries on a single filesystem.
30461
30462 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30463 prepare_grub_to_access_device.
30464 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30465 * util/grub.d/30_os-prober.in: Likewise.
30466
67937d4d 304672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30468
30469 * util/grub.d/10_freebsd.in: Remove.
30470 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30471 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30472
ee3756cc 304732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30474
5c35048e 30475 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30476
4dea1c6f 304772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30480 grub_util_error() call.
30481
042484d7 304822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30483
30484 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30485 `reserved_first_sector' member.
30486 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30487 `reserved_first_sector' to 1.
30488 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30489 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30490 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30491 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30492 filesystems which begin at first sector.
30493 (options): New option --skip-fs-probe.
30494 (main): Handle --skip-fs-probe and pass it to setup().
30495
d64448a7 304962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30497
30498 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30499 (memset): Fix function prototype.
30500
508d42ec 305012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
305022009-10-25 Vasily Averin <vvs@parallels.com>
30503
30504 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30505 `dirent.direntlen == 0'.
30506
b240e30c 305072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30508
30509 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30510 `cpio'.
30511 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30512
346e7fbe 305132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30514
30515 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30516 `__trampoline_setup' and `__ucmpdi2'.
30517 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30518 that libgcc provides.
30519
cdb308b0 305202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30521
30522 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30523 * include/grub/sparc64/libgcc.h (memset): Likewise.
30524 * include/grub/misc.h (memset, memcmp): New function prototypes.
30525
fb26abc2 305262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30529 `cpio'.
30530 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30531
f6693890 305322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30533
30534 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30535 * docs/grub.cfg: Compensate for recent change in multiboot
30536 loader (since 2009-08-14 it won't pass filename to payload).
30537 * util/grub.d/10_hurd.in: Likewise.
30538
0933cdc0 305392009-10-21 Felix Zielcke <fzielcke@z-51.de>
30540
30541 * config.guess: Update to latest version from config git
30542 repository.
30543 * config.sub: Likewise.
30544
3b2fe8c2 305452009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30546
30547 Fix build on sparc64.
30548
30549 * configure.ac: Perform checks for libgcc symbols before
30550 adding `-nostdlib' to LDFLAGS.
30551
46695a62 305522009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30553
30554 Let user specify OpenBSD root device.
30555
30556 * loader/i386/bsd.c (openbsd_root): New variable.
30557 (openbsd_opts): New option 'root'.
30558 (OPENBSD_ROOT_ARG): New macro.
30559 (grub_openbsd_boot): Use 'openbsd_root'.
30560 (grub_cmd_openbsd): Fill 'openbsd_root'.
30561
d2b6b7fc 305622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30563
30564 * NEWS: Misc adjustments.
30565
421bd7ac 305662009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30567
30568 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30569
f1d29d87 305702009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30571
30572 * configure.ac: Bump version to 1.97.
30573
6f3cd880 305742009-10-16 Colin Watson <cjwatson@ubuntu.com>
30575
30576 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30577 -mno-3dnow on x86 architectures. Some toolchains enable these
30578 features by default, but they rely on registers that aren't enabled
30579 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30580
035f7122 305812009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30582
30583 Make entry text a bit more readable.
30584
30585 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30586
44998e58 305872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30588
30589 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30590
cd2851b3 305912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30592
30593 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30594 operations.
30595
c6f3b249 305962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30597
30598 * configure.ac: Add missing dollar.
30599
6b5886ba 306002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30601
30602 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30603
30604 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30605 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30606 exports.
30607 * include/grub/sparc64/libgcc.h: Likewise. Use
30608 preprocessor conditionals.
30609
e9d66f6d 306102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * conf/common.rmk (grub-dumpbios): Remove rule.
30613 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30614 * util/grub-dumpbios.in: Remove file.
30615
9155bc17 306162009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30617
30618 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30619 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30620
30621 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30622 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30623 users.
30624
30625 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30626 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30627 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30628 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30629 users.
30630
bf7f7a18 306312009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30632
30633 * term/tparm.c: Switch to GPLv3.
30634
86564c26 306352009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30636
30637 * include/grub/i386/cpuid.h: Add header protection.
30638
5c936493 306392009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30642
30643 * include/grub/i386/cpuid.h: New file.
30644 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30645 (has_longmode): Rename to ...
30646 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30647 `static' attribute.
30648 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30649 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30650 on a CPU that doesn't implement AMD64 instruction set.
30651
186e7cf2 306522009-10-06 Colin Watson <cjwatson@ubuntu.com>
30653
30654 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30655 that version.texi is rebuilt on version number changes.
30656
83b65c4a 306572009-10-06 Colin Watson <cjwatson@ubuntu.com>
30658
30659 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30660 Fixes bug #27602.
30661
d244281c 306622009-10-06 Colin Watson <cjwatson@ubuntu.com>
30663
30664 * util/i386/pc/grub-install.in: Source
30665 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30666 that the --grub-probe option will work.
30667 * util/sparc64/ieee1275/grub-install.in: Likewise.
30668
da25306d 306692009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30670
30671 * configure.ac: Bump version to 1.97~beta4.
30672
e8ee83c0 306732009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30674
30675 Resync grub-mkdevicemap in x86_64-efi.
30676
30677 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30678 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30679 `util/devicemap.c'.
30680
50dcabcf 306812009-10-01 Colin Watson <cjwatson@ubuntu.com>
30682
30683 * util/grub-editenv.c (create_envblk_file): Write new block with a
30684 .new suffix and then rename it into place, to ensure atomic
30685 creation.
30686
0e51c3a7 306872009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30688
30689 Do not automatically install headers.
30690
30691 * Makefile.in (include_DATA): Remove. Update all users.
30692
31299a95 306932009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30694
30695 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30696 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30697
30698 * util/osdetect.lua: Remove.
30699 * script/lua/lauxlib.c: Likewise.
30700 * script/lua/ldebug.c: Likewise.
30701 * script/lua/grub_main.c: Likewise.
30702 * script/lua/lauxlib.h: Likewise.
30703 * script/lua/ldebug.h: Likewise.
30704 * script/lua/ltablib.c: Likewise.
30705 * script/lua/liolib.c: Likewise.
30706 * script/lua/lstrlib.c: Likewise.
30707 * script/lua/lualib.h: Likewise.
30708 * script/lua/ldo.c: Likewise.
30709 * script/lua/ldump.c: Likewise.
30710 * script/lua/ldo.h: Likewise.
30711 * script/lua/loslib.c: Likewise.
30712 * script/lua/lundump.c: Likewise.
30713 * script/lua/grub_lib.c: Likewise.
30714 * script/lua/ldblib.c: Likewise.
30715 * script/lua/lundump.h: Likewise.
30716 * script/lua/lmem.c: Likewise.
30717 * script/lua/grub_lib.h: Likewise.
30718 * script/lua/lmathlib.c: Likewise.
30719 * script/lua/lstate.c: Likewise.
30720 * script/lua/ltm.c: Likewise.
30721 * script/lua/lvm.c: Likewise.
30722 * script/lua/lmem.h: Likewise.
30723 * script/lua/lstate.h: Likewise.
30724 * script/lua/ltm.h: Likewise.
30725 * script/lua/ltable.c: Likewise.
30726 * script/lua/lvm.h: Likewise.
30727 * script/lua/llex.c: Likewise.
30728 * script/lua/lgc.c: Likewise.
30729 * script/lua/grub_lua.h: Likewise.
30730 * script/lua/loadlib.c: Likewise.
30731 * script/lua/lfunc.c: Likewise.
30732 * script/lua/lopcodes.c: Likewise.
30733 * script/lua/lparser.c: Likewise.
30734 * script/lua/ltable.h: Likewise.
30735 * script/lua/llex.h: Likewise.
30736 * script/lua/lgc.h: Likewise.
30737 * script/lua/lfunc.h: Likewise.
30738 * script/lua/lbaselib.c: Likewise.
30739 * script/lua/lopcodes.h: Likewise.
30740 * script/lua/lparser.h: Likewise.
30741 * script/lua/lzio.c: Likewise.
30742 * script/lua/linit.c: Likewise.
30743 * script/lua/lobject.c: Likewise.
30744 * script/lua/llimits.h: Likewise.
30745 * script/lua/lstring.c: Likewise.
30746 * script/lua/lzio.h: Likewise.
30747 * script/lua/lapi.c: Likewise.
30748 * script/lua/lcode.c: Likewise.
30749 * script/lua/lua.h: Likewise.
30750 * script/lua/lobject.h: Likewise.
30751 * script/lua/lstring.h: Likewise.
30752 * script/lua/lapi.h: Likewise.
30753 * script/lua/lcode.h: Likewise.
30754 * script/lua/luaconf.h: Likewise.
30755
cb8a2c38 307562009-09-26 Colin Watson <cjwatson@ubuntu.com>
30757
30758 * docs/grub.texi (Command-line and menu entry commands): Document
30759 date and echo commands.
30760
6b9b6276 307612009-09-24 Pavel Roskin <proski@gnu.org>
30762
30763 * include/grub/kernel.h (struct grub_module_header): Remove
30764 `grub_module_header_types'. Make `type' unsigned. Make `size'
30765 32-bit on all platforms.
30766 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30767 8-bit field. Use grub_host_to_target32() for `size'.
30768 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30769 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30770 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30771
4e5a02a7 307722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30773
30774 Fix "lost keypress" bug in at_keyboard.
30775
30776 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30777 Checks for readyness of input buffer (without flushing it).
30778 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30779 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30780
c6dcedf6 307812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30784 size check within GRUB_MACHINE_PCBIOS section.
30785
74c958b1 307862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30787
30788 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30789 return value.
30790 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30791 KEYBOARD_ISREADY check.
30792 (grub_at_keyboard_checkkey): Rename to ...
30793 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30794 Remove gratuitous cast.
30795
ff420223 307962009-09-23 Colin Watson <cjwatson@ubuntu.com>
30797
30798 * configure.ac: Call AC_PROG_MKDIR_P.
30799 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30800 version.texi in $(builddir) rather than $(srcdir).
30801 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30802 to makeinfo's @include search path.
30803
d96875df 308042009-09-23 Felix Zielcke <fzielcke@z-51.de>
30805
30806 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30807
9b3f8365 308082009-09-23 Felix Zielcke <fzielcke@z-51.de>
30809
30810 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30811 for `*.dpkg-new'.
30812
c44c90db 308132009-09-21 Colin Watson <cjwatson@ubuntu.com>
30814
30815 Build info documentation. Some code borrowed from Automake.
30816
30817 * configure.ac: Check for makeinfo.
30818 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30819 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30820 docs/version.texi.
30821 (MOSTLYCLEANFILES): Add vti.tmp.
30822 (docs/version.texi, docs/stamp-vti): Update automatically.
30823 (docs/grub.info): Build info documentation. Use --force and ignore
30824 errors for now.
30825 (all-local): Add $(INFOS).
30826 (install-local): Install info files.
30827 (uninstall): Uninstall info files.
30828 * docs/version.texi: Remove from revision control. This file is
30829 automatically generated on build now.
30830 * gendistlist.sh: Add `*.info'.
30831
e0b37bb5 308322009-09-21 Felix Zielcke <fzielcke@z-51.de>
30833
30834 * kern/term.c: Fix indentation.
30835
5a78865b 308362009-09-21 Felix Zielcke <fzielcke@z-51.de>
30837
30838 * util/hostdisk.c: Fix a comment.
30839
dace7e8a 308402009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30841
30842 Fix regression introduced in r2539.
30843
30844 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30845 to 0xA1.
30846
a83d079b 308472009-09-19 Colin Watson <cjwatson@ubuntu.com>
30848
30849 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30850 os-prober. Under normal operation, it does not print anything to
30851 stderr; if it does, we need to debug it, and throwing away stderr
30852 makes that excessively difficult.
a83d079b 30853
be94a509 308542009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30855
30856 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30857
63f745e8 308582009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30861 AC_LANG_PROGRAM from autoconf.
30862 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30863 prototypes (fixes warning).
30864
30865 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30866 `--disable-werror' was used.
30867
bbb2a70f 308682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30869
30870 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30871 uninitialized `lastaddr'.
30872
77c24f1d 308732009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30874
0f0b8c87 30875 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30876
07197f23 308772009-09-14 Colin Watson <cjwatson@ubuntu.com>
30878
30879 * commands/test.c (get_fileinfo): Return immediately if
30880 grub_fs_probe fails.
30881
dabf1798 308822009-09-14 José Martínez <xosemp@gmail.com>
30883
30884 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30885
d52109a7 308862009-09-14 Colin Watson <cjwatson@ubuntu.com>
30887
30888 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30889 output.
30890
56532179 308912009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30892
30893 * configure.ac: Remove --enable-grub-pe2elf. Only build
30894 grub-pe2elf when needed by the build system itself.
30895 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30896
8ef070f5 308972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30898
30899 * configure.ac: Bump version to 1.97~beta3.
30900 * docs/version.texi: Likewise.
30901
61229557 309022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30903
30904 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30905 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30906 from here ...
30907 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30908 (grub_linux_setup_video): ... to here (with some adjustments).
30909
5c9f8d84 309102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30911
30912 Fix memory corruption issue (spotted by Colin Watson).
30913
30914 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30915 causing returned size to be stored in an incorrect memory location.
30916 Fix use of uninitialized value when storing the returned size.
30917
e8f5d6e9 309182009-09-12 Yves Blusseau <blusseau@zetam.org>
30919
30920 Change clean rules to properly remove files
30921
30922 * genmk.rb: add new clean rules
30923 * Makefile.in (clean): add the new targets
30924 (mostlyclean): likewise
30925
cda2a409 309262009-09-11 Colin Watson <cjwatson@ubuntu.com>
30927
30928 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30929 to grub_uint64_t.
30930 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30931 non-resident files.
30932
86695375 309332009-09-11 Colin Watson <cjwatson@ubuntu.com>
30934
30935 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30936 part of bug #27349.
30937
8aa1541a 309382009-09-10 Felix Zielcke <fzielcke@z-51.de>
30939
30940 * util/grub-mkconfig.in: Make the created config mode 400 and
30941 print a warning if it fails.
30942
48d9bb0a 309432009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30944
30945 * util/grub.d/40_custom.in: Ask user to type custom entries below
30946 comment, rather than below 'exec tail' line.
30947
3b0521be 309482009-09-10 Colin Watson <cjwatson@ubuntu.com>
30949
30950 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30951 visible in grub.cfg.
30952
50051d55 309532009-09-10 Colin Watson <cjwatson@ubuntu.com>
30954
30955 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30956 file.
30957
c0d34387 309582009-09-10 Felix Zielcke <fzielcke@z-51.de>
30959
30960 * docs/grub.cfg: Add an example menu entry for memtest86+.
30961
80a608f3 309622009-09-09 Felix Zielcke <fzielcke@z-51.de>
30963
a2094832 30964 * config.guess: Update to latest version from config git.
80a608f3 30965 * config.sub: Likewise.
30966
99423078 309672009-09-08 Colin Watson <cjwatson@ubuntu.com>
30968
30969 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30970 unknown-command case. Fixes bug #27320.
30971
44454e4c 309722009-09-08 Felix Zielcke <fzielcke@z-51.de>
30973
30974 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30975 `help' if the command exists.
30976
e30d87ad 309772009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30978
30979 * INSTALL: Require GCC 4.1.3 or later.
30980
9a86f1ec 309812009-09-06 Yves Blusseau <blusseau@zetam.org>
30982
30983 * Makefile.in (RMKFILES): add i386-qemu.rmk
30984 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30985 $(srcdir)/stamp-h.in
30986
7f26d466 309872009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30988
30989 * util/grub-probe.c (probe): Comment out buggy codepath, which
30990 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30991 should be re-enabled after 1.97.
30992
3a613259 309932009-09-05 Felix Zielcke <fzielcke@z-51.de>
30994
30995 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30996 find searches for.
30997
197f76c7 309982009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30999
31000 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31001 unnecessary calls to grub_error.
31002
70ba68ce 310032009-09-04 Colin Watson <cjwatson@ubuntu.com>
31004
31005 * NEWS: Mention `keystatus' and Unicode fonts.
31006
4ff0d7a4 310072009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31008
31009 * configure.ac: Bump version to 1.97~beta2.
31010 * docs/version.texi: Likewise.
31011
77c55a87 310122009-09-03 Colin Watson <cjwatson@ubuntu.com>
31013
31014 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31015 containing unwind information in some cases where it previously did
31016 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31017 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31018 discussion.
31019
f79572cd 310202009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31021
31022 Embedding loadenv module into grub-emu
31023
31024 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31025 commands/loadenv.c
31026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31030 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31031 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31032
93a81088 310332009-09-03 Magnus Granberg <zorry@ume.nu>
31034
31035 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31036 include -fPIE in the default specs.
31037 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31038 to TARGET_CFLAGS.
31039
160034b2 310402009-09-03 Felix Zielcke <fzielcke@z-51.de>
31041
31042 * INSTALL: Note that GNU Bison 2.3 or later is required.
31043
087c07c4 310442009-09-03 Colin Watson <cjwatson@ubuntu.com>
31045
31046 * kern/i386/pc/startup.S: Fix typo.
31047
cbf978c0 310482009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31049
31050 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31051 according to GCS.
31052
310532009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31054
31055 * docs/grub.texi (Naming convention): Describe one-based partition
31056 numbering.
31057 (Device syntax): Likewise.
31058 (File name syntax): Likewise.
31059 (Block list syntax): Likewise.
31060 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31061 menu.lst.
31062 (File name syntax): Likewise.
31063 (Command-line and menu entry commands): Document acpi, blocklist,
31064 crc, export, insmod, keystatus, ls, set, and unset commands.
31065
f3e8cdfd 310662009-09-02 Colin Watson <cjwatson@ubuntu.com>
31067
31068 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31069 to avoid implying that only one of --shift, --ctrl, or --alt may be
31070 used.
31071
c0bc232b 310722009-09-02 Colin Watson <cjwatson@ubuntu.com>
31073
31074 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31075 rather than comparing against S_IFREG, which will almost never work.
31076
aa0f752d 310772009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31078
31079 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31080 (write_blocklists): Likewise.
31081
ecb3166a 310822009-09-01 Colin Watson <cjwatson@ubuntu.com>
31083
31084 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31085 argument to grub_printf.
31086
c403a125 310872009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31088
31089 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31090 non GNU test.
31aba781 31091
b5e7312c 310922009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31093
31094 * kern/file.c (grub_file_read): Spelling fix
31095
fe00f472 310962009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31097
31098 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31099 loading of headers in some cases.
31100
cc55302e 311012009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31102
31103 * configure.ac: Bump version to 1.97~beta1.
31104 * docs/version.texi: Likewise.
31105
5c90cdd2 311062009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31107
31108 * include/grub/i386/xnu.h: Add license header.
31109 include grub/err.h explicitly.
31110
c90edae4 311112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31112
31113 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31114 to `ufs' in the vfs.root.mountfrom kernel parameter.
31115
d8888b5c 311162009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31117
31118 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31119
31120 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31121 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31122
31123 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31124 `ARRAY_SIZE' macro.
31125
6f07b921 311262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31127
31128 * kern/file.c (grub_file_read): Check offset.
31129 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31130 * fs/jfs.c (grub_jfs_read_file): Likewise.
31131 * fs/ntfs.c (grub_ntfs_read): Likewise.
31132 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31133 * fs/minix.c (grub_minix_read_file): Correct offset check.
31134 * fs/ufs.c (grub_ufs_read_file): Likewise.
31135
b4f34077 311362009-08-28 Colin Watson <cjwatson@ubuntu.com>
31137
31138 * term/i386/pc/console.c (bios_data_area): Cast
31139 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31140
e7c69859 311412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31142
31143 1-bit optimised blitters.
31144
31145 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31146 prototype.
31147 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31148 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31149 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31150 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31151 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31152 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31153 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31154 function.
31155 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31156 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31157 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31158 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31159 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31160 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31161 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31162 when possible.
31163 * video/video.c (grub_video_get_blit_format): Return
31164 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31165
a57da43f 311662009-08-28 Colin Watson <cjwatson@ubuntu.com>
31167
31168 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31169 the first argument to grub_printf.
31170
4cbe67e5 311712009-08-28 Colin Watson <cjwatson@ubuntu.com>
311722009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31173
31174 Add `getkeystatus' terminal method. Add a new `keystatus' command
31175 to query it.
31176
31177 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31178 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31179 modifier key bitmasks.
31180 (struct grub_term_input): Add `getkeystatus' member.
31181 (grub_getkeystatus): Add prototype.
31182 * kern/term.c (grub_getkeystatus): New function.
31183
31184 * include/grub/i386/pc/memory.h
31185 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31186 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31187 Data Area layout.
31188 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31189 (grub_console_term_input): Set `getkeystatus' member.
31190 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31191 constants.
31192 (grub_usb_keyboard_getreport): Likewise.
31193 (grub_usb_keyboard_checkkey): Likewise.
31194 (grub_usb_keyboard_getkeystatus): New function.
31195 (grub_usb_keyboard_term): Set `getkeystatus' member.
31196
31197 * commands/keystatus.c: New file.
31198 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31199 (keystatus_mod_SOURCES): New variable.
31200 (keystatus_mod_CFLAGS): Likewise.
31201 (keystatus_mod_LDFLAGS): Likewise.
31202 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31203 commands/keystatus.c.
31204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31206 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31209 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31210
6e2a9085 312112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31212
31213 Split befs.mod and afs.mod into *_be.mod and *.mod
31214
31215 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31216 (grub_fstest_SOURCES): Likewise.
31217 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31218 (afs_be_mod_SOURCES): New variable.
31219 (afs_be_mod_CFLAGS): Likewise.
31220 (afs_be_mod_LDFLAGS): Likewise.
31221 (befs_be_mod_SOURCES): Likewise.
31222 (befs_be_mod_CFLAGS): Likewise.
31223 (befs_be_mod_LDFLAGS): Likewise.
31224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31226 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31227 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31228 (grub_emu_SOURCES): Likewise.
31229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31230 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31231 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31232 * fs/afs_be.c: New file.
31233 * fs/befs_be.c: New file.
31234 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31235 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31236 (U16): Replaced with ...
31237 (grub_afs_to_cpu16): ...this. All users updated.
31238 (U32): Replaced with ...
31239 (grub_afs_to_cpu32): ...this. All users updated.
31240 (U64): Replaced with ...
31241 (grub_afs_to_cpu64): ...this. All users updated.
31242 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31243 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31244 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31245 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31246 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31247 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31248 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31249 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31250 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31251 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31252 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31253
32a71655 312542009-08-26 Bean <bean123ch@gmail.com>
31255
31256 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31257 64-bit number.
31258 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31259 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31260 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31261
552bf6c5 312622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31263
31264 NetBSD memory map support.
31265
31266 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31267 (grub_netbsd_btinfo_mmap_header): New structure.
31268 (grub_netbsd_btinfo_mmap_entry): Likewise.
31269 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31270
1ae2078c 312712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31272
31273 Enable bsd.mod on coreboot.
31274
31275 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31276 (bsd_mod_SOURCES): New variable.
31277 (bsd_mod_CFLAGS): Likewise.
31278 (bsd_mod_LDFLAGS): Likewise.
31279 (bsd_mod_ASFLAGS): Likewise.
31280 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31281 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31282
beefc598 312832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31284
31285 Cleanup NetBSD root support.
31286
31287 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31288 grub_bsd_get_device.
31289 Fix typo.
31290
3b76e68b 312912009-08-25 Felix Zielcke <fzielcke@z-51.de>
31292
31293 * util/grub.d/00_header.in: Move check for the video backend of
31294 gfxterm from here ...
31295 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31296 a suitable video backend.
31297
aea664ea 312982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31299
31300 Fix breakage in grub-setup.
31301
31302 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31303 "msdos_partition_map".
31304
ff747d50 313052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31306
31307 Fix breakage in normal/auth.c.
31308
31309 * normal/auth.c (grub_iswordseparator): New function.
31310
e7e1f93f 313112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31312
31313 Authentication support.
31314
31315 * commands/password.c: New file.
31316 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31317 (password_mod_SOURCES): New variable.
31318 (password_mod_CFLAGS): Likewise.
31319 (password_mod_LDFLAGS): Likewise.
31320 (normal_mod_SOURCES): Add normal/auth.c.
31321 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31322 normal/auth.c.
31323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31328 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31329 * include/grub/auth.h: New file.
31330 * include/grub/err.h (grub_err_t): New enum value
31331 GRUB_ERR_ACCESS_DENIED.
31332 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31333 'users'.
31334 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31335 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31336 users updated.
31337 * normal/auth.c: New file.
31338 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31339 (grub_cmdline_run): Don't allow to go to command line without
31340 authentication.
31341 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31342 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31343 menuentry without superuser rights.
31344 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31345 user isn't a superuser.
31346
70f1161d 313472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31348
31349 Save space by inlining misc.c functions.
31350
31351 * kern/misc.c (grub_iswordseparator): Made static.
31352 * kern/misc.c (grub_strcat): Moved from here ...
31353 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31354 * kern/misc.c (grub_strncat): Moved from here ...
31355 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31356 * kern/misc.c (grub_strcasecmp): Moved from here ...
31357 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31358 * kern/misc.c (grub_strncasecmp): Moved from here ...
31359 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31360 * kern/misc.c (grub_isalpha): Moved from here ...
31361 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31362 * kern/misc.c (grub_isdigit): Moved from here ...
31363 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31364 * kern/misc.c (grub_isgraph): Moved from here ...
31365 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31366 * kern/misc.c (grub_tolower): Moved from here ...
31367 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31368
48e40bff 313692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31370
31371 * script/sh/function.c (grub_script_function_find): Cut error message
31372 not to flood terminal.
31373 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31374 limit.
31375 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31376
c385bfc3 313772009-08-24 Colin Watson <cjwatson@ubuntu.com>
31378
31379 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31380 `report' grub_uint8_t *.
31381 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31382 Use a 50-millisecond timeout rather than just repeating
31383 grub_usb_keyboard_getreport 50 times.
31384 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31385
2d21e3e8 313862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31387
31388 Rename *_partition_map to part_*
31389
31390 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31391 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31392 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31393 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31394 All users updated.
31395 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31396 All users updated.
31397 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31398 * util/grub-probe.c (probe_partmap): Don't transform partition name
31399 to get module name.
31400
dd103c4e 314012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31402
31403 Fix OpenBSD and NetBSD support.
31404
31405 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31406 memory address conflict.
31407 (OPENBSD_MMAP_ACPI): New definition.
31408 (OPENBSD_MMAP_NVS): Likewise.
31409 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31410 and OPENBSD_MMAP_NVS.
31411 Add memory map terminator
31412 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31413 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31414
16c84d74 314152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31416
31417 Let user specify NetBSD root device.
31418
31419 * loader/i386/bsd.c (netbsd_root): New variable.
31420 (netbsd_opts): New option 'root'.
31421 (NETBSD_ROOT_ARG): New macro.
31422 (grub_netbsd_boot): Use 'netbsd_root'.
31423 (grub_bsd_unload): Free 'netbsd_root'.
31424 (grub_cmd_netbsd): Fill 'netbsd_root'.
31425
adb29902 314262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31427
31428 Support for 64-bit NetBSD.
31429
31430 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31431 point when booting non-FreeBSD.
31432
f5ae9f74 314332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31434
31435 Support --no-smp and --no-acpi for NetBSD.
31436
31437 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31438 (NETBSD_AB_NOACPI): Likewise.
31439 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31440 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31441
de74f136 314422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31443
31444 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31445 errors.
31446 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31447 errors. Call grub_error when needed.
31448
e9a925da 314492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31450
31451 * commands/search.c (search_fs): Try searching without autoload first.
31452 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31453 filesystem module explicitly for faster booting.
31454
5174302b 314552009-08-23 Colin Watson <cjwatson@ubuntu.com>
31456
31457 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31458
c8c80635 314592009-08-23 Colin Watson <cjwatson@ubuntu.com>
31460
31461 * util/grub.d/30_os-prober.in: Disable os-prober if
31462 `GRUB_DISABLE_OS_PROBER' was set to true.
31463
71acf5e5 314642009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31465
31466 * partmap/pc.c: Rename to ...
31467 * partmap/msdos.c: ... this. Update all users.
31468 (grub_pc_partition_map): Rename to ...
31469 (grub_msdos_partition_map): ... this. Update all users.
31470
31471 * parttool/pcpart.c: Rename to ...
31472 * parttool/msdospart.c: ... this. Update all users.
31473
31474 * include/grub/pc_partition.h: Rename to ...
31475 * include/grub/msdos_partition.h: ... this. Update all users.
31476 (grub_pc_partition_bsd_entry): Rename to ...
31477 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31478 (grub_pc_partition_disk_label): Rename to ...
31479 (grub_msdos_partition_disk_label): ... this. Update all users.
31480 (grub_pc_partition_entry): Rename to ...
31481 (grub_msdos_partition_entry): ... this. Update all users.
31482 (grub_pc_partition_mbr): Rename to ...
31483 (grub_msdos_partition_mbr): ... this. Update all users.
31484 (grub_pc_partition): Rename to ...
31485 (grub_msdos_partition): ... this. Update all users.
31486 (grub_pc_partition_is_empty): Rename to ...
31487 (grub_msdos_partition_is_empty): ... this. Update all users.
31488 (grub_pc_partition_is_extended): Rename to ...
31489 (grub_msdos_partition_is_extended): ... this. Update all users.
31490 (grub_pc_partition_is_bsd): Rename to ...
31491 (grub_msdos_partition_is_bsd): ... this. Update all users.
31492
31493 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31494 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31495 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31496 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31497 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31498 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31499 (gpt_mod_LDFLAGS): Rename to ...
31500 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31501 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31502 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31503 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31504 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31505 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31506 (part_gpt_mod_LDFLAGS): ... this.
31507 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31508 `pcpart.mod' to `msdospart.mod'.
31509 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31510 to ...
31511 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31512 (msdospart_mod_LDFLAGS): ... this.
31513
c11fded5 315142009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31515
31516 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31517 (openbsd_opts): Likewise.
31518 (netbsd_opts): Likewise.
31519 (freebsd_flags): Added 0 terminator.
31520 (openbsd_flags): Likewise.
31521 (netbsd_flags): Likewise.
31522 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31523 (grub_cmd_freebsd): Transformed into extended command.
31524 (grub_cmd_openbsd): Likewise.
31525 (grub_cmd_netbsd): Likewise.
31526 (cmd_freebsd): Changed type to grub_extcmd_t.
31527 (cmd_openbsd): Likewise.
31528 (cmd_netbsd): Likewise.
31529 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31530 grub_cmd_openbsd as extended commands.
31531 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31532 cmd_netbsd and cmd_openbsd
31533
11d1c769 315342009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31535
31536 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31537
7a9094e5 315382009-08-21 Pavel Roskin <proski@gnu.org>
31539
5496c37e 31540 * Makefile.in (install-local): When checking if a file is in the
31541 build directory, use "test -e" to detect symlinks.
31542
7a9094e5 31543 * Makefile.in (install-local): Remove all files in
31544 $(DESTDIR)$(pkglibdir) before installing new files there.
31545
e53cea11 315462009-08-18 Felix Zielcke <fzielcke@z-51.de>
31547
31548 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31549 grub-mkelfimage.
31550
9aced544 315512009-08-18 Felix Zielcke <fzielcke@z-51.de>
31552
31553 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31554 explicitly specified by the user.
31555
b7da6bab 315562009-08-18 Pavel Roskin <proski@gnu.org>
31557
31558 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31559 grub_uint8_t pointer for data.
31560 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31561 Likewise.
31562 * video/fb/fbutil.c: Remove unnecessary casts.
31563
19f1b335 315642009-08-17 Michal Suchanek <hramrach@centrum.cz>
31565
31566 VBE cleanup.
31567
31568 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31569 (grub_vbe_set_video_mode): Save active mode info
31570 only after setting the mode.
31571 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31572 second argument.
31573
2f467aa9 315742009-08-17 Michal Suchanek <hramrach@centrum.cz>
31575
31576 Rename variables for clarity.
31577
31578 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31579 (active_vbe_mode_info): ... this. All users updated.
31580 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31581 All users updated.
31582 (initial_mode): Rename to ...
31583 (initial_vbe_mode): ... this. All users updated.
31584 (mode_in_use): Rename to ..
31585 (vbe_mode_in_use): ... this. All users updated.
31586 (mode_list): Rename to ..
31587 (vbe_mode_list): ... this. All users updated.
31588 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31589 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31590 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31591 'mode_list_size' to 'vbe_mode_list_size'.
31592 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31593 'best_mode_info' to 'best_vbe_mode_info' and
31594 'best_mode' to 'best_vbe_mode'
31595
6025fcd7 315962009-08-17 Michal Suchanek <hramrach@centrum.cz>
31597
31598 Remove duplicate grub_video_fb_get_video_ptr.
31599
31600 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31601 (grub_video_fb_get_video_ptr): ... this.
31602 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31603 * video/fb/fbutil.c: Add comment about addressing.
31604 (get_data_ptr): Rename to ...
31605 (grub_video_fb_get_video_ptr): ... this. All users updated.
31606 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31607
cc8c6faf 316082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31609
31610 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31611 grub_dprintf() that was just added.
31612
08aa61f0 316132009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31614
31615 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31616 (DEFAULT_VIDEO_MODE): Remove macros.
31617 (grub_linux_boot): Remove assumption that Linux has FB support,
31618 and use "text" as default video mode.
31619
7cef4f75 316202009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31621
31622 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31623 grub_dprintf.
31624 * fs/fat.c (grub_fat_read_data): Likewise.
31625
e1f39873 316262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31627
31628 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31629 payload.
31630 (grub_module): Likewise.
31631
c166d79e 316322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31633
31634 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31635 mbi->cmdline but free playground.
31636
c60cee8e 316372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31638
31639 Handle group offset on UFS1.
31640
31641 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31642 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31643
c0d8b5d4 316442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31645
31646 Split ufs.mod into ufs1.mod and ufs2.mod.
31647
31648 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31649 (grub_fstest_SOURCES): Likewise.
31650 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31651 (ufs_mod_SOURCES): Remove.
31652 (ufs_mod_CFLAGS): Likewise.
31653 (ufs_mod_LDFLAGS): Likewise.
31654 (ufs1_mod_SOURCES): New variable.
31655 (ufs1_mod_CFLAGS): Likewise.
31656 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31657 (ufs2_mod_SOURCES): New variable.
31658 (ufs2_mod_CFLAGS): Likewise.
31659 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31661 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31662 Likewise.
31663 (grub_emu_SOURCES): Likewise.
31664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31665 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31666 (grub_setup_SOURCES): Likewise.
31667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31668 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31669 (grub_setup_SOURCES): Likewise.
31670 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31671 Likewise.
31672 * fs/ufs2.c: New file.
31673 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31674
d3539132 316752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31676
31677 Framebuffer split.
31678
31679 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31680 subsystem at the end.
31681 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31682 (video_fb_mod_SOURCES): New variable.
31683 (video_fb_mod_CFLAGS): Likewise.
31684 (video_fb_mod_LDFLAGS): Likewise.
31685 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31686 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31687 * video/i386/pc/vbeblit.c: Moved from here ...
31688 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31689 * video/i386/pc/vbefill.c: Moved from here ...
31690 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31691 * video/i386/pc/vbeutil.c: Moved from here ...
31692 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31693 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31694 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31695 * include/grub/i386/pc/vbefill.h: Moved from here ...
31696 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31697 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31698 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31699 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31700 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31701 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31702 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31703 (grub_video_adapter): Added 'get_info_and_fini'.
31704 (grub_video_get_info_and_fini): New prototype.
31705 (grub_video_set_mode): make modestring const char *.
31706 * loader/i386/linux.c (grub_linux_setup_video): Use
31707 grub_video_get_info_and_fini.
31708 (grub_linux_boot): Move modesetting just before booting.
31709 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31710 grub_video_get_info_and_fini.
31711 * video/i386/pc/vbe.c: Moved framebuffer part ...
31712 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31713 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31714 grub_video_fbstd_colors and grub_video_fb_set_palette.
31715 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31716 grub_video_fb_init.
31717 (grub_video_vbe_fini): Use grub_video_fb_fini.
31718 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31719 render_target and use grub_video_fb_set_active_render_target and
31720 grub_video_fb_set_palette.
31721 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31722 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31723 (grub_video_vbe_adapter): Use framebuffer.
31724 * video/video.c (grub_video_get_info_and_fini): New function.
31725 (grub_video_set_mode): Make modestring const char *.
31726 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31727 values are already initialised.
31728
d404ee56 317292009-08-14 Pavel Roskin <proski@gnu.org>
31730
31731 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31732 ABS and APPLE_CC.
31733 * boot/i386/pc/diskboot.S: Likewise.
31734 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31735 sectors allow compilation on MacOSX.
31736 * conf/i386-pc.rmk: Enable unconditional compilation of
31737 lnxboot.img.
31738
9a10df16 317392009-08-13 Colin Watson <cjwatson@ubuntu.com>
31740
31741 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31742 * util/grub.d/00_header.in: Enter interruptible sleep if
31743 GRUB_HIDDEN_TIMEOUT is set.
31744
be3c9ca7 317452009-08-13 Yves Blusseau <blusseau@zetam.org>
31746
31747 * include/grub/symbol.h: Add the LOCAL macro.
31748 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31749 starting with "L_".
31750
1f9e557e 317512009-08-13 Pavel Roskin <proski@gnu.org>
31752
9ca62843 31753 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31754 any modern compilers we support.
31755
1f9e557e 31756 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31757 Use local labels starting with "L_" so that Apple assembler
31758 knows they are local.
31759
81623db6 317602009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31761
31762 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31763 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31764 (bsd_kernel_types): ... this enum.
31765
31766 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31767 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31768 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31769
31770 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31771 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31772 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31773 messages.
31774
f5d35e7a 317752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 * util/grub-dumpdevtree: Moved from here ...
31778 * util/i386/efi/grub-dumpdevtree: ... to here.
31779 (hexify): New function. Converts a string to its hex version.
31780 Generate hex versions of "efi" and "device-properties" by calling
31781 hexify() on the ASCII strings rather than by hardcoding numbers.
31782
d1e1d527 317832009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31784
31785 * fs/jfs.c: Update copyright year.
31786
1ebbe064 317872009-08-08 Felix Zielcke <fzielcke@z-51.de>
31788
31789 * util/grub.d/00_header.in: Fix a comment.
31790 * util/grub.d/10_linux.in: Likewise.
31791 * util/grub.d/10_windows.in: Likewise.
31792 * util/grub.d/10_hurd.in: Likewise.
31793
a78c8d24 317942009-08-08 Felix Zielcke <fzielcke@z-51.de>
31795
31796 * util/grub-mkconfig.in: Allow the user to specify the used font
31797 with GRUB_FONT.
31798
29a6b9e8 317992009-08-08 Pavel Roskin <proski@gnu.org>
31800
b5f16cc4 31801 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31802 available, xfs.mod needs it now.
31803
2f5cb827 31804 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31805 the "g" modifier in sed when the intention is to strip something
31806 once. This fixes comparison of kernels with multiple dashes.
31807
29a6b9e8 31808 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31809 on it. Add missing space before closing bracket. Fix
31810 misleading formatting.
31811
892a3d98 318122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31813
31814 * docs/grub.texi: Major overhaul. Remove all sections that are
31815 specific to GRUB Legacy, or mostly composed of Legacy-specific
31816 information.
31817
ed94253f 318182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31819
31820 * docs/version.texi: New file. Provides version information for
31821 grub.texi.
31822
126d6628 318232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31824
31825 * docs/grub.texi: Update CVS information to SVN.
31826 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31827
998b5aa9 318282009-08-07 Felix Zielcke <fzielcke@z-51.de>
31829
31830 * util/grub-mkconfig.in: Remove a wrong `fi'.
31831
818e094a 318322009-08-07 Felix Zielcke <fzielcke@z-51.de>
31833
31834 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31835 (grub_jfs_uuid): New function.
31836 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31837
b969c52f 318382009-08-07 Felix Zielcke <fzielcke@z-51.de>
31839
31840 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31841 of it to ...
31842 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31843 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31844
7a4894cc 318452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31846
31847 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31848 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31849 Update all users.
31850
31851 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31852 not just "vmlinu[zx]".
31853 Moved from here ...
31854 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31855 all users.
31856
31857 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31858 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31859 all users.
31860
4e2171f8 318612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31862
31863 * util/grub.d/10_freebsd.in: Use an absolute device path for
31864 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31865
6dcfcb32 318662009-08-06 Felix Zielcke <fzielcke@z-51.de>
31867
31868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31869 handling of multiple abstraction modules.
31870
f56a8756 318712009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31872
31873 Fix a bug resulting in black screen when loading Linux using a
31874 packed video mode.
31875
31876 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31877 function.
31878
31879 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31880 (grub_vbe_bios_getset_dac_palette_width): New function.
31881 (grub_vbe_bios_get_dac_palette_width)
31882 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31883 grub_vbe_bios_getset_dac_palette_width()).
31884
31885 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31886 check for return status.
31887 (grub_vbe_get_video_mode_info): When getting information for a packed
31888 mode (<= 8 bpp), obtain DAC palette width using
31889 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31890 {red,green,blue}_mark_size.
31891
222671b2 318922009-08-04 Felix Zielcke <fzielcke@z-51.de>
31893
ecb1a6d9 31894 * commands/search.c (options): Fix help output to match actual code.
222671b2 31895
f84114f5 318962009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31897
31898 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31899 of homegrown code.
31900
bd288a20 319012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31902
31903 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31904 on XFS or ReiserFS.
31905
8aab5e25 319062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31907
31908 Support Apple partition map with sector size different from 512 bytes.
31909
31910 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31911 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31912 and 'apart.partmap_size'.
31913
6ad6258a 319142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
319152009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 Fix cpuid command.
31918
31919 * commands/i386/cpuid.c (options): New variable.
31920 (grub_cmd_cpuid): Return real error.
31921 (GRUB_MOD_INIT(cpuid)): Declare options.
31922
67459bc6 319232009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31924
31925 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31926 valid.
31927
fbc6ab54 319282009-07-31 Bean <bean123ch@gmail.com>
31929
31930 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31931 log2_inode.
31932 (grub_fshelp_node): Move inode field to the end.
31933 (grub_xfs_data): Remove inode field.
31934 (grub_xfs_inode_block): Calculate inode size using sblock.
31935 (grub_xfs_inode_offset): Likewise.
31936 (grub_xfs_read_inode): Calculate inode size using sblock.
31937 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31938 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31939 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31940 to match inode size.
31941 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31942 not accessible when data is null.
31943 (grub_xfs_open): Likewise.
31944
f45d6cfc 319452009-07-31 Bean <bean123ch@gmail.com>
31946
31947 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31948 Don't change pv->disk if it's already set.
31949
31950 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31951 (grub_raid_register): ... here.
31952 (grub_raid_rescan): Removed.
31953
31954 * include/grub/raid.h (grub_raid_rescan): Removed.
31955
31956 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31957 (fstest): Replace grub_raid_rescan with module fini function followed
31958 by init function.
31959
31960 * util/grub-probe.c: Add include file <grub/raid.h>.
31961 (probe_raid_level): New function.
31962 (probe): Detect abstraction by walking the disk device, support two
31963 level of abstraction (LVM on RAID) when detecting partition map.
31964
24443b5a 319652009-07-31 Pavel Roskin <proski@gnu.org>
31966
31967 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31968 to grub_zalloc(), it was erroneous.
31969 Reported by Bean <bean123ch@gmail.com>
31970
a275d9e7 319712009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31972
31973 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31974 embedding zone, not only the first one.
a275d9e7 31975
56c5a47f 319762009-07-29 Joe Auricchio <jauricchio@gmail.com>
31977
31978 * term/gfxterm.c (clear_char): New function.
31979 (grub_virtual_screen_setup): Use clear_char.
31980 (scroll_up): Likewise.
31981 (grub_virtual_screen_cls): Likewise.
31982
67bb323a 319832009-07-29 Felix Zielcke <fzielcke@z-51.de>
31984
31985 * util/deviceiter.c (get_acceleraid_disk_name): New static
31986 function.
31987 (grub_util_iterate_devices): Handle Accelraid devices.
31988 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31989
388a7c75 319902009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31991
31992 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31993 separator for the suggested gfxpayload string (';' collides with the
31994 parser and needs escaping).
31995
3bb7abcf 319962009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31997
31998 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31999 Clear direction flag before jumping to OS.
32000 (grub_multiboot2_real_boot): Likewise.
32001
2ddd36d7 320022009-07-28 Felix Zielcke <fzielcke@z-51.de>
32003
32004 * util/i386/pc/grub-install: Fix parsing of --disk-module
32005 option.
32006
c521b62b 320072009-07-28 Felix Zielcke <fzielcke@z-51.de>
32008
32009 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32010 when embedding.
32011
880e0a0c 320122009-07-26 Felix Zielcke <fzielcke@z-51.de>
32013
32014 * util/grub-mkconfig.in (package_version): New variable.
32015 Use it do display the version.
32016
2366e356 320172009-07-25 Felix Zielcke <fzielcke@z-51.de>
32018
32019 * kern/file.c (grub_file_open): Revert to previous check with
32020 grub_errno.
32021
7ad8c80e 320222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32023
32024 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32025 from help line. It's out of sync with code.
32026
72b9658b 320272009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32028
32029 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32030 entries on failed boot.
32031
77435277 320322009-07-25 Felix Zielcke <fzielcke@z-51.de>
32033
32034 * kern/file.c (grub_file_open): Fix an error check.
32035
fcaa8b21 320362009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32037
35d16c74 32038 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32039 partition map couldn't be identified.
fcaa8b21 32040
48904cd1 320412009-07-23 Pavel Roskin <proski@gnu.org>
32042
ef3c317f 32043 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32044 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32045 case of little endian words becomes just an optimization.
32046 Respect const modifier.
ad8ea1f4 32047 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32048
48904cd1 32049 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32050 to avoid loss of upper bits if align is unsigned and shorter
32051 than addr.
32052
260c9a89 320532009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32054
32055 UUID support for UFS
32056
32057 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32058 (grub_ufs_uuid): New function.
32059 (grub_ufs_fs): add .uuid
32060
f76ce889 320612009-07-21 Pavel Roskin <proski@gnu.org>
32062
32063 * kern/dl.c (grub_dl_check_header): Make static.
32064
6a6cbcaf 320652009-07-21 Felix Zielcke <fzielcke@z-51.de>
32066
32067 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32068 add drivemap for Vista. It breaks Windows 7.
32069
cffcddb2 320702009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32071
32072 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32073 128 bytes
32074
1ef44b80 320752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32076
32077 Add BFS support
32078
32079 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32080 (grub_fstest_SOURCES): Likewise.
32081 (pkglib_MODULES): Add befs.mod.
32082 (befs_mod_SOURCES): New variable.
32083 (befs_mod_CFLAGS): Likewise.
32084 (befs_mod_LDFLAGS): Likewise.
32085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32086 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32088 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32089 (grub_setup_SOURCES): Likewise.
32090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32091 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32092 (grub_setup_SOURCES): Likewise.
32093 * fs/befs.c: New file.
32094 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32095 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32096 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32097 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32098 (B_KEY_INDEX_ALIGN): New declaration.
32099 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32100 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32101 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32102 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32103 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32104 (grub_afs_mount) [MODE_BFS]: Likewise.
32105 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32106 (grub_afs_fs): Use GRUB_AFS_FSNAME
32107 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32108 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32109 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32110 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32111
4f253044 321122009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32113
32114 * util/getroot.c (find_root_device): Add support for MacOSX.
32115 * util/hostdisk.c: Likewise.
32116
57a55913 321172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32118
32119 * font/font.c (find_glyph): Check whether a font is present to avoid
32120 segmentation fault.
75421ca9 32121
321222009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32123
32124 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32125
e98cd0c2 321262009-07-20 Pavel Roskin <proski@gnu.org>
32127
32128 * configure.ac: Trim excessively wordy excuses.
32129
1d2d169a 321302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32131
32132 Add symlink, mtime and label support to AtheFS.
32133
32134 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32135 (grub_afs_iterate_dir): Handle symlinks.
32136 (grub_afs_open): Use grub_afs_read_symlink.
32137 (grub_afs_dir): Likewise.
32138 Pass mtime.
32139 (grub_afs_label): New function.
32140 (grub_afs_fs): Add grub_afs_label.
32141 (grub_afs_read_symlink): New function.
32142
186f3189 321432009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32144
32145 Fix AtheFS support.
32146
32147 * fs/afs.c: Fix comments style.
32148 (grub_afs_blockrun): Declare as packed.
32149 (grub_afs_datastream): Likewise.
32150 (grub_afs_bnode): Likewise.
32151 (grub_afs_btree): Likewise.
32152 (grub_afs_sblock): Likewise.
32153 Declare `name' as char.
32154 (grub_afs_inode): Declare as packed.
32155 Change void *vnode to grub_uint32_t unused.
32156 (grub_afs_iterate_dir): Check that key_size is positive.
32157 (grub_afs_mount): Don't read superblock twice.
75421ca9 32158 (grub_afs_dir): Don't free node in case of error,
186f3189 32159 grub_fshelp_find_file already handles this.
32160 (grub_afs_open): Likewise.
32161
5680109e 321622009-07-19 Pavel Roskin <proski@gnu.org>
32163
32164 * Makefile.in: Remove LIBLZO and enable_lzo.
32165 * conf/i386-pc.rmk: Remove lzo support.
32166 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32167 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32168 support.
32169 * kern/i386/pc/lzo1x.S: Remove.
32170 * kern/i386/pc/startup.S: Remove lzo support.
32171 * util/i386/pc/grub-mkimage.c: Likewise.
32172
ac70fa32 321732009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32176 * fs/xfs.c (grub_xfs_dir): Likewise.
32177 * fs/afs.c (grub_afs_dir): Likewise.
32178 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32179 (grub_iso9660_open): Likewise.
32180 * fs/jfs.c (grub_jfs_open): Likewise.
32181 * fs/ext2.c (grub_ext2_dir): Likewise.
32182 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32183 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32184
eab58da2 321852009-07-16 Pavel Roskin <proski@gnu.org>
32186
d2838156 32187 * configure.ac: Never add "-c" to CFLAGS.
32188
55c70904 32189 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32190
43e6200c 32191 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32192 grub_cv_cc_efiemu should be used.
32193
ce7a733d 32194 * configure.ac: Typo fixes.
32195
eab58da2 32196 * kern/mm.c (grub_zalloc): New function.
32197 (grub_debug_zalloc): Likewise.
32198 * include/grub/mm.h: Declare grub_zalloc() and
32199 grub_debug_zalloc().
32200 * util/misc.c (grub_zalloc): New function.
32201 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32202 instead of grub_malloc(), remove unneeded initializations.
32203 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32204 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32205 * commands/parttool.c (grub_cmd_parttool): Likewise.
32206 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32207 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32208 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32209 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32210 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32211 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32212 (grub_cmd_efiemu_pnvram): Likewise.
32213 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32214 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32215 (grub_iso9660_iterate_dir): Likewise.
32216 * fs/jfs.c (grub_jfs_opendir): Likewise.
32217 * fs/ntfs.c (list_file): Likewise.
32218 (grub_ntfs_mount): Likewise.
32219 * kern/disk.c (grub_disk_open): Likewise.
32220 * kern/dl.c (grub_dl_load_core): Likewise.
32221 * kern/elf.c (grub_elf_file): Likewise.
32222 * kern/env.c (grub_env_context_open): Likewise.
32223 (grub_env_set): Likewise.
32224 (grub_env_set_data_slot): Likewise.
32225 * kern/file.c (grub_file_open): Likewise.
32226 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32227 * loader/i386/multiboot.c (grub_module): Likewise.
32228 * loader/xnu.c (grub_xnu_create_key): Likewise.
32229 (grub_xnu_create_value): Likewise.
32230 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32231 (read_config_file): Likewise.
32232 * normal/menu_entry.c (make_screen): Likewise.
32233 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32234 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32235 * script/sh/script.c (grub_script_parse): Likewise.
32236 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32237 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32238 * video/readers/png.c (grub_png_output_byte): Likewise.
32239 (grub_video_reader_png): Likewise.
32240
830afef7 322412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32242
32243 Enable all targets that can be built by default
32244
830afef7 32245 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32246 grub-mkfont and grub-fstest if they can be built
32247
ee293aee 322482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32249
32250 Fix hang and segmentation fault in grub-emu-usb
32251
32252 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32253 * util/usb.c (grub_libusb_devices): likewise
32254 (grub_libusb_init): rename to ...
32255 (GRUB_MOD_INIT (libusb)):...this
32256 (grub_libusb_fini): rename to ..
32257 (GRUB_MOD_FINI (libusb)):...this
32258 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32259 * include/grub/disk.h (grub_raid_init): removed, it's useless
32260 (grub_raid_fini): likewise
32261 (grub_lvm_init): likewise
32262 (grub_lvm_fini): likewise
32263 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32264 by grub_init_all
32265
94414221 322662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32267
32268 Fix libusb
32269
32270 * Makefile.in (LIBUSB): new macro
32271 * genmk.rb (Utility/print_tail): new method
32272 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32273 (top level): call util.print_tail at the end.
32274
59ade63d 322752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32276
32277 Make FreeBSD accept zpool.cache
32278
32279 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32280 type is /boot/zfs/zpool.cache
32281
a58da8c7 322822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32283
32284 Fix 64-bit efiemu
32285
32286 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32287 correct wrong typedef
32288 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32289
20591577 322902009-07-15 Pavel Roskin <proski@gnu.org>
32291
560ca572 32292 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32293 * kern/disk.c (struct grub_disk_cache): Likewise.
32294
e8e8e4fd 32295 * commands/probe.c (options): Typo fix.
32296
fde24e10 32297 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32298 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32299 accordingly.
32300 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32301
379c54c1 32302 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32303 the end of "Error" to make the message more readable.
32304
7bd8f5bf 32305 * boot/i386/pc/boot.S (kernel_segment): Remove.
32306 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32307 for destination.
32308
40b132c5 32309 * boot/i386/pc/boot.S (boot_version): Remove.
32310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32311 Remove.
32312
20591577 32313 * include/grub/i386/pc/boot.h: Sort all offsets.
32314 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32315 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32316 * boot/i386/pc/boot.S: Assert location of every offset listed in
32317 include/grub/i386/pc/boot.h.
32318
2df32b2c 323192009-07-13 Pavel Roskin <proski@gnu.org>
32320
44b5d879 32321 * include/grub/i386/coreboot/machine.h: Rename
32322 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32323 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32324 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32325
17dc3751 32326 * kern/dl.c: Force native word size to suppress warnings when
32327 compiling grub-emu.
32328
2df32b2c 32329 * kern/device.c (grub_device_iterate): Change struct part_ent to
32330 hold the name, not a pointer to it. Use one grub_malloc() per
32331 partition, not two. Free partition_name if grub_malloc() fails.
32332 Set ents to NULL only before grub_partition_iterate() is called.
32333
75c59f59 323342009-07-11 Bean <bean123ch@gmail.com>
32335
32336 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32337 childname.
32338
0ae1bf88 323392009-07-10 Bean <bean123ch@gmail.com>
323402009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32341
32342 * kern/ieee1275/openfw.c (grub_children_iterate)
32343 (grub_devalias_iterate): Fix size evaluation for property or path
32344 strings, which was broken since r2132.
32345
8279cade 323462009-07-07 Pavel Roskin <proski@gnu.org>
32347
7d8a52d3 32348 * commands/search.c (search_file): Merge into ...
32349 (search_fs): ... this. Accept search type as argument.
32350 (grub_cmd_search): Pass search type to search_fs().
32351
25f9a05a 32352 * include/grub/util/console.h: New file.
32353 * util/console.c: Use it instead of grub/machine/console.h.
32354 * util/grub-emu.c: Likewise.
32355
8279cade 32356 * lib/arg.c (find_long_option): Remove.
32357 (find_long): Add `len' argument, make `s' const char *.
32358 (grub_arg_parse): Parse long options in place, not in a
32359 temporary buffer.
32360
4a11b60f 323612009-07-06 Pavel Roskin <proski@gnu.org>
32362
99f68041 32363 * commands/search.c (search_fs): Fix potential NULL pointer
32364 dereference.
32365
4a11b60f 32366 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32367 function pointer.
32368
e110f4de 323692009-07-06 Daniel Mierswa <impulze@impulze.org>
32370
32371 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32372 comparison.
32373
46eeb6a2 323742009-07-05 Pavel Roskin <proski@gnu.org>
32375
bab74958 32376 * include/grub/i386/linux.h (struct linux_kernel_params):
32377 Restore padding3, it's still needed.
32378
46eeb6a2 32379 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32380 FreeBSD.
32381 * util/osdetect.lua: Likewise.
32382
b4a1dc79 323832009-07-05 Bean <bean123ch@gmail.com>
32384
32385 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32386
32387 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32388 (grub_lua_getenv): Likewise.
32389 (grub_lua_setenv): Likewise.
32390 (save_errno): New function.
32391 (push_result): Likewise.
32392 (grub_lua_enum_device): Likewise.
32393 (grub_lua_enum_file): Likewise.
32394 (grub_lua_file_open): Likewise.
32395 (grub_lua_file_close): Likewise.
32396 (grub_lua_file_seek): Likewise.
32397 (grub_lua_file_read): Likewise.
32398 (grub_lua_file_getline): Likewise.
32399 (grub_lua_file_getsize): Likewise.
32400 (grub_lua_file_getpos): Likewise.
32401 (grub_lua_file_eof): Likewise.
32402 (grub_lua_file_exist): Likewise.
32403 (grub_lua_add_menu): Likewise.
32404
32405 * script/lua/grub_lua.h (isupper): New inline function.
32406 (islower): Likewise.
32407 (ispunct): Likewise.
32408 (isxdigit): Likewise.
32409 (strcspn): Change to normal function.
32410 (strpbkr): New function declaration.
32411 (memchr): Likewise.
32412
32413 * script/lua/grub_main.c (scan_str): New function.
32414 (strcspn): Likewise.
32415 (strpbrk): Likewise.
32416 (memchr): Likewise.
32417
32418 * script/lua/linit.c (lualibs): Enable the string library.
32419
32420 * util/osdetect.lua: New file.
32421
2da92295 324222009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32423
32424 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32425 `capabilities' member.
32426
b2582ec9 324272009-07-02 Pavel Roskin <proski@gnu.org>
32428
32429 * genparttoollist.sh: Add missing newline at the end.
32430
32622956 324312009-07-01 Pavel Roskin <proski@gnu.org>
32432
87a7339e 32433 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32434
d23af54e 32435 * util/hostdisk.c (open_device): Remove `const' from
32436 `sysctl_size', as sysctlbyname() can change it (in this case it
32437 doesn't actually happen).
32438
c94b18a9 32439 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32440 using signed long int constants.
32441
c6cd3ef0 32442 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32443 constant to avoid a warning on FreeBSD.
32444
0df63420 32445 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32446 where it's needed.
32447
999577f1 32448 * Makefile.in: Install include/grub/machine symlink.
32449
6f41557f 32450 * Makefile.in: When installing symlinks, use "cp -fR", which
32451 works on FreeBSD and MacOSX.
32452 From Yves Blusseau <cl7m42e02@sneakemail.com>
32453
c8d22988 32454 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32455 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32456
1b96e952 32457 * util/misc.c: Move grub_reboot() and grub_halt() ...
32458 * util/grub-emu.c: ... here. Make main_env static.
32459 * include/grub/util/misc.h: Remove main_env.
32460
2ef0084d 32461 * kern/mm.c: Use correct format to print size_t.
32462
32622956 32463 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32464 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32465 * kern/powerpc/dl.c: Likewise.
32466 * kern/sparc64/dl.c: Likewise.
32467 * kern/x86_64/dl.c: Likewise.
32468
3f7f0cd0 324692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 Fix grub-emu build on sparc64-ieee1275.
32472
75421ca9 32473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32475
211d06b5 324762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32479 (grub_reboot, grub_halt): New functions.
32480
32481 * util/i386/pc/misc.c: Delete. Update all users.
32482 * util/sparc64/ieee1275/misc.c: Likewise.
32483 * util/powerpc/ieee1275/misc.c: Likewise.
32484
aaf53e3c 324852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32486
32487 * conf/i386.rmk (setjmp_mod_SOURCES)
32488 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32489 * conf/common.rmk (setjmp_mod_SOURCES)
32490 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32491 to use $(target_cpu).
32492 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32493 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32494 * conf/powerpc-ieee1275.rmk: Likewise.
32495 * conf/sparc64-ieee1275.rmk: Likewise.
32496
32497 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32498 $(target_cpu) for kern/$(target_cpu)/dl.c.
32499 * conf/i386-efi.rmk: Likewise.
32500 * conf/i386-ieee1275.rmk: Likewise.
32501 * conf/x86_64-efi.rmk: Likewise.
32502 * conf/i386-coreboot.rmk: Likewise.
32503 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32504 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32505 kern/$(target_cpu)/cache.S.
32506 * conf/sparc64-ieee1275.rmk: Likewise.
32507
a337130b 325082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32511 type to `grub_uint8_t', and adjust `padding9' accordingly.
32512
c6fe4d53 325132009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32514
b09db61d 32515 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32516
c6fe4d53 32517 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32518 assembly in final jump, using register constraints.
32519
b09db61d 32520 (grub_linux_boot): For text mode, initialize `have_vga' using
32521 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32522
32523 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32524 right before the final jump.
32525
32526 Set `video_mode' to 0x3.
32527
32528 Document initialization of `video_page', `video_mode' and
32529 `video_ega_bx'.
32530
28333ad0 325312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32532
32533 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32534 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32535 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32536
02164e1b 325372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 Fix build on Debian / sparc.
32540
32541 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32542
18b6c557 325432009-06-28 Pavel Roskin <proski@gnu.org>
32544
85f2aab6 32545 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32546 fix a warning.
32547
18b6c557 32548 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32549
ad760f81 325502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32551
32552 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32553 `err'.
32554
87a4623b 325552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32556
32557 Revert r2338.
32558
32559 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32560 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32561 grub_errno / grub_errmsg appropriately.
87a4623b 32562 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32563
8231fb77 325642009-06-27 Pavel Roskin <proski@gnu.org>
325652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32566
32567 * include/grub/dl.h: Include grub/elf.h.
32568 (struct grub_dl): Add symtab field.
32569 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32570 GRUB_MODULES_MACHINE_READONLY.
32571 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32572 of the header for read-only modules.
32573 (grub_dl_unload): Free mod->symtab for read-only modules.
32574 * kern/i386/dl.c: Use mod->symtab.
32575 * kern/powerpc/dl.c: Likewise.
32576 * kern/sparc64/dl.c: Likewise.
32577 * kern/x86_64/dl.c: Likewise.
32578
32579 * conf/i386-qemu.rmk: New file.
32580 * kern/i386/qemu/startup.S: Likewise.
32581 * kern/i386/qemu/mmap.c: Likewise.
32582 * boot/i386/qemu/boot.S: Likewise.
32583 * include/grub/i386/qemu/time.h: Likewise.
32584 * include/grub/i386/qemu/serial.h: Likewise.
32585 * include/grub/i386/qemu/kernel.h: Likewise.
32586 * include/grub/i386/qemu/console.h: Likewise.
32587 * include/grub/i386/qemu/boot.h: Likewise.
32588 * include/grub/i386/qemu/init.h: Likewise.
32589 * include/grub/i386/qemu/machine.h: Likewise.
32590 * include/grub/i386/qemu/loader.h: Likewise.
32591 * include/grub/i386/qemu/memory.h: Likewise.
32592
32593 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32594 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32595 [qemu] (pkglib_IMAGES): Add `boot.img'.
32596 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32597 [qemu] (boot_img_FORMAT): New variables.
32598 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32599 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32600 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32601 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32602 [qemu] (kernel_img_FORMAT): New variables.
32603
32604 * configure.ac: Recognise `i386-qemu'.
32605
32606 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32607 (for no compression).
32608 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32609 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32610 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32611 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32612 ifdefs).
32613
97fe384e 326142009-06-27 Pavel Roskin <proski@gnu.org>
32615
32616 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32617 read.
32618 * efiemu/prepare32.c: Likewise.
32619 * efiemu/prepare64.c: Likewise.
32620
c402ab17 326212009-06-26 Pavel Roskin <proski@gnu.org>
32622
32623 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32624 * include/grub/elf.h: Define symbols without "32" or "64" based
32625 on GRUB_TARGET_WORDSIZE.
32626 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32627 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32628 ELF definitions.
32629 * efiemu/loadcore64.c: Likewise.
32630 * loader/i386/bsd32.c: Likewise.
32631 * loader/i386/bsd64.c: Likewise.
32632 * kern/dl.c: Remove own ELF definitions.
32633 * util/i386/efi/grub-mkimage.c: Likewise.
32634
9bbdfd4d 326352009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32636
32637 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32638 segment 0x0 unconditionally, because the reference generated by
32639 GAS is an absolute address.
32640
a42ce6e9 326412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32642
32643 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32644 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32645
c952cf92 326462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32647
32648 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32649 indexes. Check for -f explicitly.
cc3752ad 32650 (search_file): Improve error message.
32651 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32652
132a0a59 326532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32654
32655 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32656 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32657
387a140c 326582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32659
32660 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32661 * conf/i386-ieee1275.rmk: Likewise.
32662 * conf/i386-coreboot.rmk: Likewise.
32663
32664 * kern/i386/pc/startup.S (grub_stop): Remove function.
32665 * kern/i386/ieee1275/startup.S: Likewise.
32666 * kern/i386/coreboot/startup.S: Likewise.
32667 * kern/i386/misc.S (grub_stop): New function.
32668
41da9665 326692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32670
32671 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32672 * kern/i386/realmode.S (real_to_prot): ... to here.
32673
bf337234 326742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32675
32676 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32677 with `kernel.img'.
32678 (kernel_elf_SOURCES): Rename to ...
32679 (kernel_img_SOURCES): ... this.
32680 (kernel_elf_HEADERS): Rename to ...
32681 (kernel_img_HEADERS): ... this. Update all users.
32682 (kernel_elf_ASFLAGS): Rename to ...
32683 (kernel_img_ASFLAGS): ... this.
32684 (kernel_elf_CFLAGS): Rename to ...
32685 (kernel_img_CFLAGS): ... this.
32686 (kernel_elf_LDFLAGS): Rename to ...
32687 (kernel_img_LDFLAGS): ... this.
32688 * conf/i386-coreboot.rmk: Likewise.
32689 * conf/powerpc-ieee1275.rmk: Likewise.
32690
32691 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32692 with "kernel.img".
32693
f52196ff 326942009-06-21 Pavel Roskin <proski@gnu.org>
32695
c3cee413 32696 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32697 to match nested functions.
32698 * loader/sparc64/ieee1275/linux.c: Likewise.
32699
f52196ff 32700 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32701
58750afc 327022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32703
32704 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32705 all i386 platforms.
32706
15355c7d 327072009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32708
32709 Fix asm file handling on ELF, and remove workarounds.
32710
32711 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32712 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32713 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32714 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32715
3f3ec72b 327162009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32717
32718 Load BSD ELF modules
32719
32720 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32721 and loader/i386/bsd64.c
32722 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32723 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32724 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32725 (grub_freebsd_load_elfmodule32): New declaration
32726 (grub_freebsd_load_elfmoduleobj64): Likewise
32727 (grub_freebsd_load_elf_meta32): Likewise
32728 (grub_freebsd_load_elf_meta64): Likewise
32729 (grub_freebsd_add_meta): Likewise
32730 (grub_freebsd_add_meta_module): Likewise
32731 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32732 (grub_freebsd_add_meta_module): Likewise and move module-specific
32733 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32734 (grub_cmd_freebsd): Add elf-kernel specific parts
32735 based on grub_freebsd_add_meta_module
32736 (grub_cmd_freebsd_module): Add type parsing moved from
32737 grub_freebsd_add_meta_module
32738 (grub_cmd_freebsd_module_elf): New function
32739 (cmd_freebsd_module_elf): New variable
32740 (GRUB_MOD_INIT): Register freebsd_module_elf
32741 * loader/i386/bsd32.c: New file
32742 * loader/i386/bsd64.c: Likewise
32743 * loader/i386/bsdXX.c: Likewise
32744 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32745 (grub_elf64_load): Likewise
32746 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32747 All users updated
32748 (grub_elf64_load_hook_t): Likewise
32749
0db15301 327502009-06-21 Colin Watson <cjwatson@ubuntu.com>
32751
32752 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32753 variable.
32754 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32755 don't write a menu entry for recovery mode.
32756
546796c1 327572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32758
32759 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32760 after it's no longer needed.
32761
cd7310d5 327622009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32763
32764 * include/grub/i386/loader.h (grub_linux_prot_size)
32765 (grub_linux_tmp_addr, grub_linux_real_addr)
32766 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32767 GRUB_MACHINE_PCBIOS.
32768 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32769 common grub_util_info() call to ...
32770 (generate_image): ... here.
32771 Fix use of uninitialized memory, comparison of signed with
32772 unsigned integers and memory leak.
32773 Remove bogus module address message.
32774
ab32d3b5 327752009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32776
32777 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32778 grub_raid_register
32779 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32780
024ef597 327812009-06-19 Pavel Roskin <proski@gnu.org>
32782
32783 * configure.ac: Remove stray AC_MSG_CHECKING.
32784
3ac72b51 327852009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32786
32787 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32788
e14cd814 327892009-06-18 Pavel Roskin <proski@gnu.org>
32790
32791 * conf/common.rmk: Add fs_file.mod.
32792 * disk/fs_file.c: New file.
32793 * include/grub/disk.h (enum grub_disk_dev_id): Add
32794 GRUB_DISK_DEVICE_FILE_ID.
32795
26586d98 327962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32797
32798 Fix build with Apple's toolchain. Part 2
32799
32800 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32801 a fake start
32802
26de2bcd 328032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32804
32805 Fix build with Apple's toolchain. Part 1
32806
32807 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32808 for long calls
32809 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32810 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32811 Apple's toolchain
32812
09b3490b 328132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32814
32815 Fix warnings
32816
32817 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32818 (decomp_block): initialize ch
32819 use grub_memcpy instead of memcpy
32820
c22a006a 328212009-06-17 Pavel Roskin <proski@gnu.org>
32822
d3638678 32823 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32824 version, use declarations needed to use vga_text as the startup
32825 console.
32826
c22a006a 32827 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32828 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32829 the kernel.
32830 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32831 and grub_at_keyboard_fini(), it's done on module load and
32832 unload.
32833
05b129e0 328342009-06-17 Felix Zielcke <fzielcke@z-51.de>
32835
32836 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32837 file can't be found.
32838 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32839
cf24ed9e 328402009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32841
32842 Fix newline handling
32843
32844 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32845 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32846 (grub_script_yylex): don't segfault on unterminated script
32847 newline terminates command and variable
32848
74aa8e4b 328492009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32850
32851 avoid double grub_adjust_range call. Bug reported by David Simner
32852
32853 * kern/disk.c (grub_disk_write): change to raw disk access before
32854 calling disk_read
32855
1bd265f3 328562009-06-17 Colin Watson <cjwatson@ubuntu.com>
32857
32858 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32859 spaces, for the benefit of help2man.
32860 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32861
a2d08c06 328622009-06-16 Pavel Roskin <proski@gnu.org>
32863
32864 * kern/i386/halt.c: Include grub/machine/init.h.
32865 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32866
b97bcb19 328672009-06-16 Felix Zielcke <fzielcke@z-51.de>
32868
32869 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32870 drivemap menuentry.
32871
0644f96c 328722009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32873
32874 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32875 `echo' command.
32876
3ef17a2e 328772009-06-16 Pavel Roskin <proski@gnu.org>
32878
32879 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32880 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32881 save %dx, we only need %dl and we never change it.
32882 * boot/i386/pc/cdboot.S: Don't set the root drive.
32883 * boot/i386/pc/pxeboot.S: Likewise.
32884 * include/grub/i386/pc/boot.h: Remove
32885 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32886 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32887 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32888 * kern/i386/pc/init.c (make_install_device): Remove references
32889 to grub_root_drive.
32890 * kern/i386/pc/startup.S: Likewise.
32891 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32892
693fe637 328932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32894
32895 xnu_uuid command
32896
32897 * commands/xnu_uuid.c: new file
32898 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32899 (xnu_uuid_mod_SOURCES): new variable
32900 (xnu_uuid_mod_CFLAGS): likewise
32901 (xnu_uuid_mod_LDFLAGS): likewise
32902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32903 * conf/i386-ieee1275.rmk: likewise
32904 * conf/i386-pc.rmk: likewise
32905 * conf/powerpc-ieee1275.rmk: likewise
32906 * conf/sparc64-ieee1275.rmk: likewise
32907 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32908
c9da87d0 329092009-06-16 Pavel Roskin <proski@gnu.org>
32910
32911 * configure.ac: Avoid '==' in test command, it's not portable.
32912
9c6f4596 329132009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32914
32915 Probe command
32916
32917 * commands/probe.c: new file
32918 * conf/common.rmk (pkglib_MODULES): add probe.mod
32919 (probe_mod_SOURCES): new variable
32920 (probe_mod_CFLAGS): likewise
32921 (probe_mod_LDFLAGS): likewise
32922 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32923 * conf/i386-ieee1275.rmk: likewise
32924 * conf/i386-pc.rmk: likewise
32925 * conf/powerpc-ieee1275.rmk: likewise
32926 * conf/sparc64-ieee1275.rmk: likewise
32927
70b7f9fd 329282009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32929
32930 Fix handling of string like \"hello\" and "a
32931 b"
32932
32933 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32934 (grub_script_yylex): fix parsing of quoting, escaping and newline
32935
71c79a6b 329362009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32937
dd74360c 32938 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32939 handling
dd74360c 32940
0644f96c 329412009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32942
32943 * util/grub-mkconfig.in: Fix parsing of --output option.
32944
e40893c3 329452009-06-12 Pavel Roskin <proski@gnu.org>
32946
32947 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32948 genmk.rb don't need to be generated or installed.
32949
3a1acfe2 329502009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32951
32952 * commands/i386/pc/drivemap_int13h.S: add more comments
32953
3a4575d4 329542009-06-11 Pavel Roskin <proski@gnu.org>
32955
0658e928 32956 * Makefile.in (uninstall): Uninstall manuals.
32957
ca0388f0 32958 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32959 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32960 and update-grub_lib in two places.
32961 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32962
e3b27c39 32963 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32964 a compiler warning.
32965
3a4575d4 32966 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32967 `entry_lo' to fix variable shadowing.
32968
af1f4f55 329692009-06-11 Christian Franke <franke@computer.org>
32970
32971 * kern/misc.c (__enable_execute_stack): Add missing return type
32972 to prevent gcc warning.
32973
5225e649 329742009-06-11 Felix Zielcke <fzielcke@z-51.de>
32975
32976 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32977
7d83bd47 329782009-06-11 Pavel Roskin <proski@gnu.org>
32979
c1cb63ba 32980 * Makefile.in: Don't rely on any scripts being executable.
32981 Always use $(SHELL) to run shell scripts.
32982
7d83bd47 32983 * configure.ac: Always define ___main if using -nostdlib. This
32984 fixes tests on Cygwin.
32985
948f48e7 329862009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32987
32988 UDF fix
32989
7d83bd47 32990 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32991 is in bytes and not in blocks
7d83bd47 32992
8ada9bc1 329932009-06-11 Pavel Roskin <proski@gnu.org>
32994
32995 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32996 warning.
32997
25ad2323 329982009-06-11 Felix Zielcke <fzielcke@z-51.de>
32999
33000 * util/grub.d/30_os-prober.in: Fix a comment. Source
33001 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33002 to set the root device. Place drivemap command in the generated
33003 chain entry.
33004
e65acb0c 330052009-06-11 Pavel Roskin <proski@gnu.org>
33006
33007 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33008 have long been resolved.
33009
f285fe2d 330102009-06-11 Colin Watson <cjwatson@ubuntu.com>
33011
bd47b0b5 33012 * util/grub.d/10_linux.in: Capitalise "Linux".
33013
f285fe2d 33014 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33015
a0c62e4e 330162009-06-11 Pavel Roskin <proski@gnu.org>
33017
b6783cb2 33018 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33019 fix a gcc warning and ensure that the function won't ever exit.
33020
dde032e8 33021 * kern/i386/ieee1275/init.c: Add missing prototype for
33022 grub_stop_floppy().
33023
22cd079d 33024 * loader/ieee1275/multiboot2.c [__i386__]: Include
33025 grub/cpu/multiboot.h.
33026
a0c62e4e 33027 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33028 casts to short - they are not portable and cause warnings. Fix
33029 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33030
63963d17 330312009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33032
33033 Drivemap fixes
33034
33035 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33036 new function
33037 (grub_get_root_biosnumber_saved): new variable
33038 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33039 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33040 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33041 %dx after the call if necessary
33042 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33043 (boot_mod_SOURCES): remove
33044 (boot_mod_CFLAGS): remove
33045 (boot_mod_LDFLAGS): remove
33046 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33047 (boot_mod_SOURCES): new variable
33048 (boot_mod_CFLAGS): likewise
33049 (boot_mod_LDFLAGS): likewise
33050 * conf/i386-efi.rmk: likewise
33051 * conf/i386-ieee1275.rmk: likewise
33052 * conf/i386-pc.rmk: likewise
33053 * conf/powerpc-ieee1275.rmk: likewise
33054 * conf/sparc64-ieee1275.rmk: likewise
33055 * conf/x86_64-efi.rmk: likewise
33056 * include/grub/i386/pc/biosnum.h: new file
33057 * lib/i386/pc/biosnum.c: likewise
33058 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33059 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33060 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33061
33abf7ae 330622009-06-10 Pavel Roskin <proski@gnu.org>
33063
5ac35b35 33064 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33065 Use separate variables. Read only the file size at the end, but
33066 not the checksum that we don't use.
33067
5c5215d5 33068 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33069 Adjust all callers.
33070
27d5fef7 33071 * kern/ieee1275/openfw.c: Remove libc includes.
33072 * kern/ieee1275/cmain.c: Likewise.
33073 * include/grub/ieee1275/ieee1275.h: Likewise.
33074
33abf7ae 33075 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33076 compiler warnings.
33077
19d50c2b 330782009-06-10 Felix Zielcke <fzielcke@z-51.de>
33079
33080 * Makefile.in: Remove all trailing whitespace.
33081 * conf/i386-pc.rmk: Likewise.
33082 * conf/powerpc-ieee1275.rmk: Likewise.
33083 * conf/sparc64-ieee1275.rmk: Likewise.
33084 * docs/grub.texi: Likewise.
33085 * docs/texinfo.tex: Likewise.
33086 * disk/fs_uuid.c: Likewise.
33087 * disk/lvm.c: Likewise.
33088 * disk/scsi.c: Likewise.
33089 * disk/ata.c: Likewise.
33090 * disk/ieee1275/ofdisk.c: Likewise.
33091 * disk/i386/pc/biosdisk.c: Likewise.
33092 * disk/host.c: Likewise.
33093 * disk/raid.c: Likewise.
33094 * disk/efi/efidisk.c: Likewise.
33095 * disk/usbms.c: Likewise.
33096 * disk/memdisk.c: Likewise.
33097 * disk/loopback.c: Likewise.
33098 * kern/powerpc/dl.c: Likewise.
33099 * kern/device.c: Likewise.
33100 * kern/dl.c: Likewise.
33101 * kern/sparc64/dl.c: Likewise.
33102 * kern/ieee1275/ieee1275.c: Likewise.
33103 * kern/term.c: Likewise.
33104 * kern/fs.c: Likewise.
33105 * kern/i386/dl.c: Likewise.
33106 * kern/i386/pc/startup.S: Likewise.
33107 * kern/i386/pc/init.c: Likewise.
33108 * kern/i386/pc/mmap.c: Likewise.
33109 * kern/i386/pc/lzo1x.S: Likewise.
33110 * kern/i386/ieee1275/init.c: Likewise.
33111 * kern/i386/realmode.S: Likewise.
33112 * kern/i386/tsc.c: Likewise.
33113 * kern/partition.c: Likewise.
33114 * kern/corecmd.c: Likewise.
33115 * kern/file.c: Likewise.
33116 * kern/efi/efi.c: Likewise.
33117 * kern/efi/init.c: Likewise.
33118 * kern/efi/mm.c: Likewise.
33119 * kern/main.c: Likewise.
33120 * kern/err.c: Likewise.
33121 * kern/env.c: Likewise.
33122 * kern/disk.c: Likewise.
33123 * kern/generic/millisleep.c: Likewise.
33124 * kern/generic/rtc_get_time_ms.c: Likewise.
33125 * kern/misc.c: Likewise.
33126 * kern/parser.c: Likewise.
33127 * genmk.rb: Likewise.
33128 * configure.ac: Likewise.
33129 * boot/i386/pc/diskboot.S: Likewise.
33130 * boot/i386/pc/pxeboot.S: Likewise.
33131 * boot/i386/pc/boot.S: Likewise.
33132 * boot/i386/pc/lnxboot.S: Likewise.
33133 * boot/i386/pc/cdboot.S: Likewise.
33134 * parttool/pcpart.c: Likewise.
33135 * video/readers/tga.c: Likewise.
33136 * video/video.c: Likewise.
33137 * video/bitmap.c: Likewise.
33138 * lib/envblk.c: Likewise.
33139 * lib/i386/setjmp.S: Likewise.
33140 * fs/xfs.c: Likewise.
33141 * fs/afs.c: Likewise.
33142 * fs/fat.c: Likewise.
33143 * fs/ntfs.c: Likewise.
33144 * fs/udf.c: Likewise.
33145 * fs/affs.c: Likewise.
33146 * fs/iso9660.c: Likewise.
33147 * fs/hfs.c: Likewise.
33148 * fs/fshelp.c: Likewise.
33149 * fs/ext2.c: Likewise.
33150 * fs/jfs.c: Likewise.
33151 * fs/reiserfs.c: Likewise.
33152 * fs/hfsplus.c: Likewise.
33153 * fs/minix.c: Likewise.
33154 * fs/cpio.c: Likewise.
33155 * fs/sfs.c: Likewise.
33156 * fs/ufs.c: Likewise.
33157 * efiemu/prepare.c: Likewise.
33158 * efiemu/loadcore_common.c: Likewise.
33159 * efiemu/runtime/efiemu.sh: Likewise.
33160 * efiemu/runtime/efiemu.S: Likewise.
33161 * efiemu/runtime/efiemu.c: Likewise.
33162 * efiemu/pnvram.c: Likewise.
33163 * efiemu/main.c: Likewise.
33164 * efiemu/i386/pc/cfgtables.c: Likewise.
33165 * efiemu/i386/loadcore64.c: Likewise.
33166 * efiemu/i386/loadcore32.c: Likewise.
33167 * efiemu/loadcore.c: Likewise.
33168 * efiemu/symbols.c: Likewise.
33169 * efiemu/mm.c: Likewise.
33170 * include/grub/autoefi.h: Likewise.
33171 * include/grub/datetime.h: Likewise.
33172 * include/grub/term.h: Likewise.
33173 * include/grub/hfs.h: Likewise.
33174 * include/grub/lvm.h: Likewise.
33175 * include/grub/i386/tsc.h: Likewise.
33176 * include/grub/i386/linux.h: Likewise.
33177 * include/grub/i386/xnu.h: Likewise.
33178 * include/grub/i386/efiemu.h: Likewise.
33179 * include/grub/i386/pc/biosdisk.h: Likewise.
33180 * include/grub/i386/pc/memory.h: Likewise.
33181 * include/grub/i386/pc/vbe.h: Likewise.
33182 * include/grub/parttool.h: Likewise.
33183 * include/grub/video.h: Likewise.
33184 * include/grub/memory.h: Likewise.
33185 * include/grub/fs.h: Likewise.
33186 * include/grub/partition.h: Likewise.
33187 * include/grub/xnu.h: Likewise.
33188 * include/grub/efi/api.h: Likewise.
33189 * include/grub/efi/pe32.h: Likewise.
33190 * include/grub/efi/memory.h: Likewise.
33191 * include/grub/multiboot.h: Likewise.
33192 * include/grub/usbdesc.h: Likewise.
33193 * include/grub/multiboot2.h: Likewise.
33194 * include/grub/acpi.h: Likewise.
33195 * include/grub/efiemu/efiemu.h: Likewise.
33196 * include/grub/disk.h: Likewise.
33197 * include/grub/ieee1275/ieee1275.h: Likewise.
33198 * include/grub/net.h: Likewise.
33199 * include/grub/machoload.h: Likewise.
33200 * include/grub/macho.h: Likewise.
33201 * include/multiboot.h: Likewise.
33202 * genmoddep.awk: Likewise.
33203 * normal/main.c: Likewise.
33204 * normal/menu_entry.c: Likewise.
33205 * normal/menu_viewer.c: Likewise.
33206 * normal/completion.c: Likewise.
33207 * normal/cmdline.c: Likewise.
33208 * normal/misc.c: Likewise.
33209 * normal/datetime.c: Likewise.
33210 * bus/usb/usbtrans.c: Likewise.
33211 * bus/usb/ohci.c: Likewise.
33212 * bus/usb/uhci.c: Likewise.
33213 * bus/usb/usb.c: Likewise.
33214 * mmap/efi/mmap.c: Likewise.
33215 * mmap/i386/pc/mmap_helper.S: Likewise.
33216 * mmap/i386/pc/mmap.c: Likewise.
33217 * mmap/i386/mmap.c: Likewise.
33218 * mmap/i386/uppermem.c: Likewise.
33219 * mmap/mmap.c: Likewise.
33220 * commands/acpi.c: Likewise.
33221 * commands/echo.c: Likewise.
33222 * commands/blocklist.c: Likewise.
33223 * commands/loadenv.c: Likewise.
33224 * commands/usbtest.c: Likewise.
33225 * commands/boot.c: Likewise.
33226 * commands/parttool.c: Likewise.
33227 * commands/search.c: Likewise.
33228 * commands/cat.c: Likewise.
33229 * commands/i386/pc/play.c: Likewise.
33230 * commands/i386/pc/drivemap.c: Likewise.
33231 * commands/i386/pc/vbeinfo.c: Likewise.
33232 * commands/i386/pc/acpi.c: Likewise.
33233 * commands/i386/pc/vbetest.c: Likewise.
33234 * commands/ls.c: Likewise.
33235 * commands/cmp.c: Likewise.
33236 * commands/test.c: Likewise.
33237 * commands/efi/acpi.c: Likewise.
33238 * commands/gptsync.c: Likewise.
33239 * commands/help.c: Likewise.
33240 * partmap/amiga.c: Likewise.
33241 * partmap/apple.c: Likewise.
33242 * partmap/acorn.c: Likewise.
33243 * partmap/pc.c: Likewise.
33244 * partmap/sun.c: Likewise.
33245 * partmap/gpt.c: Likewise.
33246 * script/sh/lexer.c: Likewise.
33247 * script/sh/function.c: Likewise.
33248 * font/font.c: Likewise.
33249 * font/font_cmd.c: Likewise.
33250 * loader/powerpc/ieee1275/linux.c: Likewise.
33251 * loader/efi/chainloader.c: Likewise.
33252 * loader/multiboot_loader.c: Likewise.
33253 * loader/macho.c: Likewise.
33254 * loader/i386/multiboot.c: Likewise.
33255 * loader/i386/linux.c: Likewise.
33256 * loader/i386/pc/linux.c: Likewise.
33257 * loader/i386/pc/multiboot2.c: Likewise.
33258 * loader/i386/pc/chainloader.c: Likewise.
33259 * loader/i386/pc/xnu.c: Likewise.
33260 * loader/i386/bsd_trampoline.S: Likewise.
33261 * loader/i386/efi/linux.c: Likewise.
33262 * loader/i386/multiboot_elfxx.c: Likewise.
33263 * loader/i386/bsd_helper.S: Likewise.
33264 * loader/i386/bsd.c: Likewise.
33265 * loader/i386/linux_trampoline.S: Likewise.
33266 * loader/i386/xnu_helper.S: Likewise.
33267 * loader/i386/xnu.c: Likewise.
33268 * loader/i386/bsd_pagetable.c: Likewise.
33269 * loader/i386/multiboot_helper.S: Likewise.
33270 * loader/xnu.c: Likewise.
33271 * loader/xnu_resume.c: Likewise.
33272 * io/gzio.c: Likewise.
33273 * term/efi/console.c: Likewise.
33274 * term/terminfo.c: Likewise.
33275 * term/ieee1275/ofconsole.c: Likewise.
33276 * term/i386/pc/serial.c: Likewise.
33277 * term/i386/pc/vesafb.c: Likewise.
33278 * term/i386/pc/vga.c: Likewise.
33279 * term/usb_keyboard.c: Likewise.
33280 * term/gfxterm.c: Likewise.
33281 * aclocal.m4: Likewise.
33282 * util/lvm.c: Likewise.
33283 * util/grub.d/30_os-prober.in: Likewise.
33284 * util/grub.d/10_hurd.in: Likewise.
33285 * util/console.c: Likewise.
33286 * util/grub-macho2img.c: Likewise.
33287 * util/grub-probe.c: Likewise.
33288 * util/hostfs.c: Likewise.
33289 * util/i386/pc/grub-mkimage.c: Likewise.
33290 * util/i386/pc/grub-setup.c: Likewise.
33291 * util/i386/efi/grub-mkimage.c: Likewise.
33292 * util/grub-mkconfig.in: Likewise.
33293 * util/raid.c: Likewise.
33294 * util/resolve.c: Likewise.
33295 * util/grub-mkdevicemap.c: Likewise.
33296 * util/grub-emu.c: Likewise.
33297 * util/getroot.c: Likewise.
33298 * util/hostdisk.c: Likewise.
33299 * util/usb.c: Likewise.
33300 * util/grub-editenv.c: Likewise.
33301 * util/misc.c: Likewise.
33302
d2d49665 333032009-06-10 Felix Zielcke <fzielcke@z-51.de>
33304
33305 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33306 `genparttoollist.sh'.
33307 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33308 Add `*.sh' to the list find searches for and change `mdate.sh'
33309 to `mdate-sh'.
33310
fe052e37 333112009-06-10 Pavel Roskin <proski@gnu.org>
33312
2763ac18 33313 * include/grub/multiboot2.h: Provide compatibility defines for
33314 multiboot2.h.
33315 * include/multiboot2.h: Include stdint.h only if needed, using
33316 angle brackets.
33317 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33318 grub/multiboot2.h.
33319 * loader/ieee1275/multiboot2.c: Likewise.
33320 * loader/multiboot2.c: Likewise.
33321 * loader/multiboot_loader.c: Likewise.
33322
437e6adc 33323 * configure.ac: Use -nostdlib when probing for the target. It
33324 should not be required to have libc for the target.
33325
06a6836c 33326 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33327 they fail without libc headers for the target.
33328 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33329 exports.
33330 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33331 preprocessor conditionals.
33332
fe052e37 33333 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33334 build system doesn't need to be aware of the tar.c internals.
33335
afd22553 333362009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33337
afd22553 33338 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33339
6b787c4f 333402009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33341
33342 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33343 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33344
333452009-06-09 Felix Zielcke <fzielcke@z-51.de>
33346
33347 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33348 aren't available if ata.mod gets used.
6b787c4f 33349
473d1e45 333502009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33351
473d1e45 33352 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33353 initialising controller.
473d1e45 33354 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33355
255a27d4 333562009-06-08 Felix Zielcke <fzielcke@z-51.de>
33357
33358 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33359 to choose between ata and biosdisk module on i386-pc.
33360
473d1e45 333612009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33362
d55842d8 33363 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33364 Subclass and Programming Interface fields in terms of the 3 byte
33365 Class Code register.
33366 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33367
fa5db0b1 33368 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33369 interface is OHCI. Add grub_dprintf for symmetry with
33370 bus/usb/uhci.c.
33371 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33372 interface is UHCI. Add interf variable for programming
33373 interface. Print interface with class/subclass.
33374
c0947beb 33375 * bus/usb/ohci.c: Set interf with correct field.
33376
69da8877 33377 * bus/usb/uhci.c: Remove unneeded doubled lines.
33378 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33379 Remove whitespace inside comment.
33380
9e172e30 333812009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33382
33383 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33384 as fallback an equivalent option without depth.
33385
de65ee2b 333862009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33387
33388 Not fail if unable to retrieve C/H/S on LBA disks
33389
473d1e45 33390 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33391 if unable to retrieve C/H/S on LBA disks
33392
b57ea2c9 333932009-06-08 Pavel Roskin <proski@gnu.org>
33394
33395 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33396 about aliasing.
33397
af361263 333982009-06-08 Felix Zielcke <fzielcke@z-51.de>
33399
33400 * Makefile.in (uninstall): Remove all $lib_DATA files.
33401
4c9ec6b3 334022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33403
33404 Bugfix: install on partitionless device
33405
33406 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33407 is a whole disk
33408
e76fc924 334092009-06-08 Felix Zielcke <fzielcke@z-51.de>
33410
33411 * Makefile.in (uninstall): Remove all $include_DATA files.
33412
ba5a0d05 334132009-06-08 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * commands/true.c: New file. Implement the true and false commands.
33416 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33417 (true_mod_SOURCES): New variable.
33418 (true_mod_CFLAGS): Likewise.
33419 (true_mod_LDFLAGS): Likewise.
33420
c8048e32 334212009-06-05 Colin D Bennett <colin@gibibit.com>
33422
33423 Optimized font character lookup using binary search instead of linear
33424 search. Fonts now are required to have the character index ordered by
33425 code point.
33426
33427 * font/font.c (load_font_index): Verify that fonts have ordered
33428 character indices.
33429 (find_glyph): Use binary search instead of linear search to find a
33430 character in a font.
33431
408305be 334322009-06-05 Michael Scherer <misc@mandriva.org>
33433
33434 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33435 uses case sensitive btree.
33436 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33437 only for case insensitive filesystems.
33438
8ee1e0d9 334392009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33440
33441 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33442 * conf/common.rmk (search_mod_CFLAGS): likewise
33443
a9966eb1 334442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33445
473d1e45 33446 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33447 compensate a compiler bug
33448
9e7100fb 334492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33450
473d1e45 33451 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33452 instead of '\b'
473d1e45 33453
ede21d71 334542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33455
33456 Definitions for creating asm symbols with Apple's CC
33457
33458 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33459 [APPLE_CC] (VARIABLE): likewise
33460
9dbf7653 334612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33462
33463 Disable lnxboot.img when compiled
33464 with Apple's CC
33465
33466 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33467 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33468 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33469 [! APPLE_CC] (CODE_LENG): skip
33470 [! APPLE_CC] (setup_sects): likewise
33471 [! APPLE_CC]: skip filling
473d1e45 33472
e93cdc3d 334732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33474
33475 Address in trampolines based on 32-bit registers when compiled
33476 with Apple's CC
33477
473d1e45 33478 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33479 for addresses
33480 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33481
6c688477 334822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33483
33484 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33485
33486 * kern/misc.c [APPLE_CC] (memcpy): new function
33487 [APPLE_CC] (memmove): likewise
33488 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33489 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33490 (memset): likewise
33491 (abort): likewise
33492 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33493 APPLE_CC are defined
33494 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33495 (grub_assert_fail): make prototype conditional
33496
e37ffc5c 334972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33498
33499 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33500
473d1e45 33501 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33502 grub-macho2img
e37ffc5c 33503 (CLEANFILES): add grub-macho2img
33504 (grub_macho2img_SOURCES): new variable
33505 * kern/i386/pc/startup.S (bss_start): new variable
33506 (bss_end): likewise
33507 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33508 * util/grub-macho2img.c: new file
33509
cf00df31 335102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33511
33512 Use objconv when compiling with Apple's CC
33513
33514 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33515 (efiemu64.o): likewise
33516 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33517 when compiling with Apple's CC
33518 (efiemu64_s.o): likewise
33519 * configure.ac: check for objconv when compiling with Apple's CC
33520 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33521
d119a20c 335222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33523
33524 Define segment as well as section when compiling with
33525 Apple's CC
33526
33527 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33528 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33529 (efiemu_convert_pointer): likewise
33530 (efiemu_set_virtual_address_map): likewise
33531 (efiemu_convert_pointer): likewise
33532 (efiemu_getcrc32): likewise
33533 (init_crc32_table): likewise
33534 (reflect): likewise
33535 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33536 (GRUB_MOD_DEP): likewise
473d1e45 33537
c8600122 335382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33539
33540 Allow a compilation without -mcmodel=large
33541
33542 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33543 when compiled without -mcmodel=large
473d1e45 33544 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33545 without -mcmodel=large
473d1e45 33546 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33547 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33548
e8df1d4e 335492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33550
33551 Remove nested functions in efiemu core
33552
33553 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33554
cc6c3ac1 335552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33556
33557 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33558
33559 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33560 temporary storage
473d1e45 33561 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33562 using Apple's CC
cc6c3ac1 33563 (grub_cpu_is_tsc_supported): likewise
33564 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33565
3e325901 335662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33567
33568 Absolute addressing through constant with Apple's cc
33569
33570 * kern/i386/pc/startup.S: Define necessary constants
33571 and address through it when using ABS with Apple's CC
33572 * boot/i386/pc/diskboot.S: likewise
33573 * boot/i386/pc/boot.S: likewise
33574 * boot/i386/pc/lnxboot.S: likewise
33575 * boot/i386/pc/cdboot.S: likewise
33576 * mmap/i386/pc/mmap_helper.S: likewise
33577 * commands/i386/pc/drivemap_int13h.S: likewise
33578
2b167a72 335792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33580
33581 Check if compiler is apple cc
33582
33583 * Makefile.in (ASFLAGS): new variable
33584 (TARGET_ASFLAGS): likewise
33585 (TARGET_MODULE_FORMAT): likewise
33586 (TARGET_APPLE_CC): likewise
33587 (OBJCONV): likewise
33588 (TARGET_IMG_CFLAGS): likewise
33589 (TARGET_CPPFLAGS): add includedir
33590 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33591 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33592 Check for linker script only if compiler isn't Apple's CC
33593 (TARGET_MODULE_FORMAT): set
33594 (TARGET_APPLE_CC): likewise
33595 (TARGET_ASFLAGS): likewise
33596 (ASFLAGS): likewise
33597 Check for objcopy only if compiler isn't Apple's CC
33598 Check for BSS symbol only if compiler isn't Apple's CC
33599 * genmk.rb: adapt nm options if we use Apple's utils
33600 * aclocal.m4 (grub_apple_cc): new test
33601 (grub_apple_target_cc): likewise
473d1e45 33602
fb14123e 336032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33604
33605 Simplify sed expressions and improve awk
33606
33607 * Makefile.in (install-local): simplify sed expression
33608 * gencmdlist.sh: likewise
33609 * genmoddep.awk: avoid adding module as a dependency of itself
33610
5b889789 336112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33612
33613 Add missing start symbols
33614
33615 * boot/i386/pc/boot.S: add start
fb14123e 33616 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33617
fd2bf2e3 336182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33619
33620 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33621
33622 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33623 (relocate_addresses): consider both r_addend and value at offset
33624 (make_mods_section): zerofill modinfo and header
33625 (convert_elf): write prefix here
473d1e45 33626
5389763d 336272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33628
33629 Use .asciz instead of .string
33630
33631 * i386/pc/diskboot.S: use .asciz instead of .string
33632 * i386/pc/boot.S: likewise
33633 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33634 (GRUB_MOD_NAME): likewise
473d1e45 33635
3eb5ed4e 336362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33637
33638 gfxpayload support
33639
33640 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33641 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33642 (grub_video_setup): remove
33643 (grub_video_set_mode): new prototype
33644 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33645 (vid_mode): remove
33646 (linux_vesafb_res): compile only on PCBIOS
33647 (grub_linux_boot): support gfxpayload
33648 * loader/i386/pc/xnu.c (video_hook): new function
33649 (grub_xnu_set_video): support gfxpayload
33650 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33651 (DEFAULT_VIDEO_HEIGHT): likewise
33652 (DEFAULT_VIDEO_FLAGS): likewise
33653 (DEFAULT_VIDEO_MODE): new definition
33654 (video_hook): new function
33655 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33656 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33657 loading xnu
33658 * video/video.c (grub_video_setup): removed
473d1e45 33659 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33660 grub_video_setup
33661
4b0e1143 336622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33663
33664 Avoid calling biosdisk in drivemap
33665
33666 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33667 (revparse_biosdisk): likewise
33668 (list_mappings): derive name from id directly
33669 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33670
fda6cb98 336712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33672
33673 Script fixes
33674
33675 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33676 (grub_lexer_param): add tokenonhold
33677 (grub_script_create_cmdline): remove cmdline. All callers updated
33678 (grub_script_function_create): make functionname
33679 grub_script_arg. All callers updated
33680 (grub_script_execute_argument_to_string): new prototype
33681 * kern/parser.c (state_transitions): reorder
33682 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33683 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33684 make global
33685 (grub_script_execute_cmdline): use new format
33686 * script/sh/function.c (grub_script_function_create): make functionname
33687 grub_script_arg. All callers updated
473d1e45 33688 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33689 (grub_script_yylex): remove
33690 (grub_script_yylex2): renamed to ...
33691 (grub_script_yylex): ...renamed
33692 parse the expressions like a${b}c
33693 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33694 (GRUB_PARSER_TOKEN_VAR): remove
33695 (GRUB_PARSER_TOKEN_NAME): likewise
33696 ("if"): declare as typeless
33697 ("while"): likewise
33698 ("function"): likewise
33699 ("else"): likewise
33700 ("then"): likewise
33701 ("fi"): likewise
33702 (text): remove
33703 (argument): likewise
33704 (script): accept empty scripts and make exit on error
33705 (arguments): use GRUB_PARSER_TOKEN_ARG
33706 (function): likewise
33707 (command): move error handling to script
33708 (menuentry): move grub_script_lexer_ref before
473d1e45 33709 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33710 argument. All callers updated
33711
f4448a07 337122009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33713
33714 Prevent GRUB from probing floppies during boot.
33715
33716 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33717 * commands/search.c (options): Add --no-floppy.
33718 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33719 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33720 --no-floppy when searching for UUIDs.
33721
2bf5885a 337222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33723
33724 Simplify the code duplication in commands/search.c.
33725
33726 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33727 (search_fs): ... this. Update all users.
33728
f6fd460a 337292009-06-03 Felix Zielcke <fzielcke@z-51.de>
33730
33731 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33732
cbb3c83e 337332009-05-28 Pavel Roskin <proski@gnu.org>
33734
57788cfd 33735 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33736 Remove the original symlink explicitly.
33737
cbb3c83e 33738 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33739 just one slash. That's how grub_fshelp_find_file() does it.
33740
cd0d5e30 337412009-05-26 Pavel Roskin <proski@gnu.org>
33742
f0f8bbe2 33743 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33744 to `str'.
33745
cd0d5e30 33746 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33747 possibly unused.
33748
8c2cab51 337492009-05-25 Christian Franke <franke@computer.org>
33750
33751 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33752 register.
33753 (grub_atapi_identify): Add wait after drive select.
33754 (grub_ata_identify): Do more strict status register check before
33755 calling grub_atapi_identify (). Suppress error message if status
33756 register is 0x00 after command failure. Add status register
33757 check after PIO read to avoid bogus identify due to stuck DRQ.
33758 Thanks to Pavel Roskin for testing.
33759 (grub_device_initialize): Remove unsafe status register check.
33760 Thanks to 'phcoder' for problem report and patch.
33761 Prevent sign extension in debug message.
33762
230c0ad6 337632009-05-23 Colin D Bennett <colin@gibibit.com>
33764
33765 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33766 definition file, and functions defined in `normal/menu.c' have had
33767 their prototypes moved to `include/grub/menu.h' for consistency.
33768
33769 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33770 from normal.h.
33771 (grub_menu_get_entry): Likewise.
33772 (grub_menu_get_timeout): Likewise.
33773 (grub_menu_set_timeout): Likewise.
33774 (grub_menu_execute_entry): Likewise.
33775 (grub_menu_execute_with_fallback): Likewise.
33776 (grub_menu_entry_run): Likewise.
33777
33778 * include/grub/normal.h: Re-ordered and grouped function
33779 prototypes by file that the function is defined in.
33780 (grub_menu_execute_callback): Removed; moved to menu.h.
33781 (grub_menu_get_entry): Likewise.
33782 (grub_menu_get_timeout): Likewise.
33783 (grub_menu_set_timeout): Likewise.
33784 (grub_menu_execute_entry): Likewise.
33785 (grub_menu_execute_with_fallback): Likewise.
33786 (grub_menu_entry_run): Likewise.
33787 (grub_menu_addentry): Renamed from this ...
33788 (grub_normal_add_menu_entry): ... to this.
33789
33790 * normal/main.c (grub_menu_addentry): Renamed from this ...
33791 (grub_normal_add_menu_entry): ... to this.
33792
33793 * script/sh/execute.c (grub_script_execute_menuentry): Update
33794 reference to renamed grub_menu_addentry function.
33795
861f03a5 337962009-05-23 Felix Zielcke <fzielcke@z-51.de>
33797
33798 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33799
96b1619a 338002009-05-22 Pavel Roskin <proski@gnu.org>
33801
bf6a5fb2 33802 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33803 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33804 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33805 compiling for the i386 targets, but not for the utilities.
33806
96b1619a 33807 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33808 to grub_uint8_t.
33809 (grub_root_drive): Likewise.
33810 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33811 remove alignment.
33812 (grub_root_drive): Change size to byte.
33813 (grub_start_addr): Remove.
33814 (grub_end_addr): Likewise.
33815 (grub_apm_bios_info): Likewise.
33816
b729776b 338172009-05-21 Felix Zielcke <fzielcke@z-51.de>
33818
33819 * normal/i386: Remove.
33820 * normal/powerpc: Likewise.
33821 * normal/sparc64: Likewise.
33822 * normal/x86_64: Likewise.
33823
0a15ce80 338242009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33825
33826 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33827 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33828 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33829
33db9015 338302009-05-18 Colin D Bennett <colin@gibibit.com>
33831
d6da58e6 33832 Display error messages when parsing a Lua statement fails.
33833 Previously, executing a syntactically invalid statement like
33834 ")foo" or "bar;" would silently fail.
33db9015 33835
33836 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33837 (grub_lua_parse_line): Improved reporting of Lua parser and
33838 execution errors.
33db9015 33839
46422c89 338402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Remove -Werror which causes build to fail on some systems
33843
33844 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33845 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33846 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33847
22f53a96 338482009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33849
33850 trampoline for linux on 64-bit platform
33851
18f547ad 33852 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33853 loader/i386/efi/linux_trampoline.S
33854 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33855 declaration
d6da58e6 33856 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33857 here
22f53a96 33858 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33859 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33860 trampoline
22f53a96 33861 (jumpvector): removed
33862 (grub_linux_trampoline_start): new declaration
33863 (grub_linux_trampoline_end): likewise
33864 (grub_linux_boot): use trampoline when on 64-bit platform
33865 * loader/i386/linux.c: likewise
33866
cb5a0f40 338672009-05-16 Pavel Roskin <proski@gnu.org>
33868
33869 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33870 const to avoid a warning.
33871 (grub_lua_setenv): Likewise.
33872 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33873 lmsg to fix a warning.
33874
334f2c28 338752009-05-16 Felix Zielcke <fzielcke@z-51.de>
33876
33877 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33878 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33879 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33880 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33881 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33882 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33883 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33884 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33885
59e5d3ec 338862009-05-16 Felix Zielcke <fzielcke@z-51.de>
33887
33888 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33889
9d87a1ba 338902009-05-16 Bean <bean123ch@gmail.com>
33891
33892 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33893 (lua_mod_SOURCES): New variable.
33894 (lua_mod_CFLAGS): Likewise.
33895 (lua_mod_LDFLAGS): Likewise.
33896
33897 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33898 (setjmp_mod_SOURCES): New variable.
33899 (setjmp_mod_CFLAGS): Likewise.
33900 (setjmp_LDFLAGS): Likewise.
33901
33902 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33903 (setjmp_mod_SOURCES): New variable.
33904 (setjmp_mod_CFLAGS): Likewise.
33905 (setjmp_LDFLAGS): Likewise.
33906
33907 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33908 (setjmp_mod_SOURCES): New variable.
33909 (setjmp_mod_CFLAGS): Likewise.
33910 (setjmp_LDFLAGS): Likewise.
33911
33912 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33913 (setjmp_mod_SOURCES): New variable.
33914 (setjmp_mod_CFLAGS): Likewise.
33915 (setjmp_LDFLAGS): Likewise.
33916
33917 * normal/i386/setjmp.S: Moved from here ...
33918 * lib/i386/setjmp.S: ... Moved here
33919 * normal/x86_64/setjmp.S: Moved from here ...
33920 * lib/x86_64/setjmp.S: ... Moved here
33921 * normal/powerpc/setjmp.S: Moved from here ...
33922 * lib/powerpc/setjmp.S: ... Moved here
33923 * normal/sparc64/setjmp.S: Moved from here ...
33924 * lib/sparc64/setjmp.S: ... Moved here
33925
33926 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33927 returns_twice in mingw.
33928
33929 * script/lua/grub_lib.c: New file.
33930 * script/lua/grub_lib.h: Likewise.
33931 * script/lua/grub_lua.h: Likewise.
33932 * script/lua/grub_main.c: Likewise.
33933 * script/lua/lapi.c: Likewise.
33934 * script/lua/lapi.h: Likewise.
33935 * script/lua/lauxlib.c: Likewise.
33936 * script/lua/lauxlib.h: Likewise.
33937 * script/lua/lbaselib.c: Likewise.
33938 * script/lua/lcode.c: Likewise.
33939 * script/lua/lcode.h: Likewise.
33940 * script/lua/ldblib.c: Likewise.
33941 * script/lua/ldebug.c: Likewise.
33942 * script/lua/ldebug.h: Likewise.
33943 * script/lua/ldo.c: Likewise.
33944 * script/lua/ldo.h: Likewise.
33945 * script/lua/ldump.c: Likewise.
33946 * script/lua/lfunc.c: Likewise.
33947 * script/lua/lfunc.h: Likewise.
33948 * script/lua/lgc.c: Likewise.
33949 * script/lua/lgc.h: Likewise.
33950 * script/lua/linit.c: Likewise.
33951 * script/lua/liolib.c: Likewise.
33952 * script/lua/llex.c: Likewise.
33953 * script/lua/llex.h: Likewise.
33954 * script/lua/llimits.h: Likewise.
33955 * script/lua/lmathlib.c: Likewise.
33956 * script/lua/lmem.c: Likewise.
33957 * script/lua/lmem.h: Likewise.
33958 * script/lua/loadlib.c: Likewise.
33959 * script/lua/lobject.c: Likewise.
33960 * script/lua/lobject.h: Likewise.
33961 * script/lua/lopcodes.c: Likewise.
33962 * script/lua/lopcodes.h: Likewise.
33963 * script/lua/loslib.c: Likewise.
33964 * script/lua/lparser.c: Likewise.
33965 * script/lua/lparser.h: Likewise.
33966 * script/lua/lstate.c: Likewise.
33967 * script/lua/lstate.h: Likewise.
33968 * script/lua/lstring.c: Likewise.
33969 * script/lua/lstring.h: Likewise.
33970 * script/lua/lstrlib.c: Likewise.
33971 * script/lua/ltable.c: Likewise.
33972 * script/lua/ltable.h: Likewise.
33973 * script/lua/ltablib.c: Likewise.
33974 * script/lua/ltm.c: Likewise.
33975 * script/lua/ltm.h: Likewise.
33976 * script/lua/lua.h: Likewise.
33977 * script/lua/luaconf.h: Likewise.
33978 * script/lua/lualib.h: Likewise.
33979 * script/lua/lundump.c: Likewise.
33980 * script/lua/lundump.h: Likewise.
33981 * script/lua/lvm.c: Likewise.
33982 * script/lua/lvm.h: Likewise.
33983 * script/lua/lzio.c: Likewise.
33984 * script/lua/lzio.h: Likewise.
33985
5e898c9d 339862009-05-16 Bean <bean123ch@gmail.com>
33987
33988 * include/grub/kernel.h (grub_module_header_types): Add type
33989 OBJ_TYPE_CONFIG.
33990
33991 * kern/main.c (grub_load_config): New function.
33992 (grub_main): Call grub_load_config to read boot config.
33993
33994 * grub-mkimage (generate_image): New parameter config_path.
33995 (options): New option --config.
33996 (main): Parse --config option, and pass it to generate_image.
33997
cf353a47 339982009-05-14 Christian Franke <franke@computer.org>
33999
34000 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34001 This fixes build on Cygwin.
34002
3834887f 340032009-05-14 Pavel Roskin <proski@gnu.org>
34004
34005 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34006 jump. This saves two bytes, so the typical case of 2 swapped
34007 drives would fit 32 bytes.
34008
8090fc01 340092009-05-13 Pavel Roskin <proski@gnu.org>
34010
ac963883 34011 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34012 grub_uint32_t to avoid a warning.
34013
8090fc01 34014 * loader/i386/linux.c (allocate_pages): When assigning
34015 real_mode_mem, cast through grub_size_t to fix a warning. The
34016 code already makes sure that the value would fit a pointer.
34017 (grub_linux_setup_video): Cast render_target->data to
34018 grub_size_t to fix a warning.
34019
18f547ad 340202009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34021
34022 * commands/i386/pc/drivemap.c: New file - implement drivemap
34023 command.
34024 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34025 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34026
6f6a8b28 340272009-05-13 Pavel Roskin <proski@gnu.org>
34028
34029 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34030 embedding_area_exists.
34031
15fbf4c4 340322009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34033
34034 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34035 it easier to understand / work with.
59978c8a 34036 Improve warning messages for cases where there's no embedding area,
34037 or when it is too small (or core.img too large).
15fbf4c4 34038
238e871f 340392009-05-13 Pavel Roskin <proski@gnu.org>
34040
0ab3a9a4 34041 * loader/i386/pc/multiboot2.c: Add necessary includes for
34042 grub_multiboot2_real_boot().
34043
a2c8c5f8 34044 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34045 PX record is always little-endian. We only need the lower 2
34046 bytes of the mode.
34047
faec96af 34048 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34049 facilitate code reuse.
34050 (grub_cpio_mount): Use "struct head", not a char buffer. This
34051 fixes a warning reported by gcc 4.4.
34052
238e871f 34053 * kernel/disk.c (grub_disk_read): Use void pointer for the
34054 buffer.
34055 (grub_disk_write): Use const void pointer for the buffer.
34056 Adjust all callers. Remove unnecessary casts.
34057
901d2f0c 340582009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34059
34060 * util/i386/pc/grub-install.in: Update copyright year.
34061
18f547ad 340622009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34063
34064 gptsync
34065
34066 * commands/gptsync.c: new file
34067 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34068 (gptsync_mod_SOURCES): new variable
34069 (gptsync_mod_CFLAGS): likewise
34070 (gptsync_mod_LDFLAGS): likewise
18f547ad 34071 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34072 new definition
34073 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34075 * conf/i386-ieee1275.rmk: likewise
34076 * conf/i386-pc.rmk: likewise
34077 * conf/powerpc-ieee1275.rmk: likewise
34078
b4ba690a 340792009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34080
34081 Fixed grub-emu
34082
34083 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34084 (grub_dl_ref): likewise
34085
317e1a44 340862009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34087
34088 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34089 split in two functions (one for msdos and one for gpt).
34090
041b8094 340912009-05-08 Pavel Roskin <proski@gnu.org>
34092
752473c2 34093 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34094 not modified.
34095
041b8094 34096 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34097 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34098 Initialize them with -1. Add sanity check for bad1. Eliminate
34099 nerr variable.
34100
172800ce 341012009-05-08 David S. Miller <davem@davemloft.net>
34102
34103 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34104
29aa5e81 341052009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34108 existence.
29aa5e81 34109
96613b62 341102009-05-05 Felix Zielcke <fzielcke@z-51.de>
34111
34112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34113 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34114
eef73c8a 341152009-05-05 David S. Miller <davem@davemloft.net>
34116
34117 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34118
119494b5 341192009-05-05 Pavel Roskin <proski@gnu.org>
34120
34121 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34122 of grub_dl_ref() and grub_dl_unref().
34123 * commands/parttool.c: Remove preprocessor conditionals around
34124 grub_dl_ref() and grub_dl_unref().
34125 * fs/affs.c: Likewise.
34126 * fs/afs.c: Likewise.
34127 * fs/cpio.c: Likewise.
34128 * fs/ext2.c: Likewise.
34129 * fs/fat.c: Likewise.
34130 * fs/hfs.c: Likewise.
34131 * fs/hfsplus.c: Likewise.
34132 * fs/iso9660.c: Likewise.
34133 * fs/jfs.c: Likewise.
34134 * fs/minix.c: Likewise.
34135 * fs/ntfs.c: Likewise.
34136 * fs/reiserfs.c: Likewise.
34137 * fs/sfs.c: Likewise.
34138 * fs/udf.c: Likewise.
34139 * fs/ufs.c: Likewise.
34140 * fs/xfs.c: Likewise.
34141 * include/grub/dl.h: Likewise.
34142 * loader/xnu.c: Likewise.
34143
de5fd76e 341442009-05-04 Pavel Roskin <proski@gnu.org>
34145
34146 * commands/acpi.c: Remove unused variable my_mod.
34147 * partmap/amiga.c: Likewise.
34148 * partmap/apple.c: Likewise.
34149 * partmap/gpt.c: Likewise.
34150 * partmap/pc.c: Likewise.
34151 * partmap/sun.c: Likewise.
34152 * term/gfxterm.c: Likewise.
34153 * term/i386/pc/vesafb.c: Likewise.
34154 * term/i386/pc/vga.c: Likewise.
34155
983598ad 341562009-05-04 David S. Miller <davem@davemloft.net>
34157
34158 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34159 pointer args to grub_ieee1275_get_property().
34160
8aadec43 34161 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34162
9554b15e 34163 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34164 devices, and do not traverse down under controller nodes.
34165
67e23c90 34166 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34167 (grub_ofdisk_open): Use it to un-escape "," characters.
34168 * kern/disk.c (find_part_sep): New.
34169 (grub_disk_open): Use it to find the first non-escaped ','
34170 character in the disk name.
34171 * util/ieee1275/devicemap.c (escape_of_path): New.
34172 (grub_util_emit_devicemap_entry): Use it.
34173 * util/sparc64/ieee1275/grub-install.in: Update script to
34174 strip partition specifiers properly by not triggering on
34175 '\' escaped ',' characters.
34176
74bfdd2f 341772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34178
34179 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34180 to 0x300.
34181 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34182 resolutions.
34183 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34184 on documentation from Wikipedia).
34185
4241d2b1 341862009-05-04 Pavel Roskin <proski@gnu.org>
34187
34188 * disk/ata.c: Spelling fixes.
34189 * disk/raid.c: Likewise.
34190 * disk/usbms.c: Likewise.
34191 * disk/dmraid_nvidia.c: Likewise.
34192 * kern/ieee1275/openfw.c: Likewise.
34193 * kern/ieee1275/init.c: Likewise.
34194 * kern/ieee1275/cmain.c: Likewise.
34195 * boot/i386/pc/cdboot.S: Likewise.
34196 * video/readers/png.c: Likewise.
34197 * video/i386/pc/vbe.c: Likewise.
34198 * fs/udf.c: Likewise.
34199 * fs/hfs.c: Likewise.
34200 * fs/reiserfs.c: Likewise.
34201 * efiemu/runtime/efiemu.c: Likewise.
34202 * efiemu/main.c: Likewise.
34203 * efiemu/mm.c: Likewise.
34204 * include/grub/elf.h: Likewise.
34205 * include/grub/xnu.h: Likewise.
34206 * include/grub/usbdesc.h: Likewise.
34207 * include/grub/usb.h: Likewise.
34208 * include/grub/script_sh.h: Likewise.
34209 * include/grub/lib/LzmaEnc.h: Likewise.
34210 * include/grub/efiemu/efiemu.h: Likewise.
34211 * include/grub/command.h: Likewise.
34212 * normal/menu.c: Likewise.
34213 * normal/main.c: Likewise.
34214 * normal/datetime.c: Likewise.
34215 * bus/usb/uhci.c: Likewise.
34216 * mmap/i386/uppermem.c: Likewise.
34217 * mmap/mmap.c: Likewise.
34218 * commands/acpi.c: Likewise.
34219 * commands/test.c: Likewise.
34220 * partmap/apple.c: Likewise.
34221 * font/font.c: Likewise.
34222 * loader/sparc64/ieee1275/linux.c: Likewise.
34223 * loader/macho.c: Likewise.
34224 * loader/i386/bsd_trampoline.S: Likewise.
34225 * loader/i386/bsd.c: Likewise.
34226 * loader/xnu.c: Likewise.
34227 * term/i386/pc/vesafb.c: Likewise.
34228 * term/usb_keyboard.c: Likewise.
34229 * util/resolve.c: Likewise.
34230 * util/getroot.c: Likewise.
34231
0cfc0083 342322009-05-04 Felix Zielcke <fzielcke@z-51.de>
34233
34234 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34235
7c1d00cd 342362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34237
34238 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34239 build error.
34240
b01f0548 342412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34244 parameter only available on BIOS.
34245
ecc3eb22 342462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34247
34248 Removed wrong semicolon in declaration
34249
34250 * grub/misc.h (grub_dprintf): remove semicolon
34251
112972a9 342522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34253
34254 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34255 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34256 is done by grub_cmd_linux() now).
34257 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34258 restore video to text mode.
34259 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34260 indicates lack of "vga=" parameter. "vga=0" is mapped to
34261 `GRUB_LINUX_VID_MODE_NORMAL'.
34262
afd5c115 342632009-05-04 Felix Zielcke <fzielcke@z-51.de>
34264
34265 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34266 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34267 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34268 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34269 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34270 `grub_script.tab.c'.
34271
34272 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34273 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34276 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34277
faa517ce 34278 * Makefile.in: Remove duplicated 2008 in Copyright line.
34279
ae0c0bdc 342802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34281
473d1e45 34282 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34283 unconditionally.
34284 * include/grub/util/misc.h (grub_util_warn): New declaration.
34285
34286 * util/i386/pc/grub-install.in: Understand --force and pass it down
34287 to grub-setup.
34288
34289 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34290 down to setup().
34291 (setup): Improve error messages and add warnings when requested to
34292 install in odd layouts. Refuse to install using blocklists unless
34293 --force was set.
34294
18f547ad 342952009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34296
34297 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34298
6d260daa 342992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34300
34301 Updated copyright year
34302
34303 * fs/hfsplus.c: updated copyright year
18f547ad 34304
69f853f8 343052009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34306
34307 HFS+ UUID
34308
18f547ad 34309 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34310 in the space previously used by unused3
34311 (grub_hfsplus_uuid): new function
34312 (grub_hfsplus_fs): added uuid field
34313
4c402e73 343142009-05-03 Pavel Roskin <proski@gnu.org>
34315
34316 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34317 suppress warnings. It's no longer needed.
34318 * disk/host.c: Likewise.
34319 * disk/ata_pthru.c: Likewise.
34320 * disk/loopback.c: Likewise.
34321 * hook/datehook.c: Likewise.
34322 * parttool/pcpart.c: Likewise.
34323 * fs/i386/pc/pxe.c: Likewise.
34324 * fs/ntfscomp.c: Likewise.
34325 * efiemu/main.c: Likewise.
34326 * mmap/mmap.c: Likewise.
34327 * commands/crc.c: Likewise.
34328 * commands/hexdump.c: Likewise.
34329 * commands/hdparm.c: Likewise.
34330 * commands/acpi.c: Likewise.
34331 * commands/echo.c: Likewise.
34332 * commands/minicmd.c: Likewise.
34333 * commands/blocklist.c: Likewise.
34334 * commands/memrw.c: Likewise.
34335 * commands/loadenv.c: Likewise.
34336 * commands/usbtest.c: Likewise.
34337 * commands/lsmmap.c: Likewise.
34338 * commands/boot.c: Likewise.
34339 * commands/parttool.c: Likewise.
34340 * commands/configfile.c: Likewise.
34341 * commands/search.c: Likewise.
34342 * commands/ieee1275/suspend.c: Likewise.
34343 * commands/cat.c: Likewise.
34344 * commands/i386/pc/pxecmd.c: Likewise.
34345 * commands/i386/pc/play.c: Likewise.
34346 * commands/i386/pc/halt.c: Likewise.
34347 * commands/i386/pc/vbeinfo.c: Likewise.
34348 * commands/i386/pc/vbetest.c: Likewise.
34349 * commands/lspci.c: Likewise.
34350 * commands/date.c: Likewise.
34351 * commands/handler.c: Likewise.
34352 * commands/ls.c: Likewise.
34353 * commands/test.c: Likewise.
34354 * commands/cmp.c: Likewise.
34355 * commands/efi/loadbios.c: Likewise.
34356 * commands/efi/fixvideo.c: Likewise.
34357 * commands/halt.c: Likewise.
34358 * commands/help.c: Likewise.
34359 * commands/reboot.c: Likewise.
34360 * hello/hello.c: Likewise.
34361 * script/sh/main.c: Likewise.
34362 * loader/xnu.c: Likewise.
34363 * term/terminfo.c: Likewise.
34364 * term/i386/pc/serial.c: Likewise.
34365 * term/usb_keyboard.c: Likewise.
34366
515b5079 343672009-05-03 David S. Miller <davem@davemloft.net>
34368
34369 * normal/menu.c: Include grub/parser.h
34370
dfc31a22 343712009-05-03 Pavel Roskin <proski@gnu.org>
34372
2fee74f1 34373 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34374 not char*.
34375 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34376 Suggested by Javier Martín <lordhabbit@gmail.com>
34377
dfc31a22 34378 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34379 efiemu??.o doesn't exist.
34380 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34381 copying.
34382
18f547ad 343832009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34384
34385 FreeBSD 64-bit support
34386
18f547ad 34387 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34388 and loader/i386/bsd_trampoline.S
34389 (bsd_mod_ASFLAGS): new variable
34390 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34391 (FREEBSD_MODTYPE_KERNEL64): likewise
34392 (grub_bsd64_trampoline_start): likewise
34393 (grub_bsd64_trampoline_end): likewise
34394 (grub_bsd64_trampoline_selfjump): likewise
34395 (grub_bsd64_trampoline_gdt): likewise
34396 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34397 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34398 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34399 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34400 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34401 of "attrib" member
34402 * loader/i386/bsd_pagetable.c: new file
34403 * loader/i386/bsd_trampoline.S: likewise
34404 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34405 (ALIGN_VAR): likewise
34406 (entry_hi): new variable
34407 (kern_end_mdofs): likewise
34408 (is_64bit): likewise
34409 (grub_freebsd_add_meta): use ALIGN_VAR
34410 (grub_e820_mmap): new declaration
34411 (grub_freebsd_add_mmap): new function
34412 (grub_freebsd_add_meta_module): support 64 bit kernels
34413 (grub_freebsd_list_modules): use ALIGN_VAR
34414 (gdt_descriptor): new declaration
34415 (grub_freebsd_boot): support 64 bit kernels
34416 (grub_bsd_elf64_hook): new function
34417 (grub_bsd_load_elf): support elf64
34418
038c5720 344192009-05-03 Bean <bean123ch@gmail.com>
34420
34421 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34422 after we get the result of if statement.
34423
fc45fb58 344242009-05-03 Bean <bean123ch@gmail.com>
34425
34426 * Makefile.in (enable_efiemu): New variable.
34427
34428 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34429 set.
34430 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34431 path.
34432 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34433 path, add -mno-red-zone option.
34434 (efiemu64_s.o): Likewise.
34435 (efiemu64.o): Use macro $^ for source file.
34436
34437 * configure.ac (--enable-efiemu): New option.
34438
bbee0f2b 344392009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34440
34441 xnu support
34442
34443 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34444 (pkglib_MODULES): add xnu.mod
34445 (xnu_mod_SOURCES): new variable
34446 (xnu_mod_CFLAGS): likewise
34447 (xnu_mod_LDFLAGS): likewise
34448 (xnu_mod_ASFLAGS): likewise
34449 * conf/i386-pc.rmk: likewise
34450 * conf/x86_64-efi.rmk: likewise
7dd4a573 34451 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34452 new declaration
34453 * include/grub/i386/macho.h: new file
34454 * include/grub/i386/xnu.h: likewise
34455 * include/grub/macho.h: likewise
34456 * include/grub/machoload.h: likewise
34457 * include/grub/x86_64/macho.h: likewise
34458 * include/grub/x86_64/xnu.h: likewise
34459 * include/grub/xnu.h: likewise
34460 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34461 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34462 * loader/i386/efi/xnu.c: new file
34463 * loader/i386/pc/xnu.c: likewise
34464 * loader/i386/xnu.c: likewise
34465 * loader/i386/xnu_helper.S: likewise
34466 * loader/macho.c: likewise
34467 * loader/xnu.c: likewise
34468 * loader/xnu_resume.c: likewise
34469 * util/grub-dumpdevtree: likewise
34470 * include/grub/i386/pit.h: include grub/err.h
34471 (grub_pit_wait): export
34472 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34473
5caf964d 344742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34475
34476 Efiemu
7dd4a573 34477
5caf964d 34478 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34479 _linux_efi, linux_efi.
34480 new files in grub-emu
5caf964d 34481 new targets efiemu32.o and efiemu64.o
34482 * loader/linux_normal_efiemu.c: likewise
34483 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34484 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34485 files to copy
34486 * include/grub/autoefi.h: new file
7dd4a573 34487 * include/grub/i386/efiemu.h: likewise
5caf964d 34488 * include/grub/i386/pc/efiemu.h: likewise
34489 * include/grub/efi/api.h: add LL suffix when necessary
34490 new definitions relating to tables
34491 * include/grub/efiemu/efiemu.h: new file
34492 * include/grub/efiemu/runtime.h: likewise
34493 * efiemu/prepare.c: likewise
34494 * efiemu/loadcore_common.c: likewise
34495 * efiemu/loadcore64.c: likewise
34496 * efiemu/runtime/efiemu.sh: likewise
34497 * efiemu/runtime/efiemu.S: likewise
34498 * efiemu/runtime/efiemu.c: likewise
34499 * efiemu/runtime/config.h: likewise
34500 * efiemu/prepare32.c: likewise
34501 * efiemu/main.c: likewise
34502 * efiemu/modules/pnvram.c: likewise
34503 * efiemu/modules/i386: likewise
34504 * efiemu/modules/i386/pc: likewise
34505 * efiemu/modules/acpi.c: likewise
34506 * efiemu/i386/pc/cfgtables.c: likewise
34507 * efiemu/i386/loadcore64.c: likewise
34508 * efiemu/i386/loadcore32.c: likewise
34509 * efiemu/prepare64.c: likewise
34510 * efiemu/loadcore.c: likewise
34511 * efiemu/symbols.c: likewise
34512 * efiemu/mm.c: likewise
34513 * efiemu/loadcore32.c: likewise
7dd4a573 34514
345152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34516
34517 ACPI spoofing
34518
34519 * commands/acpi.c: new file
34520 * commands/i386/pc/acpi.c: likewise
34521 * commands/efi/acpi.c: likewise
34522 * include/grub/acpi.h: likewise
34523 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34524 (acpi_mod_SOURCES): new variable
34525 (acpi_mod_CFLAGS): likewise
34526 (acpi_mod_LDFLAGS): likewise
34527 * conf/i386-efi.rmk: likewise
34528 * conf/x86_64-efi.rmk: likewise
34529
7dd4a573 345302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34531
34532 Missing part from mmap patch
34533
34534 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34535 (grub_mmap_unregister)
34536 (grub_mmap_free_and_unregister): use grub_mmap_register
34537
7dd4a573 345382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34539
34540 Mmap services
34541
34542 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34543 * loader/i386/linux.c (find_mmap_size): likewise
34544 (allocate_pages): likewise
34545 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34546 (grub_fill_multiboot_mmap): likewise
34547 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34548 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34549 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34550 (OPENBSD_MMAP_RESERVED): likewise
34551 * include/grub/i386/pc/memory.h: include grub/memory.h
34552 (grub_lower_mem): removed
34553 (grub_upper_mem): likewise
34554 (GRUB_MACHINE_MEMORY_ACPI): new definition
34555 (GRUB_MACHINE_MEMORY_NVS): likewise
34556 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34557 (GRUB_MACHINE_MEMORY_HOLE): likewise
34558 (grub_machine_mmap_register): likewise
34559 (grub_machine_mmap_unregister): likewise
34560 (grub_machine_get_upper): likewise
34561 (grub_machine_get_lower): likewise
34562 (grub_machine_get_post64): likewise
34563 * include/grub/i386/efi/memory.h: new file
34564 * include/grub/x86_64/efi/memory.h: likewise
34565 * include/grub/efi/memory.h: likewise
34566 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34567 (mmap_mod_SOURCES): new variable
34568 (mmap_mod_LDFLAGS): likewise
34569 (mmap_mod_ASFLAGS): likewise
34570 * conf/i386-coreboot.rmk: likewise
34571 * conf/i386-ieee1275.rmk: likewise
34572 * conf/i386-efi.rmk: likewise
34573 * conf/x86_64-efi.rmk: likewise
34574 * include/grub/types.h (UINT_TO_PTR): new macro
34575 (PTR_TO_UINT32): likewise
34576 (PTR_TO_UINT64): likewise
34577 * include/grub/memory.h: new file
34578 * mmap/i386/pc/mmap.c: likewise
34579 * mmap/i386/pc/mmap_helper.S: likewise
34580 * mmap/i386/uppermem.c: likewise
34581 * mmap/mmap.c: likewise
34582 * mmap/efi/mmap.c: likewise
7dd4a573 34583 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34584 grub_upper_mem
34585 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34586 (grub_upper_mem): likewise
34587 (grub_machine_init): don't use grub_upper_mem,
34588 make grub_lower_mem local
34589 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34590 grub_mmap_iterate and grub_mmap_get_upper
34591 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34592
d558e6b5 345932009-05-02 Bean <bean123ch@gmail.com>
34594
34595 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34596 script/sh/parser.y.
34597 (pkglib_MODULES): Add normal.mod and sh.mod.
34598 (normal_SOURCES): New variable.
34599 (normal_mod_CFLAGS): Likewise.
34600 (normal_mod_LDFLAGS): Likewise.
34601 (sh_mod_SOURCES): Likewise.
34602 (sh_mod_CFLAGS): Likewise.
34603 (sh_mod_LDFLAGS): Likewise.
34604
34605 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34606 script/sh/lexer.c_DEPENDENCIES.
34607 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34608 kern/rescue_reader.c and kern/rescue_parser.c.
34609 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34610 (grub_emu_SOURCES): Change source files.
34611 (pkglib_MODULES): Remove normal.mod.
34612 (normal_SOURCES): Removed.
34613 (normal_mod_CFLAGS): Likewise.
34614 (normal_mod_LDFLAGS): Likewise.
34615 * conf/i386-coreboot.rmk: Likewise.
34616 * conf/i386-efi.rmk: Likewise.
34617 * conf/i386-ieee1276.rmk: Likewise.
34618 * conf/powerpc-ieee1275.rmk: Likewise.
34619 * conf/sparc64-ieee1275.rmk: Likewise.
34620 * conf/x86_64-efi.rmk: Likewise.
34621
34622 * include/grub/command.h (grub_command_execute): New inline function.
34623
34624 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34625
34626 * include/grub/normal.h: Remove <grub/setjmp.h>.
34627 (grub_fs_module_list): Moved to normal/autofs.c.
34628 (grub_exit_env): Removed.
34629 (grub_command_execute): Likewise.
34630 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34631 parameter script.
34632 (read_command_list): New function declaration.
34633 (read_fs_list): Likewise.
34634
34635 * include/parser.h: Include <grub/reader.h>.
34636 (grub_parser_split_cmdline): Change type of getline parameter.
34637 (grub_parser): New structure.
34638 (grub_parser_class): New variable.
34639 (grub_parser_execute): New function declaration.
34640 (grub_register_rescue_parser): Likewise.
34641 (grub_parser_register): New inline function.
34642 (grub_parser_unregister): Likewise.
34643 (grub_parser_get_current): Likewise.
34644 (grub_parser_set_current): Likewise.
34645
34646 * include/grub/reader.h: New file.
34647 * kern/reader.c: Likewise.
34648 * kern/rescue_parser.c: Likewise.
34649 * kern/rescue_reader.c: Likewise.
34650 * normal/autofs.c: Likewise.
34651 * normal/dyncmd.c: Likewise.
34652
34653 * include/grub/rescue.h: Removed.
34654 * normal/command.h: Likewise.
34655
34656 * include/grub/script.h: Moved to ...
34657 * include/grub/script_sh.h: ... Moved here.
34658 * normal/execute.c: Moved to ...
34659 * script/sh/execute.c: ... Moved here.
34660 * normal/function.c: Moved to ...
34661 * script/sh/function.c: ... Moved here.
34662 * normal/lexer.c: Moved to ...
34663 * script/sh/lexer.c: ... Moved here.
34664 * normal/parser.y: Moved to ...
34665 * script/sh/parser.y: ... Moved here.
34666 * normal/script.c: Moved to ...
34667 * script/sh/script.c: ... Moved here.
34668
34669 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34670 <grub/reader.h>.
34671 (grub_exit_env): Removed.
34672 (fs_module_list): Moved to normal/autofs.c.
34673 (grub_file_getline): Don't handle comment here.
34674 (free_menu): Skip removed field entry->commands.
34675 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34676 script parameter.
34677 (read_config_file): Removed nested parameter, change getline function.
34678 (grub_enter_normal_mode): Removed.
34679 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34680 (read_command_list): Likewise.
34681 (autoload_fs_module): Moved to normal/autofs.c.
34682 (read_fs_list): Likewise.
34683 (reader_nested): New variable.
34684 (grub_normal_execute): Run parser.sh to switch to sh parser.
34685 (grub_cmd_rescue): Removed.
34686 (cmd_normal): Removed.
34687 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34688 rescue command.
34689 (grub_cmdline_run): New function.
34690 (grub_normal_reader_init): Likewise.
34691 (grub_normal_read_line): Likewise.
34692 (grub_env_write_pager): Likewise.
34693 (cmdline): New variable.
34694 (grub_normal_reader): Likewise.
34695 (GRUB_MOD_INIT): Register normal reader and set as current, register
34696 pager hook, register normal command with grub_register_command_prio,
34697 so that it won't show up in command.lst.
34698 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34699 grub_fs_autoload_hook.
34700
34701 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34702 (grub_menu_execute_entry): Replace grub_script_execute with
34703 grub_parser_execute, change parameter to grub_command_execute.
34704
34705 * normal/menu_text.c: Remove <grub/script.h>.
34706
34707 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34708 and <grub/parser.h>.
34709 (run): Change editor_getline to use new parser interface. Change
34710 parameter to grub_command_execute.
34711
34712 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34713 <grub/reader.h> and <grub/parser.h>.
34714 (grub_load_normal_mode): Execute normal command.
34715 (grub_main): Call grub_register_core_commands,
34716 grub_register_rescue_parser and grub_register_rescue_reader, use
34717 grub_reader_loop to enter input loop.
34718
7dd4a573 34719 * kern/parser.c (grub_parser_split_cmdline): Change type of
34720 getline parameter.
d558e6b5 34721 (grub_parser_class): New variable.
34722 (grub_parser_execute): New function.
34723
34724 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34725 * loader/multiboot2.c: Likewise.
34726 * loader/sparc64/ieee1275/linux.c: Likewise.
34727
34728 * util/grub-emu.c (read_command_list): New dummy function.
34729
18db813d 347302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34731
34732 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34733 count to 16 for CCISS and IDA.
34734
6c67de15 347352009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34736
34737 * normal/menu_text.c (grub_wait_after_message): Print a newline
34738 after waiting for user input.
34739
34740 * loader/i386/linux.c: Include `<grub/normal.h>'.
34741 (grub_cmd_linux): Improve the error message about `ask' mode, by
34742 waiting for user input so it's not missed (we can do this, since
34743 user requested interaction).
34744
d9dc87b0 347452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34746
34747 Added missing lst to grub-mkrescue
34748
34749 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34750 and ${input_dir}/parttool.lst
34751
ac8a2baa 347522009-04-30 David S. Miller <davem@davemloft.net>
34753
ad22a610 34754 * util/hostdisk.c (device_is_wholedisk): New function.
34755 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34756 zero only if device_is_wholedisk() returns true.
34757
6966215d 34758 * util/hostdisk.c (convert_system_partition_to_system_disk):
34759 Handle virtual disk devices named /dev/vdiskX as found on sparc
34760 and powerpc.
34761
ac8a2baa 34762 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34763 lettered partition specifier is found, convert to numbered.
34764
979b4fb4 347652009-04-29 David S. Miller <davem@davemloft.net>
34766
e2bf39b2 34767 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34768 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34769
3c64e104 34770 * normal/command.c: Add missing newline at end of file.
34771
979b4fb4 34772 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34773 warnings.
34774 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34775 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34776 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34777 ihandles have a 32-bit type but need to be stored in a "void *".
34778
136d9f82 347792009-04-28 Pavel Roskin <proski@gnu.org>
34780
9459c306 34781 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34782 not disk. Adjust all dependencies.
2e08a26a 34783 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34784 grub_disk_close().
34785
136d9f82 34786 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34787 parent's partition, don't copy it by reference, as it gets freed
34788 on close.
34789
7dd4a573 347902009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34791
34792 Preboot hooks support
34793
34794 * commands/boot.c (struct grub_preboot_t): new declaration
34795 (preboots_head): new variable
34796 (preboots_tail): likewise
34797 (grub_loader_register_preboot_hook): new function
34798 (grub_loader_unregister_preboot_hook): likewise
34799 (grub_loader_set): launch preboot hooks
34800 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34801 (grub_loader_register_preboot_hook): new declaration
34802 (grub_loader_unregister_preboot_hook): likewise
34803
5af922b5 348042009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34805
34806 Warning fix
34807
7dd4a573 34808 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34809 calling grub_dprintf
34810
a5562c30 348112009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34812
34813 Bug and warning fixes
34814
7dd4a573 34815 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34816 declaration
34817 * commands/test.c (test_parse): fixed bug with file tests and corrected
34818 declaration of find_file
34819
4006f85c 348202009-04-26 Pavel Roskin <proski@gnu.org>
34821
34822 * Makefile.in: Don't install empty manual pages if help2man is
34823 missing. Use help2man option for output, not shell redirection.
34824
5c77c3de 348252009-04-26 David S. Miller <davem@davemloft.net>
34826
34827 * util/grub-mkdevicemap.c (make_device_map): Add missing
34828 NESTED_FUNC_ATTR to process_device().
34829
033b10a8 348302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34831
34832 Test command
34833
34834 * commands/test.c: rewritten to use bash-like test
34835
e4343593 348362009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34837
34838 Parttool autoloading and improvements
34839
7dd4a573 34840 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34841 (parttool.lst): new target
34842 * genmk.rb: generate parttool-*
34843 (CLEANFILES): add #{parttool}
34844 (PARTTOOLFILES): new variable
34845 * genparttoollist.sh: new file
7dd4a573 34846 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34847 (grub_pcpart_type): likewise
34848 * commands/parttool.c (helpmsg): new variable
34849 (grub_cmd_parttool): output help if not enough arguments are supplied
34850 autoload modules
34851 (GRUB_MOD_INIT(parttool)): use helpmsg
34852
0d312500 348532009-04-24 David S. Miller <davem@davemloft.net>
34854
7dd4a573 34855 Avoiding opening same device multiple times in device iterator.
0d312500 34856
34857 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34858 and use it to build a list of partitions in iterate_disk() and
0d312500 34859 iterate_partition().
34860
ac20caff 34861 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34862 on disk->data.
34863
0dcf7495 34864 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34865 grub_devalias_iterate() result instead of unconditional 0.
34866 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34867 Also, capture hook return value, either directly or via
34868 grub_children_iterate(), and propagate to caller.
34869 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34870 grub_children_iterate): Return value is now 'int' instead of
34871 'grub_err_t'.
34872 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34873 like a proper iterator, stopping when hooks return non-zero.
34874 (grub_devalias_iterate): Likewise.
34875
c8c08833 348762009-04-23 David S. Miller <davem@davemloft.net>
34877
34878 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34879
f01005a8 348802009-04-22 David S. Miller <davem@davemloft.net>
34881
34882 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34883 is larger than address_cells, use that value for address_cells too.
34884
4e8269da 34885 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34886 IEEE1275_MAX_PATH_LEN): Define.
34887 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34888 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34889 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34890 'devtype'. Explicitly NULL terminate devalias expansion.
34891
a1447506 34892 * util/sparc64/ieee1275/misc.c: New file.
34893 * util/sparc64/ieee1275/grub-setup.c: New file.
34894 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34895 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34896 * util/sparc64/ieee1275/grub-install.in: New file.
34897 * util/ieee1275/ofpath.c: New file.
34898 * util/ieee1275/devicemap.c: New file.
34899 * util/devicemap.c: New file.
34900 * util/deviceiter.c: New file.
34901 * kern/sparc64/ieee1275/init.c: New file.
34902 * include/grub/util/ofpath.h: New file.
34903 * include/grub/util/deviceiter.h: New file.
34904 * util/grub-mkdevicemap.c: Include deviceiter.h.
34905 Implement using grub_util_emit_devicemap_entry and
34906 grub_util_iterate_devices.
34907 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34908 util/devicemap.c into grub-mkdevicemap
34909 * conf/i386-efi.rmk: Likewise.
34910 * conf/i386-ieee1275.rmk: Likewise.
34911 * conf/i386-pc.rmk: Likewise.
34912 * conf/powerpc-ieee1275.rmk: Likewise.
34913 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34914 images and installation utilities. Build kernel as image
34915 instead of as elf binary. Use common rules as much as possible.
34916
7dd4a573 349172009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34918
34919 Correct GPT definition
34920
7dd4a573 34921 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34922 of "attrib" member
34923
c6c5219f 349242009-04-19 Felix Zielcke <fzielcke@z-51.de>
34925
34926 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34927
0552ff9f 349282009-04-19 David S. Miller <davem@davemloft.net>
34929
34930 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34931 (grub_rescue_cmd_linux): Rename to...
34932 (grub_cmd_linux): and fix prototype.
34933 (grub_rescue_cmd_initrd): Rename to...
34934 (grub_cmd_initrd): and fix prototype.
34935 (cmd_linux, cmd_initrd): New.
34936 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34937 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34938
d1a282fc 349392009-04-17 Pavel Roskin <proski@gnu.org>
34940
07c5039f 34941 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34942 format.
34943 (grub_ohci_transfer): Likewise.
34944
b012002d 34945 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34946
1bc09c35 34947 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34948 return without a value. Fix inconsistent indentation.
34949
e0ff9126 34950 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34951 match struct grub_fs.
34952
d1a282fc 34953 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34954 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34955 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34956 * commands/lspci.c (grub_lspci_iter): Likewise.
34957
a96df3f2 349582009-04-16 Bean <bean123ch@gmail.com>
34959
34960 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34961 value.
34962
41bb0fe9 349632009-04-15 Pavel Roskin <proski@gnu.org>
34964
34965 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34966 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34967 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34968 definitions.
34969
596c6970 349702009-04-15 Felix Zielcke <fzielcke@z-51.de>
34971
34972 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34973 that no multiple data or metadata areas are supported and `Unknown
596c6970 34974 metadata header'.
34975
7dd4a573 349762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34977
34978 Move loader out of the kernel
34979
34980 * kern/loader.c: moved to ...
34981 * commands/boot.c: ... moved here
34982 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34983 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34984 * include/grub/kernel.h (grub_machine_fini): export
34985 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34986 (grub_loader_set): likewise
34987 (grub_loader_unset): likewise
34988 (grub_loader_boot): likewise
34989 * conf/common.rmk: new module boot.mod
34990 (pkglib_MODULES): add boot.mod
34991 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34992 (grub_emu_SOURCES): likewise
34993 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34994 (grub_emu_SOURCES): likewise
34995 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34996 (grub_emu_SOURCES): likewise
34997 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34998 (grub_emu_SOURCES): likewise
34999 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35000 (grub_emu_SOURCES): likewise
7dd4a573 35001 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35002 (grub_emu_SOURCES): likewise
0d5d5653 35003 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35004 (grub_emu_SOURCES): likewise
0d5d5653 35005
7dd4a573 350062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35007
35008 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35009
5999d619 35010 * kern/misc.c (grub_itoa): Removed function
35011 (grub_ltoa): likewise
35012 (grub_vsprintf): use grub_lltoa
35013
7dd4a573 350142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35015
35016 Restore grub-emu
35017
35018 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35019 * conf/i386-coreboot.rmk: likewise
35020 * conf/i386-ieee1275.rmk: likewise
35021 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35022
20318222 350232009-04-15 Felix Zielcke <fzielcke@z-51.de>
35024
35025 * INSTALL: Add that `./autogen.sh' needs to be run before
35026 `./configure.'.
35027
d05f0df3 350282009-04-14 Bean <bean123ch@gmail.com>
35029
35030 * Makefile.in (pkglib_DATA): Add handler.lst.
35031 (handler.lst): New rule.
35032
35033 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35034 * conf/i386-coreboot.rmk: Likewise.
35035 * conf/i386-ieee1275.rmk: Likewise.
35036 * conf/i386-efi.rmk: Likewise.
35037 * conf/x86_64-efi.rmk: Likewise.
35038 * conf/powerpc-ieee1275.rmk: Likewise.
35039 * conf/sparc64-ieee1275.rmk: Likewise.
35040
35041 * genhandlerlist.sh: New file.
35042
35043 * genmk.rb: Add rules to generate handler.lst.
35044
35045 * include/grub/normal.h (grub_file_getline): New function definition.
35046 (read_handler_list): Likewise.
35047 (free_handler_list): Likewise.
35048
35049 * include/grub/term.h (grub_term_register_input): Add name parameter
35050 for auto generation of handler.lst.
35051 (grub_term_register_output): Likewise.
35052
35053 * normal/handler.c: New file.
35054
35055 * normal/main.c (get_line): Renamed to grub_file_getline.
35056 (read_config_file): Use the newly renamed grub_file_getline.
35057 (read_command_list): Likewise.
35058 (read_fs_list): Likewise.
35059 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35060 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35061
35062 * term/efi/console.c (grub_console_init): Add name parameter for auto
35063 generation of handler.lst.
35064 * term/gfxterm.c: Likewise.
35065 * term/i386/pc/at_keyboard.c: Likewise.
35066 * term/i386/pc/console.c: Likewise.
35067 * term/i386/pc/serial.c: Likewise.
35068 * term/i386/pc/vesafb.c: Likewise.
35069 * term/i386/pc/vga.c: Likewise.
35070 * term/i386/pc/vga_text.c: Likewise.
35071 * term/ieee1275/ofconsole.c: Likewise.
35072 * term/usb_keyboard.c: Likewise.
35073
33c846be 350742009-04-14 Bean <bean123ch@gmail.com>
35075
35076 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35077 properly with null character.
35078
4484e01e 350792009-04-14 Felix Zielcke <fzielcke@z-51.de>
35080
35081 * configure: Remove.
35082 * config.h.in: Likewise.
f93d668e 35083 * stamp-h.in: Likewise.
4484e01e 35084 * DISTLIST: Likewise.
35085 * conf/common.mk: Likewise.
35086 * conf/i386-coreboot.mk: Likewise.
35087 * conf/i386-efi.mk: Likewise.
35088 * conf/i386-ieee1275.mk: Likewise.
35089 * conf/i386.mk: Likewise.
35090 * conf/i386-pc.mk: Likewise.
35091 * conf/powerpc-ieee1275.mk: Likewise.
35092 * conf/sparc64-ieee1275.mk: Likewise.
35093 * conf/x86_64-efi.mk: Likewise.
35094
35095 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35096 develop on GRUB.
35097
7dd4a573 350982009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35099 David S. Miller <davem@davemloft.net>
35100
35101 * util/hostdisk.c (make_device_name): Fix buffer length
35102 calculations.
35103
e25b5a8c 351042009-04-14 Felix Zielcke <fzielcke@z-51.de>
35105
35106 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35107 <sys/param.h> and <sys/sysctl.h>.
35108 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35109 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35110 opening the device and reset them afterwards.
35111
1f1f580c 351122009-04-13 Pavel Roskin <proski@gnu.org>
35113
35114 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35115 Reported by John Stanley <jpsinthemix@verizon.net>
35116
7ebc2d6b 351172009-04-13 Robert Millan <rmh@aybabtu.com>
35118
35119 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35120 that name for menuentries when appropriate.
7ebc2d6b 35121
d8ba3667 351222009-04-13 Felix Zielcke <fzielcke@z-51.de>
35123
35124 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35125
cba416eb 351262009-04-13 Robert Millan <rmh@aybabtu.com>
35127
35128 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35129 to Linux, simply abort telling the user it's no longer supported.
35130
a547a745 351312009-04-13 Felix Zielcke <fzielcke@z-51.de>
35132
35133 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35134 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35135 `freebsd_loadenv' only when devices.hints exist.
35136
232a769c 351372009-04-13 Pavel Roskin <proski@gnu.org>
35138
35139 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35140
c3012039 351412009-04-13 Felix Zielcke <fzielcke@z-51.de>
35142
35143 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35144 partition number.
35145 (grub_drive): Likewise.
35146
234022fe 351472009-04-13 David S. Miller <davem@davemloft.net>
35148
35149 * kern/sparc64/ieee1275/ieee1275.c: New file.
35150 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35151 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35152 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35153 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35154 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35155 grub_ieee1275_alloc_physmem): Declare new exported functions.
35156
d8e1836c 35157 * include/grub/sparc64/ieee1275/loader.h: New file.
35158 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35159 * include/grub/sparc64/kernel.h: Likewise.
35160 * loader/sparc64/ieee1275/linux.c: Likewise.
35161
96bd81ec 35162 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35163 (grub_fstest_SOURCES): Likewise.
35164
6a4737e5 35165 * util/hostdisk.c (make_device_name): Do not make any assumptions
35166 about the length of drive names.
35167
1d7a72fd 35168 * kern/dl.c (grub_dl_load_file): Close file immediately when
35169 we are done using it.
35170
56bc2471 351712009-04-12 David S. Miller <davem@davemloft.net>
35172
35173 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35174 values. Noticed by Pavel Roskin.
35175
df38d0bb 35176 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35177 target compiler.
7dd4a573 35178
e382e93a 35179 * genmk.rb: Add more flexible image type specification, also
35180 pass --strip-unneeded to objcopy.
35181 * conf/i386-pc.rmk: Use *_FORMAT.
35182 * conf/i386-pc.mk: Rebuilt.
35183
f5dbbca9 35184 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35185 (OFDISK_HASH_SZ): Define.
35186 (ofdisk_hash): New hash table.
35187 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35188 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35189 instead of device phandle which is not unique.
35190
91c88b12 35191 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35192 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35193 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35194 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35195 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35196 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35197 GRUB_KERNEL_MACHINE_DATA_END): Define.
35198 (grub_kernel_image_size, grub_total_module_size): Declare.
35199
5b5d4aa5 352002009-04-12 Pavel Roskin <proski@gnu.org>
35201
7dd4a573 35202 * configure.ac: Change the logic when we check for target tools.
35203 Do it when the target is specified and it's different from the
35204 specified value of the host.
5b5d4aa5 35205
c91e1793 352062009-04-11 Felix Zielcke <fzielcke@z-51.de>
35207
35208 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35209 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35210 GNU/kFreeBSD. Check if a device is a character device. Use
35211 DIOCGMEDIASIZE to get the size.
35212 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35213 support for GNU/kFreeBSD.
35214 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35215 is a character device instead of a block device. Add support for
35216 FreeBSD device names.
35217
35218 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35219 is a character device instead of a block device.
35220
35221 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35222 is a character device instead of a block device.
35223
b1ac8644 352242009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35225
35226 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35227 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35228 FreeBSD. Check if a device is a character device. Use
35229 DIOCGMEDIASIZE to get the size.
35230 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35231 support for FreeBSD.
35232 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35233 is a character device instead of a block device. Add support for
35234 FreeBSD device names.
35235
35236 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35237 a character device instead of a block device.
35238 (grub_util_check_char_device): New function.
35239
35240 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35241 a character device instead of a block device.
35242
35243 * include/grub/util/getroot.h (grub_util_check_char_device): New
35244 prototype.
35245
a3f7515a 352462009-04-11 David S. Miller <davem@davemloft.net>
35247
35248 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35249 static libgcc.
35250 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35251 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35252 function, if present.
35253 (__bswapdi2): Likewise.
35254
0d44993d 35255 * include/grub/sparc64/ieee1275/boot.h: New file.
35256 * boot/sparc64/ieee1275/boot.S: Likewise.
35257 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35258
ed3d2bc2 35259 * kern/misc.c (grub_ltoa): New function.
35260 (grub_vsprintf): Use it to format 'long' integers.
35261
d3bfb59c 352622009-04-10 David S. Miller <davem@davemloft.net>
35263
35264 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35265 slots are of type grub_ieee1275_cell_t.
35266 (grub_nand_read): Likewise.
35267 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35268 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35269 macros are used to compare values in arg/ret block of the call.
35270 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35271 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35272 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35273 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35274 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35275 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35276 grub_ieee1275_close, grub_ieee1275_set_property,
35277 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35278 grub_ieee1275_cell_t.
35279 * kern/ieee1275/openfw.c (grub_map): Likewise.
35280 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35281 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35282
450e2238 35283 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35284 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35285 (grub_devalias_iterate): Likewise.
35286
7dd4a573 352872009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35288
35289 UFS improvements
35290
35291 * fs/ufs.c (INODE_NBLOCKS): new definition
35292 (struct grub_ufs_dirent): added fields for non-BSD dirents
35293 (grub_ufs_get_file_block): fixed double indirect handling
35294 (grub_ufs_lookup_symlink): use more robust way to determine whether
35295 symlink is inline
35296 (grub_ufs_find_file): support for non-BSD dirents
35297 (grub_ufs_dir): support for non-BSD dirents
35298
e7e6862a 352992009-04-10 Bean <bean123ch@gnail.com>
35300
35301 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35302 attribute, otherwise the size would be wrong for i386 platform.
35303
35304 * include/grub/pci.h (grub_pci_read_word): New inline function.
35305 (grub_pci_read_byte): Likewise.
35306 (grub_pci_write): Likewise.
35307 (grub_pci_write_word): Likewise.
35308 (grub_pci_write_byte): Likewise.
35309
35310 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35311
35312 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35313 (find_framebuf): Scan pci to locate the frame buffer address.
35314
35315 * commands/efi/fixvideo.c: New file.
35316
35317 * commands/efi/loadbios.c: Likewise.
35318
35319 * commands/memrw.c: Likewise.
35320
35321 * util/grub-dumpbios.in: Likewise.
35322
35323 * conf/common.rmk (grub-dumpbios): New utility.
35324 (pkglib_MODULES): New module memrw.mod.
35325 (memrw_mod_SOURCE): New macro.
35326 (memrw_mod_CFLAGS): Likewise.
35327 (memrw_mod_LDFLAGS): Likewise.
35328
7dd4a573 35329 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35330 fixvideo.mod.
35331 (loadbios_mod_SOURCE): New macro.
35332 (loadbios_mod_CFLAGS): Likewise.
35333 (loadbios_mod_LDFLAGS): Likewise.
35334 (fixvideo_mod_SOURCE): Likewise.
35335 (fixvideo_mod_CFLAGS): Likewise.
35336 (fixvideo_mod_LDFLAGS): Likewise.
35337
7dd4a573 35338 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35339 fixvideo.mod.
35340 (loadbios_mod_SOURCE): New macro.
35341 (loadbios_mod_CFLAGS): Likewise.
35342 (loadbios_mod_LDFLAGS): Likewise.
35343 (fixvideo_mod_SOURCE): Likewise.
35344 (fixvideo_mod_CFLAGS): Likewise.
35345 (fixvideo_mod_LDFLAGS): Likewise.
35346
af63ada2 353472009-04-08 Felix Zielcke <fzielcke@z-51.de>
35348
35349 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35350
c2cdde70 353512009-04-07 David S. Miller <davem@davemloft.net>
35352
35353 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35354 support for R_SPARC_OLO10 relocations. Fix compile warning for
35355 R_SPARC_WDISP30 case.
ea3f72cf 35356 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35357
761319cf 353582009-04-06 Pavel Roskin <proski@gnu.org>
35359
1007d1f5 35360 * include/grub/misc.h (ARRAY_SIZE): New macro.
35361 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35362 New macro.
35363 * loader/i386/linux.c (allocate_pages): Use free_pages().
35364 (grub_linux_unload): Don't use free_pages().
35365 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35366 wrong index. Treat all other modes as text modes.
35367 (grub_cmd_linux): Initialize vid_mode unconditionally to
35368 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35369
761319cf 35370 * commands/help.c (print_command_help): Use cmd->prio, not
35371 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35372
ea761d40 353732009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35374
ea761d40 35375 Parttool
35376
35377 * parttool/pcpart.c: new file
35378 * commands/parttool.c: likewise
35379 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35380 (parttool_mod_SOURCES): new variable
35381 (parttool_mod_CFLAGS): likewise
35382 (parttool_mod_LDFLAGS): likewise
35383 (pcpart_mod_SOURCES): likewise
35384 (pcpart_mod_CFLAGS): likewise
35385 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35387 and parttool/pcpart.c
35388 * conf/i386-efi.rmk: likewise
35389 * conf/i386-ieee1275.rmk: likewise
35390 * conf/i386-pc.rmk: likewise
35391 * conf/powerpc-ieee1275.rmk: likewise
35392 * conf/sparc64-ieee1275.rmk: likewise
35393 * conf/x86_64-ieee1275.rmk: likewise
35394
05aaebfb 353952009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35396
35397 Support for mtime and further expandability of dir command
35398
35399 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35400 * include/grub/datetime.h: ... moved here and added
05aaebfb 35401 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35402 * include/grub/fs.h: new syntax for dir and mtime functions in
35403 struct grub_fs
05aaebfb 35404 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35405 and GRUB_FSHELP_FLAGS_MASK
35406 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35407 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35408 (grub_ext2_mtime): new function
35409 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35410 (grub_hfsplus_mtime): new function
35411 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35412 (GRUB_UFS_ATTR_FILE): likewise
35413 (GRUB_UFS_ATTR_LNK): likewise
35414 (struct grub_ufs_sblock): new fields mtime
35415 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35416 all users updated
35417 (grub_ufs_dir): mtime support
35418 (grub_ufs_mtime): new function
35419 * fs/affs.c (grub_affs_dir): use new dir syntax
35420 * fs/afs.c (grub_afs_dir): likewise
35421 * fs/cpio.c (grub_cpio_dir): likewise
35422 * fs/fat.c (grub_fat_find_dir): likewise
35423 * fs/hfs.c (grub_hfs_dir): likewise
35424 * fs/iso9660.c (grub_iso9660_dir): likewise
35425 * fs/jfs.c (grub_jfs_dir): likewise
35426 * fs/minix.c (grub_minix_dir): likewise
35427 * fs/ntfs.c (grub_ntfs_dir): likewise
35428 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35429 * fs/sfs.c (grub_sfs_dir): likewise
35430 * fs/xfs.c (grub_xfs_dir): likewise
35431 * util/hostfs.c (grub_hostfs_dir): likewise
35432 * lib/datetime.c: moved to ...
35433 * normal/datetime.c: ... moved here
35434 (grub_unixtime2datetime): new function
35435 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35436 * normal/completion.c (iterate_dir): use new dir syntax
35437 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35438 last modification time of a volume
7dd4a573 35439 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35440 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35442 (normal_mod_SOURCES): likewise
35443 (datetime_mod_SOURCES): Removed lib/datetime.c
35444 * conf/i386-efi.rmk: likewise
7dd4a573 35445 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35446 * conf/i386-pc.rmk: likewise
35447 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35448 * conf/sparc64-ieee1275.rmk: likewise
35449 * conf/x86_64-efi.rmk: likewise
05aaebfb 35450
8a7e1a14 354512009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35452
35453 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35454
35455 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35456 on grub_fat_find_dir
35457 (grub_fat_find_dir): use grub_fat_iterate_dir
35458 (grub_fat_label): likewise
35459
04186a9c 354602009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35461
7dd4a573 35462 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35463 and command.h
35464 remove extraneous kernel_elf_HEADERS
35465
da4c0bb6 354662009-04-04 Bean <bean123ch@gnail.com>
35467
35468 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35469
35470 * util/misc.c: Likewise.
35471
54ad9555 354722009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35473
35474 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35475 instead of grub_printf.
35476
7a6bf9f2 354772009-04-03 Robert Millan <rmh@aybabtu.com>
35478
35479 * loader/i386/linux.c (grub_linux_setup_video): Fill
35480 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35481 values from `mode info' structure instead of hardcoded
35482 values.
35483
3fcc2083 354842009-04-01 Pavel Roskin <proski@gnu.org>
35485
35486 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35487 unused now.
35488 * genmk.rb: Likewise.
35489 * configure.ac: Likewise.
35490
5ec9740b 354912009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35492
35493 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35494 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35495
5270cec8 354962009-04-01 David S. Miller <davem@davemloft.net>
35497
35498 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35499 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35500 (grub_setjmp): Mark with 'returns_twice' attribute.
35501 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35502 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35503 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35504
9c3dd854 355052009-04-01 Robert Millan <rmh@aybabtu.com>
35506
35507 Reapply fix from 2008-07-28 which was accidentally reverted; also
35508 perform the same fix to a similar check in same function.
35509
35510 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35511 with the same number are found, just use issue a warning with
35512 grub_dprintf(), as this error has been reported to be non-fatal.
35513
0d818b7e 355142009-03-31 Pavel Roskin <proski@gnu.org>
35515
35516 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35517 for cross-compilation.
35518
95646d92 355192009-03-30 Robert Millan <rmh@aybabtu.com>
35520
35521 Fix i386-ieee1275 build.
35522
35523 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35524 Remove declaration.
35525
6a003ed1 355262009-03-30 Pavel Roskin <proski@gnu.org>
35527
35528 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35529 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35530 zero-terminated, rely only on the strlen value. Fix comparison
35531 of strings differing in length.
35532
92f33540 355332009-03-30 Robert Millan <rmh@aybabtu.com>
35534
35535 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35536 checking for abi version. Improve error messages on BIOS to notify
35537 user about `linux16' command.
35538
a8c48fd5 355392009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35540
f968172e 35541 Leak fixes
a8c48fd5 35542
f968172e 35543 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35544 in case of collision
35545 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35546
9c323f09 355472009-03-29 Robert Millan <rmh@aybabtu.com>
35548
35549 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35550 set `vid_mode' accordingly.
35551 (grub_linux_boot): Process `vid_mode' and set video mode.
35552
ae68f423 355532009-03-29 Robert Millan <rmh@aybabtu.com>
35554
35555 * util/grub.d/10_linux.in (linux_entry): New function.
35556 Factorize generation of Linux boot entries.
35557
5709cfc4 355582009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35559
35560 Make the format of Environment Block plain text. The boot loader
35561 part is not tested well yet.
7dd4a573 35562
5709cfc4 35563 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35564 (buffer): Removed.
35565 (envblk): Likewise.
35566 (usage): Remove "info" and "clear". Add "unset". Update the
35567 description of "set", as this does not delete variables any
35568 longer.
35569 (create_envblk_file): Complete rewrite.
35570 (open_envblk_file): Likewise.
35571 (cmd_info): Removed.
35572 (cmd_list): Likewise.
35573 (cmd_set): Likewise.
35574 (cmd_clear): Likewise.
35575 (list_variables): New function.
35576 (write_envblk): Likewise.
35577 (set_variables): Likewise.
35578 (unset_variables): Likewise.
35579 (main): Complete rewrite.
35580
35581 * commands/loadenv.c (buffer): Removed.
35582 (envblk): Likewise.
35583 (open_envblk_file): New function.
35584 (read_envblk_file): Complete rewrite.
35585 (grub_cmd_load_env): Likewise.
35586 (grub_cmd_list_env): Likewise.
35587 (struct blocklist): New struct.
35588 (free_blocklists): New function.
35589 (check_blocklists): Likewise.
35590 (write_blocklists): Likewise.
35591 (grub_cmd_save_env): Complete rewrite.
35592
35593 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35594 a plain text signature.
35595 (GRUB_ENVBLK_MAXLEN): Removed.
35596 (struct grub_envblk): Complete rewrite.
35597 (grub_envblk_find): Removed.
35598 (grub_envblk_insert): Likewise.
35599 (grub_envblk_open): New prototype.
35600 (grub_envblk_set): Likewise.
35601 (grub_envblk_delete): Put const to VALUE.
35602 (grub_envblk_iterate): Put const to NAME and VALUE.
35603 (grub_envblk_close): New prototype.
35604 (grub_envblk_buffer): New inline function.
35605 (grub_envblk_size): Likewise.
35606
35607 * lib/envblk.c: Include grub/mm.h.
35608 (grub_env_find): Removed.
35609 (grub_envblk_open): New function.
35610 (grub_envblk_close): Likewise.
35611 (escaped_value_len): Likewise.
35612 (find_next_line): Likewise.
35613 (grub_envblk_insert): Removed.
35614 (grub_envblk_set): New function.
35615 (grub_envblk_delete): Complete rewrite.
35616 (grub_envblk_iterate): Likewise.
35617
a9368fd3 356182009-03-28 Robert Millan <rmh@aybabtu.com>
35619
35620 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35621 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35622 variables. Use 16-bit loader.
35623 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35624 loader.
35625 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35626 (grub_linux16_boot): ... this. Update all users.
35627 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35628 (grub_linux_boot): ... this. Update all users.
35629
35630 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35631 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35632 commands to `linux16' and `initrd16'.
35633 (GRUB_MOD_FINI(linux)): Rename to ...
35634 (GRUB_MOD_FINI(linux16)): ... this.
35635
e4dd5a7e 356362009-03-24 Pavel Roskin <proski@gnu.org>
35637
35638 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35639 not just for compilation.
35640
c04d6e05 356412009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35642
35643 Move multiboot helper out of kernel
35644
35645 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35646 `loader/i386/multiboot_helper.S'.
35647 * conf/i386-coreboot.rmk: Likewise
35648 * conf/i386-ieee1275.rmk: Likewise
35649
35650 * kern/i386/loader.S: Move multiboot helpers from here...
35651 * loader/i386/multiboot_helper.S: ...moved here
35652 * include/grub/i386/loader.h: Move declarations of multiboot
35653 helpers from here...
35654 * include/grub/i386/multiboot.h: ...moved here
35655 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35656
42a5b3fc 356572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35658
35659 * kern/env.c (grub_env_context_open): Added an argument to specify
35660 whether a new context inherits exported variables from current
35661 one. This is useful when making a sandbox to interpret a config
35662 file.
35663 All callers updated.
35664
35665 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35666
b28bbc4e 356672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35668
35669 * kern/env.c (grub_env_context_close): Fix memory leaks.
35670
f04f02e4 356712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35672
35673 * normal/main.c (grub_normal_execute): Added an argument
35674 BATCH to specify if an interactive interface should be provided
35675 after reading a config file.
35676 All callers updated.
35677 (read_command_list): Prevent being executed twice.
35678 (read_fs_list): Likewise.
35679
42a5b3fc 35680 * include/grub/normal.h (grub_normal_execute): Updated the
35681 prototype.
f04f02e4 35682
41473ac2 356832009-03-22 Pavel Roskin <proski@gno.org>
35684
fbc00b0c 35685 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35686 _start.
35687 * kern/i386/pc/startup.S: Likewise.
35688 * kern/i386/efi/startup.S: Likewise.
35689 * kern/i386/ieee1275/startup.S: Likewise.
35690 * kern/i386/coreboot/startup.S: Likewise.
35691 * kern/x86_64/efi/startup.S: Likewise.
35692
41473ac2 35693 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35694 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35695 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35696
2274cc8f 356972009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35698
35699 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35700
35701 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35702 limit detection.
35703 Use vaddr of correct segment for entry_point.
35704
b1b797cb 357052009-03-21 Bean <bean123ch@gmail.com>
35706
35707 * commands/blocklist.c: Add include file <grub/command.h>, remove
35708 <grub/normal.h> and <grub/arg.h>.
35709 (grub_cmd_blocklist): Use the new command interface.
35710 (GRUB_MOD_INIT): Likewise.
35711 (GRUB_MOD_FINI): Likewise.
35712 * commands/boot.c: Likewise.
35713 * commands/cat.c: Likewise.
35714 * commands/cmp.c: Likewise.
35715 * commands/configfile.c: Likewise.
35716 * commands/crc.c: Likewise.
35717 * commands/echo.c: Likewise.
35718 * commands/halt.c: Likewise.
35719 * commands/handler.c: Likewise.
35720 * commands/hdparm.c: Likewise.
35721 * commands/help.c: Likewise.
35722 * commands/hexdump.c: Likewise.
35723 * commands/loadenv.c: Likewise.
35724 * commands/ls.c: Likewise.
35725 * commands/lsmmap.c: Likewise.
35726 * commands/lspci.c: Likewise.
35727 * commands/loadenv.c: Likewise.
35728 * commands/read.c: Likewise.
35729 * commands/reboot.c: Likewise.
35730 * commands/search.c: Likewise.
35731 * commands/sleep.c: Likewise.
35732 * commands/test.c: Likewise.
35733 * commands/usbtest.c: Likewise.
35734 * commands/videotest.c: Likewise.
35735 * commands/i386/cpuid.c: Likewise.
35736 * commands/i386/pc/halt.c: Likewise.
35737 * commands/i386/pc/play.c: Likewise.
35738 * commands/i386/pc/pxecmd.c: Likewise.
35739 * commands/i386/pc/vbeinfo.c: Likewise.
35740 * commands/i386/pc/vbetest.c: Likewise.
35741 * commands/ieee1275/suspend.c: Likewise.
35742 * disk/loopback.c: Likewise.
35743 * font/font_cmd.c: Likewise.
35744 * hello/hello.c: Likewise.
35745 * loader/efi/appleloader.c: Likewise.
35746 * loader/efi/chainloader.c: Likewise.
35747 * loader/i386/bsd.c: Likewise.
35748 * loader/i386/efi/linux.c: Likewise.
35749 * loader/i386/ieee1275/linux.c: Likewise.
35750 * loader/i386/linux.c: Likewise.
35751 * loader/i386/pc/chainloader.c: Likewise.
35752 * loader/i386/pc/linux.c: Likewise.
35753 * loader/powerpc/ieee1275/linux.c: Likewise.
35754 * loader/multiboot_loader.c: Likewise.
35755 * term/gfxterm.c: Likewise.
35756 * term/i386/pc/serial.c: Likewise.
35757 * term/terminfo.c: Likewise.
35758
35759 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35760 * term/i386/pc/vga.c: Likewise.
35761 * video/readers/jpeg.c: Likewise.
35762 * video/readers/png.c: Likewise.
35763 * video/readers/tga.c: Likewise.
35764
35765 * util/grub-fstest (cmd_loopback): Removed.
35766 (cmd_blocklist): Likewise.
35767 (cmd_ls): Likewise.
35768 (grub_register_command): Likewise.
35769 (grub_unregister_command): Likewise.
35770 (execute_command): Use grub_command_find to locate command and execute
35771 it.
35772
35773 * include/grub/efi/chainloader.h: Removed.
35774 * loader/efi/chainloader_normal.c: Likewise.
35775 * loader/i386/bsd_normal.c: Likewise.
35776 * loader/i386/pc/chainloader_normal.c: Likewise.
35777 * loader/i386/pc/multiboot_normal.c: Likewise.
35778 * loader/linux_normal.c: Likewise.
35779 * loader/multiboot_loader_normal.c: Likewise.
35780 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35781
35782 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35783 and grub_register_command_p1.
35784
35785 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35786 kern/command.c, lib/arg.c and commands/extcmd.c.
35787 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35788 (minicmd_mod_SOURCES): New variable.
35789 (minicmd_mod_CFLAGS): Likewise.
35790 (minicmd_mod_LDFLAGS): Likewise.
35791 (extcmd_mod_SOURCES): Likewise.
35792 (extcmd_mod_CFLAGS): Likewise.
35793 (extcmd_mod_LDFLAGS): Likewise.
35794 (boot_mod_SOURCES): Removed.
35795 (boot_mod_CFLAGS): Likewise.
35796 (boot_mod_LDFLAGS): Likewise.
35797
35798 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35799 kern/corecmd.c.
35800 (kernel_img_HEADERS): Add command.h.
35801 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35802 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35803 and lib/arg.c.
35804 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35805 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35806 remove the corresponding normal mode command.
35807 (normal_mod_SOURCES): Remove normal/arg.c.
35808 * conf/i386-coreboot.rmk: Likewise.
35809 * conf/i386-efi.rmk: Likewise.
35810 * conf/i386-ieee1275.rmk: Likewise.
35811 * conf/powerpc-ieee1275.rmk: Likewise.
35812 * conf/x86_64-efi.rmk: Likewise.
35813
35814 * include/grub/arg.h: Move from here ...
35815 * include/grub/lib/arg.h: ... to here.
35816
35817 * normal/arg.c: Move from here ...
35818 * lib/arg.c: ... to here.
35819
35820 * commands/extcmd.c: New file.
35821 * commands/minicmd.c: Likewise.
35822 * include/grub/command.h: Likewise.
35823 * include/grub/extcmd.h: Likewise.
35824 * kern/command.c: Likewise.
35825 * kern/corecmd.c: Likewise.
35826
35827 * kern/list.c (grub_list_iterate): Return int instead of void.
35828 (grub_list_insert): New function.
35829 (grub_prio_list_insert): Likewise.
35830
35831 * kern/rescue.c (grub_rescue_command): Removed.
35832 (grub_rescue_command_list): Likewise.
35833 (grub_rescue_register_command): Likewise.
35834 (grub_rescue_unregister_command): Likewise.
35835 (grub_rescue_cmd_boot): Move to minicmd.c
35836 (grub_rescue_cmd_help): Likewise.
35837 (grub_rescue_cmd_info): Likewise.
35838 (grub_rescue_cmd_boot): Likewise.
35839 (grub_rescue_cmd_testload): Likewise.
35840 (grub_rescue_cmd_dump): Likewise.
35841 (grub_rescue_cmd_rmmod): Likewise.
35842 (grub_rescue_cmd_lsmod): Likewise.
35843 (grub_rescue_cmd_exit): Likewise.
35844 (grub_rescue_print_devices): Moved to corecmd.c.
35845 (grub_rescue_print_files): Likewise.
35846 (grub_rescue_cmd_ls): Likewise.
35847 (grub_rescue_cmd_insmod): Likewise.
35848 (grub_rescue_cmd_set): Likewise.
35849 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35850 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35851 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35852 commands, remove grub_rescue_register_command calls.
b1b797cb 35853
7d074e3c 35854 * normal/command.c (grub_register_command): Removed.
b1b797cb 35855 (grub_unregister_command): Likewise.
35856 (grub_command_find): Likewise.
35857 (grub_iterate_commands): Likewise.
35858 (rescue_command): Likewise.
35859 (export_command): Moved to corecmd.c.
35860 (set_command): Removed.
35861 (unset_command): Likewise.
35862 (insmod_command): Likewise.
35863 (rmmod_command): Likewise.
35864 (lsmod_command): Likewise.
35865 (grub_command_init): Likewise.
35866
35867 * normal/completion.c (iterate_command): Use cmd->prio to check for
35868 active command.
35869 (complete_arguments): Use grub_extcmd_t structure to find options.
35870 (grub_normal_do_completion): Change function grub_iterate_commands to
35871 grub_command_iterate.
35872
35873 * normal/execute.c (grub_script_execute_cmd): No need to parse
35874 argument here.
35875
35876 * normal/main.c (grub_dyncmd_dispatcher): New function.
35877 (read_command_list): Register unload commands as dyncmd.
35878 (grub_cmd_normal): Use new command interface, register rescue,
35879 unregister normal at entry, register normal, unregister rescue at exit.
35880
35881 * include/grub/list.h (grub_list_test_t): New type.
35882 (grub_list_iterate): Return int instead of void.
35883 (grub_list_insert): New function.
35884 (GRUB_AS_NAMED_LIST_P): New macro.
35885 (GRUB_AS_PRIO_LIST): Likewise.
35886 (GRUB_AS_PRIO_LIST_P): Likewise.
35887 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35888 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35889 (grub_prio_list): New structure.
35890 (grub_prio_list_insert): New function.
35891 (grub_prio_list_remove): New inline function.
35892
35893 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35894 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35895 (GRUB_COMMAND_FLAG_MENU): Likewise.
35896 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35897 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35898 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35899 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35900 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35901 (grub_command): Likewise.
35902 (grub_register_command): Likewise.
35903 (grub_command_find): Likewise.
35904 (grub_iterate_commands): Likewise.
35905 (grub_command_init): Likewise.
35906 (grub_arg_parse): Likewise.
35907 (grub_arg_show_help): Likewise.
35908
35909 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35910 (grub_rescue_unregister_command): Likewise.
35911
35912 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35913 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35914 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35915
35916 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35917 grub_rescue_cmd_initrd.
35918 * include/grub/i386/loader.h: Likewise.
35919 * include/grub/x86_64/loader.h: Likewise.
35920
35921 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35922
1f4147aa 359232009-03-21 Bean <bean123ch@gmail.com>
35924
35925 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35926 instead of stat in mingw environment.
35927
35928 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35929
35930 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35931
35932 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35933 AC_CONFIG_LINKS.
35934
2156d5ba 359352009-03-21 Bean <bean123ch@gmail.com>
35936
35937 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35938 out of range error.
35939
177b82ca 359402009-03-18 Michel Dänzer <michel@daenzer.net>
35941
35942 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35943 checking inode flags for EXT4_EXTENTS_FLAG.
35944
14aad807 359452009-03-18 Robert Millan <rmh@aybabtu.com>
35946
35947 * loader/i386/linux.c: Include `<grub/video.h>' and
35948 `<grub/i386/pc/vbe.h>'..
35949 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35950 (grub_linux32_boot): Attempt to configure video settings with
35951 grub_linux_setup_video().
35952 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35953 to avoid grub_console_fini() which would step out of graphical mode
35954 unconditionally.
35955
8cf83a27 359562009-03-14 Robert Millan <rmh@aybabtu.com>
35957
35958 Fix build on powerpc.
35959 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35960
40164e75 359612009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35962
35963 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35964 background image command.
35965
c58bc32a 359662009-03-12 Colin D Bennett <colin@gibibit.com>
35967
35968 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35969 (grub_gfxterm_putchar): Extract pairs of identical calls to
35970 draw_cursor out of conditional blocks.
35971
5415144a 359722009-03-11 Pavel Roskin <proski@gnu.org>
35973
35974 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35975 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35976
6394042e 359772009-03-11 Robert Millan <rmh@aybabtu.com>
35978
35979 * loader/i386/multiboot_elfxx.c
35980 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35981
b7b50e5f 359822009-03-11 Felix Zielcke <fzielcke@z-51.de>
35983
35984 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35985 `kern/handler.c'.
35986
1ca7fc96 359872009-03-11 Robert Millan <rmh@aybabtu.com>
35988
35989 * loader/i386/multiboot.c (code_size): New variable.
35990 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35991 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35992 4-byte alignment to MBI and others by increasing
7d074e3c 35993 `boot_loader_name_length' appropriately.
1ca7fc96 35994
35995 * loader/i386/multiboot_elfxx.c
35996 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35997
a83ea1d2 359982009-03-09 Felix Zielcke <fzielcke@z-51.de>
35999
36000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36001 `fs/ext2.c'.
36002
aa9f3bff 360032009-03-08 Robert Millan <rmh@aybabtu.com>
36004
36005 Make loader/i386/linux.c usable on i386-pc again.
36006
36007 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36008 memory to heap.
36009 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36010 `#error' stanza.
36011
d8b3b60e 360122009-03-07 Bean <bean123ch@gmail.com>
36013
36014 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36015 allocation.
36016
b362c9e9 360172009-03-06 Robert Millan <rmh@aybabtu.com>
36018
36019 Fix display issue on terminals with screen size other than 80x25
36020 (e.g. gfxterm with resolution higher than 640x480).
36021
36022 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36023 position relative to the center of the terminal instead of relying
b362c9e9 36024 on a hardcoded offset.
36025
9304eef1 360262009-03-04 Robert Millan <rmh@aybabtu.com>
36027
36028 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36029 installed.
36030
36031 * Makefile.in (host_kernel): New variable.
36032 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36033 scripts instead of just the windows one.
36034 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36035
eabc95fb 360362009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36037
36038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36039 `kern/handler.c'.
36040 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36041 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36044 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36045 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36046
ceb1223c 360472009-03-04 Felix Zielcke <fzielcke@z-51.de>
36048
36049 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36050 or if there's no space for the disk label and print the partition number on a
36051 invalid magic.
36052
4910684a 360532009-03-04 Felix Zielcke <fzielcke@z-51.de>
36054
36055 * util/misc.c: Include <time.h>.
36056 (grub_millisleep): New function.
36057
7e9ca17a 360582009-03-04 Bean <bean123ch@gmail.com>
36059
36060 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36061 another option -mno-red-zone.
36062
36063 * commands/handler.c: Change module description.
36064
36065 * kern/handler.c: Add missing space at the end of description line.
36066
36067 * kern/list.c: Likewise.
36068
f501677c 360692009-03-03 Robert Millan <rmh@aybabtu.com>
36070
36071 Move more components to the relocation area, and fix mbi pointer
36072 handling to use the destination rather than the origin (thanks to
36073 Vladimir Serbinenko for spotting).
36074
36075 * loader/i386/multiboot.c (mbi_dest): New variable.
36076 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36077 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36078 relocation area.
36079
9902d047 360802009-03-01 Bean <bean123ch@gmail.com>
36081
50fb7002 36082 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36083 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36084 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36085 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36086
36087 * loader/i386/efi/linux.c (acpi_guid): New variable.
36088 (acpi_guid): Likewise.
36089 (EBDA_SEG_ADDR): New constant.
36090 (LOW_MEM_ADDR): Likewise.
36091 (FAKE_EBDA_SEG): Likewise.
36092 (fake_bios_data): New function.
36093 (grub_linux_boot): Call fake_bios_data.
36094
71b9f361 360952009-03-01 Bean <bean123ch@gmail.com>
36096
36097 * commands/terminal.c: Removed.
36098
36099 * commands/handler.c: New file.
36100
36101 * include/grub/list.h: Likewise.
36102
36103 * include/grub/handler.h: Likewise.
36104
36105 * kern/list.c: Likewise.
36106
36107 * kern/handler.c: Likewise.
36108
36109 * kern/term.h: Include header file <grub/handler.h>.
36110 (grub_term_input): Move next field to the beginning.
36111 (grub_term_output): Likewise.
36112 (grub_term_input_class): New variable.
36113 (grub_term_output_class): Likewise.
36114 (grub_term_register_input): Changed to inline function.
36115 (grub_term_register_output): Likewise.
36116 (grub_term_unregister_input): Likewise.
36117 (grub_term_unregister_output): Likewise.
36118 (grub_term_set_current_input): Likewise.
36119 (grub_term_set_current_output): Likewise.
36120 (grub_term_get_current_input): Likewise.
36121 (grub_term_get_current_output): Likewise.
36122 (grub_term_iterate_input): Removed.
36123 (grub_term_iterate_output): Likewise.
36124
36125 * kern/term.c (grub_term_list_input): Removed.
36126 (grub_term_list_output): Likewise.
36127 (grub_term_input_class): New variable.
36128 (grub_term_output_class): Likewise.
50fb7002 36129 (grub_cur_term_input): Change variable as macro.
71b9f361 36130 (grub_cur_term_output): Likewise.
36131 (grub_term_register_input): Removed.
36132 (grub_term_register_output): Likewise.
36133 (grub_term_unregister_input): Likewise.
36134 (grub_term_unregister_output): Likewise.
36135 (grub_term_set_current_input): Likewise.
36136 (grub_term_set_current_output): Likewise.
36137 (grub_term_iterate_input): Likewise.
36138 (grub_term_iterate_output): Likewise.
36139 (grub_term_get_current_input): Likewise.
36140 (grub_term_get_current_output): Likewise.
36141
36142 * util/grub-editenv.c: Include header file <grub/handler.h>.
36143 (grub_term_get_current_input): Removed.
36144 (grub_term_get_current_output): Likewise.
36145 (grub_term_input_class): New variable.
50fb7002 36146 (grub_term_output_class): Likewise.
71b9f361 36147
36148 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36149 (grub_term_get_current_output): Likewise.
36150 (grub_term_input_class): New variable.
50fb7002 36151 (grub_term_output_class): Likewise.
71b9f361 36152
36153 * util/grub-probe.c (grub_term_get_current_input): Removed.
36154 (grub_term_get_current_output): Likewise.
36155 (grub_term_input_class): New variable.
50fb7002 36156 (grub_term_output_class): Likewise.
71b9f361 36157
36158 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36159 (grub_term_get_current_output): Likewise.
36160 (grub_term_input_class): New variable.
50fb7002 36161 (grub_term_output_class): Likewise.
71b9f361 36162
36163 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36164 (terminal_mod_SOURCES): Likewise.
36165 (terminal_mod_CFLAGS): Likewise.
36166 (terminal_mod_LDFLAGS): Likewise.
36167
36168 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36169 handler.c.
36170 (kernel_img_SOURCES): Add list.c and handler.c.
36171 (kernel_img_HEADERS): Add list.h and handler.h.
36172
36173 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36174 handler.c.
36175 (kernel_mod_SOURCES): Add list.c and handler.c.
36176 (kernel_mod_HEADERS): Add list.h and handler.h.
36177
36178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36179 handler.c.
36180 (kernel_elf_SOURCES): Add list.c and handler.c.
36181 (kernel_elf_HEADERS): Add list.h and handler.h.
36182
36183 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36184 handler.c.
36185 (kernel_elf_SOURCES): Add list.c and handler.c.
36186 (kernel_elf_HEADERS): Add list.h and handler.h.
36187
36188 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36189 handler.c.
36190 (kernel_mod_SOURCES): Add list.c and handler.c.
36191 (kernel_mod_HEADERS): Add list.h and handler.h.
36192
36193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36194 handler.c.
36195 (kernel_elf_SOURCES): Add list.c and handler.c.
36196 (kernel_elf_HEADERS): Add list.h and handler.h.
36197
8a31787f 361982009-02-27 Robert Millan <rmh@aybabtu.com>
36199
36200 Factorize elf32 / elf64 code in Multiboot loader. This will
36201 prevent it from getting out of sync again.
36202
36203 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36204 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36205 grub_multiboot_load_elf64): Move from here ...
36206 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36207 grub_multiboot_load_elf): ... to here (new file).
36208
51cd3dfc 362092009-02-27 Robert Millan <rmh@aybabtu.com>
36210
36211 * util/grub.d/10_linux.in: Rename "single-user mode" to
36212 "recovery mode".
36213
6e8c9c3a 362142009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36215
36216 Don't leak in SCSI code.
36217 * disk/scsi.c (grub_scsi_close): free `scsi'.
36218
4b6bf4f9 362192009-02-27 Robert Millan <rmh@aybabtu.com>
36220
36221 * loader/i386/pc/multiboot.c: Move from here ...
36222 * loader/i386/multiboot.c: ... to here. Update all users.
36223
b9413424 362242009-02-27 Robert Millan <rmh@aybabtu.com>
36225
36226 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36227 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36228
50fb7002 362292009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36230
36231 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36232 b-tree.
36233
8cc50345 362342009-02-27 Robert Millan <rmh@aybabtu.com>
36235
36236 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36237 `0x' qualifier as 0 when base is specified as parameter).
36238
6e09b8b7 362392009-02-24 Bean <bean123ch@gmail.com>
36240
36241 * configure.ac: Check for -mcmodel=large in x86_64 target.
36242
36243 * include/grub/efi/api.h (efi_call_10): New macro.
36244 (efi_wrap_10): New function.
36245
36246 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36247 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36248 (GRUB_PE32_REL_BASED_LOW): Likewise.
36249 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36250 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36251 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36252 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36253 (GRUB_PE32_REL_BASED_REL): Likewise.
36254 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36255 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36256 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36257
36258 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36259 issue.
36260
36261 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36262 (efi_wrap_10): New function.
36263
36264 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36265
36266 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36267 MB/MBP model (NV chipset).
36268 (devdata_devs): Add devpath_5 to the list.
36269
36270 * load/i386/efi/linux.c (video_base): Remove variable.
36271 (RGB_MASK): New macro.
36272 (RGB_MAGIC): Likewise.
36273 (LINE_MIN): Likewise.
36274 (LINE_MAX): Likewise.
36275 (FBTEST_STEP): Likewise.
36276 (FBTEST_COUNT): Likewise.
36277 (fb_list): New variable.
36278 (grub_find_video_card): Remove function.
36279 (find_framebuf): New function.
36280 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36281 line length.
36282
36283 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36284 problem for x86_64.
36285
74b21bee 362862009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36287
36288 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36289
36290 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36291 coding tool name.
36292
a455f472 362932009-02-22 Robert Millan <rmh@aybabtu.com>
36294
36295 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36296 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36297 in our relocation, instead of using it directly from heap. Also
36298 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36299
6374daf3 363002009-02-21 Robert Millan <rmh@aybabtu.com>
36301
36302 Implement USB keyboard support (based on patch by Marco Gerards)
36303
36304 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36305 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36306 (usb_keyboard_mod_LDFLAGS): New variables.
36307
36308 * term/usb_keyboard.c: New file.
36309
8fa4ea70 363102009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36311
36312 Corrected wrong declaration
36313
36314 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36315
353976ac 363162009-02-14 Christian Franke <franke@computer.org>
36317
36318 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36319 (grub_lspci_iter): Print class code and programming interface byte.
36320
6aa1169b 363212009-02-14 Christian Franke <franke@computer.org>
36322
36323 * gendistlist.sh: Ignore `.svn' directories.
36324
265372ca 363252009-02-14 Felix Zielcke <fzielcke@z-51.de>
36326
36327 * fs/fat.c: Add 2009 to Copyright line.
36328
9ff516f3 363292009-02-14 Christian Franke <franke@computer.org>
36330
36331 * commands/hdparm.c: New file. Provides `hdparm' command
36332 which sends ATA commands via grub_disk_ata_pass_through ().
36333
36334 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36335
36336 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36337 and <grub/cpu/io.h> to include/grub/ata.h.
36338 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36339 (GRUB_CDROM_SECTOR_SIZE): Remove.
36340 (GRUB_ATA_*): Move to include/grub/ata.h.
36341 (GRUB_ATAPI_*): Likewise.
36342 (enum grub_ata_commands): Likewise.
36343 (enum grub_ata_timeout_milliseconds): Likewise.
36344 (struct grub_ata_device): Likewise.
36345 (grub_ata_regset): Likewise.
36346 (grub_ata_regget): Likewise.
36347 (grub_ata_regset2): Likewise.
36348 (grub_ata_regget2): Likewise.
36349 (grub_ata_check_ready): Likewise.
36350 (grub_ata_wait_not_busy): Remove static, exported in
36351 include/grub/ata.h.
36352 (grub_ata_wait_drq): Likewise.
36353 (grub_ata_pio_read): Likewise.
36354
36355 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36356 function for hdparm.mod.
36357
36358 * include/grub/ata.h: New file, contains declarations from
36359 disk/ata.c.
36360 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36361
36362 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36363 (grub_disk_ata_pass_through): New exported variable.
36364
36365 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36366
772e23da 363672009-02-13 Colin D Bennett <colin@gibibit.com>
36368
36369 Support multiple fallback entries, and provide an API to support
36370 executing default+fallback menu entries. Renamed the `terminal' menu
36371 viewer to `text'.
36372
36373 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36374 variable declaration.
36375 (grub_menu_execute_callback): New structure declaration.
36376 (grub_menu_execute_callback_t): New typedef.
36377 (grub_menu_execute_with_fallback): New function declaration.
36378 (grub_menu_get_entry): Likewise.
36379 (grub_menu_get_timeout): Likewise.
36380 (grub_menu_set_timeout): Likewise.
36381
36382 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36383
36384 * normal/menu.c (grub_wait_after_message): Moved to
36385 `normal/menu_text.c'.
36386 (draw_border): Likewise.
36387 (print_message): Likewise.
36388 (print_entry): Likewise.
36389 (print_entries): Likewise.
36390 (grub_menu_init_page): Likewise.
36391 (get_entry_number): Likewise.
36392 (print_timeout): Likewise.
36393 (run_menu): Likewise.
36394 (grub_menu_execute_entry): Likewise.
36395 (show_text_menu): Likewise.
36396 (get_and_remove_first_entry_number): New function.
36397 (grub_menu_execute_with_fallback): Likewise.
36398 (get_entry): Renamed to ...
36399 (grub_menu_get_entry): .. this and made it global.
36400 (get_timeout): Renamed to ...
36401 (grub_menu_get_timeout): ... this and made it global.
36402 (set_timeout): Renamed to ...
36403 (grub_menu_set_timeout): ... this and made it global.
36404 (grub_normal_terminal_menu_viewer): Renamed to ...
36405 (grub_normal_text_menu_viewer): ... this.
36406
36407 * normal/menu_text.c: New file. Extracted text-menu-specific code
36408 from normal/menu.c.
36409
36410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36411 (normal_mod_SOURCES): Likewise.
36412
36413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36414 (normal_mod_SOURCES): Likewise.
36415
36416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36417 (normal_mod_SOURCES): Likewise.
36418
36419 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36420 (normal_mod_SOURCES): Likewise.
36421
36422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36423 (normal_mod_SOURCES): Likewise.
36424
36425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36426 (normal_mod_SOURCES): Likewise.
36427
36428 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36429 (normal_mod_SOURCES): Likewise.
36430
16ac430e 364312009-02-11 Robert Millan <rmh@aybabtu.com>
36432
36433 * util/grub.d/00_header.in: Update old reference to `font' command.
36434
06ff20fc 364352009-02-10 Felix Zielcke <fzielcke@z-51.de>
36436
36437 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36438
36439 Based on patch from Javier Martín.
36440
96da9407 364412009-02-09 Felix Zielcke <fzielcke@z-51.de>
36442
36443 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36444 to avoid false positives with FAT.
96da9407 36445 (grub_fstest_SOURCES): Likewise.
36446 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36447 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36449 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36450 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36451 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36452
6dca6fe4 364532009-02-09 Felix Zielcke <fzielcke@z-51.de>
36454
06ff20fc 36455 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36456 bpb.version_specific.fat12_or_fat16.fstype and
36457 bpb.version_specific.fat32.fstype.
36458
2550c62f 364592009-02-08 Robert Millan <rmh@aybabtu.com>
36460
be110b30 36461 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36462
56978920 364632009-02-08 Robert Millan <rmh@aybabtu.com>
36464
36465 * Makefile.in (host_os, host_cpu): New variables.
36466 (target_os): Remove. Update all users.
36467
d64399b5 364682009-02-08 Marco Gerards <marco@gnu.org>
36469
36470 * Makefile.in (enable_grub_emu_usb): New variable.
36471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36472 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36473 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36474 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36475 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36476 `usbtest.mod' and `usbms.mod'.
36477 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36478 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36479 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36480 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36481 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36482 variables.
36483
36484 * disk/usbms.c: New file.
36485
36486 * include/grub/usb.h: Likewise.
36487
36488 * include/grub/usbtrans.h: Likewise.
36489
36490 * include/grub/usbdesc.h: Likewise.
36491
36492 * bus/usb/usbtrans.c: Likewise.
36493
36494 * bus/usb/ohci.c: Likewise.
36495
36496 * bus/usb/uhci.c: Likewise.
36497
36498 * bus/usb/usbhub.c: Likewise.
36499
36500 * bus/usb/usb.c: Likewise.
36501
36502 * commands/usbtest.c: Likewise.
36503
36504 * util/usb.c: Likewise.
50fb7002 36505
d64399b5 36506 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36507
36508 * configure.ac: Test for libusb presence.
50fb7002 36509
d64399b5 36510 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36511
2b40d6bb 365122009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36513
36514 * kern/mm.c: Add more comments.
36515
73a4ce81 365162009-02-08 Robert Millan <rmh@aybabtu.com>
36517
36518 Patch from Javier Martín.
36519 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36520 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36521
f821ce59 365222009-02-08 Robert Millan <rmh@aybabtu.com>
36523
36524 * fs/cpio.c: Split tar functionality to ...
36525 * fs/tar.c: ... here (new file). Update all users.
36526
aebfc4b0 365272009-02-07 Robert Millan <rmh@aybabtu.com>
36528
36529 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36530 backward-incompatible features.
36531
36532 Based on patch from Javier Martín, with some adjustments.
36533
50fb7002 365342009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36535
36536 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36537
0bb5115e 365382009-02-07 Robert Millan <rmh@aybabtu.com>
36539
36540 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36541 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36542 after the RAID stuff.
36543
38a0f8e7 365442009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36545
50fb7002 36546 Fixes problem when running vbetest command as reported by
38a0f8e7 36547 Vladimir Serbinenko <phcoder@gmail.com>.
36548
36549 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36550
3143cc1c 365512009-02-04 Felix Zielcke <fzielcke@z-51.de>
36552
36553 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36554 /dev/md/NpN style mdraid devices.
36555
9cba6fce 365562009-02-03 Felix Zielcke <fzielcke@z-51.de>
36557
36558 * util/unifont2pff.rb: Remove.
36559
e507a2c1 365602009-02-03 Felix Zielcke <fzielcke@z-51.de>
36561
36562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36563 `#'.
36564
d2c2b4cd 365652009-02-03 Felix Zielcke <fzielcke@z-51.de>
36566
36567 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36568 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36569 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36570 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36574
b4315fb0 365752009-02-02 Christian Franke <franke@computer.org>
36576
36577 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36578
de3aa260 365792009-02-01 Felix Zielcke <fzielcke@z-51.de>
36580
7c3ff286 36581 * INSTALL: Note that we now require at least autoconf 2.59 and
36582 that LZO is optional.
de3aa260 36583
825a182b 365842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36585
36586 Base on patch on bug #24154 created by Tomas Tintera
36587 <trosos@seznam.cz>.
36588
36589 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36590
a69ef770 365912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36592
7c3ff286 36593 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36594 <bero@arklinux.org>.
36595
36596 * normal/parser.y (script_init): Add missing semicolon.
36597
6fa42fa6 365982009-01-31 Colin D Bennett <colin@gibibit.com>
36599
7c3ff286 36600 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36601 (free_menu_entry_classes): Added.
36602 (grub_normal_menu_addentry): Added class property handling.
36603 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36604 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36605
36606 * normal/menu_viewer.c: New file.
36607
36608 * normal/menu.c (run_menu_entry): Renamed to ...
36609 (grub_menu_execute_entry): ... this and made it as global.
36610 (grub_menu_run): Renamed to ...
36611 (show_text_menu): ... this and made it local.
36612 (show_text_menu): Adapt to new function names.
36613 (grub_normal_terminal_menu_viewer): New global variable.
36614
36615 * include/grub/menu.h: New file.
36616
36617 * include/grub/menu_viewer.h: New file.
36618
36619 * include/grub/normal.h: Added include to grub/menu.h.
36620 (grub_menu_entry): Moved to include/grub/menu.h.
36621 (grub_menu_entry_t): Likewise.
36622 (grub_menu): Likewise.
36623 (grub_menu_t): Likewise.
36624 (grub_normal_terminal_menu_viewer): Added.
36625 (grub_menu_execute_entry): Likewise.
36626 (grub_menu_run): Removed.
36627
36628 * DISTLIST: Added include/grub/menu.h.
36629 Added include/grub/menu_viewer.h.
36630 Added normal/menu_viewer.c.
36631
366322009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36633
36634 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36635 arglist for menutitle arguments.
36636
36637 * normal/main.c (grub_normal_menu_addentry): Likewise.
36638
36639 * normal/parser.y (menuentry): Likewise.
36640
36641 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36642
36643 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36644 (grub_script_create_cmdmenu): Likewise.
36645
36646 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36647
36648 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36649 changes.
36650
36651 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36652
36653 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36654
36655 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36656
36657 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36658
36659 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36660
36661 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36662
56192c23 366632009-01-30 Christian Franke <franke@computer.org>
36664
36665 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36666 in option help text.
36667
d72521b3 366682009-01-27 Pavel Roskin <proski@gnu.org>
36669
36670 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36671
994b5e84 366722009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36673
36674 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36675
36676 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36677
36678 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36679 unregister function.
36680
6a7eab2c 366812009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36682
36683 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36684
36685 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36686
36687 * util/grub-mkfont.c (usage): Fix typo.
36688
36689 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36690
1806b56e 366912009-01-26 Daniel Mierswa <impulze@impulze.org>
36692
3fb18f09 36693 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36694
336e1fb9 36695 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36696
1806b56e 36697 * kern/misc.c (grub_strcasecmp): New function.
36698 (grub_strcasecmp): Use grub_size_t instead of int for length.
36699 Fix return value.
36700 * include/grub/misc.h: Update function prototypes.
36701
580b2a0f 367022009-01-26 Robert Millan <rmh@aybabtu.com>
36703
36704 * configure.ac: Fix cross-compilation check.
ef257b36 36705
d31c24f1 367062009-01-22 Christian Franke <franke@computer.org>
36707
36708 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36709 (precision) digit string. Allow `.format2' without `format1' (width).
36710 Limit input chars for `%s' output to `format2' if specified. This is
36711 compatible with standard printf ().
36712
3138b44c 367132009-01-22 Christian Franke <franke@computer.org>
36714
36715 * disk/ata.c (grub_ata_wait_status): Replace by ...
36716 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36717 other status bits may be invalid while BSY is asserted.
36718 (grub_ata_check_ready): New function.
36719 (grub_ata_cmd): Removed.
36720 (grub_ata_wait_drq): New function.
36721 (grub_ata_strncpy): Remove inline.
36722 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36723 and error check now done by grub_ata_wait_drq ().
36724 (grub_ata_pio_write): Likewise.
36725 (grub_atapi_identify): Set DEV before check for !BSY. Use
36726 grub_ata_wait_drq () to wait for data.
36727 (grub_ata_device_initialize): Add status register check to
36728 detect missing SATA slave devices. Add debug messages.
36729 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36730 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36731 transfer loop by grub_ata_pio_write ().
36732 (grub_ata_identify): Set DEV before check for !BSY. Use
36733 grub_ata_wait_drq () to wait for data.
ef257b36 36734 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36735 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36736 read/write in one loop. Fix invalid command on write. Fix incomplete
36737 command on (size % batch) == 0. Add missing error check after write of
36738 last block. Add debug messages.
36739 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36740
59a64ef6 367412009-01-19 Christian Franke <franke@computer.org>
36742
36743 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36744 (GRUB_ATAPI_IREASON_*): Likewise.
36745 (grub_ata_pio_write): Fix timeout error return.
36746 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36747 (grub_atapi_wait_drq): New function.
36748 (grub_atapi_packet): New parameter `size'.
36749 Use grub_atapi_wait_drq () and direct write instead of
36750 grub_ata_pio_write ().
36751 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36752 reads the number of bytes requested by the device for each DRQ
36753 assertion.
36754 (grub_atapi_write): Remove old implementation, return not
36755 implemented instead.
36756
1cfe20b3 367572009-01-19 Christian Franke <franke@computer.org>
36758
36759 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36760 of 512 to calculate data size.
36761 (grub_scsi_read12): Likewise.
36762 (grub_scsi_write10): Likewise.
36763 (grub_scsi_write12): Likewise.
36764 (grub_scsi_read): Adjust size according to blocksize.
36765 Add checks for invalid blocksize and unaligned transfer.
36766
bee5fe5d 367672009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36768
36769 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36770
ef257b36 36771 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36772 width glyphs.
36773
3e643f8c 367742009-01-19 Robert Millan <rmh@aybabtu.com>
36775
36776 * config.guess: Update to latest version from config git.
36777 * config.sub: Likewise.
36778
4fa80998 367792009-01-17 Felix Zielcke <fzielcke@z-51.de>
36780
36781 * Makefile.in: Change font compilation to use new grub-mkfont instead
36782 of java version.
36783
36784 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36785 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36787 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36788 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36789 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36790 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36791 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36792 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36793
7086085b 367942009-01-16 Christian Franke <franke@computer.org>
36795
36796 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36797 (enum grub_ata_timeout_milliseconds): New enum.
36798 (grub_ata_wait_status): Add parameter milliseconds.
36799 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36800 recovery from timed-out commands.
36801 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36802 return grub_errno instead of REG_ERROR.
36803 (grub_ata_pio_write): Add parameter milliseconds.
36804 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36805 Pass milliseconds to grub_ata_wait_status () and
36806 grub_ata_pio_read ().
36807 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36808 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36809 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36810 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36811 It is not suitable for device detection, because DEV bit is ignored,
36812 the command may run too long, and not all devices set the signature
36813 properly.
36814 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36815 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36816 Fix device selection, DEV bit must be set first to address the registers
36817 of the correct device.
36818 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36819 grub_ata_pio_read/write ().
36820 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36821 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36822
4a412913 368232009-01-13 Carles Pina i Estany <carles@pina.cat>
36824
36825 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36826
7795c55e 368272009-01-13 Bean <bean123ch@gmail.com>
d913988c 36828
36829 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36830
7795c55e 368312009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36832
36833 * Makefile.in: (enable_grub_mkfont): New variable.
36834 (freetype_cflags): Likewise.
36835 (freetype_libs): Likewise.
36836
36837 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36838 (grub_mkfont_SOURCES): New variable.
36839 (grub_mkfont_CFLAGS): Likewise.
36840 (grub_mkfont_LDFLAGS): Likewise.
36841
36842 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36843 library if `--enable-grub-mkfont' is requested.
36844 (enable_grub_mkfont): New variable.
36845 (freetype_cflags): Likewise.
36846 (freetype_libs): Likewise.
36847
36848 * util/grub-mkfont.c: New file.
36849
093af1fe 368502009-01-12 Christian Franke <franke@computer.org>
36851
36852 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36853 mode check. Fix setting of compat_use[].
36854
f36cc108 368552009-01-10 Robert Millan <rmh@aybabtu.com>
36856
36857 Update a few copyright years which we forgot to do in 2008 (only for
36858 files whose changes made in 2008 were copyright-significant)
36859
36860 * Makefile.in: Add 2008 to Copyright line.
36861 * disk/ieee1275/ofdisk.c: Likewise.
36862 * disk/efi/efidisk.c: Likewise.
36863 * kern/dl.c: Likewise.
36864 * kern/sparc64/ieee1275/init.c: Likewise.
36865 * kern/mm.c: Likewise.
36866 * kern/efi/mm.c: Likewise.
36867 * boot/i386/pc/boot.S: Likewise.
36868 * genfslist.sh: Likewise.
36869 * fs/iso9660.c: Likewise.
36870 * fs/hfs.c: Likewise.
36871 * fs/jfs.c: Likewise.
36872 * fs/minix.c: Likewise.
36873 * fs/ufs.c: Likewise.
36874 * gensymlist.sh.in: Likewise.
36875 * genkernsyms.sh.in: Likewise.
36876 * include/grub/misc.h: Likewise.
36877 * include/grub/types.h: Likewise.
36878 * include/grub/symbol.h: Likewise.
36879 * include/grub/elf.h: Likewise.
36880 * include/grub/kernel.h: Likewise.
36881 * include/grub/disk.h: Likewise.
36882 * include/grub/dl.h: Likewise.
36883 * include/grub/i386/linux.h: Likewise.
36884 * include/grub/i386/pc/biosdisk.h: Likewise.
36885 * include/grub/efi/api.h: Likewise.
36886 * include/grub/efi/pe32.h: Likewise.
36887 * include/grub/util/misc.h: Likewise.
36888 * normal/execute.c: Likewise.
36889 * normal/arg.c: Likewise.
36890 * normal/completion.c: Likewise.
36891 * normal/lexer.c: Likewise.
36892 * normal/parser.y: Likewise.
36893 * normal/misc.c: Likewise.
36894 * commands/i386/pc/vbeinfo.c: Likewise.
36895 * commands/hexdump.c: Likewise.
36896 * commands/terminal.c: Likewise.
36897 * commands/ls.c: Likewise.
36898 * commands/help.c: Likewise.
36899 * partmap/pc.c: Likewise.
36900 * loader/efi/chainloader.c: Likewise.
36901 * loader/multiboot_loader.c: Likewise.
36902 * loader/i386/pc/multiboot2.c: Likewise.
36903 * term/efi/console.c: Likewise.
36904 * term/i386/pc/serial.c: Likewise.
36905 * util/lvm.c: Likewise.
36906 * util/console.c: Likewise.
36907 * util/i386/efi/grub-mkimage.c: Likewise.
36908 * util/raid.c: Likewise.
36909
7f02114b 369102009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36911
36912 * commands/videotest.c: Removed include to grub/machine/memory.h.
36913
36914 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36915 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36916 (video_mod_SOURCES): Removed.
36917 (video_mod_CFLAGS): Likewise.
36918 (video_mod_LDFLAGS): Likewise.
36919 (gfxterm_mod_SOURCES): Likewise.
36920 (gfxterm_mod_CFLAGS): Likewise.
36921 (gfxterm_mod_LDFLAGS): Likewise.
36922 (videotest_mod_SOURCES): Likewise.
36923 (videotest_mod_CFLAGS): Likewise.
36924 (videotest_mod_LDFLAGS): Likewise.
36925 (bitmap_mod_SOURCES): Likewise.
36926 (bitmap_mod_CFLAGS): Likewise.
36927 (bitmap_mod_LDFLAGS): Likewise.
36928 (tga_mod_SOURCES): Likewise.
36929 (tga_mod_CFLAGS): Likewise.
36930 (tga_mod_LDFLAGS): Likewise.
36931 (jpeg_mod_SOURCES): Likewise.
36932 (jpeg_mod_CFLAGS): Likewise.
36933 (jpeg_mod_LDFLAGS): Likewise.
36934 (png_mod_SOURCES): Likewise.
36935 (png_mod_CFLAGS): Likewise.
36936 (png_mod_LDFLAGS): Likewise.
36937
36938 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36939 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36940 (video_mod_SOURCES): Added.
36941 (video_mod_CFLAGS): Likewise.
36942 (video_mod_LDFLAGS): Likewise.
36943 (videotest_mod_SOURCES): Likewise.
36944 (videotest_mod_CFLAGS): Likewise.
36945 (videotest_mod_LDFLAGS): Likewise.
36946 (bitmap_mod_SOURCES): Likewise.
36947 (bitmap_mod_CFLAGS): Likewise.
36948 (bitmap_mod_LDFLAGS): Likewise.
36949 (tga_mod_SOURCES): Likewise.
36950 (tga_mod_CFLAGS): Likewise.
36951 (tga_mod_LDFLAGS): Likewise.
36952 (jpeg_mod_SOURCES): Likewise.
36953 (jpeg_mod_CFLAGS): Likewise.
36954 (jpeg_mod_LDFLAGS): Likewise.
36955 (png_mod_SOURCES): Likewise.
36956 (png_mod_CFLAGS): Likewise.
36957 (png_mod_LDFLAGS): Likewise.
36958 (gfxterm_mod_SOURCES): Likewise.
36959 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36960 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36961
36962 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36963 grub/machine/console.h.
36964
644fff97 369652009-01-04 Jerone Young <jerone@gmail.com>
36966
36967 Make on screen instructions clearer
36968
36969 Based on patch created by Jidanni <jidanni@jidanni.org>
36970
36971 * normal/menu.c: print clearer instructions on the screen
36972
1e901a75 369732009-01-02 Colin D Bennett <colin@gibibit.com>
36974
36975 New font engine.
34c44600 36976
1e901a75 36977 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36978 build system and fixed gfxterm.c to work with different sized fonts.
36979
36980 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36981
1e901a75 36982 * configure: Re-generated.
34c44600 36983
1e901a75 36984 * DISTLIST: Removed font/manager.c.
36985 Added font/font.c.
36986 Added font/font_cmd.c.
34c44600 36987
1e901a75 36988 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36989 compilation.
34c44600 36990
1e901a75 36991 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36992
36993 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36994
36995 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36996
1e901a75 36997 * normal/menu.c: Likewise.
34c44600 36998
1e901a75 36999 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37000 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37001
1e901a75 37002 * include/grub/font.h: Replaced with new file.
34c44600 37003
1e901a75 37004 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37005 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37006 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37007 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37008 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37009 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37010 fg_red, fg_green, fg_blue, fg_alpha.
37011 (grub_video_adapter): Removed blit_glyph.
34c44600 37012 (grub_video_blit_glyph): Removed.
37013
1e901a75 37014 * font/manager.c: Removed file.
34c44600 37015
37016 * font/font.c: New file.
37017
1e901a75 37018 * font/font_cmd.c: Likewise.
34c44600 37019
1e901a75 37020 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37021
1e901a75 37022 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37023 (grub_video_vbe_map_rgba): Likewise.
37024 (grub_video_vbe_unmap_color_int): Likewise.
37025 (grub_video_vbe_blit_glyph): Removed.
37026 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37027
1e901a75 37028 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37029 (get_pixel): Likewise.
34c44600 37030 (set_pixel): Likewise.
37031
1e901a75 37032 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37033
1e901a75 37034 * term/gfxterm.c: Adapted to new font engine.
34c44600 37035
1e901a75 37036 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37037
1e901a75 37038 * term/i386/pc/vga.c: Likewise.
34c44600 37039
1e901a75 37040 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37041
1e901a75 37042 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37043
1e901a75 37044 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37045
1e901a75 37046 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37047
1e901a75 37048 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37049
1e901a75 37050 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37051
1e901a75 37052 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37053
1e901a75 37054 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37055
1e901a75 37056 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37057
37058 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37059
1e901a75 37060 * util/grub-mkconfig_lib.in: Changed font extension.
37061
278922e8 370622008-12-28 Felix Zielcke <fzielcke@z-51.de>
37063
37064 * util/getroot.c (grub_util_get_grub_dev): Add support for
37065 /dev/md/dNNpNN style partitionable mdraid devices.
37066
3ced05cf 370672008-12-12 Alex Smith <alex@alex-smith.me.uk>
37068
37069 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37070 at a time limit of the PXE TFTP API correctly.
37071 (grub_pxefs_close): Likewise.
37072
7fd0ee30 370732008-11-29 Robert Millan <rmh@aybabtu.com>
37074
34c44600 37075 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37076 grub_ata_device_initialize() calls.
37077
34c44600 370782008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37079
37080 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37081 iteration failed.
37082 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37083
89313780 370842008-11-28 Robert Millan <rmh@aybabtu.com>
37085
37086 Fix build on powerpc-ieee1275. Based on patch created by
37087 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37088 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37089 `kern/ieee1275/mmap.c'.
37090 * include/grub/powerpc/ieee1275/memory.h: New file.
37091
15257703 37092 Provide grub-install on coreboot.
37093 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37094 (grub_install_SOURCES): New variable.
37095 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37096 usable on coreboot.
37097
9fc5388a 370982008-11-25 Felix Zielcke <fzielcke@z-51.de>
37099
37100 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37101 to `grub_term_input_t'.
37102 (grub_term_get_current_output): Change return type to
37103 `grub_term_output_t'.
37104
bc3a2f31 371052008-11-22 Robert Millan <rmh@aybabtu.com>
37106
34c44600 37107 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37108 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37109 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37110 grub_vga_text_cls().
37111
80fc88f2 37112 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37113 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37114
cbf36fd3 37115 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37116 to 0x200000 (avoids trouble with some OFW implementations, and matches
37117 with the one in Yaboot).
37118 Reported by Manoel Abranches
37119
73e8e268 371202008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37121
37122 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37123 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37124
73e8e268 37125 * util/grub-mkconfig_lib.in (grub_warn): New function.
37126 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37127 warnings, to obtain consistent formatting.
37128 * util/grub.d/00_header.in: Likewise.
37129 * util/update-grub_lib.in: Likewise.
37130
e94045a1 37131 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37132 Move comment text to `#error' stanza.
e94045a1 37133
79d29fd7 37134 Harmonize ieee1275's grub_available_iterate() with the generic
37135 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37136 build problem on i386-ieee1275):
37137 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37138 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37139 parameter `type'. Update all users of this function.
37140 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37141 `kern/ieee1275/mmap.c'.
37142 * kern/ieee1275/init.c
37143 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37144 with ...
37145 (grub_machine_mmap_iterate): ... this.
37146 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37147 return type to `grub_err_t'. Update all implementations of this
37148 function prototype.
37149 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37150 Likewise.
37151
60d6b16e 37152 Add `lsmmap' command (lists firmware-provided memory map):
37153 * commands/lsmmap.c: New file.
37154 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37155 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37156 variables.
37157 * conf/powerpc-ieee1275.rmk: Likewise.
37158 * conf/i386-coreboot.rmk: Likewise.
37159 * conf/i386-ieee1275.rmk: Likewise.
37160
ebaaf49b 371612008-11-19 Robert Millan <rmh@aybabtu.com>
37162
37163 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37164 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37165 constraints to initrd allocation (based on code from
37166 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37167 for Linux to find it.
ebaaf49b 37168
dfab719f 371692008-11-14 Robert Millan <rmh@aybabtu.com>
37170
37171 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37172 order to cope with duplicate slashes.
37173
10fc3eb9 371742008-11-14 Robert Millan <rmh@aybabtu.com>
37175
37176 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37177 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37178 don't want to mess with lower memory, because it is used in the Linux
37179 loader.
37180
37181 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37182 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37183 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37184 is in our heap (probably as a result of it being corrupted during
2f2a3442 37185 decompression). Add #error instance with comment to explain why this
37186 loader isn't currently usable on PC/BIOS.
10fc3eb9 37187
e2e07847 371882008-11-14 Robert Millan <rmh@aybabtu.com>
37189
37190 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37191 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37192
fe8e8d69 371932008-11-12 Robert Millan <rmh@aybabtu.com>
37194
37195 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37196
37197 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37198 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37199 from here ...
37200 * include/grub/i386/pc/memory.h: ... to here.
37201
976b07d0 372022008-11-12 Robert Millan <rmh@aybabtu.com>
37203
37204 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37205 split).
37206
37207 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37208 (grub_console_cur_color, grub_console_real_putchar)
37209 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37210 (grub_console_setcolorstate, grub_console_setcolor)
37211 (grub_console_getcolor): Move from here ...
37212 * include/grub/i386/vga_common.h: ... to here (new file).
37213
37214 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37215 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37216 `<grub/i386/io.h>'.
37217 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37218 `<grub/i386/vga_common.h>'.
37219
76679cd3 372202008-11-12 Robert Millan <rmh@aybabtu.com>
37221
37222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37223 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37224 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37225 variables.
37226 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37227 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37228
37229 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37230 grub_console_init() with call to grub_vga_text_init().
37231 (grub_machine_fini): Replace call to
37232 grub_console_fini() with call to grub_vga_text_fini() and
37233 grub_at_keyboard_fini().
37234
37235 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37236 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37237 (grub_console_setcolorstate, grub_console_setcolor)
37238 (grub_console_getcolor): New function prototypes.
37239
37240 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37241 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37242 (grub_vga_text_setcursor): Static-ize.
37243 (grub_vga_text_term): New structure.
37244 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37245
37246 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37247 (grub_console_cur_color, grub_console_standard_color)
37248 (grub_console_normal_color, grub_console_highlight_color)
37249 (map_char, grub_console_putchar, grub_console_getcharwidth)
37250 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37251 (grub_console_getcolor): Move from here ...
37252 * term/i386/vga_common.c: ... to here (same function names).
37253
95b841d3 372542008-11-12 Robert Millan <rmh@aybabtu.com>
37255
37256 Use newly-added Multiboot support in coreboot.
37257
37258 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37259 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37260
37261 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37262 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37263 (codestart): Store the MBI in `startup_multiboot_info' when we're
37264 being loaded using Multiboot.
37265
37266 * kern/i386/coreboot/init.c (grub_machine_init): Move
37267 grub_at_keyboard_init() call to beginning of function (useful for
37268 debugging). Call grub_machine_mmap_init() before attempting to use
37269 grub_machine_mmap_iterate().
37270 (grub_lower_mem, grub_upper_mem): Move from here ...
37271 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37272 here (new file).
37273
37274 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37275 function prototype.
37276
761ca975 372772008-11-12 Robert Millan <rmh@aybabtu.com>
37278
37279 Fix a regression introduced by the at_keyboard.mod split. Because
37280 some terminals are default on some platforms and non-default on
37281 others, the first terminal being registered determines which is
37282 going to be default.
37283
37284 * kern/term.c (grub_term_register_input): If this is the first
37285 terminal being registered, set it as the current one.
37286 (grub_term_register_output): Likewise.
37287
37288 * term/efi/console.c (grub_console_init): Do not call
37289 grub_term_set_current_output() or grub_term_set_current_input().
37290 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37291 * term/i386/pc/console.c (grub_console_init): Likewise.
37292 (grub_console_fini): Do not call grub_term_set_current_input()
37293 (but leave grub_term_set_current_output() to restore text mode).
37294
6c529df7 372952008-11-10 Robert Millan <rmh@aybabtu.com>
37296
37297 * util/grub.d/00_header.in: Add backward compatibility check for
37298 versions of terminal.mod that don't understand `terminal_input' or
37299 `terminal_output'.
37300
132e4113 373012008-11-09 Robert Millan <rmh@aybabtu.com>
37302
37303 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37304 `terminal_input' / `terminal_output', not `terminal'.
37305
ac293d50 373062008-11-08 Robert Millan <rmh@aybabtu.com>
37307
37308 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37309 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37310
0025933a 373112008-11-08 Robert Millan <rmh@aybabtu.com>
37312
37313 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37314 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37315 members. Update all users.
37316 * util/console.c (grub_ncurses_term): Split in ...
37317 (grub_ncurses_term_input): ... this, and ...
37318 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37319 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37320
37c86336 373212008-11-08 Robert Millan <rmh@aybabtu.com>
37322
37323 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37324 (PKGDATA): Add $(pkgdata_SRCDIR).
37325 (pkglib_BUILDDIR): New variable.
37326 (pkgdata_SRCDIR): New variable.
37327 (build_env.mk): New target.
37328 (include_DATA): New variable.
37329 (install-local): Install $(include_DATA) files in $(includedir).
37330
b6c15a2d 373312008-11-07 Pavel Roskin <proski@gnu.org>
37332
d99d46f1 37333 * gendistlist.sh: Use C locale for sorting to ensure consistent
37334 output on all systems.
37335
b6c15a2d 37336 * util/grub.d/00_header.in: Remove incorrect space before
37337 "serial".
37338
c32ee8c9 373392008-11-07 Robert Millan <rmh@aybabtu.com>
37340
37341 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37342 per specification.
37343 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37344 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37345 (based on find_multi_boot1_header).
37346 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37347 using find_multi_boot2_header(), and abort if neither Multiboot or
37348 Multiboot headers were found.
37349
651c29b7 373502008-11-07 Robert Millan <rmh@aybabtu.com>
37351
37352 Modularize at_keyboard.mod:
37353
37354 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37355 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37356 (at_keyboard_mod_LDFLAGS): New variables.
37357
37358 Actual terminal split:
37359
37360 * include/grub/term.h (struct grub_term): Split in ...
37361 (struct grub_term_input): ... this, and ...
37362 (struct grub_term_output): ... this. Update all users.
37363 (grub_term_set_current): Split in ...
37364 (grub_term_set_current_input): ... this, and ...
37365 (grub_term_set_current_output): ... this.
37366 (grub_term_get_current): Split in ...
37367 (grub_term_get_current_input): ... this, and ...
37368 (grub_term_get_current_output): ... this.
37369 (grub_term_register): Split in ...
37370 (grub_term_register_input): ... this, and ...
37371 (grub_term_register_output): ... this.
37372 (grub_term_unregister): Split in ...
37373 (grub_term_unregister_input): ... this, and ...
37374 (grub_term_unregister_output): ... this.
37375 (grub_term_iterate): Split in ...
37376 (grub_term_iterate_input): ... this, and ...
37377 (grub_term_iterate_output): ... this.
37378
37379 * kern/term.c (grub_term_list): Split in ...
37380 (grub_term_list_input): ... this, and ...
37381 (grub_term_list_output): ... this. Update all users.
37382 (grub_cur_term): Split in ...
37383 (grub_cur_term_input): ... this, and ...
37384 (grub_cur_term_output): ... this. Update all users.
37385 (grub_term_set_current): Split in ...
37386 (grub_term_set_current_input): ... this, and ...
37387 (grub_term_set_current_output): ... this.
37388 (grub_term_get_current): Split in ...
37389 (grub_term_get_current_input): ... this, and ...
37390 (grub_term_get_current_output): ... this.
37391 (grub_term_register): Split in ...
37392 (grub_term_register_input): ... this, and ...
37393 (grub_term_register_output): ... this.
37394 (grub_term_unregister): Split in ...
37395 (grub_term_unregister_input): ... this, and ...
37396 (grub_term_unregister_output): ... this.
37397 (grub_term_iterate): Split in ...
37398 (grub_term_iterate_input): ... this, and ...
37399 (grub_term_iterate_output): ... this.
37400
37401 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37402 a check for input and one for output (and only attempt to get keys
37403 from user when input works).
37404
37405 * util/grub-probe.c (grub_term_get_current): Split in ...
37406 (grub_term_get_current_input): ... this, and ...
37407 (grub_term_get_current_output): ... this.
37408 * util/grub-fstest.c: Likewise.
37409 * util/i386/pc/grub-setup.c: Likewise.
37410 * util/grub-editenv.c: Likewise.
37411
37412 Portability adjustments:
37413
37414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37415 `term/i386/pc/at_keyboard.c'.
37416 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37417 grub_keyboard_controller_init() (now handled by terminal .init).
37418 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37419 grub_at_keyboard_init().
37420 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37421 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37422 at_keyboard.mod via input terminal interface).
37423 * include/grub/i386/coreboot/console.h: Convert into a stub for
37424 `<grub/i386/pc/console.h>'.
37425
37426 Migrate full terminals to new API:
37427
37428 * term/efi/console.c (grub_console_term): Split into ...
37429 (grub_console_term_input): ... this, and ...
37430 (grub_console_term_output): ... this. Update all users.
37431 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37432 (grub_ofconsole_init): Split into ...
37433 (grub_ofconsole_init_input): ... this, and ...
37434 (grub_ofconsole_init_output): ... this.
37435 (grub_ofconsole_term): Split into ...
37436 (grub_ofconsole_term_input): ... this, and ...
37437 (grub_ofconsole_term_output): ... this. Update all users.
37438 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37439 (grub_serial_term_input): ... this, and ...
37440 (grub_serial_term_output): ... this. Update all users.
37441 * term/i386/pc/console.c (grub_console_term): Split into ...
37442 (grub_console_term_input): ... this, and ...
37443 (grub_console_term_output): ... this. Update all users.
37444 (grub_console_term_input): Only enable it on PC/BIOS platform.
37445 (grub_console_init): Remove grub_keyboard_controller_init() call.
37446
37447 Migrate input terminals to new API:
37448
37449 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37450 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37451 i386-specific anyway).
37452 (grub_console_checkkey): Rename to ...
37453 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37454 users.
37455 (grub_keyboard_controller_orig): New variable.
37456 (grub_console_getkey): Rename to ...
37457 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37458 users.
37459 (grub_keyboard_controller_init): Static-ize. Save original
37460 controller value so that it can be restored ...
37461 (grub_keyboard_controller_fini): ... here (new function).
37462 (grub_at_keyboard_term): New structure.
37463 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37464 functions.
37465
37466 Migrate output terminals to new API:
37467
37468 * term/i386/pc/vga.c (grub_vga_term): Change type to
37469 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37470 members. Update all users.
37471 * term/gfxterm.c (grub_video_term): Change type to
37472 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37473 members. Update all users.
37474 * include/grub/i386/pc/console.h (grub_console_checkkey)
37475 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37476 etc).
37477
37478 Migrate `terminal' command and userland tools to new API:
37479
37480 * commands/terminal.c (grub_cmd_terminal): Split into ...
37481 (grub_cmd_terminal_input): ... this, and ...
37482 (grub_cmd_terminal_output): ... this.
37483 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37484 `terminal_input' and `terminal_output'.
37485 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37486 `terminal_input' / `terminal_output' API.
37487 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37488 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37489 provided ${GRUB_TERMINAL}, convert it).
37490
96e5d876 374912008-11-04 Robert Millan <rmh@aybabtu.com>
37492
37493 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37494 for FreeBSD.
37495 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37496
556f3775 374972008-11-03 Bean <bean123ch@gmail.com>
37498
37499 * kern/elf.c (grub_elf32_load): Revert to previous code.
37500 (grub_elf64_load): Likewise.
37501
37502 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37503
926b9823 375042008-11-01 Robert Millan <rmh@aybabtu.com>
37505
37506 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37507 (TARGET_CPPFLAGS): Likewise.
37508 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37509
1432e958 375102008-11-01 Carles Pina i Estany <carles@pina.cat>
37511
37512 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37513
dba3f844 375142008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37515
37516 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37517 addition of objects until the code is not going to be able to fail.
37518
dba3f844 375192008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37520
37521 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37522 (add a missing NULL check, and correct them by moving the pointer
37523 operations after the actual check).
37524
7ab28c21 375252008-10-29 Robert Millan <rmh@aybabtu.com>
37526
37527 * util/i386/pc/grub-install.in: Handle empty string as output from
37528 make_system_path_relative_to_its_root().
37529
1b7748eb 375302008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37531
37532 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37533 circular metadata worst case scenario. If the metadata is circular
37534 then copy the wrap in place.
37535 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37536 project lib/format_text/layout.h
37537 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37538
c9618ab2 375392008-10-03 Felix Zielcke <fzielcke@z-51.de>
37540
7a36edca 37541 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37542
bf981c62 375432008-10-03 Felix Zielcke <fzielcke@z-51.de>
37544
37545 * util/update-grub_lib.in: Mention filename in warning message.
37546
6d994591 375472008-09-29 Felix Zielcke <fzielcke@z-51.de>
37548
37549 * NEWS: Update for rename of update-grub to grub-mkconfig.
37550
18ade780 375512008-09-29 Felix Zielcke <fzielcke@z-51.de>
37552
37553 * util/update-grub_lib.in: Copy to ...
37554 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37555 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37556 * util/update-grub.in: Rename to ...
37557 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37558 option. Add `--output' option to allow users to specify the generated
37559 configuration file. Default to stdout.
37560 (update_grub_dir): Rename to ...
37561 (grub_mkconfig_dir): ... this.
37562 (grub_cfg): Default to an empty string.
37563 * conf/common.rmk (update-grub): Rename to ...
37564 (grub-mkconfig): ... this.
37565 (update-grub_lib): Copy to ...
37566 (grub-mkconfig_lib): ... this.
37567 (update-grub_SCRIPTS): Copy to ...
37568 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37569 (update-grub_DATA): Rename to ...
37570 (grub-mkconfig_DATA): ... this.
37571
556ce6ac 375722008-09-28 Robert Millan <rmh@aybabtu.com>
37573
37574 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37575 to `modified'. Add the real `created' field.
37576 (grub_iso9660_uuid): Use `modified' rather than `created' for
37577 constructing the UUID.
37578
375792008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37580
37581 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37582 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37583
92274e85 375842008-09-28 Bean <bean123ch@gmail.com>
37585
37586 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37587 Thanks to Christian Franke for finding this bug.
37588
add6f17a 375892008-09-25 Robert Millan <rmh@aybabtu.com>
37590
37591 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37592 instances of grub_util_get_disk_name() (see previous commit).
37593
d2a367b8 375942008-09-25 Robert Millan <rmh@aybabtu.com>
37595
37596 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37597 `util/i386/get_disk_name.c'.
37598 * conf/i386-efi.rmk: Likewise.
37599 * conf/x86_64-efi.rmk: Likewise.
37600 * conf/i386-coreboot.rmk: Likewise.
37601 * conf/i386-ieee1275.rmk: Likewise.
37602 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37603 `util/ieee1275/get_disk_name.c'.
37604 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37605 * util/ieee1275/get_disk_name.c: Remove file.
37606 * util/i386/get_disk_name.c: Remove file.
37607 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37608 "hd%d" for device.map entries, rather than using
37609 grub_util_get_disk_name().
37610
81a06771 376112008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37612
37613 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37614 warning.
37615 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37616
5a004279 376172008-09-24 Carles Pina i Estany <carles@pina.cat>
37618
37619 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37620 Changed to 0x5100.
37621 (GRUB_TERM_PPAGE): Changed to 0x4900.
37622
397093d3 376232008-09-24 Robert Millan <rmh@aybabtu.com>
37624
37625 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37626 macros (they were i386-pc specific).
37627 * include/grub/sparc64/ieee1275/console.h: Likewise.
37628 * include/grub/efi/console.h: Likewise.
37629
a91b6c7c 376302008-09-22 Bean <bean123ch@gmail.com>
37631
37632 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37633 resident and in attribute list.
37634
37635 * include/grub/ntfs.h (BMP_LEN): Removed.
37636
c40fd116 376372008-09-22 Bean <bean123ch@gmail.com>
37638
81a06771 37639 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37640 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37641
37642 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37643 error occurs, as grub_disk_open will call grub_disk_close, which will
37644 call p->close (scsi).
37645
81a06771 376462008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37647
37648 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37649 (AC_PREREQ): Bumped to 2.59.
37650 (AC_TRY_COMPILE): Replace obsolete macro with ...
37651 (AC_COMPILE_IFELSE): ... this.
37652 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37653 (AC_LINK_IFELSE): ... this.
37654
5dc43410 376552008-09-21 Felix Zielcke <fzielcke@z-51.de>
37656
37657 * autogen.sh: Add a call to `gendistlist.sh'.
37658
9035dce4 376592008-09-19 Christian Franke <franke@computer.org>
37660
37661 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37662 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37663 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37664 Export __enable_execute_stack() to modules.
37665 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37666 New function.
37667
7fd75377 376682008-09-09 Felix Zielcke <fzielcke@z-51.de>
37669
040030b3 37670 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37671 Sort the list.
37672
376732008-09-09 Felix Zielcke <fzielcke@z-51.de>
37674
37675 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37676 #include <grub/util/hostdisk.h>.
37677
89d5ffcf 376782008-09-08 Robert Millan <rmh@aybabtu.com>
37679
37680 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37681 segments when their filesz is zero (grub_file_read() interprets
81a06771 37682 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37683 Use `lowest_segment' rather than 0 for calculating the current
37684 segment load address.
37685
40da438f 376862008-09-08 Robert Millan <rmh@aybabtu.com>
37687
37688 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37689 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37690 clobbered useful information.
37691
ddbf5556 376922008-09-08 Robert Millan <rmh@aybabtu.com>
37693
37694 * include/grub/util/biosdisk.h: Move to ...
37695 * include/grub/util/hostdisk.h: ... here. Update all users.
37696 * util/biosdisk.c: Move to ...
37697 * util/hostdisk.c: ... here. Update all users.
37698
783d0f48 376992008-09-07 Robert Millan <rmh@aybabtu.com>
37700
37701 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37702 variables.
37703 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37704 and length can be stored directly in the `mbi->mmap_addr' and
37705 `mbi->mmap_length' struct fields.
37706
548e2ea5 377072008-09-07 Robert Millan <rmh@aybabtu.com>
37708
37709 * conf/i386.rmk: New file. Provides declaration for building
37710 `cpuid.mod'.
37711 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37712 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37713 variables.
37714 Include `conf/i386.mk'.
37715 * conf/i386-efi.rmk: Likewise.
37716 * conf/x86_64-efi.rmk: Likewise.
37717 * conf/i386-coreboot.rmk: Likewise.
37718 * conf/i386-ieee1275.rmk: Likewise.
37719
0ea85a37 377202008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37721
37722 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37723 Adds optimization support for BGR based modes.
37724
37725 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37726 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37727 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37728 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37729 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37730 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37731 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37732 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37733 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37734 (grub_video_i386_vbeblit_index_index): Likewise.
37735 (grub_video_i386_vbeblit_replace_directN): Added.
37736 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37737 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37738 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37739 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37740 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37741 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37742 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37743 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37744 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37745 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37746 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37747 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37748 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37749
37750 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37751 (grub_video_i386_vbefill_R8G8B8): Likewise.
37752 (grub_video_i386_vbefill_index): Likewise.
37753 (grub_video_i386_vbefill_direct32): Added.
37754 (grub_video_i386_vbefill_direct24): Likewise.
37755 (grub_video_i386_vbefill_direct16): Likewise.
37756 (grub_video_i386_vbefill_direct8): Likewise.
37757
81a06771 37758 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37759 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37760 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37761 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37762 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37763 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37764
0ea85a37 37765 * video/video.c (grub_video_get_blit_format): Updated to use new
37766 blit formats. Added handling for 16 bit color modes.
81a06771 37767
37768 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37769 fillers.
37770 (common_blitter): Updated to use new blitters.
37771
37772 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37773 Removed.
37774 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37775 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37776 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37777 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37778 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37779 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37780 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37781 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37782 (grub_video_i386_vbeblit_index_index): Likewise.
37783 (grub_video_i386_vbeblit_replace_directN): Added.
37784 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37785 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37786 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37787 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37788 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37789 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37790 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37791 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37792 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37793 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37794 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37795 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37796 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37797
0ea85a37 37798 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37799 (grub_video_i386_vbefill_R8G8B8): Likewise.
37800 (grub_video_i386_vbefill_index): Likewise.
37801 (grub_video_i386_vbefill_direct32): Added.
37802 (grub_video_i386_vbefill_direct24): Likewise.
37803 (grub_video_i386_vbefill_direct16): Likewise.
37804 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37805
0ea85a37 37806 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37807 types.
81a06771 37808
0ea85a37 37809 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37810 types.
81a06771 37811
0ea85a37 37812 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37813 blitter types.
81a06771 37814
0ea85a37 37815 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37816 types.
37817
e8a83df6 378182008-09-06 Felix Zielcke <fzielcke@z-51.de>
37819
37820 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37821 RAID level 1.
37822
6bcd8ee5 378232008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37824
6bcd8ee5 37825 * fs/iso9660.c (grub_iso9660_date): New structure.
37826 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37827 (grub_iso9660_uuid): New function.
c375ae58 37828
59261157 378292008-09-05 Bean <bean123ch@gmail.com>
37830
37831 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37832
37833 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37834 insensitive bit for names in Win32 and Win32 & DOS namespace.
37835
37836 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37837
37838 * include/grub/types.h (LONG_MAX): Likewise.
37839
58b6645a 378402008-09-04 Felix Zielcke <fzielcke@z-51.de>
37841
4ee55921 37842 * util/getroot.c: Include <config.h>.
37843 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37844 add support for /dev/md/N devices and handle LVM double dash escaping.
37845
378462008-09-04 Felix Zielcke <fzielcke@z-51.de>
37847
37848 * config.guess: Update to latest version from config git.
37849 * config.sub: Likewise.
58b6645a 37850
9124f65d 378512008-09-03 Robert Millan <rmh@aybabtu.com>
37852
37853 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37854 `disk->total_sectors'.
37855
81a06771 378562008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37857
37858 * include/grub/normal.h: Fixed incorrect comment for
37859 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37860
81a06771 378612008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37862
37863 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37864 values with defines.
37865
37866 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37867 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37868 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37869 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37870 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37871 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37872 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37873 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37874 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37875 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37876 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37877 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37878 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37879 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37880 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37881 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37882 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37883 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37884 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37885
93d5cbf8 378862008-08-31 Robert Millan <rmh@aybabtu.com>
37887
37888 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37889 declaration.
37890 (grub_multiboot): Fix a few warnings.
37891
21751d50 378922008-08-31 Robert Millan <rmh@aybabtu.com>
37893
37894 * loader/i386/pc/multiboot.c: Update comment not to say that
37895 boot_device support is unimplemented.
37896
e27a75c5 378972008-08-31 Robert Millan <rmh@aybabtu.com>
37898
37899 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37900 or memory map support are unimplemented.
37901
81a06771 379022008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37903
37904 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37905
81a06771 379062008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37907
37908 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37909 total video memory in 'vbeinfo' output; show color format details for
37910 each video mode.
37911
7c5d8d95 379122008-08-30 Pavel Roskin <proski@gnu.org>
37913
37914 * util/genmoddep.c: Remove for real this time.
37915 * DISTLIST: Remove util/genmoddep.c.
37916
4cebd25a 379172008-08-30 Robert Millan <rmh@aybabtu.com>
37918
37919 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37920 as required by Multiboot spec (it was already 4-byte aligned, but
37921 only by chance).
37922
b497a269 379232008-08-29 Pavel Roskin <proski@gnu.org>
37924
e3925185 37925 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37926 * kern/powerpc/ieee1275/startup.S: ... this.
37927 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37928 * DISTLIST: Likewise.
37929
b497a269 37930 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37931 grub/cpu/kernel.h. Add start label for consistency with other
37932 platforms. Add grub_prefix immediately after start. Add jump
37933 to the code after grub_prefix.
37934 * include/grub/powerpc/kernel.h: Provide valid values for
37935 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37936
6e5a42fe 379372008-08-29 Bean <bean123ch@gmail.com>
37938
37939 * configure.ac: Change host_os to cygwin for mingw.
37940 (asprintf): New check for function.
37941
37942 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37943 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37944
37945 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37946 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37947 sync, sleep and grub_util_get_disk_size for mingw.
37948
37949 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37950 to get size in mingw.
37951 (open_device): Use flag O_BINARY if it's defined.
37952 (find_root_device): Add dummy code for mingw.
37953
37954 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37955 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37956 (get_scsi_disk_name): Return 0 for mingw.
37957
37958 * util/hostfs.c: #include <grub/util/misc.h>.
37959 (grub_hostfs_open): Use "rb" flag to open file, use
37960 grub_util_get_disk_size to get disk size for mingw.
37961
37962 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37963 (asprintf): New function if HAVE_ASPRINTF is not set.
37964 (sync): New function for mingw.
37965 (sleep): Likewise.
37966 (grub_util_get_disk_size): Likewise.
37967
ab3f2673 379682008-08-28 Pavel Roskin <proski@gnu.org>
37969
37970 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37971 kern/time.c.
37972
1c282483 379732008-08-28 Robert Millan <rmh@aybabtu.com>
37974
37975 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37976
678e849c 379772008-08-28 Robert Millan <rmh@aybabtu.com>
37978
37979 Change find_grub_drive() syntax so it doesn't prevent it from
37980 detecting NULL names as errors.
37981
37982 * util/biosdisk.c (find_grub_drive): Move free slot search code
37983 from here ...
37984 (find_free_slot): ... to here.
37985 (read_device_map): Use find_free_slot() to search for free slots.
37986
965c75ca 379872008-08-27 Marco Gerards <marco@gnu.org>
37988
37989 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37990 (scsi_mod_SOURCES): New variable.
37991 (scsi_mod_CFLAGS): Likewise
37992 (scsi_mod_LDFLAGS): Likewise.
37993
37994 * disk/scsi.c: New file.
37995
37996 * include/grub/scsi.h: Likewise.
37997
37998 * include/grub/scsicmd.h: Likewise.
37999
38000 * disk/ata.c: Include <grub/scsi.h>.
38001 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38002 instead.
38003 (grub_ata_iterate): Skip ATAPI devices.
38004 (grub_ata_open): Only handle ATAPI devices.
38005 (struct grub_atapi_read): Removed.
38006 (grub_atapi_readsector): Likewise.
38007 (grub_ata_read): No longer handle ATAPI devices.
38008 (grub_ata_write): Likewise.
38009 (grub_atapi_iterate): New function.
38010 (grub_atapi_read): Likewise.
38011 (grub_atapi_write): Likewise.
38012 (grub_atapi_open): Likewise.
38013 (grub_atapi_close): Likewise.
38014 (grub_atapi_dev): New variable.
38015 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38016 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38017
38018 * include/grub/disk.h (enum grub_disk_dev_id): Add
38019 `GRUB_DISK_DEVICE_SCSI_ID'.
38020
c07ae501 380212008-08-26 Robert Millan <rmh@aybabtu.com>
38022
38023 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38024 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38025 descriptive.
38026
5ed20adc 380272008-08-23 Bean <bean123ch@gmail.com>
38028
38029 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38030 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38031 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38032 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38033 dm_nv.mod.
38034 (raid5rec_mod_SOURCES): New macro.
38035 (raid5rec_mod_CFLAGS): Likewise.
38036 (raid5rec_mod_LDFLAGS): Likewise.
38037 (raid6rec_mod_SOURCES): Likewise.
38038 (raid6rec_mod_CFLAGS): Likewise.
38039 (raid6rec_mod_LDFLAGS): Likewise.
38040 (mdraid_mod_SOURCES): Likewise.
38041 (mdraid_mod_CFLAGS): Likewise.
38042 (mdraid_mod_LDFLAGS): Likewise.
38043 (dm_nv_mod_SOURCES): Likewise.
38044 (dm_nv_mod_CFLAGS): Likewise.
38045 (dm_nv_mod_LDFLAGS): Likewise.
38046
38047 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38048 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38049 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38050
38051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38052 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38053
38054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38055
38056 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38057
38058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38059
38060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38061
38062 * disk/raid5_recover.c: New file.
38063
38064 * disk/raid6_recover.c: Likewise.
38065
38066 * disk/mdraid_linux.c: Likewise.
38067
38068 * disk/dmraid_nvidia.c: Likewise.
38069
38070 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38071 ULONG_MAX.
38072
38073 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38074 calculate the size of raid device.
38075 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38076 different layout of raid5.
38077 (grub_raid_scan_device): Remove code specific to mdraid.
38078 (grub_raid_list): New variable.
38079 (free_array): New function.
38080 (grub_raid_register): Likewise.
38081 (grub_raid_unregister): Likewise.
38082 (grub_raid_rescan): Likewise.
38083 (GRUB_MOD_INIT): Don't iterate device here.
38084 (GRUB_MOD_FINI): Use free_array to release resource.
38085
38086 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38087 (grub_raid5_recover_func_t): New function variable type.
38088 (grub_raid6_recover_func_t): Likewise.
38089 (grub_raid5_recover_func): New variable.
38090 (grub_raid6_recover_func): Likewise.
38091 (grub_raid_register): New function.
38092 (grub_raid_unregister): Likewise.
38093 (grub_raid_rescan): Likewise.
38094 (grub_raid_block_xor): Likewise.
38095
38096 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38097 (CMD_CRC): New macro.
38098 (part): Removed.
38099 (read_file): Handle device as well as file.
38100 (cmd_crc): New function.
38101 (fstest): Handle multiple disks.
38102 (options): Remove part, raw and long, add root and diskcount.
38103 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38104 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38105 add handling for the new options, support multiple disks.
38106
38107 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38108
29c18915 381092008-08-23 Bean <bean123ch@gmail.com>
38110
38111 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38112
38113 * genfslist.sh: Ignore kernel.mod.
38114
38115 * genpartmaplist.sh: Likewise.
38116
8415f261 381172008-08-23 Robert Millan <rmh@aybabtu.com>
38118
38119 * util/getroot.c (find_root_device): Skip anything that starts with
38120 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38121
d5a7dc5b 381222008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38123
d5a7dc5b 38124 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38125 * util/grub.d/00_header.in: Allow the administrator to change default
38126 gfxmode via ${GRUB_GFXMODE}.
38127
380cfbb4 381282008-08-21 Felix Zielcke <fzielcke@z-51.de>
38129
38130 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38131
c9baafe7 381322008-08-21 Robert Millan <rmh@aybabtu.com>
38133
38134 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38135 loader.
38136 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38137 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38138
e290bef2 381392008-08-20 Carles Pina i Estany <carles@pina.cat>
38140
38141 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38142 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38143
f9dbfc96 381442008-08-19 Robert Millan <rmh@aybabtu.com>
38145
38146 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38147 (struct grub_virtual_screen): Remove `cursor_color'.
38148 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38149 initialization.
38150 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38151
dd6bd6ab 381522008-08-18 Robert Millan <rmh@aybabtu.com>
38153
38154 Unify (identical) linux_normal.c files.
38155 * loader/i386/efi/linux_normal.c: Move from here ...
38156 * loader/linux_normal.c: ... to here. Update all users.
38157 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38158 * loader/i386/ieee1275/linux_normal.c: Likewise.
38159
7f42f83e 381602008-08-18 Robert Millan <rmh@aybabtu.com>
38161
38162 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38163 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38164 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38165 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38166 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38167 New macros.
38168 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38169 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38170 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38171 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38172 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38173 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38174 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38175 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38176 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38177 portably using grub_getxy().
38178 Replace `-EFI' with `-bzImage' in boot message.
38179
38487ddb 381802008-08-17 Robert Millan <rmh@aybabtu.com>
38181
38182 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38183
deceb3ec 381842008-08-17 Robert Millan <rmh@aybabtu.com>
38185
38186 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38187
38188 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38189 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38190 (grub_machine_mmap_iterate): New function declaration.
38191 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38192 structure.
38193 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38194 macros.
38195
38196 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38197 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38198 Move e820 parsing from here ...
38199 * kern/i386/pc/mmap.c: New file.
38200 (grub_machine_mmap_iterate): ... to here.
38201
38202 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38203 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38204 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38205 (grub_available_iterate): Redeclare to return `void', and redeclare
38206 its hook to use grub_uint64_t as addr and size parameters, and rename
38207 to ...
38208 (grub_machine_mmap_iterate): ... this. Update all users.
38209
38210 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38211 to make it more readable. Rename to ...
38212 (grub_machine_mmap_iterate): ... this.
38213
38214 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38215 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38216 (grub_multiboot): Allocate an extra region after the payload, and fill
38217 it with a Multiboot memory map. Adjust a.out loader to calculate size
38218 with the extra space.
38219 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38220 with the extra space.
38221
f8aa0f43 382222008-08-17 Carles Pina i Estany <carles@pina.cat>
38223
9807deb9 38224 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38225
605f5bb6 382262008-08-17 Felix Zielcke <fzielcke@z-51.de>
38227
38228 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38229 mdate-sh to the list `find' searches for.
38230 * DISTLIST: Regenerated.
38231
210db6c6 382322008-08-16 Felix Zielcke <fzielcke@z-51.de>
38233
38234 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38235 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38236 genmoddep.awk, gensymlist.sh.in.
38237 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38238 * DISTLIST: Regenerated.
48cdbfd4 38239 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38240
1082b929 382412008-08-16 Robert Millan <rmh@aybabtu.com>
38242
38243 * disk/raid.c (grub_raid_init): Handle/report errors set by
38244 grub_device_iterate().
38245 * disk/lvm.c (grub_lvm_init): Likewise.
38246
42ce5170 382472008-08-15 Bean <bean123ch@gmail.com>
38248
38249 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38250 and datehook.mod.
38251 (datetime_mod_SOURCES): New macro.
38252 (datetime_mod_CFLAGS): Likewise.
38253 (datetime_mod_LDFLAGS): Likewise.
38254 (date_mod_SOURCES): Likewise.
38255 (date_mod_CFLAGS): Likewise.
38256 (date_mod_LDFLAGS): Likewise.
38257 (datehook_mod_SOURCES): Likewise.
38258 (datehook_mod_CFLAGS): Likewise.
38259 (datehook_mod_LDFLAGS): Likewise.
38260
38261 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38262 and datehook.mod.
38263 (datetime_mod_SOURCES): New macro.
38264 (datetime_mod_CFLAGS): Likewise.
38265 (datetime_mod_LDFLAGS): Likewise.
38266 (date_mod_SOURCES): Likewise.
38267 (date_mod_CFLAGS): Likewise.
38268 (date_mod_LDFLAGS): Likewise.
38269 (datehook_mod_SOURCES): Likewise.
38270 (datehook_mod_CFLAGS): Likewise.
38271 (datehook_mod_LDFLAGS): Likewise.
38272
38273 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38274 and datehook.mod.
38275 (datetime_mod_SOURCES): New macro.
38276 (datetime_mod_CFLAGS): Likewise.
38277 (datetime_mod_LDFLAGS): Likewise.
38278 (date_mod_SOURCES): Likewise.
38279 (date_mod_CFLAGS): Likewise.
38280 (date_mod_LDFLAGS): Likewise.
38281 (datehook_mod_SOURCES): Likewise.
38282 (datehook_mod_CFLAGS): Likewise.
38283 (datehook_mod_LDFLAGS): Likewise.
38284
38285 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38286 and datehook.mod.
38287 (datetime_mod_SOURCES): New macro.
38288 (datetime_mod_CFLAGS): Likewise.
38289 (datetime_mod_LDFLAGS): Likewise.
38290 (date_mod_SOURCES): Likewise.
38291 (date_mod_CFLAGS): Likewise.
38292 (date_mod_LDFLAGS): Likewise.
38293 (datehook_mod_SOURCES): Likewise.
38294 (datehook_mod_CFLAGS): Likewise.
38295 (datehook_mod_LDFLAGS): Likewise.
38296
38297 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38298 and datehook.mod.
38299 (datetime_mod_SOURCES): New macro.
38300 (datetime_mod_CFLAGS): Likewise.
38301 (datetime_mod_LDFLAGS): Likewise.
38302 (date_mod_SOURCES): Likewise.
38303 (date_mod_CFLAGS): Likewise.
38304 (date_mod_LDFLAGS): Likewise.
38305 (datehook_mod_SOURCES): Likewise.
38306 (datehook_mod_CFLAGS): Likewise.
38307 (datehook_mod_LDFLAGS): Likewise.
38308
38309 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38310
38311 * commands/date.c: New file.
38312
38313 * hook/datehook.c: Likewise.
38314
38315 * include/grub/lib/datetime.h: Likewise.
38316
38317 * include/grub/i386/cmos.h: Likewise.
38318
38319 * lib/datetime.c: Likewise.
38320
38321 * lib/i386/datetime.c: Likewise.
38322
38323 * lib/efi/datetime.c: Likewise.
38324
0e9242da 383252008-08-14 Robert Millan <rmh@aybabtu.com>
38326
38327 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38328 (grub_mkelfimage_SOURCES): New variable.
38329 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38330
38331 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38332 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38333 * conf/powerpc-ieee1275.rmk: Likewise.
38334 * conf/i386-ieee1275.rmk: Likewise.
38335
38336 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38337 * kern/i386/coreboot/init.c: Likewise.
38338
38339 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38340 with `<grub/cpu/kernel.h>'.
38341 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38342 to ...
38343 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38344 * kern/i386/coreboot/startup.S: Likewise.
38345
38346 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38347 (GRUB_MOD_GAP): Remove.
38348 * include/grub/powerpc/kernel.h: New file.
38349 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38350 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38351 * include/grub/i386/kernel.h: New file.
38352 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38353 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38354 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38355
38356 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38357 `grub-mkelfimage'.
38358 Use --directory when invoking grub_mkimage.
38359
38360 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38361 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38362 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38363 and GRUB_KERNEL_CPU_PREFIX.
38364
b86408f8 383652008-08-14 Felix Zielcke <fzielcke@z-51.de>
38366
d5e619ca 38367 * include/grub/err.h (grub_err_printf): New function prototype.
38368 * util/misc.c (grub_err_printf): New function.
38369 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38370 grub_printf.
38371 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38372
7161f0e0 383732008-08-13 Robert Millan <rmh@aybabtu.com>
38374
38375 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38376
a1967522 383772008-08-13 Robert Millan <rmh@aybabtu.com>
38378
38379 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38380 boot entry.
38381
371458b5 383822008-08-12 Robert Millan <rmh@aybabtu.com>
38383
38384 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38385 of the relocation code from here ...
38386 (grub_multiboot): ... to here.
38387 (forward_relocator, backward_relocator): Move from here ...
38388 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38389 (grub_multiboot_backward_relocator): ... to here.
38390 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38391 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38392 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38393 (grub_multiboot_forward_relocator_end)
38394 (grub_multiboot_backward_relocator)
38395 (grub_multiboot_backward_relocator_end): New variables.
38396
05f9452b 383972008-08-12 Bean <bean123ch@gmail.com>
38398
38399 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38400
20024ab0 384012008-08-11 Robert Millan <rmh@aybabtu.com>
38402
38403 * kern/i386/linuxbios/startup.S: Move from here ...
38404 * kern/i386/coreboot/startup.S: ... to here.
38405
38406 * kern/i386/linuxbios/init.c: Move from here ...
38407 * kern/i386/coreboot/init.c: ... to here.
38408
38409 * kern/i386/linuxbios/table.c: Move from here ...
38410 * kern/i386/coreboot/mmap.c: ... to here.
38411
38412 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38413
e352e9cd 384142008-08-11 Robert Millan <rmh@aybabtu.com>
38415
38416 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38417 errors. Leave it to the upper layer to handle them.
38418
2d05bc6a 384192008-08-09 Christian Franke <franke@computer.org>
38420
38421 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38422 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38423 Install `grub.d/10_windows' only on Cygwin.
38424 * configure.ac: Add subst of `target_os'.
38425 Check `target_os' also before setting TARGET_OBJ2ELF.
38426 Add `--enable-grub-pe2elf'.
38427
042bd419 384282008-08-08 Robert Millan <rmh@aybabtu.com>
38429
38430 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38431 (grub_last_time): Change type to grub_uint64_t.
38432 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38433 (grub_disk_close): Likewise.
38434
38435 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38436 (run_menu): Migrate code from to using grub_get_time_ms().
38437
38438 * util/misc.c (grub_get_time_ms): New function.
38439
7f280db5 384402008-08-08 Marco Gerards <marco@gnu.org>
38441
38442 * disk/ata.c (grub_ata_regget): Change return type to
38443 `grub_uint8_t'.
38444 (grub_ata_regget2): Likewise.
38445 (grub_ata_wait_status): New function.
38446 (grub_ata_wait_busy): Removed function, updated all users to use
38447 `grub_ata_wait_status'.
38448 (grub_ata_wait_drq): Likewise.
38449 (grub_ata_cmd): New function.
38450 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38451 error handling.
38452 (grub_ata_pio_write): Add error handling.
38453 (grub_atapi_identify): Likewise.
38454 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38455 handling.
38456 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38457 handling. Actually use the detected registers. Reorder the
38458 detection logic such that it is easier to read.
38459 (grub_ata_pciinit): Do not assign the same ID to each controller.
38460 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38461 handling.
38462 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38463
38464 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38465
1fbc5e66 384662008-08-08 Marco Gerards <marco@gnu.org>
38467
38468 * NEWS: Update.
38469
819ce6c0 384702008-08-07 Bean <bean123ch@gmail.com>
38471
38472 * include/grub/x86_64/pci.h: New file.
38473
5c41d44d 384742008-08-07 Christian Franke <franke@computer.org>
38475
38476 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38477 (TIMER2_GATE): Likewise.
38478 (grub_pit_wait): Add enable/disable of the timer2 gate
38479 bit of port 0x61. This fixes a possible infinite loop.
38480
5ebc275d 384812008-08-07 Bean <bean123ch@gmail.com>
38482
38483 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38484 kern/i386/tsc.c and kern/i386/pit.c.
38485
38486 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38487 x86_64 platform.
38488
38489 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38490 <grub/i386/tsc.h>.
38491
38492 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38493
e383b3d0 384942008-08-07 Bean <bean123ch@gmail.com>
38495
38496 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38497
38498 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38499
38500 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38501 multiple inclusion. Add #include <grub/types.h>.
38502
1cbb58ac 385032008-08-06 Christian Franke <franke@computer.org>
38504
38505 * conf/common.rmk: Build and install `10_windows'.
38506 * util/grub.d/10_windows.in: New script.
38507
337f5a1e 385082008-08-06 Pavel Roskin <proski@gnu.org>
38509
38510 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38511
057bc4ac 385122008-08-06 Robert Millan <rmh@aybabtu.com>
38513
38514 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38515 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38516
2b99f123 385172008-08-06 Bean <bean123ch@gmail.com>
38518
38519 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38520 (grub_pxefs_fs_int): Remove dummy definition.
38521 (grub_pxefs_open): Use data->block_size to store the current block
38522 size setting.
38523 (grub_pxefs_read): Use block size stored in data->block_size. As the
38524 value of grub_pxe_blksize can be changed after the file is opened.
38525
9f0234cb 385262008-08-06 Bean <bean123ch@gmail.com>
38527
38528 * fs/i386/pc/pxe.c (curr_file): new variable.
38529 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38530 require the dummy internal file system anymore.
38531 (grub_pxefs_read): Removed.
38532 (grub_pxefs_close): Likewise.
38533 (grub_pxefs_fs_int): Likewise.
38534 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38535 connection when we switch file.
38536 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38537
a55d42e0 385382008-08-06 Robert Millan <rmh@aybabtu.com>
38539
38540 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38541 `halt.mod'.
38542 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38543 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38544
38545 * kern/i386/halt.c: New file.
38546 * kern/i386/reboot.c: Likewise.
38547 * include/grub/i386/reboot.h: Likewise.
38548 * include/grub/i386/halt.h: Likewise.
38549
38550 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38551 Include `<grub/cpu/halt.h>'.
38552 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38553 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38554
38555 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38556 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38557 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38558 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38559 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38560 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38561 from here ...
38562 * include/grub/i386/at_keyboard.h: ... to here.
38563
24371d26 385642008-08-05 Robert Millan <rmh@aybabtu.com>
38565
38566 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38567 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38568 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38569 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38570 `kern/generic/millisleep.c'.
38571
38572 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38573 instead of grub_get_rtc().
38574 (grub_tsc_init): Initialize `tsc_boot_time'.
38575
38576 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38577 (grub_machine_init): Use grub_tsc_init() rather than
38578 installing an RTC-based handler via grub_install_get_time_ms().
38579
38580 * kern/i386/pit.c: New file.
38581 * include/grub/i386/pit.h: Likewise.
38582
9e7007b3 385832008-08-05 Bean <bean123ch@gmail.com>
38584
38585 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38586
38587 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38588 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38589 (pxe_mod_SOURCES): New macro.
38590 (pxe_mod_CFLAGS): Likewise.
38591 (pxe_mod_LDFLAGS): Likewise.
38592 (pxecmd_mod_SOURCES): Likewise.
38593 (pxecmd_mod_CFLAGS): Likewise.
38594 (pxecmd_mod_LDFLAGS): Likewise.
38595
38596 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38597 (grub_pxe_call): Likewise.
38598
38599 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38600
38601 * commands/i386/pc/pxecmd.c: New file.
38602
9f0234cb 38603 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38604
38605 * include/grub/i386/pc/pxe.h: Likewise.
38606
6977d49f 386072008-08-05 Bean <bean123ch@gmail.com>
38608
38609 * util/console.c (grub_console_cur_color): New variable.
38610 (grub_console_standard_color): Likewise.
38611 (grub_console_normal_color): Likewise.
38612 (grub_console_highlight_color): Likewise.
38613 (color_map): Likewise.
38614 (use_color): Likewise.
38615 (NUM_COLORS): New macro.
38616 (grub_ncurses_setcolorstate): Handle color properly.
38617 (grub_ncurses_setcolor): Don't change color here, just remember the
38618 settings, color will be set in grub_ncurses_setcolorstate.
38619 (grub_ncurses_getcolor): New function.
38620 (grub_ncurses_init): Initialize color pairs.
38621 (grub_ncurses_term): New member grub_ncurses_getcolor.
38622
9c2ff3ee 386232008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38624
9c2ff3ee 38625 High resolution timer support. Implemented for x86 CPUs using TSC.
38626 Extracted generic grub_millisleep() so it's linked in only as needed.
38627 This requires a Pentium compatible CPU; if the RDTSC instruction is
38628 not supported, then it falls back on the generic grub_get_time_ms()
38629 implementation that uses the machine's RTC.
38630
38631 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38632 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38633 `kern/generic/millisleep.c'.
38634
38635 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38636 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38637
38638 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38639 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38640
38641 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38642
38643 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38644 `kern/generic/millisleep.c'.
38645
38646 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38647
38648 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38649
38650 * kern/generic/rtc_get_time_ms.c: New file.
38651
38652 * kern/generic/millisleep.c: New file.
337f5a1e 38653
9c2ff3ee 38654 * kern/misc.c: Don't include
38655 <kern/time.h> anymore.
38656 (grub_millisleep_generic): Removed.
38657
38658 * commands/sleep.c (grub_interruptible_millisleep): Uses
38659 grub_get_time_ms() instead of grub_get_rtc().
38660
38661 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38662 function.
38663 (grub_cpu_is_cpuid_supported): New inline function.
38664 (grub_cpu_is_tsc_supported): New inline function.
38665 (grub_tsc_init): New function prototype.
38666 (grub_tsc_get_time_ms): New function prototype.
38667
38668 * kern/i386/tsc.c (grub_get_time_ms): New file.
38669
38670 * include/grub/time.h: Include <grub/types.h.
38671 (grub_millisleep_generic): Removed.
38672 (grub_get_time_ms): New prototype.
38673 (grub_install_get_time_ms): New prototype.
38674 (grub_rtc_get_time_ms): New prototype.
38675
38676 * kern/time.c (grub_get_time_ms): New function.
38677 (grub_install_get_time_ms): New function.
38678
38679 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38680 <grub/time.h> anymore.
38681 (grub_millisleep): Removed.
38682 (grub_machine_init): Call grub_tsc_init.
38683
38684 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38685 get_time_ms() implementation.
38686
38687 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38688 (ieee1275_get_time_ms): New function.
38689 (grub_machine_init): Install get_time_ms() implementation.
38690
38691 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38692 (grub_machine_init): Call grub_tsc_init().
38693 (grub_millisleep): Removed.
bf06a93f 38694
9c2ff3ee 38695 * kern/ieee1275/init.c (grub_millisleep): Removed.
38696 (grub_machine_init): Install ieee1275_get_time_ms()
38697 implementation.
38698 (ieee1275_get_time_ms): New function.
38699 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38700 real work.
38701
9ec92aaf 387022008-08-05 Marco Gerards <marco@gnu.org>
38703
38704 * disk/ata.c: Include <grub/pci.h>.
38705 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38706 (grub_ata_initialize): Rewritten.
38707 (grub_ata_device_initialize): New function.
38708
8d23f507 387092008-08-04 Pavel Roskin <proski@gnu.org>
38710
38711 * kern/main.c: Include grub/mm.h.
38712
5e15ee3d 387132008-08-04 Robert Millan <rmh@aybabtu.com>
38714
38715 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38716 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38717 corruption problem).
38718
a9053f8f 387192008-08-04 Robert Millan <rmh@aybabtu.com>
38720
38721 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38722 warnings introduced in my last commit.
38723
dd19c7d7 387242008-08-03 Robert Millan <rmh@aybabtu.com>
38725
38726 Make PCI available on all i386 architectures.
38727
38728 * include/grub/i386/pc/pci.h: Move from here ...
38729 * include/grub/i386/pci.h: ... to here.
38730
38731 * include/grub/i386/pc/pci.h: Remove.
38732 * include/grub/i386/efi/pci.h: Remove.
38733 * include/grub/x86_64/efi/pci.h: Remove.
38734
38735 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38736 `<grub/cpu/pci.h>'.
38737
38738 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38739 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38740 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38741
38742 * conf/i386-ieee1275.rmk: Likewise.
38743
e14a6184 387442008-08-03 Robert Millan <rmh@aybabtu.com>
38745
38746 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38747 (grub_console_setcursor): Make it possible to set cursor off.
38748
52768e37 387492008-08-03 Robert Millan <rmh@aybabtu.com>
38750
38751 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38752 of modules instead of assuming which platform provides what.
38753 * util/update-grub.in: Likewise.
38754
2d52f57f 387552008-08-03 Robert Millan <rmh@aybabtu.com>
38756
38757 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38758 instead of `grub_install_dos_part' to determine whether a drive needs
38759 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38760 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38761
2a5cd121 387622008-08-02 Robert Millan <rmh@aybabtu.com>
38763
38764 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38765
93808428 387662008-08-02 Robert Millan <rmh@aybabtu.com>
38767
38768 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38769 of informational grub_dprintf() calls.
38770
3bd0a12a 387712008-08-02 Robert Millan <rmh@aybabtu.com>
38772
38773 * disk/memdisk.c (memdisk_size): Don't initialize.
38774 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38775
38776 * include/grub/i386/pc/kernel.h
38777 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38778 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38779 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38780 (grub_arch_memdisk_size): Remove.
38781
38782 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38783 field (was only used to transfer a constant). Add `type' field to
38784 support multiple module types.
38785 (grub_module_iterate): New function.
38786
38787 * kern/device.c (grub_device_open): Do not hide error messages
38788 when grub_disk_open() fails. Use grub_print_error() instead.
38789
38790 * kern/i386/pc/init.c (grub_arch_modules_addr)
38791 (grub_arch_memdisk_size): Remove functions.
38792 (grub_arch_modules_addr): Return the module address in high memory
38793 (now that it isn't copied anymore).
38794
38795 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38796 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38797 decompression routine (grub_total_module_size already includes that
38798 now). Don't copy modules back to low memory.
38799
38800 * kern/main.c: Include `<grub/mm.h>'.
38801 (grub_load_modules): Split out (and use) ...
38802 (grub_module_iterate): ... this function, which iterates through
38803 module objects and runs a hook.
38804 Comment out grub_mm_init_region() call, as it would cause non-ELF
38805 modules to be overwritten.
38806
38807 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38808 the memdisk image in its own region, make it part of the module list.
38809 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38810 (main): Parse --memdisk|-m option, and pass user-provided path as
38811 parameter to generate_image().
38812 (add_segments): Pass `memdisk_path' down to load_modules().
38813 (load_modules): Embed memdisk image in module section when requested.
38814 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38815 `header.type' instead of `header.offset'.
38816
38817 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38818 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38819 (memdisk_mod_LDFLAGS): New variables.
38820 * conf/i386-coreboot.rmk: Likewise.
38821 * conf/i386-ieee1275.rmk: Likewise.
38822
a927cc73 388232008-08-02 Robert Millan <rmh@aybabtu.com>
38824
38825 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38826 (backward_relocator): New variables. Used to allocate and relocate
38827 the payload, respectively.
38828 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38829 address, install the appropriate relocator code in each bound of
a927cc73 38830 the payload, and set the entry point such that
38831 grub_multiboot_real_boot() will jump to one of them.
38832
38833 * kern/i386/loader.S (grub_multiboot_payload_size)
38834 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38835 (grub_multiboot_payload_entry_offset): New variables.
38836 (grub_multiboot_real_boot): Set cpu context to what the relocator
38837 expects, and jump to the relocator instead of the payload.
38838
38839 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38840 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38841 (grub_multiboot_payload_entry_offset): Export.
38842
b15d8a0c 388432008-08-01 Bean <bean123ch@gmail.com>
38844
38845 * normal/menu_entry.c (editor_getline): Don't return the original
38846 string as result, as it will be released by lexer once it has done
38847 using it.
38848
cdfb3d22 388492008-08-01 Robert Millan <rmh@aybabtu.com>
38850
38851 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38852 within menuentries, not before them.
38853 util/grub.d/10_hurd.in: Likewise.
38854
9175e93d 388552008-08-01 Bean <bean123ch@gmail.com>
38856
38857 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38858 (bufio_mod_SOURCES): New macro.
38859 (bufio_mod_CFLAGS): Likewise.
38860 (bufio_mod_LDFLAGS): Likewise.
38861
38862 * include/grub/bufio.h: New file.
38863
38864 * io/bufio.c: Likewise.
38865
38866 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38867 (grub_video_reader_png): Use grub_buffile_open to open file.
38868
38869 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38870 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38871
38872 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38873 (grub_video_reader_tga): Use grub_buffile_open to open file.
38874
38875 * font/manager.c: Include <grub/bufio.h>.
38876 (add_font): Use grub_buffile_open to open file.
38877
3d8383e7 388782008-07-31 Robert Millan <rmh@aybabtu.com>
38879
38880 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38881 ELF segments, use a macro for arbitrarily accessing any of them instead
38882 of preparing a pointer that allows access to one at a time.
38883 (grub_multiboot_load_elf64): Likewise.
38884
16e641b6 388852008-07-31 Bean <bean123ch@gmail.com>
38886
38887 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38888 GRUB_KERNEL_MACHINE_DATA_END.
38889
59198b72 388902008-07-30 Robert Millan <rmh@aybabtu.com>
38891
38892 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38893 Increase from 0x50 to 0x60.
38894 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38895 use UUIDs to identify the root drive for them. If that's not
38896 possible, abort.
38897 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38898 check, for cross-disk installs.
38899
ae88bca3 389002008-07-30 Robert Millan <rmh@aybabtu.com>
38901
38902 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38903 is non-empty, use it to set the `prefix' environment variable instead
38904 of the usual approach.
38905 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38906 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38907 environment variable instead of dummy make_install_device().
38908
38909 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38910 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38911 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38912
38913 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38914 New variable reference.
38915 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38916 New macro. Defines offset of `grub_prefix' within startup.S (relative
38917 to `start').
38918 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38919 section within startup.S (relative to `start').
38920 * include/grub/i386/coreboot/kernel.h: Likewise.
38921
38922 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38923 Overwrite grub_prefix with its contents, at the beginning of the
38924 first segment.
38925 (main): Understand -p|--prefix.
38926
14f41dd1 389272008-07-30 Robert Millan <rmh@aybabtu.com>
38928
38929 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38930
4ca049a3 389312008-07-30 Robert Millan <rmh@aybabtu.com>
38932
38933 * term/i386/pc/vga_text.c (grub_console_cls): Use
38934 grub_console_gotoxy() to go back to beginning of the screen.
38935 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38936
2921d337 389372008-07-29 Christian Franke <franke@computer.org>
38938
38939 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38940 Add conversion of emulated mount points on Cygwin.
38941
b609876d 389422008-07-29 Christian Franke <franke@computer.org>
38943
38944 * util/update-grub.in: Add a check for admin
38945 group on Cygwin.
38946 Remove old `grub.cfg.new' before creation.
38947 Add `-f' to `mv' to handle the different filesystem
38948 semantics of Windows.
38949
e93e4679 389502008-07-29 Bean <bean123ch@gmail.com>
38951
38952 * normal/main.c (get_line): Fix buffer overflow bug.
38953
41694fd0 389542008-07-28 Robert Millan <rmh@aybabtu.com>
38955
38956 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38957 (struct grub_apple_header): New struct. Describes the layout of
38958 the partmap header.
38959 (apple_partition_map_iterate): Check the header magic as well as the
38960 partition magic (which was already being checked).
38961
cfd0b4e6 389622008-07-28 Pavel Roskin <proski@gnu.org>
38963
38964 * genmk.rb: Add a warning to the beginning of the output that
38965 it's a generated file and should not be edited.
38966
93cce016 389672008-07-28 Robert Millan <rmh@aybabtu.com>
38968
38969 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38970 with the same number are found, just use issue a warning with
38971 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38972
cd1df915 389732008-07-27 Robert Millan <rmh@aybabtu.com>
38974
38975 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38976 information.
38977
b70a8427 389782008-07-27 Bean <bean123ch@gmail.com>
38979
38980 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38981 (grub_fat_find_dir): Ignore case when comparing filename.
38982
8f5e379f 389832008-07-27 Bean <bean123ch@gmail.com>
38984
38985 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38986 smallino, as it's more descriptive, and i8count can be confused with
38987 the other field count.
38988 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38989 inode type.
38990
a85cd5a0 389912008-07-27 Bean <bean123ch@gmail.com>
38992
38993 * commands/crc.c: New file.
38994
38995 * lib/crc.c: Likewise.
38996
38997 * include/grub/lib/crc.h: Likewise.
38998
38999 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39000
39001 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39002 (hexdump): Move this function to ...
39003
39004 * lib/hexdump.c: ... here.
39005
39006 * include/grub/hexdump.h: Renamed to ...
39007
39008 * include/grub/lib/hexdump.h: ... this.
39009
39010 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39011
39012 * util/grub-editenv.c: Likewise.
39013
39014 * include/envblk.h: Renamed to ...
39015
39016 * include/lib/envblk.h: ... this.
39017
39018 * util/envblk.c: Renamed to ...
39019
39020 * lib/envblk.c: ... this.
39021
39022 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39023 lib/hexdump.c.
39024 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39025 (pkglib_MODULES): Add crc.mod.
39026 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39027 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39028 (crc_mod_SOURCES): New macro.
39029 (crc_mod_CFLAGS): Likewise.
39030 (crc_mod_LDFLAGS): Likewise.
39031
39032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39033
39034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39035
39036 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39037
39038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39039
39040 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39041
c298def0 390422008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39043
39044 * commands/help.c: Include <grub/term.h>.
39045 (TERM_WIDTH): Removed. Updated all users.
39046
cc349fb3 390472008-07-27 Pavel Roskin <proski@gnu.org>
39048
39049 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39050 spurious warnings about a comment within a comment.
39051
9051607e 390522008-07-25 Robert Millan <rmh@aybabtu.com>
39053
39054 * util/getroot.c (find_root_device): Skip devices that match
39055 /dev/dm-[0-9]. This lets the real device be found for any type of
39056 abstraction (LVM, EVMS, RAID..).
39057 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39058 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39059 device is found first, find_root_device() will now skip it.
39060
01453bfc 390612008-07-24 Pavel Roskin <proski@gnu.org>
39062
39063 * include/grub/types.h: Use __builtin_bswap32() and
39064 __builtin_bswap64() with gcc 4.3 and newer.
39065
6af9849f 390662008-07-24 Christian Franke <franke@computer.org>
39067
3a0fa256 39068 * util/i386/pc/grub-install.in: If `--debug' is specified,
39069 pass `--verbose' to grub-setup.
39070 Abort script if make_system_path_relative_to_its_root() fails.
39071
7810e747 390722008-07-24 Bean <bean123ch@gmail.com>
39073
39074 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39075 variable `target_platform' should be `platform'.
39076
42290e17 390772008-07-24 Bean <bean123ch@gmail.com>
39078
51cc5193 39079 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39080 (grub_png_init_fixed_block): New function.
39081 (grub_png_decode_image_data): Handle fixed huffman code compression.
39082
2a8a80e4 390832008-07-24 Bean <bean123ch@gmail.com>
39084
39085 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39086 (grub_pe2elf_SOURCES): New macro.
39087 (CLEANFILES): Add grub-pe2elf.
39088
39089 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39090 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39091 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39092 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39093 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39094 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39095 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39096 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39097 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39098 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39099 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39100 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39101 (GRUB_PE32_DT_FUNCTION): Likewise.
39102 (GRUB_PE32_REL_I386_DIR32): Likewise.
39103 (GRUB_PE32_REL_I386_REL32): Likewise.
39104 (grub_pe32_symbol): New structure.
39105 (grub_pe32_reloc): Likewise.
39106
39107 * util/grub-pe2elf.c: New file.
39108
39109 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39110 start symbol in non pc platform.
39111
39112 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39113
39114 The following patches are from Christian Franke.
39115
39116 * include/grub/dl.h: Remove .previous, gas supports this only
39117 for ELF format.
39118
39119 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39120 Remove .type, gas supports this only for ELF format.
39121
39122 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39123 nullbytes in symbol table. This fixes an infinite loop if table is
39124 zero filled.
39125
39126 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39127 TARGET_IMG_LDFLAGS and EXEEXT.
39128
39129 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39130 TARGET_IMG_LDFLAGS_AC.
39131 (grub_CHECK_STACK_ARG_PROBE): New function.
39132
39133 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39134
39135 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39136
39137 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39138 to set TARGET_IMG_LD* accordingly.
39139 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39140 Add call to grub_CHECK_STACK_ARG_PROBE.
39141 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39142
39143 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39144
39145 * genmk.rb: Add EXEEXT to CLEANFILES.
39146
12ccdb75 391472008-07-23 Robert Millan <rmh@aybabtu.com>
39148
39149 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39150 define the codes for arrows and lines used for the menu).
39151 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39152 as well.
39153
39154 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39155 fonts, because the latter are too slow.
39156
18eeaf04 391572008-07-21 Bean <bean123ch@gmail.com>
39158
39159 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39160 a20. Run keyboard test last, as it will cause macbook to halt.
39161
b095e2ad 391622008-07-18 Pavel Roskin <proski@gnu.org>
39163
39164 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39165 load foreign architecture modules correctly anyway. Keep
39166 support for loading host architecture modules, whether we
39167 compile them or not.
39168
737feb35 391692008-07-17 Pavel Roskin <proski@gnu.org>
39170
3f4ce737 39171 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39172 change target_cpu. The compiler default can mismatch target_cpu
39173 in any case.
39174
4ad2d049 39175 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39176 * kern/efi/efi.c: Likewise.
39177
f6130a12 39178 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39179 target compiler is functional.
39180 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39181 are set up.
39182
58393a2d 39183 * configure.ac: Default to efi platform for x86_64-apple. Allow
39184 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39185 adjustments from the rest, only do them if target is not
39186 explicitly given. Merge other adjustments with the final sanity
39187 check. Remove an extraneous check for supported CPU. Be
39188 specific which CPU and which platform is not supported.
39189
737feb35 39190 * configure.ac: Default to pc platform for x86_64.
39191
546f966a 391922008-07-17 Robert Millan <rmh@aybabtu.com>
39193
39194 Partial LinuxBIOS -> Coreboot rename.
39195
39196 * conf/i386-linuxbios.rmk: Renamed to ...
39197 * conf/i386-coreboot.rmk: ... this.
39198 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39199 * configure.ac: Accept "coreboot" as input platform (but maintain
39200 compatibility with "linuxbios").
39201 * include/grub/i386/linuxbios: Renamed to ...
39202 * include/grub/i386/coreboot: ... this.
39203
20011694 392042008-07-17 Bean <bean123ch@gmail.com>
39205
39206 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39207 (appleldr_mod_SOURCE): New variable.
20011694 39208 (appleldr_mod_CFLAGS): Likewise.
39209 (appleldr_mod_LDFLAGS): Likewise.
39210 (pci_mod_SOURCES): Likewise.
39211 (pci_mod_CFLAGS): Likewise.
39212 (pci_mod_LDFLAGS): Likewise.
39213 (lspci_mod_SOURCES): Likewise.
39214 (lspci_mod_CFLAGS): Likewise.
39215 (lspci_mod_LDFLAGS): Likewise.
39216
39217 * conf/x86_64-efi.rmk: New file.
39218
39219 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39220 macro.
39221 (grub_efidisk_write): Likewise.
39222
39223 * include/efi/api.h (efi_call_0): New macro.
39224 (efi_call_1): Likewise.
39225 (efi_call_2): Likewise.
39226 (efi_call_3): Likewise.
39227 (efi_call_4): Likewise.
39228 (efi_call_5): Likewise.
39229 (efi_call_6): Likewise.
39230
39231 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39232 grub_rescue_cmd_chainloader.
39233
39234 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39235 (grub_pe32_optional_header): Change some fields based on i386 or
39236 x86_64 platform.
39237 (GRUB_PE32_PE32_MAGIC): Likewise.
39238
39239 * include/grub/efi/uga_draw.h: New file.
39240
39241 * include/grub/elf.h (STN_ABS): New constant.
39242 (R_X86_64_NONE): Relocation constant for x86_64.
39243 (R_X86_64_64): Likewise.
39244 (R_X86_64_PC32): Likewise.
39245 (R_X86_64_GOT32): Likewise.
39246 (R_X86_64_PLT32): Likewise.
39247 (R_X86_64_COPY): Likewise.
39248 (R_X86_64_GLOB_DAT): Likewise.
39249 (R_X86_64_JUMP_SLOT): Likewise.
39250 (R_X86_64_RELATIVE): Likewise.
39251 (R_X86_64_GOTPCREL): Likewise.
39252 (R_X86_64_32): Likewise.
39253 (R_X86_64_32S): Likewise.
39254 (R_X86_64_16): Likewise.
39255 (R_X86_64_PC16): Likewise.
39256 (R_X86_64_8): Likewise.
39257 (R_X86_64_PC8): Likewise.
39258
39259 * include/grub/i386/efi/pci.h: New file.
39260
39261 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39262 Change it value based on platform.
39263 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39264 (GRUB_E820_RAM): Likewise.
39265 (GRUB_E820_RESERVED): Likewise.
39266 (GRUB_E820_ACPI): Likewise.
39267 (GRUB_E820_NVS): Likewise.
39268 (GRUB_E820_EXEC_CODE): Likewise.
39269 (GRUB_E820_MAX_ENTRY): Likewise.
39270 (grub_e820_mmap): New structure.
39271 (linux_kernel_header): Change the efi field according to different
39272 kernel version, also field from linux_kernel_header.
39273
39274 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39275
39276 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39277 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39278 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39279 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39280 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39281 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39282 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39283 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39284 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39285 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39286
39287 * include/grub/x86_64/efi/kernel.h: New file.
39288
39289 * include/grub/x86_64/efi/loader.h: Likewise.
39290
39291 * include/grub/x86_64/efi/machine.h: Likewise.
39292
39293 * include/grub/x86_64/efi/pci.h: Likewise.
39294
39295 * include/grub/x86_64/efi/time.h: Likewise.
39296
39297 * include/grub/x86_64/linux.h: Likewise.
39298
39299 * include/grub/x86_64/setjmp.h: Likewise.
39300
39301 * include/grub/x86_64/time.h: Likewise.
39302
39303 * include/grub/x86_64/types.h: Likewise.
39304
39305 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39306 GRUB_TARGET_SIZEOF_VOID_P.
39307
39308 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39309 (grub_efi_locate_handle): Likewise.
39310 (grub_efi_open_protocol): Likewise.
39311 (grub_efi_set_text_mode): Likewise.
39312 (grub_efi_stall): Likewise.
39313 (grub_exit): Likewise.
39314 (grub_reboot): Likewise.
39315 (grub_halt): Likewise.
39316 (grub_efi_exit_boot_services): Likewise.
39317 (grub_get_rtc): Likewise.
39318
39319 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39320 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39321 (grub_efi_allocate_pages): Wrap efi calls.
39322 (grub_efi_free_pages): Wrap efi calls.
39323 (grub_efi_get_memory_map): Wrap efi calls.
39324
39325 * kern/x86_64/dl.c: New file.
39326
39327 * kern/x86_64/efi/callwrap.S: Likewise.
39328
39329 * kern/x86_64/efi/startup.S: Likewise.
39330
39331 * loader/efi/appleloader.c: Likewise.
39332
39333 * loader/efi/chainloader.c (cmdline): New variable.
39334 (grub_chainloader_unload): Wrap efi calls.
39335 (grub_chainloader_boot): Likewise.
39336 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39337 command line.
39338
39339 * loader/efi/chainloader_normal.c (chainloader_command):
39340 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39341 command line.
39342
39343 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39344 method.
39345 (grub_e820_add_region): New function.
39346 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39347 booting.
39348 (grub_find_video_card): New function.
39349 (grub_linux_setup_video): New function.
39350 (grub_rescue_cmd_linux): Probe for video information.
39351
39352 * normal/x86_64/setjmp.S: New file.
39353
39354 * term/efi/console.c (map_char): New function.
39355 (grub_console_putchar): Map unicode char.
39356 (grub_console_checkkey): Wrap efi calls.
39357 (grub_console_getkey): Likewise.
39358 (grub_console_getwh): Likewise.
39359 (grub_console_gotoxy): Likewise.
39360 (grub_console_cls): Likewise.
39361 (grub_console_setcolorstate): Likewise.
39362 (grub_console_setcursor): Likewise.
39363
39364 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39365
59652a20 393662008-07-16 Pavel Roskin <proski@gnu.org>
39367
ef294055 39368 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39369 format strings.
39370
59652a20 39371 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39372 pointer, not an integer. This fixes a warning and prevents
39373 precision loss on 64-bit systems.
39374 (relocate_addresses): Remove unneeded cast.
39375
afc3b5d7 393762008-07-15 Pavel Roskin <proski@gnu.org>
39377
506b2b3e 39378 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39379
62ead89c 39380 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39381
c4cd51d7 39382 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39383 Fix comparison between signed and unsigned.
39384
0d3d8f28 39385 * include/grub/i386/ieee1275/console.h: Declare
39386 grub_console_init() and grub_console_fini().
39387
8804b286 39388 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39389 It's empty and unused.
39390
ee01cf35 39391 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39392 beginning to avoid warnings with some compilers.
39393
afc3b5d7 39394 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39395 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39396
e4e8eaa5 393972008-07-14 Pavel Roskin <proski@gnu.org>
39398
407aceb4 39399 * kern/env.c (grub_register_variable_hook): Don't copy empty
39400 string, it leaks memory. Pass "" to grub_env_set(), it should
39401 handle constant strings.
39402
e4e8eaa5 39403 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39404 * commands/cmp.c (grub_cmd_cmp): Likewise.
39405 * kern/dl.c (grub_dl_flush_cache): Likewise.
39406 (grub_dl_load_core): Likewise.
39407 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39408 (grub_elf64_load_phdrs): Likewise.
39409
d4e2dad3 394102008-07-13 Pavel Roskin <proski@gnu.org>
39411
39412 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39413 between signed and unsigned.
39414 (LzmaEnc_Finish): Fix warning about an unused parameter.
39415
aa24b516 394162008-07-13 Bean <bean123ch@gmail.com>
39417
39418 * Makefile.in (enable_lzo): New rule.
39419
39420 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39421
39422 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39423
39424 * boot/i386/pc/lnxboot.S: #include <config.h>.
39425
39426 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39427 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39428
39429 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39430 compression algorithm according to configure macro.
39431
39432 * kern/i386/pc/startup.S (codestart): Likewise.
39433
39434 * kern/i386/pc/lzma_decode.S: New file.
39435
39436 * include/grub/lib/LzFind.h: Likewise.
39437
39438 * include/grub/lib/LzHash.h: Likewise.
39439
39440 * include/grub/lib/LzmaDec.h: Likewise.
39441
39442 * include/grub/lib/LzmaEnc.h: Likewise.
39443
39444 * include/grub/lib/LzmaTypes.h: Likewise.
39445
39446 * lib/LzFind.c: Likewise.
39447
39448 * lib/LzmaDec.c: Likewise.
39449
39450 * lib/LzmaEnc.c: Likewise.
39451
4ae821ac 394522008-07-13 Bean <bean123ch@gmail.com>
39453
39454 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39455 (grub_ext4_extent_header): New structure.
39456 (grub_ext4_extent): Likewise.
39457 (grub_ext4_extent_idx): Likewise.
39458 (grub_ext4_find_leaf): New function.
39459 (grub_ext2_read_block): Handle extents.
39460
9a745147 394612008-07-12 Robert Millan <rmh@aybabtu.com>
39462
39463 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39464
d49a4cf6 394652008-07-11 Robert Millan <rmh@aybabtu.com>
39466
39467 * util/grub.d/40_custom.in: New file. Example on how to add custom
39468 entries to /etc/grub.d.
39469 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39470 40_custom (implicitly, by merging all the grub.d rules).
39471
947414b4 394722008-07-11 Pavel Roskin <proski@gnu.org>
39473
0059cf6f 39474 * commands/read.c (grub_getline): Fix invalid memory access.
39475 Don't add newline to the variable value.
39476
947414b4 39477 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39478 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39479 (serial_hw_get_port): Check validity of the port number.
39480 (grub_cmd_serial): Check return value of serial_hw_get_port().
39481
62a02d00 394822008-07-07 Pavel Roskin <proski@gnu.org>
39483
39484 * boot/i386/pc/diskboot.S (notification_string): Replace
39485 "Loading kernel" with just "loading". This is shorter, less
39486 confusing and saves a few bytes for possible future changes.
39487
3e5581b0 394882008-07-05 Pavel Roskin <proski@gnu.org>
39489
ea387a48 39490 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39491 size for ATAPI devices, they are undefined. Output sector
39492 number in decimal form.
39493
3e5581b0 39494 * disk/ata.c: Use named constants for status bits.
39495
fdecb8fd 394962008-07-04 Pavel Roskin <proski@gnu.org>
39497
bcd35b90 39498 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39499 grub_addr_t before casting it to the void pointer to fix a
39500 warning. Non-addressable regions are discarded earlier.
39501 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39502 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39503 (check_signature): Don't shadow table_header.
39504 (grub_linuxbios_table_iterate): Cast numeric constants to
39505 grub_linuxbios_table_header_t.
39506 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39507 grub_stop().
39508
af58ab3d 39509 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39510 prevent warnings.
39511
1759aa57 39512 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39513 pointer, which can cause warnings. Support 64-bit addresses.
39514
fdecb8fd 39515 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39516 of sizeof(long). This fixes PowerPC image generation on x86_64.
39517
8516d2a8 395182008-07-04 Robert Millan <rmh@aybabtu.com>
39519
39520 This fixes a performance issue when pc & gpt partmap iterators
39521 didn't abort iteration even after our hook found what it was
fe987087 39522 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39523
39524 Some callers relied on previous buggy behaviour, since they would
34c44600 39525 raise an error when their own hooks caused early abortion of its
8516d2a8 39526 iteration.
39527
39528 * kern/device.c (grub_device_open): Improve error message.
39529 * disk/lvm.c (grub_lvm_open): Likewise.
39530 * disk/raid.c (grub_raid_open): Likewise.
39531
39532 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39533 when hook requests it, independently of grub_errno.
39534 (pc_partition_map_probe): Do not fail when find_func() caused
39535 early abortion of pc_partition_map_iterate().
39536
39537 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39538 when hook requests it, independently of grub_errno.
39539 (gpt_partition_map_probe): Do not fail when find_func() caused
39540 early abortion of gpt_partition_map_iterate().
39541
39542 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39543 when hook requests it, independently of grub_errno. Do not fail when
39544 part_map_iterate_hook() caused early abortion of p->iterate().
39545
39546 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39547 when grub_partition_iterate() returned with non-zero.
39548
277d0de9 395492008-07-03 Pavel Roskin <proski@gnu.org>
39550
39551 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39552 like we do in grub_ata_pio_read().
39553 (grub_ata_readwrite): Always write individual sectors. Fix the
39554 sector count for the remainder.
39555 (grub_ata_write): Enable writing to ATA devices. Correctly
39556 report error for ATAPI devices.
39557
d4c9b428 395582008-07-02 Pavel Roskin <proski@gnu.org>
39559
e43fc690 39560 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39561 warning.
39562
f707af42 39563 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39564 for every read sector, we already increment it for the whole
39565 batch. This fixes reading more than 256 sectors at once.
39566
11e16b15 39567 * util/grub-editenv.c (cmd_info): Cast argument to long
39568 explicitly. ptrdiff_t reduces to int on i386.
39569
cbabfdd4 39570 * util/grub-editenv.c (main): Be specific which parameter is
39571 missing.
39572
b8fbce0a 39573 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39574 (memdisk): Make memdisk_orig_addr a pointer.
39575
c9c8e606 39576 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39577 for file offsets, use grub_off_t instead. Fix printf format
39578 warnings.
39579
ca62e598 39580 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39581 there. Real unexpected warnings should not drown in the noise
39582 about known problems.
39583
ce8d1766 39584 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39585 grub_disk_addr_t for memory addresses.
39586
00c7a56a 39587 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39588 explicitly to fix a warning.
39589
08d3ef09 39590 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39591
cb71ba20 39592 * Makefile.in (MODULE_LDFLAGS): New variable.
39593 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39594 the linker accepts --build-id=none.
39595 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39596 MODULE_LDFLAGS.
39597 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39598
d4c9b428 39599 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39600 those in Linux XFS code. Provide a way to access 64-bit parent
39601 inode.
39602 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39603 the end of struct grub_xfs_dir_header.
39604
d4156eee 396052008-07-02 Bean <bean123ch@gmail.com>
39606
39607 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39608 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39609 and GRUB_IEEE1275_FLAG_NO_ANSI.
39610
39611 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39612 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39613 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39614
39615 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39616 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39617
39618 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39619 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39620
39621 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39622 esc sequence on non ANSI terminal.
39623 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39624
39625 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39626 beginning of file.
39627
2270f77b 396282008-07-02 Bean <bean123ch@gmail.com>
39629
39630 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39631 (grub_editenv_SOURCES): New variable.
39632 (pkglib_MODULES): Add loadenv.mod.
39633 (loadenv_mod_SOURCES): New variable.
39634 (loadenv_mod_CFLAGS): Likewise.
39635 (loadenv_mod_LDFLAGS): Likewise.
39636
39637 * include/grub/envblk.h: New file.
39638
39639 * util/envblk.c: New file.
39640
39641 * util/grub-editenv.c: New file.
39642
39643 * commands/loadenv.c: New file.
39644
0e9e51ec 396452008-07-01 Pavel Roskin <proski@gnu.org>
39646
d89b7634 39647 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39648 not unsigned char. This fixes warnings and is consistent with
39649 other tags.
39650
bf1835b1 39651 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39652
8222a04b 39653 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39654
6a42d99d 39655 * term/tparm.c (analyze): Always set *popcount.
39656
10b159d1 39657 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39658 cast to fix a warning.
39659
b8789f6c 39660 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39661 cast to suppress a warning.
39662
29d7e38a 39663 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39664 grub_fshelp_read_file() expects.
39665
f341f669 39666 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39667 write uuid as a 32-bit value in CPU byte order, so declare and
39668 use it as such.
39669
0e9e51ec 39670 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39671 long if the format specifier expects it.
39672 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39673 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39674 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39675 long to fix a warning.
39676 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39677 grub_dprintf() arguments to fix warnings.
39678
3aefa857 396792008-06-30 Pavel Roskin <proski@gnu.org>
39680
56c7668b 39681 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39682 install_bsd_part immediately before core.img is embedded or
39683 modified on disk. This fixes core.img verification if core.img
39684 cannot be embedded.
39685
3aefa857 39686 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39687 core_path to calculate the blocklist.
39688 Patch from Javier Martín <lordhabbit@gmail.com>
39689
5444088d 396902008-06-29 Robert Millan <rmh@aybabtu.com>
39691
39692 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39693 block to disk block.
39694 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39695 Patch from Niels Böhm <bitbucket@arcor.de>
39696
674835c8 396972008-06-29 Robert Millan <rmh@aybabtu.com>
39698
39699 * util/update-grub_lib.in (font_path): Search for fonts in
39700 /boot/grub first, which is more likely to be readable (we aren't
39701 deciding where fonts live, just looking for them).
39702
f527dbc8 397032008-06-26 Pavel Roskin <proski@gnu.org>
39704
6c2d8df6 39705 * util/biosdisk.c (read_device_map): Don't leave dead map
39706 entries for devices failing stat() check.
39707
f527dbc8 39708 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39709 core_path_dev for the core.img path on the target device.
39710
aebe3d13 397112008-06-26 Robert Millan <rmh@aybabtu.com>
39712
39713 * disk/fs_uuid.c: New file.
39714 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39715 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39716 (fs_uuid_mod_LDFLAGS): New variables.
39717 * include/grub/disk.h (grub_disk_dev_id): Add
39718 `GRUB_DISK_DEVICE_UUID_ID'.
39719 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39720 implement iterate().
39721
37aaf354 397222008-06-26 Robert Millan <rmh@aybabtu.com>
39723
39724 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39725 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39726 Linux image includes no initrd.
39727
25ff262a 397282008-06-21 Javier Martín <lordhabbit@gmail.com>
39729
39730 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39731 call to resolve the core image location that effectively appended the
39732 name twice.
39733
76a2bd44 397342008-06-21 Robert Millan <rmh@aybabtu.com>
39735
39736 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39737 call from here ...
39738
39739 * util/grub.d/10_hurd.in: ... to here ...
39740 * util/grub.d/10_linux.in: ... and here.
39741
650e1c79 397422008-06-19 Robert Millan <rmh@aybabtu.com>
39743
fe987087 39744 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39745 after it has been set by grub_machine_set_prefix().
39746
6ce63911 397472008-06-19 Robert Millan <rmh@aybabtu.com>
39748
39749 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39750 search result when not saving to variable, not the other way around.
39751 When saving to variable, abort iteration as soon as a match is found.
39752
73940cec 397532008-06-19 Robert Millan <rmh@aybabtu.com>
39754
39755 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39756 check for partition that provides /boot/grub. Its logic is flawed,
39757 as it prevents prepare_grub_to_access_device() from being called
39758 multiple times.
39759
3c62a39d 397602008-06-19 Robert Millan <rmh@aybabtu.com>
39761
39762 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39763 "insmod" command directly when abstraction modules are needed,
fe987087 39764 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39765 since it had already been processed).
39766
47395a42 397672008-06-19 Pavel Roskin <proski@gnu.org>
39768
39769 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39770 changed. This is needed in case GRUB_LIBDIR changes.
39771 * conf/i386-ieee1275.rmk: Likewise.
39772 * conf/i386-linuxbios.rmk: Likewise.
39773 * conf/i386-pc.rmk: Likewise.
39774 * conf/powerpc-ieee1275.rmk: Likewise.
39775
a145ac2d 397762008-06-18 Pavel Roskin <proski@gnu.org>
39777
39778 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39779 kernel_elf_symlist.c to symlist.c for consistency with other
39780 architectures. Update all users.
39781 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39782
7847c51e 397832008-06-18 Robert Millan <rmh@aybabtu.com>
39784
39785 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39786 it in prefix.
39787
39788 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39789 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39790 a RAID device, run setup() for all members independently on whether
39791 LVM abstraction is being used.
39792 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39793 If grub-mkimage has set `*install_dos_part == -2', don't override this
39794 value.
39795 Perform *install_dos_part adjustments independently on whether
39796 we're embedding or not.
39797 Clarify error message when image is too big for embedding.
39798 Remove duplicate *install_dos_part stanza.
39799
b23e5644 398002008-06-17 Robert Millan <rmh@aybabtu.com>
39801
39802 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39803 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39804 variables.
39805 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39806 values in grub_ofconsole_normal_color and
39807 grub_ofconsole_highlight_color (they're not directly related to
39808 background and foreground).
39809 (grub_ofconsole_setcolorstate): Extract background and foreground
39810 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39811
0aac2f79 398122008-06-17 Robert Millan <rmh@aybabtu.com>
39813
39814 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39815 /boot/grub for the check in last commit, not /boot (they could be
39816 different partitions).
39817
3cca7ef3 398182008-06-16 Robert Millan <rmh@aybabtu.com>
39819
39820 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39821 asked to setup access for the same partition that provides /boot,
39822 don't bother using UUIDs since our root already has the value we
39823 want.
39824
347396d8 398252008-06-16 Robert Millan <rmh@aybabtu.com>
39826
39827 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39828 I2O devices.
39829 Patch from Sven Mueller <sven@debian.org>.
39830
991477f8 398312008-06-16 Robert Millan <rmh@aybabtu.com>
39832
39833 * util/update-grub.in: Check for $EUID instead of $UID.
39834 Reported by Vincent Zweije.
39835
d31a32a1 398362008-06-16 Bean <bean123ch@gmail.com>
39837
fe987087 39838 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39839 (grub_ext2_read_block): Likewise.
39840 (grub_ext2_read_inode): Likewise.
39841 (grub_ext2_mount): Likewise.
39842 (grub_ext2_close): Likewise.
39843 (grub_ext3_get_journal): Removed.
39844
fe987087 39845 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39846 (grub_reiserfs_read_symlink): Likewise.
39847 (grub_reiserfs_mount): Likewise.
39848 (grub_reiserfs_open): Likewise.
39849 (grub_reiserfs_read): Likewise.
39850 (grub_reiserfs_close): Likewise.
39851 (grub_reiserfs_get_journal): Removed.
39852
39853 * fs/fshelp.c (grub_fshelp_read): Removed.
39854 (grub_fshelp_map_block): Likewise.
39855
39856 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39857 (grub_fshelp_journal): Likewise.
39858 (grub_fshelp_read): Likewise.
39859 (grub_fshelp_map_block): Likewise.
39860
3540a760 398612008-06-16 Pavel Roskin <proski@gnu.org>
39862
39863 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39864 floating point anymore.
39865 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39866
95614c84 398672008-06-15 Pavel Roskin <proski@gnu.org>
39868
39869 * commands/ls.c (grub_ls_list_files): Use integer calculations
39870 for human readable format, avoid floating point use.
39871 * kern/misc.c (grub_ftoa): Remove.
39872 (grub_vsprintf): Remove floating point support.
39873
50465dd6 398742008-06-15 Robert Millan <rmh@aybabtu.com>
39875
fe6b695a 39876 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39877 devices.
39878 Reported by Max Vozeler.
39879
a9207284 398802008-06-15 Robert Millan <rmh@aybabtu.com>
39881
39882 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39883 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39884 skipped later.
39885 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39886 the beginning of the prefix.
39887
39888 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39889 It is assumed that if we have a memdisk, grub-mkimage has set
39890 grub_prefix to include the "(memdisk)" drive in it.
39891
a7cbd45a 398922008-06-15 Robert Millan <rmh@aybabtu.com>
39893
39894 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39895 Initialize keyboard controller after registering the terminal, so that
39896 grub_printf() can be called from grub_keyboard_controller_init().
39897
21cf716a 398982008-06-15 Robert Millan <rmh@aybabtu.com>
39899
39900 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39901 extent-btree which is written as big endian on disk.
39902 Reported by Alain Greppin <al@chilibi.org>.
39903
23a64d8e 399042008-06-14 Robert Millan <rmh@aybabtu.com>
39905
39906 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39907 * util/i386/pc/grub-install.in (modules): Likewise.
39908
d687651c 399092008-06-13 Pavel Roskin <proski@gnu.org>
39910
39911 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39912
dfe9ddd4 399132008-06-13 Bean <bean123ch@gmail.com>
39914
39915 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39916
39917 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39918
39919 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39920 to indicate sparse block.
39921
16ae7781 399222008-06-12 Pavel Roskin <proski@gnu.org>
39923
e6d1a308 39924 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39925 number, grub_fshelp_read() does it for us.
39926
16ae7781 39927 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39928 linear disk read with journal translation.
39929 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39930 * include/grub/fshelp.h: Declare grub_fshelp_read().
39931
40fd3a2b 399322008-06-09 Pavel Roskin <proski@gnu.org>
39933
39934 * fs/minix.c (grub_minix_mount): Handle error reading
39935 superblock.
39936
f5679726 399372008-06-08 Robert Millan <rmh@aybabtu.com>
39938
39939 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39940 don't append the RAID prefix afterwards.
39941 Reported by Clint Adams.
39942
ce525529 399432008-06-08 Robert Millan <rmh@aybabtu.com>
39944
39945 Based on description from Pavel:
39946 * kern/disk.c (grub_disk_check_range): Rename to ...
39947 (grub_disk_adjust_range): ... this. Add a comment explaining the
39948 tasks performed by this function.
39949
ad4936a0 399502008-06-08 Robert Millan <rmh@aybabtu.com>
39951
39952 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39953 `num_serial' (for consistency with other variables).
39954 (struct grub_ntfs_data): Add `uuid' member.
39955 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39956 (grub_ntfs_uuid): New function.
39957 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39958
dc20b0f9 399592008-06-07 Pavel Roskin <proski@gnu.org>
39960
39961 * util/biosdisk.c (open_device): Revert last change to the
39962 function, it broke installation. The sector needs to be
39963 different dependent on which device is opened.
39964
c5e3cfba 399652008-06-06 Robert Millan <rmh@aybabtu.com>
39966
39967 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39968 rest of GRUB, and breakage doesn't happen if its value were modified.
39969
39970 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39971 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39972 a constant (same value).
39973 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39974 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39975
26a1f8c4 399762008-06-06 Robert Millan <rmh@aybabtu.com>
39977
39978 * util/biosdisk.c (open_device): Do not modify sector offset when
39979 accessing a partition. kern/disk.c already handles this for us.
39980
25d6b327 399812008-06-06 Robert Millan <rmh@aybabtu.com>
39982
39983 * util/grub-emu.c (grub_machine_init): Move code in this function from
39984 here ...
39985 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39986 segfault in case grub_printf() is called).
39987
39988 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39989 grub_probe. Update all users not to explicitly add it again.
39990 (grub_device): New variable; contains corresponding device for grubdir.
39991 (fs_module, partmap_module, devabstraction_module): Pass
39992 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39993 every time.
39994
9ece62fb 399952008-06-05 Robert Millan <rmh@aybabtu.com>
39996
39997 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39998 is found, print it (same layout as with labels).
39999
1ad36d37 400002008-06-04 Robert Millan <rmh@aybabtu.com>
40001
40002 * util/biosdisk.c (get_drive): Rename to ...
40003 (find_grub_drive): ... this. Update all users.
40004
40005 (get_os_disk): Rename to ...
40006 (convert_system_partition_to_system_disk): ... this. Update all users.
40007
40008 (find_drive): Rename to ...
40009 (find_system_device): ... this. Update all users.
40010
e6a30859 400112008-06-04 Robert Millan <rmh@aybabtu.com>
40012
40013 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40014 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40015 (make_device_map): Likewise.
40016
00c108a4 400172008-06-01 Robert Millan <rmh@aybabtu.com>
40018
40019 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40020 before dereferencing it.
40021
40022 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40023 union with fat12/fat16-specific ones. Add some new fields, including
40024 `num_serial' for both versions.
40025 (struct grub_fat_data): Add `uuid' member.
40026 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40027 names. Initialize `data->uuid' using `num_serial'.
40028 (grub_fat_uuid): New function.
40029 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40030
40031 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40032 (grub_reiserfs_uuid): New function.
40033 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40034 member.
40035
40036 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40037 (grub_xfs_uuid): New function.
40038 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40039
1385c5bb 400402008-06-01 Robert Millan <rmh@aybabtu.com>
40041
40042 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40043 code that is backward compatible with pre-uuid search command.
40044
c682dfd7 400452008-05-31 Robert Millan <rmh@aybabtu.com>
40046
40047 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40048 floppies after everything else, to ensure floppy drive isn't accessed
40049 unnecessarily (patch from Bean).
40050
b7db5d47 400512008-05-31 Robert Millan <rmh@aybabtu.com>
40052
40053 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40054 not print device names when we were asked to set a variable.
40055
6e037aa9 400562008-05-31 Robert Millan <rmh@aybabtu.com>
40057
40058 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40059 using "cursor-on" and "cursor-off" commands (understood at least by
40060 the Open Firmware flavour on OLPC).
40061
41305bc8 400622008-05-31 Michael Gorven <michael@gorven.za.net>
40063
40064 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40065 on and off sequences.
40066
69ba137e 400672008-05-31 Robert Millan <rmh@aybabtu.com>
40068
40069 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40070 * util/update-grub.in: Likewise.
40071
520ae21b 400722008-05-30 Pavel Roskin <proski@gnu.org>
40073
40074 * util/biosdisk.c (linux_find_partition): Simplify logic and
40075 make the code more universal. Keep special processing for
40076 devfs, but use a simple rule for all other devices. If the
40077 device ends with a number, append 'p' and the partition number.
40078 Otherwise, append only the partition number.
40079
5786569b 400802008-05-30 Robert Millan <rmh@aybabtu.com>
40081
40082 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40083 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40084 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40085 the `root' parameter to Linux.
40086
51500452 400872008-05-30 Robert Millan <rmh@aybabtu.com>
40088
40089 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40090 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40091 --fs_uuid with --fs-uuid.
40092 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40093 all filesystems support them).
40094
811d3878 400952008-05-30 Robert Millan <rmh@aybabtu.com>
40096
40097 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40098 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40099
cab63c95 401002008-05-30 Robert Millan <rmh@aybabtu.com>
40101
40102 * util/grub.d/00_header.in: Remove obsolete comment referencing
40103 convert_system_path_to_grub_path().
40104 * util/update-grub.in: Likewise.
40105 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40106 (convert_system_path_to_grub_path): Add a warning message explaining
40107 that this function is deprecated. Rely on is_path_readable_by_grub()
40108 for the readability checks.
40109 (font_path): Use is_path_readable_by_grub() for the readability
40110 check rather than convert_system_path_to_grub_path().
40111
972e2f7a 401122008-05-30 Robert Millan <rmh@aybabtu.com>
40113
40114 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40115 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40116 converting it first.
40117 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40118 grub.cfg for access to font file, and afterwards call it again to set
40119 the root device.
40120
62191274 401212008-05-30 Robert Millan <rmh@aybabtu.com>
40122
40123 * commands/search.c (options): Add --fs_uuid option.
40124 (search_fs_uuid): New function.
40125 (grub_cmd_search): Fix --set argument passing.
40126 Use search_fs_uuid() when requested via --fs_uuid.
40127 (grub_search_init): Update help message.
40128 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40129 and redeclare it as an array of 16-bit words.
40130 (grub_ext2_uuid): New function.
40131 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40132 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40133 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40134 (GRUB_DEVICE_BOOT_UUID): New variables.
40135 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40136 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40137 whenever possible.
40138 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40139 just assume `root' variable has the right value.
40140 * util/grub.d/10_linux.in: Likewise.
40141 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40142 via PRINT_FS_UUID.
40143 (main): Recognise `-t fs_uuid' argument.
40144
01b73ec8 401452008-05-30 Robert Millan <rmh@aybabtu.com>
40146
40147 * util/biosdisk.c (map): Redefine structure to hold information
40148 about GRUB drive name.
fe6b695a 40149 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40150 drive names.
40151 (call_hook): Remove.
40152 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40153 member. Assume drive has partitions.
40154 (grub_util_biosdisk_open): Access device names via `.device' struct
40155 member.
40156 (open_device): Likewise.
40157 (find_drive): Likewise.
40158 (read_device_map): Adjust map[] usage to match the new struct
40159 definition. Don't check for duplicates (still possible, but not cheap
40160 anymore).
40161 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40162 (make_device_name): Remove assumption of BIOS-like drive names.
40163
22f16596 401642008-05-30 Pavel Roskin <proski@gnu.org>
40165
40166 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40167 compiling execute.c doesn't need grub_script.tab.h anymore.
40168 (normal/command.c_DEPENDENCIES): Likewise.
40169 (normal/function.c_DEPENDENCIES): Likewise.
40170 * conf/i386-ieee1275.rmk: Likewise.
40171 * conf/i386-linuxbios.rmk: Likewise.
40172 * conf/i386-pc.rmk: Likewise.
40173 * conf/powerpc-ieee1275.rmk: Likewise.
40174 * conf/sparc64-ieee1275.rmk: Likewise.
40175
528ad8f2 401762008-05-29 Pavel Roskin <proski@gnu.org>
40177
d1dff95d 40178 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40179 when scanning metadata for volume group name.
40180
528ad8f2 40181 * include/grub/script.h: Don't include grub_script.tab.h. It's
40182 a generated file, which may only be included from the files with
40183 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40184 use union YYSTYPE, as the later allows forward declaration.
40185 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40186
47248e08 401872008-05-29 Robert Millan <rmh@aybabtu.com>
40188
40189 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40190 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40191 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40192 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40193 scan codes.
40194
ee632529 401952008-05-29 Robert Millan <rmh@aybabtu.com>
40196
40197 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40198 control key combinations.
40199
eee96e08 402002008-05-29 Robert Millan <rmh@aybabtu.com>
40201
40202 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40203 * util/ieee1275/grub-install.in: ... to here.
40204 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40205 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40206 (grub_install_SOURCES): Likewise.
40207
da9a6a94 402082008-05-29 Robert Millan <rmh@aybabtu.com>
40209
40210 * fs/affs.c: Update copyright year.
40211 * fs/ext2.c: Likewise.
40212 * fs/fshelp.c: Likewise.
40213 * fs/hfsplus.c: Likewise.
40214 * fs/ntfs.c: Likewise.
40215 * fs/xfs.c: Likewise.
40216 * include/grub/fshelp.h: Likewise.
40217 * util/grub-mkdevicemap.c: Likewise.
40218
12e65f3a 402192008-05-28 Robert Millan <rmh@aybabtu.com>
40220
40221 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40222 might need to be fatfs to support some firmware implementations
40223 (e.g. OFW or EFI).
40224
23023641 402252008-05-28 Robert Millan <rmh@aybabtu.com>
40226
40227 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40228 devices.
40229 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40230 (make_device_map): Likewise.
40231
887d2619 402322008-05-20 Bean <bean123ch@gmail.com>
40233
40234 * fs/fshelp.c (grub_fshelp_map_block): New function.
40235 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40236 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40237
40238 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40239 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40240 (grub_fshelp_journal): New structure.
40241 (grub_fshelp_map_block): New function prototype.
40242 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40243 (grub_fshelp_map_block): Likewise.
40244
40245 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40246 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40247 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40248 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40249 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40250 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40251 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40252 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40253 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40254 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40255 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40256 (grub_ext2_sblock): New members for journal support.
40257 (grub_ext3_journal_header): New structure.
40258 (grub_ext3_journal_revoke_header): Likewise.
40259 (grub_ext3_journal_block_tag): Likewise.
40260 (grub_ext3_journal_sblock): Likewise.
40261 (grub_fshelp_node): New members logfile and journal.
40262 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40263 grub_fshelp_map_block to get real block number.
40264 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40265 number.
40266 (grub_ext2_read_inode): Likewise.
40267 (grub_ext3_get_journal): New function.
40268 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40269 (grub_ext2_close): Release memory used by journal.
40270
40271 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40272 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40273 (grub_reiserfs_transaction_header): Renamed to
40274 grub_reiserfs_description_block, replace field data with real_blocks.
40275 (grub_reiserfs_commit_block): New structure.
40276 (grub_reiserfs_data): New member journal.
40277 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40278 number.
40279 (grub_reiserfs_read_symlink): Likewise.
40280 (grub_reiserfs_iterate_dir): Likewise.
40281 (grub_reiserfs_open): Likewise.
40282 (grub_reiserfs_read): Likewise.
40283 (grub_reiserfs_get_journal): New function.
40284 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40285 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40286 using grub_reiserfs_get_journal.
40287 (grub_reiserfs_close): Release memory used by journal.
40288
40289 * fs/affs.c (grub_affs_read_block): Change block type to
40290 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40291
40292 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40293
40294 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40295
40296 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40297
40298 * fs/udf.c (grub_udf_read_block): Change block type to
40299 grub_disk_addr_t. Use type cast to avoid warning.
40300
40301 * fs/xfs.c (grub_xfs_read_block): Likewise.
40302
b7c6bed5 403032008-05-16 Christian Franke <franke@computer.org>
40304
40305 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40306 to ensure that break with ESC will always work.
40307 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40308 Remove ESC from keyboard queue.
40309
eedf167f 403102008-05-16 Christian Franke <franke@computer.org>
40311
40312 * util/biosdisk.c: [__CYGWIN__] Add includes.
40313 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40314 (get_os_disk): Move variable declarations to OS specific
40315 parts to avoid warning.
40316 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40317 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40318 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40319 Cygwin.
40320 * util/getroot.c: [__CYGWIN__] Add includes.
40321 (strip_extra_slashes): Fix "/" case.
40322 [__CYGWIN__] (get_win32_path): New function.
40323 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40324 [__CYGWIN__] (find_root_device): Disable.
40325 [__CYGWIN__] (get_bootsec_serial): New function.
40326 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40327 [__linux__] (grub_guess_root_device): Add early returns to simplify
40328 structure.
40329 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40330 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40331 check for Linux only.
40332
a079699e 403332008-05-15 Bean <bean123ch@gmail.com>
40334
40335 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40336 keyboard hang problem in apple's intel mac.
40337
1cf4059a 403382008-05-09 Robert Millan <rmh@aybabtu.com>
40339
40340 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40341 devices.
40342 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40343 (make_device_map): Likewise.
40344 Reported by Aurelien Jarno <aurel32@debian.org>
40345
ed759390 403462008-05-07 Ian Campbell <ijc@hellion.org.uk>
40347
40348 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40349 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40350 (make_device_map): Output entries for xvd type disks.
40351
b56c4eaa 403522008-05-07 Robert Millan <rmh@aybabtu.com>
40353
40354 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40355 devices.
40356 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40357 (make_device_map): Likewise.
40358 Reported by Roland Dreier <rdreier@cisco.com>
40359
7f8866ed 403602008-05-07 Robert Millan <rmh@aybabtu.com>
40361
40362 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40363 grub_strstr() call. Correct a few mistakes in failure path handling.
40364
b0346e0f 403652008-05-06 Robert Millan <rmh@aybabtu.com>
40366
40367 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40368 Do not print a trailing slash (therefore, the root directory is an
40369 empty string).
40370 (convert_system_path_to_grub_path): Do not remove trailing slash
40371 from make_system_path_relative_to_its_root() output.
40372
40373 * util/i386/pc/grub-install.in: Add trailing slash to output from
40374 make_system_path_relative_to_its_root().
40375
6cf12cbd 403762008-05-06 Robert Millan <rmh@aybabtu.com>
40377
40378 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40379 ensures that output lines aren't intermangled with those sent to
40380 stderr (via grub_util_info()).
40381 * util/grub-probe.c (grub_refresh): Likewise.
40382 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40383
0fbb3117 403842008-05-05 Christian Franke <franke@computer.org>
40385
40386 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40387 Add Cygwin device names.
40388 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40389 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40390 (check_device): Return error instead of success on empty name.
40391 (make_device_map): Move label inside linux specific code to
40392 prevent compiler warning.
40393
8124cdb7 403942008-04-30 Robert Millan <rmh@aybabtu.com>
40395
40396 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40397 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40398 first boot option.
40399 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40400
094c01d0 404012008-04-29 Robert Millan <rmh@aybabtu.com>
40402
40403 * docs/grub.cfg: New file (example GRUB configuration).
40404
f4b1fc02 404052008-04-26 Robert Millan <rmh@aybabtu.com>
40406
329ce2a5 40407 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40408 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40409 and `disk/ieee1275/nand.c'.
f4b1fc02 40410
25f16ec1 404112008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40412
25f16ec1 40413 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40414 i386-linuxbios.
40415
40416 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40417 change the buffer size to 4096 for cdrom device.
40418
40419 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40420 and nand.mod.
40421 (_linux_mod_SOURCES): New variable.
40422 (_linux_mod_CFLAGS): Likewise.
40423 (_linux_mod_LDFLAGS): Likewise.
40424 (linux_mod_SOURCES): Likewise.
40425 (linux_mod_CFLAGS): Likewise.
40426 (linux_mod_LDFLAGS): Likewise.
40427 (nand_mod_SOURCES): Likewise.
40428 (nand_mod_CFLAGS): Likewise.
40429 (nand_mod_LDFLAGS): Likewise.
40430
40431 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40432 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40433 type property. (nand device in olpc don't have this property)
40434
40435 * include/grub/disk.h (grub_disk_dev_id): New macro
40436 GRUB_DISK_DEVICE_NAND_ID.
40437
40438 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40439 function prototype.
40440 (grub_rescue_cmd_initrd): Likewise.
40441
40442 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40443 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40444 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40445
25f16ec1 40446 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40447 GRUB_MACHINE_IEEE1275 is defined.
40448
40449 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40450 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40451
40452 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40453 on nested function heap_init.
40454 (grub_upper_mem): New variable for i386-ieee1275.
40455 (grub_get_extended_memory): New function for i386-ieee1275.
40456 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40457
40458 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40459 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40460 property.
f19dbdb7 40461
25f16ec1 40462 * loader/i386/ieee1275/linux.c: New file.
40463
40464 * loader/i386/ieee1275/linux_normal.c: New file.
40465
40466 * disk/ieee1275/nand.c: New file.
40467
e89d61e9 404682008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40469
40470 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40471 value.
40472 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40473
602566f6 404742008-04-18 Robert Millan <rmh@aybabtu.com>
40475
40476 Restructures early code path on ieee1275 to unify grub_main() as
40477 the first C function that is executed in every platform.
40478
40479 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40480 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40481 cmain().
40482 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40483 * kern/ieee1275/cmain.c (cmain): Rename to ...
40484 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40485 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40486 at the beginning.
40487
57490c2b 404882008-04-18 Robert Millan <rmh@aybabtu.com>
40489
40490 * util/update-grub.in: Fix syntax error when setting
40491 `GRUB_PRELOAD_MODULES'.
40492 Reported by Stephane Chazelas <stephane@artesyncp.com>
40493
1977517d 404942008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40495
40496 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40497 section into account, newer toolchains generate unique build ids
40498 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40499 we want build ids to be preserved
1977517d 40500 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40501 far from other sections don't cause the raw binary images grow
40502 size
40503
bfb1f1a2 405042008-04-15 Robert Millan <rmh@aybabtu.com>
40505
40506 * disk/lvm.c: Update copyright year.
40507 * kern/misc.c: Likewise.
40508
01979850 405092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40510
40511 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40512 there is no memory left for physical volume name.
01979850 40513
0a1150e2 405142008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40515
40516 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40517 volume name mapping to support bigger than 9 character names properly.
40518
82ead3fe 405192008-04-13 Robert Millan <rmh@aybabtu.com>
40520
40521 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40522 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40523
e54a72f5 405242008-04-13 Christian Franke <franke@computer.org>
40525
40526 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40527 to create a floppy emulation boot CD when non emulation mode
40528 does not work.
40529 Enable Joliet CD filesystem extension.
40530
9fe86034 405312008-04-13 Robert Millan <rmh@aybabtu.com>
40532
40533 * kern/misc.c (grub_strncat): Fix off-by-one error.
40534 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40535
40536 * kern/env.c (grub_env_context_close): Clear current context, not
40537 previous one.
40538 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40539
40540 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40541
7ceeee39 405422008-04-13 Robert Millan <rmh@aybabtu.com>
40543
40544 Improve robustness when handling LVM.
40545
40546 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40547 (and leave `*p' unmodified).
7ceeee39 40548 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40549 through it.
40550 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40551 iterating through it.
40552 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40553 through it.
fe6b695a 40554 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40555 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40556 Don't assume `vg->pvs != NULL' when iterating through it.
40557
58cd3d85 405582008-04-13 Robert Millan <rmh@aybabtu.com>
40559
40560 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40561 * genmk.rb (partmap): New variable.
40562 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40563 (#{partmap}): New target rule.
40564 * genpartmaplist.sh: New file.
40565 * Makefile.in (pkglib_DATA): Add partmap.lst.
40566 (partmap.lst): New target rule.
40567 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40568 modules (including all partition maps), instead of preloading them.
40569
78b51059 405702007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40571
40572 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40573 `linux-boot-prober' (if installed) to detect other operating
40574 systems which are installed on the computer and add them to
40575 the boot menu.
40576 * conf/common.rmk: Build and install 30_os-prober.
40577
a91627b4 405782008-04-12 Robert Millan <rmh@aybabtu.com>
40579
40580 * kern/powerpc/ieee1275/init.c: Move from here ...
40581 * kern/ieee1275/init.c: ... to here. Update all users.
40582
40583 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40584 * kern/ieee1275/cmain.c: ... to here. Update all users.
40585
40586 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40587 * kern/ieee1275/openfw.c: ... to here. Update all users.
40588
40589 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40590 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40591
322562ea 405922008-04-10 Pavel Roskin <proski@gnu.org>
40593
40594 * configure.ac: Always use "_cv_" in cache variables for
40595 compatibility with Autoconf 2.62.
40596
a02a73c5 405972008-04-07 Robert Millan <rmh@aybabtu.com>
40598
40599 Revert grub/machine/init.h addition by Pavel (since it breaks on
40600 i386-ieee1275 and others):
40601 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40602 * util/powerpc/ieee1275/misc.c: Likewise.
40603
25c024b1 406042008-04-07 Robert Millan <rmh@aybabtu.com>
40605
40606 * util/grub-probe.c (probe): Improve error message.
40607
3cbd2f98 406082008-04-07 Robert Millan <rmh@aybabtu.com>
40609
40610 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40611 (this prevents the presence of a bogus entry from ruining the whole
40612 thing).
40613
87a297bf 406142008-04-06 Pavel Roskin <proski@gnu.org>
40615
36747a62 40616 * util/biosdisk.c: Include grub/util/biosdisk.h.
40617 * util/grub-fstest.c (execute_command): Make static.
40618 * util/grub-mkdevicemap.c (check_device): Likewise.
40619 * util/i386/pc/misc.c: Include grub/machine/init.h.
40620 * util/powerpc/ieee1275/misc.c: Likewise.
40621 * util/lvm.c: Include grub/util/lvm.h.
40622 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40623 grub/cache.h.
40624 * util/raid.c: Include grub/util/raid.h.
40625 (grub_util_getdiskname): Make static.
40626
87a297bf 40627 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40628 grub_hostfs_fini(), as they are called from grub_init_all() and
40629 grub_fini_all() respectively. This fixes an infinite loop in
40630 grub-fstest due to double registration of hostfs.
40631 Reported by Christian Franke <Christian.Franke@t-online.de>
40632
f6ce7629 406332008-04-05 Pavel Roskin <proski@gnu.org>
40634
40635 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40636 all 8 functions. Otherwise, probe function 0 only.
40637
070e49e4 406382008-04-04 Pavel Roskin <proski@gnu.org>
40639
8b088a4c 40640 * commands/lspci.c (grub_lspci_iter): Print the bus number
40641 correctly.
40642
4f657021 40643 * commands/lspci.c (grub_pci_classes): Fix typos.
40644 (grub_lspci_iter): Don't print func twice. Print vendor ID
40645 before device ID, as it's normally done.
40646
070e49e4 40647 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40648 Fix signedness warnings.
40649 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40650 Likewise.
40651 * util/ieee1275/get_disk_name.c: Include config.h so that
40652 _GNU_SOURCE is defined and getline() is declared. Mark an
40653 unused argument as such. Fix a signedness warning.
40654
ba7328dc 406552008-04-02 Pavel Roskin <proski@gnu.org>
40656
26887f22 40657 * genkernsyms.sh.in: Use more robust assignments for CC and
40658 srcdir. Quote srcdir.
40659 * gensymlist.sh.in: Likewise. Assert at the compile time that
40660 the symbol table is not empty.
40661
ba7328dc 40662 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40663 * fs/cpio.c (grub_cpio_read): Likewise.
40664
0f582c6b 406652008-04-01 Pavel Roskin <proski@gnu.org>
40666
4b6e1995 40667 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40668 * disk/host.c (grub_host_open): Likewise.
40669 * disk/loopback.c (grub_loopback_open): Likewise.
40670 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40671 disk->id as in disk/host.c, not a multi-character constant.
40672
828a2768 40673 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40674 later is obsolete, potentially dangerous and sets a bad example.
40675 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40676 * util/misc.c (grub_util_get_image_size): Likewise.
40677
2bb4fb47 40678 * disk/loopback.c (options): Improve help for "--partitions".
40679
0f582c6b 40680 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40681 options to align them with the short options, e.g. "echo -e".
40682
a33224e0 406832008-03-31 Bean <bean123ch@gmail.com>
40684
40685 * video/reader/png.c (grub_png_data): New member is_16bit and
40686 image_data.
40687 (grub_png_decode_image_header): Detect 16 bit png image.
40688 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40689 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40690 (grub_video_reader_png): Release memory occupied by image_data.
40691
40692 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40693 4096 bytes.
40694 (grub_nfs_mount): Skip the test for sector per cluster.
40695
40696 * include/grub/ntfs.h (MAX_SPC): Removed.
40697
86cb4f54 406982008-03-31 Bean <bean123ch@gmail.com>
40699
40700 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40701 (grub_probe_SOURCES): Add fs/afs.c.
40702 (grub_fstest_SOURCES): Likewise.
40703 (afs_mod_SOURCES): New variable.
40704 (afs_mod_CFLAGS): Likewise.
40705 (afs_mod_LDFLAGS): Likewise.
40706
40707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40708 (grub_emu_SOURCES): Likewise.
40709
40710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40711
40712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40713
40714 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40715
40716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40717
40718 * fs/afs.c: New file.
40719
17c74c21 407202008-03-30 Pavel Roskin <proski@gnu.org>
40721
4cb68e89 40722 * disk/host.c: Include grub/misc.h to fix a warning.
40723 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40724 warnings about implicit declarations.
40725
8790bb04 40726 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40727 variable.
40728 * include/grub/i386/loader.h: Change declaration of
40729 grub_linux_boot() to match what grub_loader_set() expects.
40730 * util/getroot.c (grub_guess_root_device): Return const char* to
40731 fix a warning.
40732 * util/grub-probe.c (probe): Fix a warning about uninitialized
40733 abstraction_name variable.
40734 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40735 second argument as unused to fix a warning.
40736
9a3f3296 40737 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40738 missing grub_error() call.
40739
0ecef90d 40740 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40741 2.60 and newer uses it to define datadir.
40742
0bf6d401 40743 * commands/sleep.c: Fix warning about implicit declaration.
40744 * disk/memdisk.c: Likewise.
40745 * loader/aout.c: Likewise.
40746 * loader/i386/bsd_normal.c: Likewise.
40747 * util/grub-probe.c: Likewise.
40748
7cdacf97 40749 * commands/i386/cpuid.c (has_longmode): Make static.
40750 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40751 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40752
17c74c21 40753 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40754 GDT. This is more robust, as %ds can change.
40755 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40756 calling real_to_prot().
40757 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40758
80a3e68b 407592008-03-28 Pavel Roskin <proski@gnu.org>
40760
40761 * kern/i386/pc/startup.S: Assert that uncompressed functions
40762 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40763 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40764 code, as they push parts of the code (error handlers) beyond
40765 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40766 code as correctness and size.
40767
77bcd272 407682008-03-28 Pavel Roskin <proski@gnu.org>
40769
40770 * kern/i386/pc/startup.S
40771 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40772 data block address to the real mode, keep offset minimal. This
40773 works around a bug in AWARD BIOS on old Athlon systems, which
40774 makes CD detection hang.
40775
c5dfd43b 407762008-03-26 Pavel Roskin <proski@gnu.org>
40777
40778 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40779 const.
40780 * include/grub/normal.h: Add grub_parse_color_name_pair()
40781 declaration.
40782
bf962df2 407832008-03-24 Bean <bean123ch@gmail.com>
40784
40785 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40786 (cd_count): Removed.
40787 (cd_drive): New variable.
40788 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40789 (grub_biosdisk_call_hook): Likewise.
40790 (grub_biosdisk_iterate): Change cdrom detection method.
40791 (grub_biosdisk_open): Replace cd_start with cd_drive.
40792 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40793 detect cdrom device.
40794
40795 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40796 Removed.
40797 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40798 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40799 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40800 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40801 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40802 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40803 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40804 (grub_biosdisk_cdrp): New structure.
40805 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40806
40807 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40808
40809 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40810 device.
40811
40812 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40813 New function.
40814
68e7fc7a 408152008-03-20 Robert Millan <rmh@aybabtu.com>
40816
40817 Remove 2 TiB limit in ata.mod.
40818 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40819 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40820 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40821 grub_uint64_t instead of grub_uint32_t.
40822
38ad2cf5 408232008-03-05 Bean <bean123ch@gmail.com>
40824
40825 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40826 (grub_multiboot): Set boot device.
40827
40828 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40829
2b89344e 408302008-03-02 Bean <bean123ch@gmail.com>
40831
40832 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40833 symlink_buffer.
40834
87a95d1f 408352008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40836
40837 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40838 texinfo.tex.
40839
40840 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40841 modified.
40842
40843 * docs/fdl.texi: New file.
f19dbdb7 40844
87a95d1f 40845 * docs/mdate-sh: New file. Copied from gnulib.
40846 * docs/texinfo.tex: Likewise.
40847
40848 * config.guess: Updated from gnulib.
40849 * install-sh: Likewise.
40850
7dc15d8e 408512008-02-28 Robert Millan <rmh@aybabtu.com>
40852
40853 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40854 (aout_mod_SOURCES): New variable.
40855 (aout_mod_CFLAGS): Likewise.
40856 (aout_mod_LDFLAGS): Likewise.
40857
40858 * conf/i386-ieee1275.rmk: Likewise.
40859
b00ab696 408602008-02-28 Robert Millan <rmh@aybabtu.com>
40861
40862 * util/update-grub.in: Reorganise terminal validity check. Accept
40863 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40864 Based on suggestion by Franklin PIAT.
40865
79ca2d78 408662008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40867
40868 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40869 function.
40870 * util/getroot.c (grub_util_check_block_device): New function that
40871 returns the given argument if it is a block device and returns NULL else.
40872 * util/grub-probe.c (argument_is_device): New variable.
40873 (probe): Promote device_name from a variable to an argument. Receive
40874 device_name from grub_util_check_block_device() if path is NULL and from
40875 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40876 (options): Introduce new parameter '-d, --device'.
79ca2d78 40877 (main): Add description of the new parameter to the help screen.
40878 Rename path variable to argument. Set argument_is_device if the '-d'
40879 option is given. Pass argument to probe() depending on
40880 argument_is_device.
40881
0d16e571 408822008-02-24 Bean <bean123ch@gmail.com>
40883
40884 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40885 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40886 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40887 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40888 (GRUB_ISO9660_VOLDESC_END): Likewise.
40889 (grub_iso9660_primary_voldesc): New member escape.
40890 (grub_iso9660_data): New member joliet.
40891 (grub_iso9660_convert_string): New function.
40892 (grub_iso9660_mount): Detect joliet extension.
40893 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40894 (grub_iso9660_iso9660_label): Likewise.
40895
40896 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40897 (grub_setup_SOURCES): Add fs/udf.c.
40898 (grub_fstest_SOURCES): Likewise.
40899 (udf_mod_SOURCES): New variable.
40900 (udf_mod_CFLAGS): Likewise.
40901 (udf_mod_LDFLAGS): Likewise.
40902
40903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40904 (grub_emu_SOURCES): Likewise.
40905
40906 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40907
40908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40909
40910 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40911
40912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40913
40914 * fs/udf.c: New file.
40915
8a594a17 409162008-02-24 Robert Millan <rmh@aybabtu.com>
40917
40918 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40919 (normal/lexer.c_DEPENDENCIES): New variables.
40920 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40921 (normal/lexer.c_DEPENDENCIES): Likewise.
40922 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40923 (normal/lexer.c_DEPENDENCIES): Likewise.
40924 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40925 (normal/lexer.c_DEPENDENCIES): Likewise.
40926 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40927 (normal/lexer.c_DEPENDENCIES): Likewise.
40928 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40929 (normal/lexer.c_DEPENDENCIES): Likewise.
40930
2dc33c03 409312008-02-23 Robert Millan <rmh@aybabtu.com>
40932
40933 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40934 since they were intended to be in hex. This didn't break previously
40935 because of a bug in gpt_partition_map_iterate() (see below).
40936
40937 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40938 when checking the validity of GPT header.
40939 Remove `partno', since it always provides the same information as `i'.
40940
f6f4cfb0 409412008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40942
40943 * include/grub/efi/time.h: Fix a wrong comment.
40944
79ff665f 409452008-02-19 Pavel Roskin <proski@gnu.org>
40946
40947 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40948 message.
40949
d38e24c2 409502008-02-19 Bean <bean123ch@gmail.com>
40951
40952 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40953 (aout_mod_SOURCES): New variable.
40954 (aout_mod_CFLAGS): Likewise.
40955 (aout_mod_LDFLAGS): Likewise.
40956 (_bsd_mod_SOURCES): New variable.
40957 (_bsd_mod_CFLAGS): Likewise.
40958 (_bsd_mod_LDFLAGS): Likewise.
40959 (bsd_mod_SOURCES): New variable.
40960 (bsd_mod_CFLAGS): Likewise.
40961 (bsd_mod_LDFLAGS): Likewise.
40962
40963 * include/grub/aout.h: New file.
40964
40965 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40966
40967 * include/grub/i386/bsd.h: New file.
40968
40969 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40970 to make it public.
40971
40972 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40973 function is called, so that it's possible to change it inside the hook.
40974 (grub_elf64_load): Likewise.
40975 (grub_elf_file): Don't close the file if elf header is not found.
40976 (grub_elf_close): Close the file if grub_elf_file fails (The new
40977 grub_elf_file won't close it).
40978 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40979 (grub_elf64_size): Likewise.
40980
40981 * kern/i386/loader.S (grub_unix_real_boot): New function.
40982
40983 * loader/aout.c: New file.
40984
40985 * loader/i386/bsd.c: New file.
40986
40987 * loader/i386/bsd_normal.c: New file.
40988
40989 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40990
40991 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40992 can test other formats.
d38e24c2 40993
b93bdb0f 409942008-02-19 Robert Millan <rmh@aybabtu.com>
40995
40996 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40997 (grub_gpt_partition_type_empty): Redefine with macro from
40998 `<grub/gpt_partition.h>'.
40999 (gpt_partition_map_iterate): Adjust partition type comparison.
41000
41001 Export `entry' as partmap-specific `part.data' struct.
41002 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41003
41004 * include/grub/gpt_partition.h (grub_gpt_header)
41005 (grub_gpt_partentry): ... to here (new file).
41006
41007 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41008
41009 (grub_gpt_partition_type_bios_boot): New const variable, defined
41010 with macro from `<grub/gpt_partition.h>'.
41011
41012 (setup): Replace `first_start' with `embed_region', which keeps
41013 track of the embed region (and is partmap-agnostic).
41014
41015 Replace find_first_partition_start() with find_usable_region(),
41016 which finds a usable region for embedding using partmap-specific
41017 knowledge (supports PC/MSDOS and GPT).
41018
41019 Fix all assumptions that the embed region start at sector 1, using
41020 `embed_region.start' from now on. Similarly, use `embed_region.end'
41021 rather than `first_start' to calculate available size.
41022
41023 In grub_util_info() message, replace "into after the MBR" with an
41024 indication of the specific sector our embed region starts at.
41025
66cb40f6 410262008-02-19 Robert Millan <rmh@aybabtu.com>
41027
41028 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41029 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41030 `commands/reboot.c'.
41031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41032 (halt_mod_SOURCES): Likewise.
41033 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41034 (halt_mod_SOURCES): Likewise.
41035
b7202015 410362008-02-17 Christian Franke <franke@computer.org>
41037
41038 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41039
32b0fc49 410402008-02-17 Robert Millan <rmh@aybabtu.com>
41041
41042 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41043 set `first_start' to 0 for non-PC/MSDOS partition maps.
41044
aca63502 410452008-02-16 Robert Millan <rmh@aybabtu.com>
41046
41047 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41048 do not assume partition map is PC/MSDOS before performing checks that
41049 are specific to that layout.
41050
0de8be86 410512008-02-13 Robert Millan <rmh@aybabtu.com>
41052
41053 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41054 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41055 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41056
c3db8364 410572008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41058
41059 * configure.ac: Only a cosmetic change on the handling of
41060 -fno-stack-protector.
41061
f714229e 410622008-02-12 Alexandre Boeglin <alex@boeglin.org>
41063
c3db8364 41064 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41065 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41066 reboot.c.
f714229e 41067 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41068 (halt_mod_SOURCES): New variable.
41069 (halt_mod_CFLAGS): Likewise.
41070 (halt_mod_LDFLAGS): Likewise.
41071 (reboot_mod_SOURCES): Likewise.
41072 (reboot_mod_CFLAGS): Likewise.
41073 (reboot_mod_LDFLAGS): Likewise.
41074
c3db8364 41075 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41076 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41077 reboot.c.
f714229e 41078 (halt_mod_SOURCES): Likewise.
41079 (reboot_mod_SOURCES): Likewise.
41080
c3db8364 41081 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41082 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41083 (reboot_mod_SOURCES): Likewise.
41084
41085 * commands/i386/pc/reboot.c: merge this file ...
41086
41087 * commands/ieee1275/reboot.c: ... and this file ...
41088
41089 * commands/reboot.c: ... to this file.
c3db8364 41090 Add some precompiler directive to include the correct header for
41091 each machine.
f714229e 41092
41093 * commands/ieee1275/halt.c: move this file ...
41094
41095 * commands/halt.c: ... to here.
c3db8364 41096 Add some precompiler directive to include the correct header for
41097 each machine.
f714229e 41098
41099 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41100 (grub_halt): Likewise.
41101
41102 * kern/efi/efi.c (grub_reboot): New function.
41103 (grub_halt): Likewise.
41104
c74493e0 411052008-02-12 Robert Millan <rmh@aybabtu.com>
41106
41107 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41108 /dev (like it is done for /dev/mapper). This doesn't provide support
41109 for EVMS, but at least it is now easy to identify the problem when it
41110 arises.
41111
d0db4b04 411122008-02-11 Robert Millan <rmh@aybabtu.com>
41113
41114 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41115 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41116 comparing it with -1, not 0.
41117
bf748642 411182008-02-10 Robert Millan <rmh@aybabtu.com>
41119
41120 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41121 `disk/lvm.c'.
41122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41123 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41124
41125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41126 `disk/lvm.c' to the end of the list.
41127 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41128 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41129
b5db202a 411302008-02-10 Robert Millan <rmh@aybabtu.com>
41131
41132 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41133 grub_print_error() instead. This will let user know why we're entering
41134 rescue mode.
41135 Based on suggestions from Sam Morris.
41136
83abee31 411372008-02-10 Alexandre Boeglin <alex@boeglin.org>
41138
41139 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41140 on remaining N args, instead of "--" arg N times.
41141
78d5a08b 411422008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41143
41144 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41145 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41146 pattern for unknown glyphs.
41147
68807e5f 411482008-02-09 Robert Millan <rmh@aybabtu.com>
41149
41150 * configure.ac: Probe for `help2man'.
41151 * Makefile.in (builddir): New variable.
41152 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41153 or otherwise add a few flags/options to it.
41154 (install-local): For every executable utility or script that is
41155 installed, invoke $(HELP2MAN) to install a manpage based on --help
41156 output.
41157
41158 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41159 that it doesn't prevent --help from working in build tree.
41160
41161 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41162 with `bug-grub@gnu.org'.
41163 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41164 * util/update-grub.in (usage): New function.
41165 Implement proper argument check, with support for --help and --version
41166 (as well as existing -y).
41167
411682008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41169
41170 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41171 avoid overwriting previous output.
41172 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41173
c1962162 411742008-02-09 Robert Millan <rmh@aybabtu.com>
41175
41176 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41177 drawing the menu.
41178
3dac2e3f 411792008-02-09 Robert Millan <rmh@aybabtu.com>
41180
41181 * commands/sleep.c: New file.
41182 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41183 (sleep_mod_SOURCES): New variable.
41184 (sleep_mod_CFLAGS): Likewise.
41185 (sleep_mod_LDFLAGS): Likewise.
41186
7a634e08 411872008-02-09 Robert Millan <rmh@aybabtu.com>
41188
41189 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41190 situations in which we can deduce the RAID size and the superblock
41191 doesn't match it.
41192
b92f0c18 411932008-02-09 Robert Millan <rmh@aybabtu.com>
41194
41195 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41196 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41197 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41198
41199 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41200 and return a grub_diskmemberlist_t composed of physical array members.
41201 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41202
41203 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41204 prototype.
41205 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41206 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41207 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41208
41209 * util/grub-probe.c (probe): Move partmap probing code from here ...
41210 (probe_partmap): ... to here.
41211 (probe): Use probe_partmap() once for the disk we're probing, and
41212 additionally, when such disk contains a memberlist() struct member,
41213 once for each disk that is contained in the structure returned by
41214 memberlist().
41215
91a4bf68 412162008-02-09 Robert Millan <rmh@aybabtu.com>
41217
41218 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41219 environment variable to 'all' in order to obtain debug output from
41220 non-util/ code.
41221 * util/i386/pc/grub-setup.c (main): Likewise.
41222
a96f9caa 412232008-02-08 Robert Millan <rmh@aybabtu.com>
41224
41225 * disk/raid.c (grub_raid_scan_device): Check for
41226 `array->device[sb.this_disk.number]' rather than for
41227 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41228 guaranteed to be accessible.
a96f9caa 41229
b37a9222 412302008-02-08 Robert Millan <rmh@aybabtu.com>
41231
41232 * disk/raid.c: Update copyright.
41233 * fs/cpio.c: Likewise.
41234 * include/grub/raid.h: Likewise.
41235 * loader/i386/pc/multiboot.c: Likewise.
41236 * util/hostfs.c: Likewise.
41237
5626aee1 412382008-02-08 Robert Millan <rmh@aybabtu.com>
41239
41240 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41241 to a grub_disk_t array.
41242 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41243 `device[x]'.
41244 (grub_raid_scan_device): Replace `device[x].name' accesses with
41245 `device[x]->name'. Simplify initialization of `array->device[x]'.
41246
554f0187 412472008-02-08 Robert Millan <rmh@aybabtu.com>
41248
41249 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41250 grub_dprintf() calls.
41251 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41252 error message.
41253
1ec8425d 412542008-02-07 Christian Franke <franke@computer.org>
41255
41256 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41257 instead of fseek and ftell to support large files.
41258 (grub_hostfs_read): Likewise.
41259
f2156fda 412602008-02-07 Robert Millan <rmh@aybabtu.com>
41261
41262 Patch from Jeroen Dekkers.
41263 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41264 failure, since successfully reading all array members might not be
f2156fda 41265 required.
41266
9216e0e7 412672008-02-06 Robert Millan <rmh@aybabtu.com>
41268
41269 * util/grub-probe.c (probe): Simplify partmap probing (with the
41270 assumption that the first word up to the underscore equals to
41271 the module name).
41272
b0dfd29a 412732008-02-06 Christian Franke <franke@computer.org>
41274
41275 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41276 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41277 last block of a cpio or tar stream.
41278 Check for "TRAILER!!!" instead of any empty data
41279 block to detect last block of a cpio stream.
41280 (grub_cpio_dir): Fix constness of variable np.
41281 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41282 cpio or tar trailer is detected. This fixes a crash
41283 on open of a non existing file.
41284
c32865bf 412852008-02-05 Bean <bean123ch@gmail.com>
41286
41287 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41288 address of entry.
41289 (grub_multiboot_load_elf64): Likewise.
41290 (grub_multiboot): Initialize mbi structure.
41291
41292 * util/grub-fstest.c: Don't include unused header file script.h.
41293
fe6b695a 41294 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41295 of file.
41296 (grub_fstest_SOURCES): Likewise.
41297
409480b7 412982008-02-05 Robert Millan <rmh@aybabtu.com>
41299
41300 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41301 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41302 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41303 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41304
41305 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41306 (translation_table): Replace hardcoded values with macros
41307 provided by `<grub/term.h>'.
41308
41309 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41310 (keyboard_map): Correct/add a few values, with macros provided
41311 by `<grub/term.h>'.
41312 (keyboard_map_shift): Zero values that don't differ from their
41313 `keyboard_map' equivalents.
41314 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41315 Discard the second scan code that is always sent by Caps lock.
41316 Only use `keyboard_map_shift' when it provides a non-zero value,
41317 otherwise fallback to `keyboard_map'.
41318
99fadbaa 413192008-02-04 Bean <bean123ch@gmail.com>
41320
41321 * Makefile.in (enable_grub_fstest): New variable.
41322
41323 * conf/common.rmk (grub_fstest_init.lst): New rule.
41324 (grub_fstest_init.h): Likewise.
41325 (grub_fstest_init.c): Likewise.
41326 (util/grub-fstest.c_DEPENDENCIES): New variable.
41327 (grub_fstest_SOURCES): Likewise.
41328
41329 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41330
41331 * util/grub-fstest.c: New file.
41332
bf567c50 413332008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41334
41335 Make grub-setup handle a separate root device.
f19dbdb7 41336
bf567c50 41337 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41338 so that the root device can be compared with the destination
41339 device.
41340 When embedding the core image, if the root and destination devices
41341 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41342 0xFF.
41343 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41344
9be6b98b 413452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 Add support for having a grub directory in a different drive. This
41348 is still only the data handling part.
f19dbdb7 41349
9be6b98b 41350 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41351 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41352 (grub_root_drive): New variable.
41353
41354 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41355 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41356 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41357 as it was.
41358
41359 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41360
41361 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41362 macro.
41363 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41364
41365 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41366 is bogus, because PXE booting does not specify any drive
41367 correctly.
41368
41369 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41370 am not sure if this is really correct.
41371
41372 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41373 is always identical to the boot drive when booting from a CD.
41374
41375 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41376 longer.
41377 (root_drive): New variable.
41378 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41379 (setup_sectors): Push %dx right after popping it, because %dh will
41380 be modified later.
41381 (copy_buffer): Restore %dx.
41382
e0ca0677 413832008-02-03 Robert Millan <rmh@aybabtu.com>
41384
41385 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41386 use `cdboot.img' for cdrom images.
41387
3b3f6629 413882008-02-03 Robert Millan <rmh@aybabtu.com>
41389
41390 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41391 only setup gfxterm when `font' command has succeeded.
41392
d42b3672 413932008-02-03 Robert Millan <rmh@aybabtu.com>
41394
41395 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41396 (grub_rescue_cmd_multiboot_loader)
41397 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41398
fa370ea6 413992008-02-03 Pavel Roskin <proski@gnu.org>
41400
e0c5dacb 41401 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41402 %edx and %esi from stack only after grub_gate_a20() is called.
41403 grub_gate_a20() clobbers %edx.
41404
f2a76e1d 414052008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41406
41407 * configure.ac (AC_INIT): Bumped to 1.96.
41408
41409 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41410 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41411 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41412 video/readers/png.c.
41413
90fd32d1 414142008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41415
41416 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41417 (cdboot_img_SOURCES): New variable.
41418 (cdboot_img_ASFLAGS): New variable.
41419 (cdboot_img_LDFLAGS): New variable.
41420
41421 * boot/i386/pc/cdboot.S: New file.
41422
41423 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41424 (cd_count): Likewise.
41425 (grub_biosdisk_get_drive): Add support for cd device.
41426 (grub_biosdisk_call_hook): Likewise.
41427 (grub_biosdisk_iterate): Likewise.
41428 (grub_biosdisk_open): Likewise.
41429 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41430 (grub_biosdisk_rw): Support reading from cd device.
41431 (GRUB_MOD_INIT): Iterate cd devices.
41432
41433 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41434 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41435 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41436
41437 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41438
4020aa53 414392008-02-02 Robert Millan <rmh@aybabtu.com>
41440
41441 * commands/read.c: New file.
41442 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41443 (read_mod_SOURCES): New variable.
41444 (read_mod_CFLAGS): Likewise.
41445 (read_mod_LDFLAGS): Likewise.
41446
e03a1132 414472008-02-02 Robert Millan <rmh@aybabtu.com>
41448
41449 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41450 determining whether menu has to be displayed.
41451
58c69220 414522008-02-02 Marco Gerards <marco@gnu.org>
41453
41454 * bus/pci.c: New file.
41455
41456 * include/grub/pci.h: Likewise.
41457
41458 * include/grub/i386/pc/pci.h: Likewise.
41459
41460 * commands/lspci.c: Likewise.
41461
41462 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41463 `lspci.mod'.
41464 (pci_mod_SOURCES): New variable.
41465 (pci_mod_CFLAGS): Likewise.
41466 (pci_mod_LDFLAGS): Likewise.
41467 (lspci_mod_SOURCES): Likewise.
41468 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41469 (lspci_mod_LDFLAGS): Likewise.
58c69220 41470
c004e1b4 414712008-02-02 Bean <bean123ch@gmail.com>
41472
41473 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41474 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41475
41476 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41477 (grub_xfs_btree_node): New structure.
41478 (grub_xfs_btree_root): New structure.
41479 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41480 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41481 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41482 (GRUB_XFS_EXTENT_SIZE): Likewise.
41483 (grub_xfs_read_block): Support btree format type.
41484 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41485 Use directory block as basic unit.
41486
41487 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41488
41489 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41490 __attribute__ ((__regparm__ (1))).
41491
f95562bf 414922008-02-01 Robert Millan <rmh@aybabtu.com>
41493
41494 Correct a mistake in previous commit.
41495
41496 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41497 top.
41498 (normal/command.c_DEPENDENCIES): New variable.
41499
7d31f41f 415002008-02-01 Robert Millan <rmh@aybabtu.com>
41501
41502 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41503 top.
41504 (normal/command.c_DEPENDENCIES): New variable.
41505 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41506 * conf/i386-ieee1275.rmk: Likewise.
41507 * conf/i386-linuxbios.rmk: Likewise.
41508 * conf/i386-pc.rmk: Likewise.
41509 * conf/sparc64-ieee1275.rmk: Likewise.
41510 * conf/powerpc-ieee1275.rmk: Likewise.
41511 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41512
41513 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41514
60b6be74 415152008-02-01 Robert Millan <rmh@aybabtu.com>
41516
41517 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41518 call at beginning of function.
41519
078522ab 415202008-01-31 Pavel Roskin <proski@gnu.org>
41521
41522 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41523 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41524 (grub_mkrescue_SOURCES): Likewise.
078522ab 41525 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41526
ccaa8a5f 415272008-01-30 Robert Millan <rmh@aybabtu.com>
41528
41529 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41530 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41531 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41532 (grub_probe_SOURCES): ... to here.
41533
41534 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41535 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41536 * conf/i386-ieee1275.rmk: Likewise.
41537 * conf/i386-linuxbios.rmk: Likewise.
41538 * conf/powerpc-ieee1275.rmk: Likewise.
41539
ae5a9cd7 415402008-01-30 Tristan Gingold <gingold@free.fr>
41541
41542 * kern/rescue.c: Silently accept empty lines.
41543
70bc2ef2 415442008-01-29 Bean <bean123ch@gmail.com>
41545
41546 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41547 (real_code_2): Code cleanup and change comment style.
41548 (move_memory): Avoid using 32-bit address mode.
41549
6a4d50ea 415502008-01-29 Bean <bean123ch@gmail.com>
41551
41552 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41553 (png_mod_SOURCES): New variable.
41554 (png_mod_CFLAGS): Likewise.
41555 (png_mod_LDFLAGS): Likewise.
41556
41557 * video/readers/png.c: New file.
41558
11cc30ac 415592008-01-28 Robert Millan <rmh@aybabtu.com>
41560
41561 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41562 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41563 `ifndef GRUB_MOD_GAP' hack.
41564 * util/elf/grub-mkimage.c (add_segments): Likewise.
41565
3abc589f 415662008-01-27 Robert Millan <rmh@aybabtu.com>
41567
41568 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41569 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41570 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41571
e1907778 415722008-01-27 Robert Millan <rmh@aybabtu.com>
41573
41574 Get grub-emu to build again (including parallel builds).
41575
41576 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41577 Split into ...
41578 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41579 (normal/execute.c_DEPENDENCIES): ... this, ...
41580 (grub-emu_DEPENDENCIES): ... and this.
41581
41582 * conf/i386-efi.rmk: Likewise.
41583 * conf/i386-linuxbios.rmk: Likewise.
41584 * conf/i386-ieee1275.rmk: Likewise.
41585 * conf/powerpc-ieee1275.rmk: Likewise.
41586 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41587
2216b101 415882008-01-27 Robert Millan <rmh@aybabtu.com>
41589
41590 * NEWS: Add a few items.
41591
f75172d9 415922008-01-27 Robert Millan <rmh@aybabtu.com>
41593
41594 Fix parallel builds with grub-emu. Based on earlier commit for
41595 grub-probe and grub-setup.
41596
41597 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41598 (util/grub-emu.c_DEPENDENCIES): ... this.
41599 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41600 (util/grub-emu.c_DEPENDENCIES): ... this.
41601 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41602 (util/grub-emu.c_DEPENDENCIES): ... this.
41603 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41604 (util/grub-emu.c_DEPENDENCIES): ... this.
41605 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41606 (util/grub-emu.c_DEPENDENCIES): ... this.
41607
3f51de77 416082008-01-27 Pavel Roskin <proski@gnu.org>
41609
41610 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41611 to create a gap between _end and the modules added to the image
41612 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41613 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41614 * util/elf/grub-mkimage.c (add_segments): Likewise.
41615
2033f53e 416162008-01-26 Pavel Roskin <proski@gnu.org>
41617
41618 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41619 just return an error.
41620
22da1f6f 416212008-01-26 Bean <bean123ch@gmail.com>
41622
41623 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41624 (grub_reiserfs_get_item): Save offset of the next item.
41625 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41626
2a9525e6 416272008-01-25 Robert Millan <rmh@aybabtu.com>
41628
41629 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41630 make all filesystem sources appear together (possibly fixing omissions
41631 while at it).
41632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41634 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41636
41637 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41638 add `kern/file.c'.
41639 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41640 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41641 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41642 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41643
41644 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41645 (probe): Add a sanity check to make sure of our ability to read
41646 requested files when probing for filesystem type.
41647
41648 * genmk.rb: Update copyright year (2007).
41649
41650 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41651 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41652 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41653 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41654 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41655 : Remove function prototypes.
41656
b95f71b5 416572008-01-25 Robert Millan <rmh@aybabtu.com>
41658
41659 Revert my previous commits (based on wrong assumption of how grub_errno
41660 works).
41661
fe6b695a 41662 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41663 * kern/file.c (grub_file_open): Likewise.
41664
d08bbb49 416652008-01-24 Pavel Roskin <proski@gnu.org>
41666
41667 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41668 that hang if GRUB tries to setup colors.
41669 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41670 colors for firmwares that don't support it.
41671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41672 Recognize Open Hack'Ware, set flags to work around its
41673 limitations.
41674
605e36ed 416752008-01-24 Robert Millan <rmh@aybabtu.com>
41676
41677 * kern/file.c (grub_file_open): Do not account previous failures of
41678 unrelated functions when grub_errno is checked for.
41679 Reported by Oleg Strikov.
41680
bac332a1 416812008-01-24 Bean <bean123ch@gmail.com>
41682
41683 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41684 (grub_ufs_sblock): New member volume name.
41685 (grub_ufs_find_file): Fix string copy bug.
41686 (grub_ufs_label): Implement this function properly.
41687
41688 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41689 (grub_hfs_iterate_records): Use the correct file number for extents
41690 and catalog file. Fix problem in next index calculation.
41691 (grub_hfs_find_node): Replace recursive function call with loop.
41692 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41693
15c80c09 416942008-01-23 Robert Millan <rmh@aybabtu.com>
41695
41696 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41697 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41698 (grub_multiboot2_real_boot): New function prototype.
41699
41700 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41701 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41702
41703 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41704 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41705
305338fd 417062008-01-23 Robert Millan <rmh@aybabtu.com>
41707
41708 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41709 #ifdef'ed out grub_printf().
41710
3ea52685 417112008-01-23 Robert Millan <rmh@aybabtu.com>
41712
41713 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41714 grub_dprintf calls, since they make "debug=all" mode unusable.
41715 (grub_console_checkkey): Likewise.
41716
5882ae4b 417172008-01-23 Robert Millan <rmh@aybabtu.com>
41718
41719 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41720 `term/i386/pc/at_keyboard.c'.
41721 (pkglib_MODULES): Add `serial.mod'.
41722 (serial_mod_SOURCES): New variable.
41723 (serial_mod_CFLAGS): Likewise.
41724 (serial_mod_LDFLAGS): Likewise.
41725
41726 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41727 `<grub/powerpc/ieee1275/console.h>'.
41728 (grub_keyboard_controller_init): New function prototype.
41729 (grub_console_checkkey): Likewise.
41730 (grub_console_getkey): Likewise.
41731
41732 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41733 keyboard on i386.
41734
41735 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41736 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41737
06ab5303 417382008-01-23 Robert Millan <rmh@aybabtu.com>
41739
41740 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41741 present, "(memdisk)/boot/grub" becomes the default prefix.
41742
41743 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41744 a memdisk tarball with all the modules. Add --overlay=DIR option that
41745 allows users to overlay additional files into the image.
41746
dbb475a4 417472008-01-23 Robert Millan <rmh@aybabtu.com>
41748
41749 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41750 and `machine/memory.h'.
41751 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41752 (_multiboot_mod_SOURCES): New variable.
41753 (_multiboot_mod_CFLAGS): Likewise.
41754 (_multiboot_mod_LDFLAGS): Likewise.
41755 (multiboot_mod_SOURCES): Likewise.
41756 (multiboot_mod_CFLAGS): Likewise.
41757 (multiboot_mod_LDFLAGS): Likewise.
41758
41759 * include/grub/i386/ieee1275/loader.h: New file.
41760
41761 * include/grub/i386/ieee1275/machine.h: Likewise.
41762
41763 * include/grub/i386/ieee1275/memory.h: Likewise.
41764
41765 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41766 variable declaration.
41767 (grub_os_area_size): Likewise.
41768
41769 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41770 (grub_lower_mem, grub_upper_mem): New variables.
41771 (grub_stop_floppy): New function (just to make
41772 grub_multiboot2_real_boot() happy).
41773
41774 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41775 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41776 (grub_stop): New function.
41777 Include `"../realmode.S"' and `"../loader.S"'.
41778
41779 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41780 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41781
41782 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41783 rely on grub_multiboot2_real_boot() for final boot.
41784
25638629 417852008-01-22 Robert Millan <rmh@aybabtu.com>
41786
41787 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41788 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41789 device that doesn't look like an SD card.
41790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41791 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41792 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41793 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41794 found.
41795
9dad816d 417962008-01-22 Robert Millan <rmh@aybabtu.com>
41797
41798 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41799 avoid claiming over our own code.
41800
34842f2d 418012008-01-22 Bean <bean123ch@gmail.com>
41802
41803 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41804 (jpeg_mod_SOURCES): New variable.
41805 (jpeg_mod_CFLAGS): Likewise.
41806 (jpeg_mod_LDFLAGS): Likewise.
41807
41808 * video/readers/jpeg.c : New file.
41809
44023a28 418102008-01-22 Bean <bean123ch@gmail.com>
41811
41812 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41813 there are no more items.
41814
bc2d8ac6 418152008-01-21 Robert Millan <rmh@aybabtu.com>
41816
41817 * kern/mm.c (grub_mm_init_region): Improve debug message.
41818
261bd4bc 418192008-01-21 Robert Millan <rmh@aybabtu.com>
41820
41821 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41822 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41823 address.
41824 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41825 a C macro.
41826 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41827 Indicates start of upper memory.
41828 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41829 (generate_image): Abort when image size is big enough to corrupt
41830 upper memory.
41831
41832 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41833 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41834 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41835 instead of hardcoding 0xA0000.
41836 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41837 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41838 instead of hardcoding 0xA0000.
41839
f970b55e 418402008-01-21 Robert Millan <rmh@aybabtu.com>
41841
41842 * disk/memdisk.c (memdisk_size): New variable.
41843 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41844 `memdisk_size'.
41845 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41846 image to dynamic memory.
41847 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41848 `memdisk_size'. Free memdisk block.
41849
1a8b0526 418502008-01-21 Robert Millan <rmh@aybabtu.com>
41851
41852 Fix detection of very small filesystems (like tar).
41853
41854 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41855 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41856 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41857 a problem with this disk).
41858
6e9b4aab 418592008-01-21 Robert Millan <rmh@aybabtu.com>
41860
41861 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41862 on grub_biosdisk_rw_standard() error.
41863
0d8837b2 418642008-01-21 Robert Millan <rmh@aybabtu.com>
41865
41866 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41867 recent changes.
41868 * kern/elf.c: Likewise.
41869 * kern/ieee1275/ieee1275.c: Likewise.
41870 * kern/powerpc/ieee1275/openfw.c: Likewise.
41871 * term/ieee1275/ofconsole.c: Likewise.
41872
ffd36e34 418732008-01-21 Robert Millan <rmh@aybabtu.com>
41874
41875 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41876
3f0093d0 41877 * include/grub/kernel.h (grub_arch_memdisk_addr)
41878 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41879
3f0093d0 41880 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41881 (grub_arch_memdisk_size): ... to here.
ffd36e34 41882
6c391b21 418832008-01-21 Robert Millan <rmh@aybabtu.com>
41884
41885 Mostly based on bugfix from Bean.
41886
41887 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41888 attribute with hook() parameter.
41889 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41890 declaration.
41891 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41892 attribute with hook() parameter.
41893 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41894 declaration.
41895
55a581dc 418962008-01-21 Robert Millan <rmh@aybabtu.com>
41897
41898 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41899 (pkglib_MODULES): Add `memdisk.mod'.
41900 (memdisk_mod_SOURCES): New variable.
41901 (memdisk_mod_CFLAGS): Likewise.
41902 (memdisk_mod_LDFLAGS): Likewise.
41903
41904 * disk/memdisk.c: New file.
41905
41906 * include/grub/disk.h (grub_disk_dev_id): Add
41907 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41908
41909 * include/grub/i386/pc/kernel.h
41910 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41911 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41912 (grub_kernel_image_size): New variable declaration.
41913 (grub_total_module_size): Likewise.
41914 (grub_memdisk_image_size): Likewise.
41915
41916 * include/grub/i386/pc/memory.h
41917 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41918
41919 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41920 (grub_arch_memdisk_addr): New variable declaration.
41921 (grub_arch_memdisk_size): Likewise.
41922
41923 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41924 (grub_arch_memdisk_size): Likewise.
41925
41926 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41927 (codestart): Replace hardcoded `0x100000' with
41928 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41929
41930 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41931 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41932 not NULL, append the contents of the file it refers to, at the end of
41933 the compressed kernel image. Initialize `grub_memdisk_image_size'
41934 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41935 (options): Add "memdisk"|'m' option.
41936 (main): Parse --memdisk|-m option, and pass user-provided path as
41937 parameter to generate_image().
41938
3d7f54c9 419392008-01-20 Robert Millan <rmh@aybabtu.com>
41940
41941 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41942 grub_dprintf() calls from here ...
41943 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41944
0bf74728 419452008-01-20 Robert Millan <rmh@aybabtu.com>
41946
41947 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41948
41949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41950 declaration.
41951 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41952 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41953 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41954 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41955 property).
41956 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41957 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41958
33bf70a7 419592008-01-19 Robert Millan <rmh@aybabtu.com>
41960
fe6b695a 41961 Get rid of confusing function (superseded by
33bf70a7 41962 `grub_ieee1275_get_integer_property')
41963 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41964 prototype.
41965 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41966 function.
41967 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41968 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41969 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41970
e2da7d26 419712008-01-19 Robert Millan <rmh@aybabtu.com>
41972
41973 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41974 command after "shut-down", since implementations differ on which
41975 the command for halt is.
41976
59f1fd8d 419772008-01-19 Robert Millan <rmh@aybabtu.com>
41978
41979 * include/grub/i386/linuxbios/console.h: Add header protection.
41980 (grub_keyboard_controller_init): New function prototype.
41981 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41982 (KEYBOARD_COMMAND_READ): Likewise.
41983 (KEYBOARD_COMMAND_WRITE): Likewise.
41984 (KEYBOARD_SCANCODE_SET1): Likewise.
41985 (grub_keyboard_controller_write): New function.
41986 (grub_keyboard_controller_read): Likewise.
41987 (grub_keyboard_controller_init): Likewise.
41988
41989 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41990 (grub_console_init): On coreboot/LinuxBIOS, call
41991 grub_keyboard_controller_init().
41992
5f5a7c15 419932008-01-19 Robert Millan <rmh@aybabtu.com>
41994
41995 PowerPC changes provided by Pavel Roskin.
41996
41997 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41998 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41999 don't rely on cmain() doing it.
42000 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42001 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42002
1210e168 420032008-01-16 Robert Millan <rmh@aybabtu.com>
42004
42005 * include/grub/i386/linuxbios/memory.h
42006 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42007 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42008 receive `table_header' as argument. Instead, probe for it in the
42009 known memory ranges where it can be present.
42010 (grub_available_iterate): Do not pass a fixed `table_header' address
42011 to grub_linuxbios_table_iterate().
42012
3d04eab8 420132008-01-15 Robert Millan <rmh@aybabtu.com>
42014
42015 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42016 * conf/i386-ieee1275.rmk: New file.
42017 * include/grub/i386/ieee1275/console.h: Likewise.
42018 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42019 * include/grub/i386/ieee1275/kernel.h: Likewise.
42020 * include/grub/i386/ieee1275/time.h: Likewise.
42021 * kern/i386/ieee1275/init.c: Likewise.
42022 * kern/i386/ieee1275/startup.S: Likewise.
42023
d1bc1b73 420242008-01-15 Robert Millan <rmh@aybabtu.com>
42025
42026 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42027 when pointers are 32-bit (but still do set it to one when they are
42028 64-bit).
42029
66a65807 420302008-01-15 Robert Millan <rmh@aybabtu.com>
42031
42032 * include/grub/ieee1275/ieee1275.h
42033 (grub_ieee1275_get_integer_property): New function prototype.
42034
42035 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42036 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42037 grub_ieee1275_get_property() to handle endianness.
66a65807 42038
42039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42040 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42041 where appropriate.
66a65807 42042 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42043 (grub_map): Likewise.
42044 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42045
a83ccafd 420462008-01-15 Bean <bean123ch@gmail.com>
42047
42048 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42049 (grub_script_execute_cmdline): Reset grub_errno.
42050
42051 * normal/main.c (read_config_file): Reset grub_errno.
42052
42053 * normal/parse.y (script_init): New.
42054 (script): Move function and menuentry here.
42055 (delimiter): New.
42056 (command): Add delimiter at the end of command.
42057 (commands): Adjust to match the new command.
42058 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42059 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42060 (if): Use the new commands.
42061
42062 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42063
df6ecfc6 420642008-01-15 Robert Millan <rmh@aybabtu.com>
42065
42066 * normal/menu.c (run_menu): Move timeout message from here ...
42067 (print_timeout): ... to here.
42068 (run_menu): Use print_timeout() once during initial draw to print
42069 the whole message, and again in every clock tick to update only
42070 the number of seconds.
42071
87ae25eb 420722008-01-15 Robert Millan <rmh@aybabtu.com>
42073
42074 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42075 actual size of `available' from grub_ieee1275_get_property(), and
42076 restrict parsing to that bound.
42077
47bf09a4 420782008-01-15 Christian Franke <franke@computer.org>
42079
42080 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42081 (argp_program_version): Remove variable.
42082 (argp_program_bug_address): Likewise.
42083 (options): Convert from struct argp_option to struct option.
42084 (struct arguments): Remove.
42085 (parse_opt): Remove.
42086 (usage): New function.
42087 (main): Replace struct args members by simple variables.
42088 Replace argp_parse() by getopt_long().
42089 Add switch to evaluate options.
42090 Add missing "(...)" around root_dev in prefix string.
42091
c86f1469 420922008-01-14 Robert Millan <rmh@aybabtu.com>
42093
42094 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42095 for grub_ieee1275_exit(), in order to improve portability.
42096
e622c559 420972008-01-14 Robert Millan <rmh@aybabtu.com>
42098
42099 * util/grub.d/10_linux.in (prefix): Define.
42100 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42101
44cb1ec8 421022008-01-13 Pavel Roskin <proski@gnu.org>
42103
42104 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42105 grub_errno if no errors have been detected.
42106
1eb8c802 421072008-01-12 Robert Millan <rmh@aybabtu.com>
42108
42109 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42110 (grub_util_get_dev_abstraction): New function prototype.
42111
42112 * util/getroot.c: Include `<grub/util/getroot.h>'
42113 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42114 (grub_util_get_dev_abstraction): ... here (new function).
42115
42116 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42117 `PRINT_ABSTRACTION'.
42118 (probe): Probe for abstraction type when requested.
42119 (main): Understand `--target=abstraction'.
42120
42121 * util/i386/efi/grub-install.in: Add abstraction module to core
42122 image when it is found to be necessary.
42123 * util/i386/pc/grub-install.in: Likewise.
42124 * util/powerpc/ieee1275/grub-install.in: Likewise.
42125
42126 * util/update-grub_lib.in (font_path): Return system path without
42127 converting to GRUB path.
42128 * util/update-grub.in: Convert system path returned by font_path()
42129 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42130 abstraction module is needed for loading fonts (if any). Export
42131 that as `GRUB_PRELOAD_MODULES'.
42132 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42133 insmod commands).
42134
52bd3de9 421352008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42136
42137 Remove some unused code from reiserfs.
f19dbdb7 42138
52bd3de9 42139 * fs/reiserfs.c (struct grub_reiserfs_key)
42140 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42141 (struct grub_reiserfs_node_body): Removed.
42142 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42143 Likewise.
42144 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42145 Likewise.
42146 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42147 Likewise.
42148 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42149 Likewise.
42150 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42151 Likewise.
42152 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42153 Likewise.
42154 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42155 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42156 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42157
2f80039d 421582008-01-10 Robert Millan <rmh@aybabtu.com>
42159
42160 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42161 Determines if a file is garbage left by packaging systems, etc.
42162 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42163 for processing /etc/grub.d scripts.
42164 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42165 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42166 as a condition for processing Linux images.
42167
87888032 421682008-01-10 Pavel Roskin <proski@gnu.org>
42169
42170 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42171 to compile reiserfs.c on PowerPC.
42172
7e54fced 421732008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42174
42175 * kern/device.c (grub_device_iterate): Do not abort device iteration
42176 when one of the devices cannot be opened.
42177 * kern/disk.c (grub_disk_open): Do not account previous failures of
42178 unrelated functions when grub_errno is checked for.
42179
5aa541e6 421802008-01-08 Robert Millan <rmh@aybabtu.com>
42181
42182 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42183 `! grub_linux_is_bzimage', change order of address comparison to make
42184 it more intuitive, and improve "too big zImage" error message.
42185
7076340d 421862008-01-08 Robert Millan <rmh@aybabtu.com>
42187
42188 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42189 `$(update-grub_DATA)'.
42190 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42191 targets.
42192
9ca70333 421932008-01-07 Robert Millan <rmh@aybabtu.com>
42194
42195 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42196 which instruction is modified by grub-setup during installation
42197 (since it wasn't obvious by only looking at this file).
42198
38ccf575 421992008-01-07 Robert Millan <rmh@aybabtu.com>
42200
42201 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42202 listing actual TODO items.
42203
f5db4291 422042008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42205
868967cf 42206 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42207 correctly.
42208 (grub_reiserfs_get_key_offset): Likewise.
42209 (grub_reiserfs_set_key_offset): Likewise.
42210 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42211 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42212
42213 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42214 better to remove the bitfield version completely.
f19dbdb7 42215
868967cf 422162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42217
f5db4291 42218 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42219 allocated from the heap, due to the fshelp implementation.
42220 (grub_reiserfs_dir): Free NODE, due to the same reason.
42221
492e6d9d 422222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42223
42224 Mostly from Vincent Pelletier:
f19dbdb7 42225
492e6d9d 42226 * fs/reiserfs.c: New file.
f19dbdb7 42227
492e6d9d 42228 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42229 (reiserfs_mod_SOURCES): New variable.
42230 (reiserfs_mod_CFLAGS): Likewise.
42231 (reiserfs_mod_LDFLAGS): Likewise.
42232
42233 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42234 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42235 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42236 normal/color.c.
42237
9ce3e7c1 422382008-01-06 Robert Millan <rmh@aybabtu.com>
42239
42240 * normal/color.c: Remove `<grub/env.h>'.
42241
f3b58148 422422008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42243
42244 * include/grub/normal.h: Include <grub/env.h>.
42245
7ac3bcfa 422462008-01-05 Robert Millan <rmh@aybabtu.com>
42247
42248 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42249 usage example with `(hd0,1)'.
fb358190 42250 Reported by Samuel Thibault.
7ac3bcfa 42251
c8ee99d7 422522008-01-05 Robert Millan <rmh@aybabtu.com>
42253
42254 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42255 (grub_linux_boot_zimage): Rename to ...
42256 (grub_linux_boot): ... this.
42257 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42258 (grub_linux_boot_zimage): Conditionalize zImage copy.
42259
42260 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42261 (grub_linux_boot_bzimage): Remove prototype.
42262 (grub_linux_boot_zimage): Rename to ...
42263 (grub_linux_boot): ... this.
42264
42265 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42266 (grub_linux_boot): Remove function.
42267
0ece25b1 422682008-01-05 Robert Millan <rmh@aybabtu.com>
42269
42270 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42271 (grub_env_write_color_highlight): Likewise.
42272 (grub_wait_after_message): Likewise.
42273
42274 * normal/color.c: New file.
42275
42276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42277 (normal_mod_DEPENDENCIES): Likewise.
42278
42279 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42280 (normal_mod_DEPENDENCIES): Likewise.
42281
42282 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42283 (normal_mod_DEPENDENCIES): Likewise.
42284
42285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42286 (normal_mod_DEPENDENCIES): Likewise.
42287
42288 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42289 for waiting after a message is printed.
42290 * normal/main.c (read_config_file): Likewise.
42291 (grub_normal_init): Register grub_env_write_color_normal() and
42292 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42293 `color_highlight' variables as global.
42294
42295 * normal/menu.c (grub_wait_after_message): New function.
42296 (grub_color_menu_normal): New variable. Replaces ...
42297 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42298 (grub_color_menu_highlight): New variable. Replaces ...
42299 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42300 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42301 `GRUB_TERM_COLOR_STANDARD'.
42302 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42303 `normal_code' and `highlight_code' to `old_color_normal' and
42304 `old_color_highlight', respectively.
42305 (grub_menu_init_page): Update colors when drawing the menu, based on
42306 `menu_color_normal' and `menu_color_highlight' variables.
42307 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42308 a message is printed.
42309
182dd4e5 423102008-01-05 Robert Millan <rmh@aybabtu.com>
42311
42312 * kern/env.c (grub_env_context_open): Propagate hooks for global
42313 variables to new context.
42314
42315 * kern/main.c (grub_set_root_dev): Export `root' variable.
42316
ddf8f6ad 423172008-01-05 Robert Millan <rmh@aybabtu.com>
42318
42319 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42320 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42321 them.
42322
d8b43d9b 423232008-01-05 Robert Millan <rmh@aybabtu.com>
42324
42325 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42326
2bff2de3 423272008-01-04 Christian Franke <franke@computer.org>
42328
42329 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42330 of eisa_mmap.
42331
97eab917 423322008-01-03 Pavel Roskin <proski@gnu.org>
42333
42334 * kern/i386/linuxbios/init.c: Put "void" to all function
42335 declarations with no arguments.
42336 * kern/powerpc/ieee1275/init.c: Likewise.
42337 * term/i386/pc/at_keyboard.c: Likewise.
42338 * term/i386/pc/vga_text.c: Likewise.
42339 * util/grub-mkdevicemap.c: Likewise.
42340
b9416d00 423412008-01-02 Robert Millan <rmh@aybabtu.com>
42342
42343 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42344 message when loaded image is out of bounds.
42345 (grub_multiboot_load_elf64): Likewise.
42346
92695df9 423472008-01-02 Pavel Roskin <proski@gnu.org>
42348
42349 * util/grub.d/10_linux.in: Try version without ".old" when
42350 looking for initrd. It's better to use initrd from the newer
42351 kernel of the same version than no initrd at all.
42352
d98d9cad 423532008-01-01 Robert Millan <rmh@aybabtu.com>
42354
42355 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42356
dbfdce36 423572008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42358
f19dbdb7 42359 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42360 grub_video_get_active_render_target.
42361 (grub_video_adapter): Added unmap_color and get_active_render_target.
42362
f19dbdb7 42363 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42364 grub_video_get_active_render_target.
42365 (grub_video_get_info): Changed method to accept NULL pointer as an
42366 argument to allow detection of active video adapter.
42367
42368 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42369 grub_video_vbe_unmap_color_int.
42370 Added grub_video_vbe_unmap_color and
42371 grub_video_vbe_get_active_render_target.
42372 (grub_video_vbe_adapter): Added unmap_color and
42373 get_active_render_target.
42374
f19dbdb7 42375 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42376 with grub_video_vbe_unmap_color_int.
42377
42378 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42379 (DEFAULT_NORMAL_COLOR): Likewise.
42380 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42381 (DEFAULT_FG_COLOR): Removed.
42382 (DEFAULT_BG_COLOR): Likewise.
42383 (DEFAULT_CURSOR_COLOR): Changed value.
42384 (grub_virtual_screen): Added standard_color_setting,
42385 normal_color_setting, highlight_color_setting and term_color.
42386 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42387 (bitmap_width): Added.
42388 (bitmap_height): Likewise.
42389 (bitmap): Likewise.
42390 (set_term_color): Likewise.
42391 (grub_virtual_screen_setup): Changed to use new terminal coloring
42392 settings.
42393 (grub_gfxterm_init): Added init for bitmap.
42394 (grub_gfxterm_fini): Added destroy for bitmap.
42395 (redraw_screen_rect): Updated to use background bitmap and new
42396 terminal coloring.
42397 (scroll_up): Added optimization for case when there is no bitmap.
42398 (grub_gfxterm_cls): Fixed to use correct background color.
42399 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42400 coloring.
42401 (grub_virtual_screen_setcolor): Likewise.
42402 (grub_virtual_screen_getcolor): Added.
42403 (grub_gfxterm_background_image_cmd): Likewise.
42404 (grub_video_term): Added setcolor and getcolor.
42405 (MOD_INIT): Added registration of background_image command.
42406 (MOD_TERM): Added unregistration for background_image command.
42407
c3c20931 424082007-12-30 Pavel Roskin <proski@gnu.org>
42409
42410 * loader/multiboot_loader.c: Fix multiboot command
42411 unregistration. Fix all typos in the word "multiboot".
42412
df266716 424132007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42414
42415 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42416 support for initrd names used in Fedora.
42417
fc6e896c 424182007-12-26 Bean <bean123ch@gmail.com>
42419
42420 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42421 (cpio_mod_SOURCES): New variable.
42422 (cpio_mod_CFLAGS): Likewise.
42423 (cpio_mod_LDFLAGS): Likewise.
42424
42425 * fs/cpio.c: New file.
42426
42427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42428
42429 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42430
42431 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42432
42433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42434
533110ad 424352007-12-25 Robert Millan <rmh@aybabtu.com>
42436
42437 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42438 (grub_getcolor): New function.
42439
42440 * kern/term.c (grub_getcolor): New function.
42441 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42442 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42443 (print_entry): Set normal and highlight colors to
42444 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42445 respectively, before printing and restore them to old
42446 values afterwards.
42447 (grub_menu_init_page): Likewise. Fill an additional colored space
42448 that would otherwise be left blank.
42449
42450 * term/efi/console.c (grub_console_getcolor): New function.
42451 (struct grub_console_term.getcolor): New variable.
42452 * term/i386/pc/console.c (grub_console_getcolor): New function.
42453 (struct grub_console_term.getcolor): New variable.
42454 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42455 (struct grub_console_term.getcolor): New variable.
42456
42457 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42458 (struct grub_console_term.setcolor): Remove variable.
42459 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42460 (struct grub_console_term.setcolor): Remove variable.
42461 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42462 (struct grub_console_term.setcolor): Remove variable.
42463 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42464 (struct grub_console_term.setcolor): Remove variable.
42465
4931827f 424662007-12-25 Robert Millan <rmh@aybabtu.com>
42467
42468 * configure.ac: Search for possible unifont.hex locations, and
42469 define UNIFONT_HEX if found.
42470
42471 * Makefile.in (UNIFONT_HEX): Define variable.
42472 (DATA): Rename to ...
42473 (PKGLIB): ... this. Update all users.
42474 (PKGDATA): New variable.
42475 (pkgdata_IMAGES): Rename to ...
42476 (pkglib_IMAGES): ... this. Update all users.
42477 (pkgdata_MODULES): Rename to ...
42478 (pkglib_MODULES): ... this. Update all users.
42479 (pkgdata_PROGRAMS): Rename to ...
42480 (pkglib_PROGRAMS): ... this. Update all users.
42481 (pkgdata_DATA): Rename to ...
42482 (pkglib_DATA): ... this. Update all users.
42483 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42484 (unicode.pff, ascii.pff): New rules.
42485 (all-local): Add `$(PKGDATA)' dependency.
42486 (install-local): Process `$(PKGDATA)'.
42487
42488 * util/update-grub_lib.in (font_path): Search for *.pff files in
42489 a few more locations, including `${pkgdata}'.
42490
57e57e31 424912007-12-23 Robert Millan <rmh@aybabtu.com>
42492
42493 Patch from Bean <bean123ch@gmail.com>:
42494 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42495 `size'.
42496
4bc72aa9 424972007-12-21 Bean <bean123ch@gmail.com>
42498
42499 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42500 (ntfscomp_mod_SOURCES): New variable.
42501 (ntfscomp_mod_CFLAGS): Likewise.
42502 (ntfscomp_mod_LDFLAGS): Likewise.
42503
42504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42505 (grub_probe_SOURCES): Likewise.
42506 (grub_emu_SOURCES): Likewise.
42507
42508 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42509 (grub_emu_SOURCES): Likewise.
42510
42511 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42512 (grub_emu_SOURCES): Likewise.
42513
42514 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42515 (grub_emu_SOURCES): Likewise.
42516
42517 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42518 (read_run_list): Renamed to grub_ntfs_read_run_list.
42519 (decomp_nextvcn): Moved to ntfscomp.c.
42520 (decomp_getch): Likewise.
42521 (decomp_get16): Likewise.
42522 (decomp_block): Likewise.
42523 (read_block): Likewise.
42524 (read_data): Partially moved to ntfscomp.c.
42525 (fixup): Change unsigned to grub_uint16_t.
42526 (read_mft): Change unsigned long to grub_uint32_t.
42527 (read_attr): Likewise.
42528 (read_data): Likewise.
42529 (read_run_data): Likewise.
42530 (read_run_list): Likewise.
42531 (read_mft): Likewise.
42532
42533 * fs/ntfscomp.c: New file.
42534
42535 * include/grub/ntfs.h: New file.
42536
af680a87 425372007-12-16 Robert Millan <rmh@aybabtu.com>
42538
42539 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42540 IDE disk check, since Linux is known to support 20 IDE disks.
42541 Reported by Colin Watson.
42542
84be7599 425432007-12-15 Bean <bean123ch@gmail.com>
42544
42545 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42546 (lnxboot_img_SOURCES): New variable.
42547 (lnxboot_img_ASFLAGS): Likewise.
42548 (lnxboot_img_LDFLAGS): Likewise.
42549
42550 * boot/i386/pc/lnxboot.S: New file.
42551
6af9db01 425522007-11-24 Pavel Roskin <proski@gnu.org>
42553
42554 * configure.ac: Test if '--build-id=none' is supported by the
42555 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42556 objcopy to generate incorrect binary files (binutils
42557 2.17.50.0.18-1 as shipped by Fedora 8).
42558 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42559 linking, so that build ID doesn't break the test.
42560
7361cfe6 425612007-11-24 Pavel Roskin <proski@gnu.org>
42562
42563 * include/grub/i386/time.h: use "void" in the argument list
42564 of grub_cpu_idle().
42565 * include/grub/powerpc/time.h: Likewise.
42566 * include/grub/sparc64/time.h: Likewise.
42567
1593e10c 425682007-11-18 Christian Franke <franke@computer.org>
42569
42570 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42571 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42572 This fixes the problem that function keys did not work in grub-emu.
42573
3b8db1a8 425742007-11-18 Christian Franke <franke@computer.org>
42575
42576 * disk/host.c (grub_host_open): Remove attribute unused from
42577 name parameter. Add check for "host". This fixes the problem
42578 that grub-emu does not find partitions.
42579
2e29408d 425802007-11-18 Christian Franke <franke@computer.org>
42581
42582 * util/hostfs.c (is_dir): New function.
42583 (grub_hostfs_dir): Handle missing dirent.d_type case.
42584 (grub_hostfs_read): Add missing fseek().
42585 (grub_hostfs_label): Clear label pointer. This fixes a crash
42586 of grub-emu on "ls (host)".
42587
398cd047 425882007-11-18 Christian Franke <franke@computer.org>
42589
42590 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42591 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42592 to 64 bit boundary by default.
42593
c405c391 425942007-11-18 Bean <bean123ch@gmail.com>
42595
42596 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42597 (hexdump_mod_SOURCES): New variable.
42598 (hexdump_mod_CFLAGS): Likewise.
42599 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42600
c405c391 42601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42602
42603 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42604
42605 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42606
42607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42608
42609 * include/grub/hexdump.h: New file.
42610
42611 * commands/hexdump.c: New file.
42612
5cced7fd 426132007-11-10 Robert Millan <rmh@aybabtu.com>
42614
42615 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42616 in grub_outb() calls.
42617 (beep_on): Likewise.
42618
8b714eb0 426192007-11-10 Christian Franke <franke@computer.org>
42620
42621 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42622 (grub_menu_run): Likewise.
42623
ce0f1839 426242007-11-10 Robert Millan <rmh@aybabtu.com>
42625
42626 * include/grub/i386/efi/machine.h: New file.
42627 * include/grub/i386/linuxbios/machine.h: Likewise.
42628 * include/grub/i386/pc/machine.h: Likewise.
42629 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42630 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42631
42632 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42633 (serial_hw_io_addr): New variable.
42634 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42635 instead of `(unsigned short *) 0x400'.
42636
270c237d 426372007-11-10 Bean <bean123ch@gmail.com>
42638
42639 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42640
a87783bf 426412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42642
42643 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42644 (vga_mod_SOURCES): Added.
42645 (vga_mod_CFLAGS): Likewise.
42646 (vga_mod_LDFLAGS): Likewise.
42647
42648 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42649 grub_outb() calls.
42650 (set_map_mask): Likewise.
42651 (set_read_map): Likewise.
42652 (set_read_address): Likewise.
42653 (vga_font): Removed variable.
42654 (get_vga_glyph): Removed function.
42655 (invalidate_char): Likewise.
42656 (write_char): Changed to use grub_font_get_glyph() for font
42657 information.
42658 (grub_vga_putchar): Likewise.
42659 (grub_vga_getcharwidth): Likewise.
42660
6433b448 426612007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42662
42663 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42664 flags.
42665 (pxeboot_img_LDFLAGS): Likewise.
42666 (diskboot_img_LDFLAGS): Likewise.
42667 (kernel_img_LDFLAGS): Likewise.
42668
49178511 426692007-11-06 Robert Millan <rmh@aybabtu.com>
42670
42671 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42672 in grub_outb() calls.
42673 (serial_hw_init): Likewise.
42674
53b052de 426752007-11-05 Robert Millan <rmh@aybabtu.com>
42676
42677 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42678 spaces. Skip non-regular files.
42679
5ab33bba 426802007-11-05 Robert Millan <rmh@aybabtu.com>
42681
42682 * kern/disk.c (grub_disk_firmware_fini)
42683 (grub_disk_firmware_is_tainted): New variables.
42684
42685 * include/grub/disk.h (grub_disk_firmware_fini)
42686 (grub_disk_firmware_is_tainted): Likewise.
42687
42688 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42689 (grub_disk_biosdisk_fini): ... to here.
42690 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42691 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42692 is set. Register grub_disk_biosdisk_fini() in
42693 `grub_disk_firmware_fini'.
42694
42695 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42696 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42697 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42698 to finish existing firmware disk interface.
42699
42700 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42701 (ata_mod_SOURCES): New variable.
42702 (ata_mod_CFLAGS): Likewise.
42703 (ata_mod_LDFLAGS): Likewise.
42704
0149ab7c 427052007-11-05 Robert Millan <rmh@aybabtu.com>
42706
42707 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42708 (grub_ata_wait): Reimplement using grub_millisleep().
42709
42710 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42711 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42712
be7ac41e 427132007-11-03 Marco Gerards <marco@gnu.org>
42714
42715 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42716 (CRTC_ADDR_PORT): New macro.
42717 (CRTC_DATA_PORT): Likewise.
42718 (CRTC_CURSOR): Likewise.
42719 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42720 (CRTC_CURSOR_ADDR_LOW): Likewise.
42721 (update_cursor): New function.
42722 (grub_console_real_putchar): Call `update_cursor'.
42723 (grub_console_gotoxy): Likewise.
42724 (grub_console_cls): Set the default color when clearing the
42725 screen.
42726 (grub_console_setcursor): Implemented.
42727
bb06ab2e 427282007-11-03 Marco Gerards <marco@gnu.org>
42729
42730 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42731 become activate.
42732 (grub_ata_pio_write): Likewise.
42733
42734 (grub_atapi_identify): Wait after issuing an ATA command.
42735 (grub_atapi_packet): Likewise.
42736 (grub_ata_identify): Likewise.
42737 (grub_ata_readwrite): Likewise.
42738
cf8f780b 427392007-11-03 Marco Gerards <marco@gnu.org>
42740
42741 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42742 (grub_ata_pio_write): Likewise.
42743 (grub_ata_readwrite): Use `grub_error', instead of
42744 returning `grub_errno'.
42745
ed649e54 427462007-11-03 Marco Gerards <marco@gnu.org>
42747
42748 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42749 grub_ata_pio_write once for every single sector, instead of for
42750 multiple sectors.
42751
ca25d8f0 427522007-10-31 Robert Millan <rmh@aybabtu.com>
42753
42754 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42755
42756 * conf/i386-linuxbios.rmk: New file.
42757
42758 * kern/i386/pc/hardware.c: Likewise.
42759 * term/i386/pc/at_keyboard.c: Likewise.
42760 * term/i386/pc/vga_text.c: Likewise.
42761
42762 * include/grub/i386/linuxbios/boot.h: Likewise.
42763 * include/grub/i386/linuxbios/console.h: Likewise.
42764 * include/grub/i386/linuxbios/init.h: Likewise.
42765 * include/grub/i386/linuxbios/kernel.h: Likewise.
42766 * include/grub/i386/linuxbios/loader.h: Likewise.
42767 * include/grub/i386/linuxbios/memory.h: Likewise.
42768 * include/grub/i386/linuxbios/serial.h: Likewise.
42769 * include/grub/i386/linuxbios/time.h: Likewise.
42770
42771 * kern/i386/linuxbios/init.c: Likewise.
42772 * kern/i386/linuxbios/startup.S: Likewise.
42773 * kern/i386/linuxbios/table.c: Likewise.
42774
e911ecc1 427752007-10-31 Marco Gerards <marco@gnu.org>
42776
42777 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42778 (ata_mod_SOURCES): New variable.
42779 (ata_mod_CFLAGS): Likewise.
42780 (ata_mod_LDFLAGS): Likewise.
42781
42782 * disk/ata.c: New file.
42783
42784 * include/grub/disk.h (grub_disk_dev_id): Add
42785 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42786
7f66d0e0 427872007-10-31 Robert Millan <rmh@aybabtu.com>
42788
42789 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42790 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42791
42792 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42793 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42794
42795 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42796 `<grub/types.h>'.
42797
42798 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42799
5cd7dd46 428002007-10-27 Robert Millan <rmh@aybabtu.com>
42801
3236ca65 42802 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42803
2ebfc90f 428042007-10-22 Robert Millan <rmh@aybabtu.com>
42805
42806 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42807 `"../realmode.S"'.
42808 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42809
73fcb0f3 428102007-10-22 Robert Millan <rmh@aybabtu.com>
42811
42812 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42813 (pkgdata_MODULES): Add `biosdisk.mod'.
42814 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42815 variables.
42816
42817 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42818 (grub_biosdisk_init): Replace with ...
42819 (GRUB_MOD_INIT(biosdisk)): ... this.
42820 (grub_biosdisk_fini): Replace with ...
42821 (GRUB_MOD_FINI(biosdisk)): ... this.
42822
42823 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42824 (grub_machine_init): Remove call to grub_biosdisk_init().
42825 (grub_machine_fini): Remove call to grub_machine_fini().
42826
42827 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42828
3381d274 428292007-10-22 Robert Millan <rmh@aybabtu.com>
42830
42831 * include/grub/time.h: New file.
42832 * include/grub/i386/time.h: Likewise.
42833 * include/grub/powerpc/time.h: Likewise.
42834 * include/grub/sparc64/time.h: Likewise.
42835
42836 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42837 instances to ...
42838 (KERNEL_MACHINE_TIME_HEADER): ... this.
42839 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42840 instances to ...
42841 (KERNEL_MACHINE_TIME_HEADER): ... this.
42842 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42843 instances to ...
42844 (KERNEL_MACHINE_TIME_HEADER): ... this.
42845
42846 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42847 (grub_millisleep): New function.
42848 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42849 (grub_millisleep): New function.
42850 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42851 Remove `grub/machine/time.h' include.
42852 (grub_millisleep): New function.
42853 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42854 Remove `grub/machine/time.h' include.
42855 (grub_millisleep): New function.
42856
42857 * include/grub/misc.h (grub_div_roundup): New function.
42858
42859 * kern/misc.c: Include `<grub/time.h>'.
42860 (grub_millisleep_generic): New function.
42861
42862 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42863 Add `time.h'.
42864 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42865 Add `time.h'.
42866 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42867 `machine/time.h'. Add `time.h'.
42868 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42869
a39a0312 428702007-10-21 Robert Millan <rmh@aybabtu.com>
42871
42872 * include/grub/misc.h (grub_max): New function.
42873
2aad70e2 428742007-10-21 Robert Millan <rmh@aybabtu.com>
42875
42876 * util/misc.c (grub_util_info): Call fflush() before returning.
42877
54b71c4b 428782007-10-20 Robert Millan <rmh@aybabtu.com>
42879
42880 * genmk.rb (Image): Copy `extra_flags' from here ...
42881 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42882
42883 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42884 to `argc' and `args' arguments.
42885
a979f513 428862007-10-17 Robert Millan <rmh@aybabtu.com>
42887
42888 * kern/i386/loader.S: New file.
42889
42890 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42891 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42892 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42893 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42894 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42895 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42896 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42897 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42898 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42899 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42900 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42901 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42902 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42903 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42904
42905 * kern/i386/realmode.S: New file.
42906
42907 * kern/i386/pc/startup.S (protstack): Moved from here ...
42908 * kern/i386/realmode.S (protstack)... to here.
42909 * kern/i386/pc/startup.S (gdt): Moved from here ...
42910 * kern/i386/realmode.S (gdt)... to here.
42911 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42912 * kern/i386/realmode.S (prot_to_real)... to here.
42913
42914 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42915 `kern/i386/realmode.S'.
42916
825fc8fd 429172007-10-17 Robert Millan <rmh@aybabtu.com>
42918
42919 * include/grub/i386/loader.h: New file.
42920
42921 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42922 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42923 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42924 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42925 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42926 * include/grub/i386/loader.h (grub_linux_prot_size)
42927 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42928 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42929 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42930 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42931
42932 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42933
e179b2f4 429342007-10-15 Robert Millan <rmh@aybabtu.com>
42935
42936 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42937 filesystem when dev->disk is unset.
42938 Do probe for filesystem even when dev->disk->has_partitions is set.
42939 In case a filesystem is found, always report it.
42940 In case it isn't, if dev->disk->has_partitions is set, report that
42941 a partition table was found instead of reporting that no filesystem
42942 could be identified.
42943
5db82af6 429442007-10-12 Robert Millan <rmh@aybabtu.com>
42945
42946 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42947 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42948
68f6ac74 42949 * include/grub/types.h (grub_host_to_target16): New macro.
42950 (grub_host_to_target32): Likewise.
42951 (grub_host_to_target64): Likewise.
42952 (grub_target_to_host16): Likewise.
42953 (grub_target_to_host32): Likewise.
42954 (grub_target_to_host64): Likewise.
5db82af6 42955
42956 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42957 Renamed from to ...
42958 (GRUB_MOD_ALIGN): ...this. Update all users.
42959
68f6ac74 42960 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42961 grub_host_to_target32.
42962 Replace grub_be_to_cpu32 with grub_target_to_host32.
42963 (load_modules): Likewise.
42964 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42965 Replace grub_be_to_cpu32 with grub_target_to_host32.
42966 Replace grub_cpu_to_be16 with grub_host_to_target16.
42967 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42968
3cf497cc 429692007-10-12 Robert Millan <rmh@aybabtu.com>
42970
42971 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42972 * util/elf/grub-mkimage.c: ... here.
42973
42974 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42975 `util/powerpc/ieee1275/grub-mkimage.c'.
42976
c8cc3692 429772007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42978
c8cc3692 42979 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42980 and make it easier to figure out.
42981 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42982 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42983 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42984 leave us with less than HEAP_MIN_SIZE total heap.
42985 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42986
5c58b791 429872007-10-03 Robert Millan <rmh@aybabtu.com>
42988
42989 * include/grub/i386/io.h: New file.
42990 * commands/i386/pc/play.c (inb): Removed.
42991 (outb): Removed.
42992 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42993 with grub_outb().
afcd2ef8 42994 * term/i386/pc/serial.c (inb): Removed.
42995 (outb): Removed.
42996 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42997 with grub_outb().
42998 * term/i386/pc/vga.c (inb): Removed.
42999 (outb): Removed.
43000 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43001 with grub_outb().
5c58b791 43002
1a477ed6 430032007-10-02 Robert Millan <rmh@aybabtu.com>
43004
43005 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43007 Reported by Marcin Kurek.
43008
6b5d80fa 430092007-09-07 Robert Millan <rmh@aybabtu.com>
43010
43011 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43012 SmartFirmware version updates (as released by Sven Luther), and avoid
43013 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43014 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43015 known broken.
43016
5618afbf 430172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43018
43019 From Hitoshi Ozeki:
43020 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43021 when merging two regions.
43022
6139dcd9 430232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43024
508e39ee 43025 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43026 * normal/completion.c (grub_normal_do_completion): Likewise.
43027 Reported by Hitoshi Ozeki.
43028
430292007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43030
6139dcd9 43031 Do not use devices at boot in chainloading.
f19dbdb7 43032
6139dcd9 43033 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43034 (boot_part_addr): Likewise.
43035 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43036 with BOOT_DRIVE and BOOT_PART_ADDR.
43037 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43038 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43039
38da6516 430402007-08-29 Robert Millan <rmh@aybabtu.com>
43041
43042 Patch from Simon Peter <dn.tlp@gmx.net>:
43043 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43044 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43045 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43046 util/i386/pc/grub-setup.c_DEPENDENCIES.
43047 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43048 util/grub-probe.c_DEPENDENCIES.
43049 * conf/powerpc-ieee1275.rmk: Likewise.
43050
29d0928c 430512007-08-28 Robert Millan <rmh@aybabtu.com>
43052
43053 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43054 to tell grub-mkdevicemap how to name devices.
43055 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43056 feature).
43057
43058 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43059 util/i386/get_disk_name.c.
43060 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43061 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43062 util/ieee1275/get_disk_name.c.
43063
43064 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43065
43066 * DISTLIST: Add util/i386/get_disk_name.c and
43067 util/ieee1275/get_disk_name.c.
43068
43069 * util/grub-mkdevicemap.c: Replace device naming logic with
43070 grub_util_get_disk_name() calls.
43071
5a0d3cca 430722007-08-20 Robert Millan <rmh@aybabtu.com>
43073
43074 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43075 (so that it works for both plural and singular quantities).
43076
8b72db2f 430772007-08-05 Robert Millan <rmh@aybabtu.com>
43078
43079 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43080 so that [xz] isn't taken into account when determining order.
43081
352466bf 430822007-08-02 Marco Gerards <marco@gnu.org>
43083
43084 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43085 `include/multiboot2.h', `include/grub/elfload.h',
43086 `include/multiboot.h', `include/grub/multiboot.h',
43087 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43088 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43089 `kern/elf.c', `loader/multiboot_loader.c',
43090 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43091 `loader/i386/pc/multiboot2.c',
43092 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43093 `util/i386/pc/grub-mkrescue.in'. Remove
43094 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43095 `include/grub/i386/pc/util/biosdisk.h' and
43096 `include/grub/powerpc/ieee1275/multiboot.h'.
43097
8f096014 430982007-08-02 Bean <bean123ch@gmail.com>
43099
43100 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43101 (ntfs_mod_SOURCES): New variable.
43102 (ntfs_mod_CFLAGS): Likewise.
43103 (ntfs_mod_LDFLAGS): Likewise.
43104
43105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43106 (grub_probe_SOURCES): Likewise.
43107 (grub_emu_SOURCES): Likewise.
43108
43109 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43110 (grub_emu_SOURCES): Likewise.
43111
43112 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43113 (grub_emu_SOURCES): Likewise.
f19dbdb7 43114
8f096014 43115 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43116
43117 * fs/ntfs.c: New file.
43118
9959f7db 431192007-08-02 Bean <bean123ch@gmail.com>
43120
43121 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43122
43123 * file.h (grub_file): Likewise.
43124
43125 * fshelp.h (grub_fshelp_read_file): Likewise.
43126
43127 * util/i386/pc/grub-setup.c (setup): Likewise.
43128 (save_first_sector): Likewise.
43129 (save_blocklists): Likewise.
f19dbdb7 43130
9959f7db 43131 * fs/affs.c (grub_affs_read_file): Likewise.
43132
43133 * fs/ext2.c (grub_ext2_read_file): Likewise.
43134
43135 * fs/fat.c (grub_fat_read_data): Likewise.
43136
43137 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43138
43139 * fs/hfs.c (grub_hfs_read_file): Likewise.
43140
43141 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43142
43143 * fs/jfs.c (grub_jfs_read_file): Likewise.
43144
43145 * fs/minix.c (grub_minix_read_file): Likewise.
43146
43147 * fs/sfs.c (grub_sfs_read_file): Likewise.
43148
43149 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43150
9959f7db 43151 * fs/xfs.c (grub_xfs_read_file): Likewise.
43152
43153 * command/blocklist.c (read_blocklist): Likewise.
43154 (print_blocklist): Likewise.
43155
0a203f83 431562007-08-02 Marco Gerards <marco@gnu.org>
43157
43158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43159 `util/hostfs.c'.
43160
43161 * disk/host.c: New file.
43162
43163 * util/hostfs.c: Likewise.
43164
43165 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43166 return `GRUB_ERR_BAD_FS'.
43167 * fs/sfs.c (grub_sfs_mount): Likewise.
43168 * fs/xfs.c (grub_xfs_mount): Likewise.
43169
43170 * include/grub/disk.h (enum grub_disk_dev_id): Add
43171 `GRUB_DISK_DEVICE_HOST_ID'.
43172
43173 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43174
e5dfe777 431752007-07-24 Jerone Young <jerone@gmail.com>
43176
f19dbdb7 43177 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43178 modules for compilation.
43179 * conf/powerpc-ieee1275.rmk: Likewise.
43180
43181 * include/multiboot.h: Move multiboot definitions to one file. Rename
43182 many definitions to not get grub specific.
43183 * include/multiboot2.h: Create header with multiboot 2 definitions.
43184 * include/grub/multiboot.h: Header for grub specific function
43185 prototypes and definitions.
43186 * include/grub/multiboot2.h: Likewise.
43187 * include/grub/multiboot_loader.h: Likewise.
43188 * include/grub/i386/pc/multiboot.h: Removed.
43189 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43190
43191 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43192 and 2 to allow for one multiboot and module commands.
43193 * loader/multiboot2.c: Add multiboot2 functionality.
43194 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43195 and definition names.
43196 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43197 2 functions.
43198 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43199 ieee1275 specific multiboot2 code.
43200
43201 * kern/i386/pc/startup.S: Change headers and definition names for
43202 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43203
daf0f0ba 432042007-07-22 Robert Millan <rmh@aybabtu.com>
43205
43206 * geninitheader.sh: Process file specified in first parameter rather
43207 than hardcoding grub_modules_init.lst.
fe6b695a 43208 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43209 than hardcoding grub_modules_init.h.
43210
43211 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43212 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43213 grub_probe_init.[ch] and grub_setup_init.[ch].
43214
43215 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43216 grub_modules_init.h with grub_emu_init.h.
43217 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43218 grub_probe_init.[ch] files.
43219 * conf/i386-efi.rmk: Likewise.
43220 * conf/i386-pc.rmk: Likewise.
43221 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43222 grub_setup_init.[ch] files.
43223
43224 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43225 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43226 to initialize modules rather than a list of hardcoded functions.
43227 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43228 grub_init_all() to initialize modules rather than a list of hardcoded
43229 functions.
43230
54cdc1cc 432312007-07-22 Robert Millan <rmh@aybabtu.com>
43232
43233 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43234 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43235
ad0686cc 432362007-07-22 Robert Millan <rmh@aybabtu.com>
43237
43238 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43239 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43240 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43241 flag when running on SmartFirmware.
43242 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43243 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43244 was set.
43245
43246 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43247 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43248 rather than decreasing it.
43249
43250 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43251 there's not enough space to do it, fail in the same way as when it
43252 can't be done because there are no partitions.
43253
43254 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43255 when nvsetenv failed.
43256
969c02ec 432572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43258
43259 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43260 because this rule is automatically generated.
43261 (grub-mkrescue): Removed for the same reason as above.
43262
5a79f472 432632007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43264
43265 Migrate to GNU General Public License Version 3.
f19dbdb7 43266
5a79f472 43267 * COPYING: Replaced with the plain text version of GPLv3.
43268
43269 * config.guess: Updated from gnulib.
43270 * config.sub: Likewise.
43271
43272 * geninit.sh: Output a GPLv3 copyright notice.
43273 * geninitheader.sh: Likewise.
43274 * genmodsrc.sh: Likewise.
43275 * gensymlist.sh.in: Likewise.
43276
43277 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43278 * boot/i386/pc/diskboot.S: Likewise.
43279 * boot/i386/pc/pxeboot.S: Likewise.
43280 * commands/blocklist.c: Likewise.
43281 * commands/boot.c: Likewise.
43282 * commands/cat.c: Likewise.
43283 * commands/cmp.c: Likewise.
43284 * commands/configfile.c: Likewise.
43285 * commands/echo.c: Likewise.
43286 * commands/help.c: Likewise.
43287 * commands/ls.c: Likewise.
43288 * commands/search.c: Likewise.
43289 * commands/terminal.c: Likewise.
43290 * commands/test.c: Likewise.
43291 * commands/videotest.c: Likewise.
43292 * commands/i386/cpuid.c: Likewise.
43293 * commands/i386/pc/halt.c: Likewise.
43294 * commands/i386/pc/play.c: Likewise.
43295 * commands/i386/pc/reboot.c: Likewise.
43296 * commands/i386/pc/vbeinfo.c: Likewise.
43297 * commands/i386/pc/vbetest.c: Likewise.
43298 * commands/ieee1275/halt.c: Likewise.
43299 * commands/ieee1275/reboot.c: Likewise.
43300 * commands/ieee1275/suspend.c: Likewise.
43301 * disk/loopback.c: Likewise.
43302 * disk/lvm.c: Likewise.
43303 * disk/raid.c: Likewise.
43304 * disk/efi/efidisk.c: Likewise.
43305 * disk/i386/pc/biosdisk.c: Likewise.
43306 * disk/ieee1275/ofdisk.c: Likewise.
43307 * font/manager.c: Likewise.
43308 * fs/affs.c: Likewise.
43309 * fs/ext2.c: Likewise.
43310 * fs/fat.c: Likewise.
43311 * fs/fshelp.c: Likewise.
43312 * fs/hfs.c: Likewise.
43313 * fs/hfsplus.c: Likewise.
43314 * fs/iso9660.c: Likewise.
43315 * fs/jfs.c: Likewise.
43316 * fs/minix.c: Likewise.
43317 * fs/sfs.c: Likewise.
43318 * fs/ufs.c: Likewise.
43319 * fs/xfs.c: Likewise.
43320 * hello/hello.c: Likewise.
43321 * include/grub/acorn_filecore.h: Likewise.
43322 * include/grub/arg.h: Likewise.
43323 * include/grub/bitmap.h: Likewise.
43324 * include/grub/boot.h: Likewise.
43325 * include/grub/cache.h: Likewise.
43326 * include/grub/device.h: Likewise.
43327 * include/grub/disk.h: Likewise.
43328 * include/grub/dl.h: Likewise.
43329 * include/grub/elfload.h: Likewise.
43330 * include/grub/env.h: Likewise.
43331 * include/grub/err.h: Likewise.
43332 * include/grub/file.h: Likewise.
43333 * include/grub/font.h: Likewise.
43334 * include/grub/fs.h: Likewise.
43335 * include/grub/fshelp.h: Likewise.
43336 * include/grub/gzio.h: Likewise.
43337 * include/grub/hfs.h: Likewise.
43338 * include/grub/kernel.h: Likewise.
43339 * include/grub/loader.h: Likewise.
43340 * include/grub/lvm.h: Likewise.
43341 * include/grub/misc.h: Likewise.
43342 * include/grub/mm.h: Likewise.
43343 * include/grub/net.h: Likewise.
43344 * include/grub/normal.h: Likewise.
43345 * include/grub/parser.h: Likewise.
43346 * include/grub/partition.h: Likewise.
43347 * include/grub/pc_partition.h: Likewise.
43348 * include/grub/raid.h: Likewise.
43349 * include/grub/rescue.h: Likewise.
43350 * include/grub/script.h: Likewise.
43351 * include/grub/setjmp.h: Likewise.
43352 * include/grub/symbol.h: Likewise.
43353 * include/grub/term.h: Likewise.
43354 * include/grub/terminfo.h: Likewise.
43355 * include/grub/tparm.h: Likewise.
43356 * include/grub/types.h: Likewise.
43357 * include/grub/video.h: Likewise.
43358 * include/grub/efi/api.h: Likewise.
43359 * include/grub/efi/chainloader.h: Likewise.
43360 * include/grub/efi/console.h: Likewise.
43361 * include/grub/efi/console_control.h: Likewise.
43362 * include/grub/efi/disk.h: Likewise.
43363 * include/grub/efi/efi.h: Likewise.
43364 * include/grub/efi/pe32.h: Likewise.
43365 * include/grub/efi/time.h: Likewise.
43366 * include/grub/i386/linux.h: Likewise.
43367 * include/grub/i386/setjmp.h: Likewise.
43368 * include/grub/i386/types.h: Likewise.
43369 * include/grub/i386/efi/kernel.h: Likewise.
43370 * include/grub/i386/efi/loader.h: Likewise.
43371 * include/grub/i386/efi/time.h: Likewise.
43372 * include/grub/i386/pc/biosdisk.h: Likewise.
43373 * include/grub/i386/pc/boot.h: Likewise.
43374 * include/grub/i386/pc/chainloader.h: Likewise.
43375 * include/grub/i386/pc/console.h: Likewise.
43376 * include/grub/i386/pc/init.h: Likewise.
43377 * include/grub/i386/pc/kernel.h: Likewise.
43378 * include/grub/i386/pc/loader.h: Likewise.
43379 * include/grub/i386/pc/memory.h: Likewise.
43380 * include/grub/i386/pc/multiboot.h: Likewise.
43381 * include/grub/i386/pc/serial.h: Likewise.
43382 * include/grub/i386/pc/time.h: Likewise.
43383 * include/grub/i386/pc/vbe.h: Likewise.
43384 * include/grub/i386/pc/vbeblit.h: Likewise.
43385 * include/grub/i386/pc/vbefill.h: Likewise.
43386 * include/grub/i386/pc/vbeutil.h: Likewise.
43387 * include/grub/i386/pc/vga.h: Likewise.
43388 * include/grub/ieee1275/ieee1275.h: Likewise.
43389 * include/grub/ieee1275/ofdisk.h: Likewise.
43390 * include/grub/powerpc/libgcc.h: Likewise.
43391 * include/grub/powerpc/setjmp.h: Likewise.
43392 * include/grub/powerpc/types.h: Likewise.
43393 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43394 * include/grub/powerpc/ieee1275/console.h: Likewise.
43395 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43396 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43397 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43398 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43399 * include/grub/powerpc/ieee1275/time.h: Likewise.
43400 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43401 * include/grub/sparc64/libgcc.h: Likewise.
43402 * include/grub/sparc64/setjmp.h: Likewise.
43403 * include/grub/sparc64/types.h: Likewise.
43404 * include/grub/sparc64/ieee1275/console.h: Likewise.
43405 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43406 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43407 * include/grub/sparc64/ieee1275/time.h: Likewise.
43408 * include/grub/util/biosdisk.h: Likewise.
43409 * include/grub/util/getroot.h: Likewise.
43410 * include/grub/util/lvm.h: Likewise.
43411 * include/grub/util/misc.h: Likewise.
43412 * include/grub/util/raid.h: Likewise.
43413 * include/grub/util/resolve.h: Likewise.
43414 * io/gzio.c: Likewise.
43415 * kern/device.c: Likewise.
43416 * kern/disk.c: Likewise.
43417 * kern/dl.c: Likewise.
43418 * kern/elf.c: Likewise.
43419 * kern/env.c: Likewise.
43420 * kern/err.c: Likewise.
43421 * kern/file.c: Likewise.
43422 * kern/fs.c: Likewise.
43423 * kern/loader.c: Likewise.
43424 * kern/main.c: Likewise.
43425 * kern/misc.c: Likewise.
43426 * kern/mm.c: Likewise.
43427 * kern/parser.c: Likewise.
43428 * kern/partition.c: Likewise.
43429 * kern/rescue.c: Likewise.
43430 * kern/term.c: Likewise.
43431 * kern/efi/efi.c: Likewise.
43432 * kern/efi/init.c: Likewise.
43433 * kern/efi/mm.c: Likewise.
43434 * kern/i386/dl.c: Likewise.
43435 * kern/i386/efi/init.c: Likewise.
43436 * kern/i386/efi/startup.S: Likewise.
43437 * kern/i386/pc/init.c: Likewise.
43438 * kern/i386/pc/lzo1x.S: Likewise.
43439 * kern/i386/pc/startup.S: Likewise.
43440 * kern/ieee1275/ieee1275.c: Likewise.
43441 * kern/powerpc/cache.S: Likewise.
43442 * kern/powerpc/dl.c: Likewise.
43443 * kern/powerpc/ieee1275/cmain.c: Likewise.
43444 * kern/powerpc/ieee1275/crt0.S: Likewise.
43445 * kern/powerpc/ieee1275/init.c: Likewise.
43446 * kern/powerpc/ieee1275/openfw.c: Likewise.
43447 * kern/sparc64/cache.S: Likewise.
43448 * kern/sparc64/dl.c: Likewise.
43449 * kern/sparc64/ieee1275/init.c: Likewise.
43450 * kern/sparc64/ieee1275/openfw.c: Likewise.
43451 * loader/efi/chainloader.c: Likewise.
43452 * loader/efi/chainloader_normal.c: Likewise.
43453 * loader/i386/efi/linux.c: Likewise.
43454 * loader/i386/efi/linux_normal.c: Likewise.
43455 * loader/i386/pc/chainloader.c: Likewise.
43456 * loader/i386/pc/chainloader_normal.c: Likewise.
43457 * loader/i386/pc/linux.c: Likewise.
43458 * loader/i386/pc/linux_normal.c: Likewise.
43459 * loader/i386/pc/multiboot.c: Likewise.
43460 * loader/i386/pc/multiboot_normal.c: Likewise.
43461 * loader/powerpc/ieee1275/linux.c: Likewise.
43462 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43463 * normal/arg.c: Likewise.
43464 * normal/cmdline.c: Likewise.
43465 * normal/command.c: Likewise.
43466 * normal/completion.c: Likewise.
43467 * normal/execute.c: Likewise.
43468 * normal/function.c: Likewise.
43469 * normal/lexer.c: Likewise.
43470 * normal/main.c: Likewise.
43471 * normal/menu.c: Likewise.
43472 * normal/menu_entry.c: Likewise.
43473 * normal/misc.c: Likewise.
43474 * normal/parser.y: Likewise.
43475 * normal/script.c: Likewise.
43476 * normal/i386/setjmp.S: Likewise.
43477 * normal/powerpc/setjmp.S: Likewise.
43478 * normal/sparc64/setjmp.S: Likewise.
43479 * partmap/acorn.c: Likewise.
43480 * partmap/amiga.c: Likewise.
43481 * partmap/apple.c: Likewise.
43482 * partmap/gpt.c: Likewise.
43483 * partmap/pc.c: Likewise.
43484 * partmap/sun.c: Likewise.
43485 * term/gfxterm.c: Likewise.
43486 * term/terminfo.c: Likewise.
43487 * term/efi/console.c: Likewise.
43488 * term/i386/pc/console.c: Likewise.
43489 * term/i386/pc/serial.c: Likewise.
43490 * term/i386/pc/vesafb.c: Likewise.
43491 * term/i386/pc/vga.c: Likewise.
43492 * term/ieee1275/ofconsole.c: Likewise.
43493 * util/biosdisk.c: Likewise.
43494 * util/console.c: Likewise.
43495 * util/genmoddep.c: Likewise.
43496 * util/getroot.c: Likewise.
43497 * util/grub-emu.c: Likewise.
43498 * util/grub-mkdevicemap.c: Likewise.
43499 * util/grub-probe.c: Likewise.
43500 * util/lvm.c: Likewise.
43501 * util/misc.c: Likewise.
43502 * util/raid.c: Likewise.
43503 * util/resolve.c: Likewise.
43504 * util/update-grub.in: Likewise.
43505 * util/update-grub_lib.in: Likewise.
43506 * util/grub.d/00_header.in: Likewise.
43507 * util/grub.d/10_hurd.in: Likewise.
43508 * util/grub.d/10_linux.in: Likewise.
43509 * util/i386/efi/grub-install.in: Likewise.
43510 * util/i386/efi/grub-mkimage.c: Likewise.
43511 * util/i386/pc/grub-install.in: Likewise.
43512 * util/i386/pc/grub-mkimage.c: Likewise.
43513 * util/i386/pc/grub-mkrescue.in: Likewise.
43514 * util/i386/pc/grub-setup.c: Likewise.
43515 * util/i386/pc/misc.c: Likewise.
43516 * util/powerpc/ieee1275/grub-install.in: Likewise.
43517 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43518 * util/powerpc/ieee1275/misc.c: Likewise.
43519 * video/bitmap.c: Likewise.
43520 * video/video.c: Likewise.
43521 * video/i386/pc/vbe.c: Likewise.
43522 * video/i386/pc/vbeblit.c: Likewise.
43523 * video/i386/pc/vbefill.c: Likewise.
43524 * video/i386/pc/vbeutil.c: Likewise.
43525 * video/readers/tga.c: Likewise.
43526
3572d015 435272007-07-02 Robert Millan <rmh@aybabtu.com>
43528
43529 * conf/i386-efi.rmk: Replace obsolete reference to
43530 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43531 with util/getroot.c.
43532 * conf/powerpc-ieee1275.rmk: Likewise.
43533 * conf/sparc64-ieee1275.rmk: Likewise.
43534
43535 * util/grub-emu.c (main): Fix unchecked pointer handling.
43536
2c2a681b 435372007-07-02 Robert Millan <rmh@aybabtu.com>
43538
43539 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43540 invocation to fail, in order to support partition-less media.
43541
43542 * util/i386/pc/grub-install.in: Likewise.
43543
43544 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43545 which fs or partmap modules are needed (akin to its sister scripts).
43546
43547 Also use grub-probe to get rid of unportable /proc/mounts check.
43548
43549 Print the same informational message that the other scripts do, before
fe6b695a 43550 exiting.
2c2a681b 43551
6193defe 435522007-06-23 Robert Millan <rmh@aybabtu.com>
43553
fe6b695a 43554 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43555 a font file can be found and, if so, echo the GRUB path to it.
43556
43557 * util/update-grub.in: Handle multiple terminals depending on user
43558 input, platform availability and font file presence. Propagate
43559 variables of our findings to /etc/grub.d/ children.
43560
43561 * util/grub.d/00_header.in: Handle multiple terminals, based on
43562 environment setup by update-grub.
43563
eface1dc 435642007-06-23 Robert Millan <rmh@aybabtu.com>
43565
ba50d28f 43566 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43567
bf697e28 435682007-06-21 Robert Millan <rmh@aybabtu.com>
43569
43570 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43571 indicate end of data section in kernel image.
43572 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43573 GRUB_KERNEL_MACHINE_DATA_END.
43574
43575 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43576 space for it.
43577 * kern/i386/efi/startup.S: Likewise.
43578
43579 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43580 during image generation. Implement --prefix option to override this
43581 patch.
43582 * util/i386/efi/grub-mkimage.c: Likewise.
43583
43584 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43585 code to make path relative to its root into a separate function.
43586
43587 * util/i386/pc/grub-install.in: Use newly provided
43588 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43589 pass the result to grub-install --prefix.
43590
baa574b4 435912007-06-13 Robert Millan <rmh@aybabtu.com>
43592
43593 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43594 DEFAULT_DEVICE_MAP.
43595 * util/grub-emu.c: Use above definitions from misc.h instead of
43596 defining them.
43597 * util/grub-mkdevicemap.c: Likewise.
43598 * util/i386/pc/grub-setup.c: Likewise.
43599 * util/grub-probe.c: Likewise.
43600 (probe): Abort with grub_util_error() when either
43601 grub_guess_root_device or grub_util_get_grub_dev fails.
43602
0215dcbf 436032007-06-12 Robert Millan <rmh@aybabtu.com>
43604
43605 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43606 "pager" assignment.
43607 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43608 "pcdata".
43609 * util/grub-probe.c (probe): Likewise for "drive_name".
43610
8af2ab7b 436112007-06-11 Robert Millan <rmh@aybabtu.com>
43612
43613 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43614 not just the cdrom one.
43615
59d31694 436162007-06-11 Robert Millan <rmh@aybabtu.com>
43617
43618 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43619 Add --pkglibdir=DIR option to override pkglibdir.
43620 Mention --image-type=TYPE in help output.
43621 Fix --grub-mkimage (it was a no-op).
fe6b695a 43622 Abort gracefully when no parameter is given.
59d31694 43623
7ee367e4 436242007-06-11 Robert Millan <rmh@aybabtu.com>
43625
43626 * util/i386/pc/grub-mkrescue.in: New file.
43627 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43628 * Makefile.in: Handle bin_SCRIPTS.
43629
29b0ed46 436302007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43631
43632 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43633 list of video modes.
43634
c0f90770 436352007-06-06 Robert Millan <rmh@aybabtu.com>
43636
43637 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43638 file doesn't exist, or if it is in a filesystem grub can't read.
43639
43640 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43641 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43642 header comment to fit in 80 columns when the variables are resolved.
43643
43644 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43645 could be identified by update-grub. Remove redundant check for
fe6b695a 43646 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43647 handles that).
43648
fb36dc26 436492007-06-04 Robert Millan <rmh@aybabtu.com>
43650
43651 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43652
43653 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43654
43655 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43656
0c68c93e 436572007-06-04 Robert Millan <rmh@aybabtu.com>
43658
43659 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43660
43661 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43662 grub_apple_partition_map_fini.
43663
43664 * util/biosdisk.c
43665 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43666 to access >2 TiB disks).
43667
43668 Print disk->total_sectors with %llu instead of %lu, since this
43669 variable is always 64-bit (prevents wrong disk size from being displayed
43670 on either >2 TiB disk or big-endian CPU).
43671
43672 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43673 into a generic case that supports all (sane) partition maps.
43674
43675 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43676 breaks big-endian.
43677
43678 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43679 and grub_apple_partition_map_fini() after that.
43680
0f23eb74 436812007-06-01 Robert Millan <rmh@aybabtu.com>
43682
43683 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43684
43685 * util/grub.d/00_header.in: Only enable gfxterm when
43686 convert_system_path_to_grub_path() succeeds.
43687
42c71976 436882007-05-20 Robert Millan <rmh@aybabtu.com>
43689
43690 * util/update-grub_lib.in: New file.
43691 * DISTLIST: Add update-grub_lib.in.
43692 * conf/common.rmk: Generate update-grub_lib and install it in
43693 $(lib_DATA).
43694 * Makefile.in: Add install routine for $(lib_DATA).
43695
43696 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43697 function provided by update-grub_lib to support arbitrary paths of
43698 unifont.pff.
43699 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43700 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43701
5beb2291 437022007-05-19 Robert Millan <rmh@aybabtu.com>
43703
43704 * commands/i386/cpuid.c: New module.
43705 * DISTLIST: Add it.
43706 * conf/i386-efi.rmk: Enable cpuid.mod.
43707 * conf/i386-pc.rmk: Likewise.
43708
7262eca1 437092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43710
43711 * kern/disk.c (grub_disk_read): Check return value of
43712 grub_realloc().
43713
260ba823 437142007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43715
43716 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43717 arrays.
43718 * disk/raid.c (grub_raid_open): Likewise.
43719
1ecb6cf2 437202007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43721
43722 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43723 stack instead of on the heap.
43724
43725 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43726 before doing a read on it.
43727
43728 * configure.ac: Only use -fno-stack-protector for the target
43729 environment.
f19dbdb7 43730
21c8cbb1 437312007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43732
43733 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43734 __attribute_ ((unused)) to mode_type argument.
43735
43736 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43737
21c8cbb1 43738 * kern/misc.c (memcmp): Fix prototype.
43739
43740 * include/grub/partition.h [GRUB_UTIL]
43741 (grub_gpt_partition_map_init): Add prototype.
43742 (grub_gpt_partition_map_fini): Likewise.
43743
43744 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43745 at the right place.
43746
43747 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43748 (grub_fat_read_data): Likewise.
43749 (grub_fat_find_dir): Likewise.
43750
43751 * font/manager.c (find_glyph): Make table a const.
43752 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43753
849d55d3 437542007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43755
43756 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43757 code, first search for device in /dev/mapper, then in /dev.
43758 (grub_util_get_grub_dev): New function.
43759 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43760 prototype.
43761 * util/grub-probe.c (probe): Remove check for RAID, call
43762 grub_util_get_grub_dev() instead of
43763 grub_util_biosdisk_get_grub_dev().
43764 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43765 grub_util_biosdisk_get_grub_dev().
43766 * util/i386/pc/grub-setup.c (main): Likewise.
43767
8fff7c2f 437682007-05-16 Robert Millan <rmh@aybabtu.com>
43769
43770 * DISTLIST: Update for the latest changes.
43771 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43772 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43773 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43774 grub/util/biosdisk.h.
43775 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43776 grub/util/biosdisk.h.
43777
48e12b52 437782007-05-16 Robert Millan <rmh@aybabtu.com>
43779
43780 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43781
46b9d128 437822007-05-16 Robert Millan <rmh@aybabtu.com>
43783
43784 * util/i386/efi/grub-install.in: New.
43785 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43786 newly added grub-install.
43787 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43788 include.
43789 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43790 grub/util/biosdisk.h.
43791 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43792 grub/util/biosdisk.h.
43793
2d1a40a9 437942007-05-16 Robert Millan <rmh@aybabtu.com>
43795
43796 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43797 * include/grub/util/biosdisk.h: ... here.
43798 * util/i386/pc/biosdisk.c: Moved to ...
43799 * util/biosdisk.c: ... here.
43800 * util/i386/pc/getroot.c: Moved to ...
43801 * util/getroot.c: ... here.
43802 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43803 * util/grub-mkdevicemap.c: ... here.
43804 * util/i386/pc/grub-probe.c: Moved to ...
43805 * util/grub-probe.c: ... here.
43806
9e26e3bc 438072007-05-15 Robert Millan <rmh@aybabtu.com>
43808
43809 * util/update-grub.in: Remove duplicated line in grub.cfg header
43810 message.
43811
57f96397 438122007-05-13 Robert Millan <rmh@aybabtu.com>
43813
43814 * util/update-grub.in: Fix a few assumptions about the devices holding
43815 /, /boot and /boot/grub being the same.
43816 * util/grub.d/00_header.in: Likewise.
43817 * util/grub.d/10_hurd.in: Likewise.
43818 * util/grub.d/10_linux.in: Likewise.
43819
43820 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43821 patterns. Use that to define the `.old' suffix as older than `'.
43822
43823 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43824
43825 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43826 the grub.cfg header message.
43827
2e610d62 438282007-05-11 Robert Millan <rmh@aybabtu.com>
43829
43830 * util/update-grub.in: Create device.map if it doesn't already exist,
43831 before attempting to run grub-probe.
43832 Check for grub-probe and grub-mkdevicemap with the same code
43833 grub-install is using.
43834 Remove test mode.
43835
3f6a10ef 438362007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43837
43838 * Makefile.in: Add the datarootdir autoconf variable.
43839
02e7b75e 438402007-05-09 Robert Millan <rmh@aybabtu.com>
43841
43842 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43843 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43844
75f396cc 438452007-05-07 Robert Millan <rmh@aybabtu.com>
43846
43847 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43848 determine partition map module.
43849 * util/i386/pc/grub-install.in: Use this feature to decide which
43850 partition module to load, instead of hardcoding pc and gpt.
43851
da65cb36 438522007-05-07 Robert Millan <rmh@aybabtu.com>
43853
43854 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43855 source directory differs from build directory.
43856
b57d6a91 438572007-05-05 Robert Millan <rmh@aybabtu.com>
43858
43859 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43860 initialisation.
43861
509d00f1 438622007-05-05 Robert Millan <rmh@aybabtu.com>
43863
43864 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43865
c48f23ef 438662007-05-05 Robert Millan <rmh@aybabtu.com>
43867
43868 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43869 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43870
20b97658 438712007-05-05 Robert Millan <rmh@aybabtu.com>
43872
43873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43874 (grub_probe_SOURCES): Likewise.
43875 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43876 GPT and initialize dos_part and bsd_part accordingly.
43877 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43878 install_bsd_part.
43879 (main): Activate gpt module for use during partition identification,
43880 and deactivate it afterwards.
43881 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43882 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43883 partition identification, and deactivate it afterwards.
43884
99123174 438852007-05-05 Robert Millan <rmh@aybabtu.com>
43886
43887 * term/i386/pc/console.c (grub_console_fini): Call
43888 grub_term_set_current() before grub_term_unregister().
43889
ebd97f6e 438902007-05-04 Robert Millan <rmh@aybabtu.com>
43891
43892 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43893 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43894 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43895 and update-grub_DATA.
43896 * conf/common.rmk: Build and install update-grub components.
43897 * conf/common.mk: Regenerate.
43898 * util/update-grub.in: New. Core of update-grub.
43899 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43900 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43901 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43902 * util/grub.d/README: New. Document grub.d directory layout.
43903
b06a264d 439042007-05-01 Robert Millan <rmh@aybabtu.com>
43905
43906 * util/grub-emu.c: Move initialization functions
43907 grub_util_biosdisk_init() and grub_init_all() before
43908 grub_util_biosdisk_get_grub_dev(), which relies on them.
43909
41f0050e 439102007-04-19 Robert Millan <rmh@aybabtu.com>
43911
43912 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43913 it is used later.
43914
04582bb3 439152007-04-18 Jerone Young <jerone@gmail.com>
43916
f19dbdb7 43917 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43918 stanza.
43919
08db4632 439202007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43921
08db4632 43922 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43923 continue on and look for device node with real device name.
43924
801b76be 439252007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43926
fe6b695a 43927 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43928 ability.
43929 * Makefile.in: Add autoconf package transformation code.
43930 * util/i386/pc/grub-install.in: Likewise.
43931 * util/powerpc/ieee1275/grub-install.in: Likewise.
43932
6795c4e1 439332007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43934
43935 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43936 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43937 (EXT2_REVISION): Likewise.
43938 (EXT2_INODE_SIZE): Likewise.
43939 (struct grub_ext2_block_group): Added a missing member
43940 "used_dirs".
43941 (grub_ext2_read_inode): Divide by the inode size in a superblock
43942 instead of 128 to obtain INODES_PER_BLOCK.
43943 Use the macro EXT2_INODE_SIZE instead of directly using
43944 SBLOCK->INODE_SIZE.
43945
d70af616 439462007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43947
43948 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43949 superblock instead of the structure size to compute an
43950 offset. This fixes the problem that GRUB could not read a
43951 filesystem when inode size is different from 128-byte.
43952
3b801603 439532007-03-05 Marco Gerards <marco@gnu.org>
43954
43955 * normal/main.c (read_config_file): When "menu" is not set, create
43956 an initial context.
43957
4785bfe4 439582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43959
43960 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43961 (HEAP_LIMIT): New macro.
43962 (grub_claim_heap): Claim memory up to `heaplimit'.
43963
a0cbb023 439642007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43965
43966 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43967 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43968 (_start): Likewise.
43969 (grub_arch_modules_addr): Return address after `_end'.
43970 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43971 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43972 (add_segments): Calculate `_end' from phdr size and location.
43973 (ALIGN_UP): Moved to ...
43974 * include/grub/misc.h: here.
43975 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43976 New macro.
43977 (GRUB_IEEE1275_MODULE_BASE): Removed.
43978
fd7d8eba 439792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43980
43981 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43982 loop boundary.
43983
9b09e6fc 439842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43985
43986 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43987 All users updated.
43988 (grub_elf64_load_hook_t): Likewise.
43989 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43990 debug output.
43991
3ce27299 439922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43993
43994 * kern/mm.c: Update copyright.
43995 (grub_mm_debug): Correct syntax error.
43996 (grub_mm_dump_free): New function.
43997 (grub_debug_free): Call `grub_free'.
43998 * include/grub/mm.h: Update copyright.
43999 (grub_mm_dump_free): Add declaration.
44000
077d5fee 440012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44002
44003 * include/grub/ieee1275/ieee1275.h: Update copyright.
44004 * kern/powerpc/ieee1275/init.c: Likewise.
44005 * kern/powerpc/ieee1275/openfw.c: Likewise.
44006
44007 * loader/powerpc/ieee1275/linux.c: Likewise.
44008 * include/grub/elfload.h: Likewise.
44009 * kern/elf.c: Likewise.
44010 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44011 callers.
44012 (grub_elf64_load): Likewise.
44013 (grub_elf32_load_segment): Move to a nested function.
44014 (grub_elf64_load_segment): Likewise.
44015
dc946850 440162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44017
44018 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44019 prototype.
44020 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44021 (grub_heap_len): Likewise.
44022 (HEAP_SIZE): New macro.
44023 (grub_claim_heap): New function.
44024 (grub_machine_init): Don't claim heap directly. Call
44025 `grub_claim_heap'.
44026 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44027 (grub_available_iterate): New function.
44028
baa2a121 440292007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44030
44031 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44032 * configure.ac: Use it for testing the HOST and TARGET compilers.
44033
4fe9862e 440342006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44035
44036 * Makefile.in (enable_grub_emu): New variable.
44037 * configure.ac (--enable-grub-emu): New option.
44038 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44039 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44040 * conf/i386-pc.rmk: Likewise.
44041 * conf/powerpc-ieee1275.rmk: Likewise.
44042 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44043
a8aa5762 440442006-12-12 Marco Gerards <marco@gnu.org>
44045
44046 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44047
44048 * kern/env.c (grub_env_unset): Don't free the member `value' when
44049 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44050 pointer.
44051
44052 * normal/main.c (current_menu): Removed.
44053 (free_menu): Unset the `menu' environment variable.
44054 (grub_normal_menu_addentry): Make use of the environment variable
44055 `menu', instead of using the global `current_menu'. Allocate
44056 memory for the sourcecode of this entry.
44057 (read_config_file): New argument `nested', changed all callers.
44058 Only in the case of a new context, initialize a new menu. Set the
44059 `menu' environment variable.
44060 (grub_normal_execute): Don't set and unset the environment
44061 variable `menu' here anymore. Only free the menu when leaving the
44062 context.
44063
44064 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44065 leak.
44066
957b3a3e 440672006-12-11 Marco Gerards <marco@gnu.org>
44068
44069 * normal/menu_entry.c (run): Fix off by one bug so the last line
44070 is executed. Move the loader check to outside the loop.
44071
ef875714 440722006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44073
44074 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44075
4e739985 440762006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44077
44078 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44079 the number of sectors. Reported by Andrey Shuvikov
44080 <mr_hyro@yahoo.com>.
f19dbdb7 44081
790707f2 440822006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44083
44084 * kern/disk.c (grub_disk_read): When there is a read error, always
44085 try to read only the necessary data.
f19dbdb7 44086
790707f2 44087 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44088 disk/raid.c.
44089 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44090 prototype.
44091 [GRUB_UTIL] (grub_raid_fini): Likewise.
44092 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44093 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44094 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44095 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44096 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44097 and grub_raid_fini().
f19dbdb7 44098
03e58196 440992006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44100
44101 * include/grub/types.h (__unused): Rename to UNUSED.
44102 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44103 (grub_elf64_size): Likewise.
f19dbdb7 44104
ae4f23bf 441052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44106
44107 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44108 grub_error_push and grub_error_pop in the error-handling path.
44109 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44110 length.
44111
2166cc83 441122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44113
44114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44115 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44117 (kernel_elf_SOURCES): Likewise.
44118 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44119 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44120 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44121 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44122 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44123 (elf_mod_SOURCES): New variable.
44124 (elf_mod_CFLAGS): Likewise.
44125 (elf_mod_LDFLAGS): Likewise.
44126 * include/grub/types.h (__unused): New macro.
44127 * include/grub/elfload.h: New file.
44128 * kern/elf.c: Likewise.
44129 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44130 (ELF32_LOADMASK): New macro.
44131 (ELF64_LOADMASK): Likewise.
44132 (vmlinux): Removed.
44133 (grub_linux_load32): New function.
44134 (grub_linux_load64): Likewise.
44135 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44136 Use grub_elf_t instead of grub_file_t.
44137
a09d5aa5 441382006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44139
44140 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44141 `catch_result' to struct set_color_args.
44142
d976fc51 441432006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44144
44145 * normal/menu.c: Include grub/script.h.
44146 * normal/menu_entry.c: Likewise.
44147 * include/grub/normal.h: Do not include grub/script.h.
44148
67507549 441492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44150
44151 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44152
69203a99 441532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44154
44155 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44156 disk.
44157 (grub_disk_close): Print debug messages when closing a disk.
44158 (grub_disk_read): Print debug messages when disk read fails.
44159 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44160 filesystem type.
44161 * kern/partition.c: Include misc.h.
44162 (grub_partition_iterate): Print debug messages when detecting
44163 partition type.
44164
e2b8278c 441652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44166
44167 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44168 is negative.
44169 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44170
97b2f2ff 441712006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44172
44173 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44174 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44175
6555d655 441762006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44177
44178 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44179 instead of sizeof(lv). Patch by Michael Guntsche.
44180
4d42b77f 441812006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44182
44183 * disk/lvm.c: Rename VGS to VG_LIST.
44184 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44185 (grub_lvm_open): Likewise.
44186 Thanks to Michael Guntsche for finding this bug.
44187
5d74d927 441882006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44189
44190 * configure.ac (AC_INIT): Bumped to 1.95.
44191
a1bb27e4 441922006-10-14 Robert Millan <rmh@aybabtu.com>
44193
44194 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44195 with "/dev/.static/dev/md".
44196
e0994b8b 441972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44198
44199 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44200 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44201 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44202 DRIVE_NAME are always freed.
44203
44204 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44205 DOS_PART, as a DOS partition is counted from one instead of zero
44206 now. Reported by Robert Millan.
44207
ddd5cee9 442082006-10-14 Robert Millan <rmh@aybabtu.com>
44209
44210 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44211 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44212 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44213 string returned by grub_guess_root_device.
44214 * util/i386/pc/grub-setup.c: Likewise.
44215 * util/i386/pc/grub-probefs.c: Likewise.
44216
44217 * util/i386/pc/grub-probefs.c: Rename to ...
44218 * util/i386/pc/grub-probe.c: ... this.
44219 * DISTLIST: Remove grub-probefs, add grub-probe.
44220 * conf/i386-efi.rmk: Likewise.
44221 * conf/i386-pc.rmk: Likewise.
44222 * util/i386/pc/grub-install.in: Likewise.
44223
44224 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44225 choose which information we want to print.
44226
2b002173 442272006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44228
44229 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44230 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44231 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44232 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44233 video/readers/tga.c and video/i386/pc/vbeutil.c.
44234
442352006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44236
44237 Added support for RAID and LVM.
f19dbdb7 44238
2b002173 44239 * disk/lvm.c: New file.
44240 * disk/raid.c: Likewise.
44241 * include/grub/lvm.h: Likewise.
f19dbdb7 44242 * include/grub/raid.h: Likewise.
2b002173 44243 * include/grub/util/lvm.h: Likewise.
44244 * include/grub/util/raid.h: Likewise.
44245 * util/lvm.c: Likewise.
44246 * util/raid.c: Likewise.
44247
44248 * include/grub/disk.h (grub_disk_dev_id): Add
44249 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44250 (grub_disk_get_size): New prototype.
44251 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44252 returns a partition.
44253 (grub_disk_get_size): New function.
f19dbdb7 44254
2b002173 44255 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44256 verbatim if grub_install_dos_part is -2.
44257
44258 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44259 and LVM devices.
44260
44261 * util/i386/pc/grub-setup.c (setup): New argument
44262 MUST_EMBED. Force embedding of GRUB when the argument is
44263 true. Close FILE before returning.
44264 (main): Add support for RAID and LVM.
f19dbdb7 44265
2b002173 44266 * conf/common.rmk: Add RAID and LVM modules.
44267 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44268 util/lvm.c.
44269 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44270
44271 * kern/misc.c (grub_strstr): New function.
44272 * include/grub/misc.h (grub_strstr): New prototype.
44273
050548d0 442742006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44275
44276 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44277
da849d2d 442782006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44279
44280 * kern/misc.c (grub_strtoull): Guess the base only if not
44281 specified.
44282
97b2f2ff 442832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44284
44285 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44286 PowerMac support.
44287
97b2f2ff 442882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44289
44290 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44291
44292 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44293 Remove `flags' argument. All callers changed.
44294 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44295 (IEEE1275_IHANDLE_INVALID): New variable.
44296 (IEEE1275_CELL_INVALID): New variable.
44297 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44298 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44299 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44300 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44301 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44302 codes from Open Firmware. All callers updated.
44303 (grub_ieee1275_next_property): Directly return Open Firmware return
44304 code.
44305 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44306 Standardize error checking from `grub_ieee1275_get_property'.
44307 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44308 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44309
97b2f2ff 443102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44311
44312 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44313 `instance_to_package_args' to `instance_to_path_args'.
44314
44315 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44316 `grub_ieee1275_chosen'.
44317
44318 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44319 `grub_ieee1275_interpret'.
44320
97b2f2ff 443212006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44322
44323 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44324
97b2f2ff 443252006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44326
44327 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44328 (__cmpdi): Likewise.
44329
44330 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44331 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44332 `grub_ssize_t'.
44333
02bb8acc 44334 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44335
44336 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44337 to type `grub_ssize_t'.
44338 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44339
7f9a8531 443402006-09-22 Marco Gerards <marco@gnu.org>
44341
44342 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44343 newlines.
44344
b5ef1102 443452006-09-22 Marco Gerards <marco@gnu.org>
44346
44347 * commands/echo.c: New file.
44348
44349 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44350
44351 * conf/common.rmk (echo_mod_SOURCES): New variable.
44352 (echo_mod_CFLAGS): Likewise.
44353 (echo_mod_LDFLAGS): Likewise.
44354
2cff3677 443552006-09-22 Marco Gerards <marco@gnu.org>
44356
44357 * normal/main.c (get_line): Malloc memory instead of using
44358 preallocated memory. Removed the arguments `cmdline' and
44359 `max_len'. Updated all callers.
44360
6ba4688b 443612006-09-22 Marco Gerards <marco@gnu.org>
44362
44363 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44364 (normal_mod_DEPENDENCIES): Likewise.
44365
44366 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44367 (normal_mod_DEPENDENCIES): Likewise.
44368
44369 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44370
e02ac02c 443712006-09-22 Johan Rydberg <jrydberg@gnu.org>
44372
44373 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44374 programs.
44375 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44376 (normal_mod_DEPENDENCIES): Likewise.
44377 * conf/i386-pc.mk: Regenerate.
44378 * conf/i386-efi.mk: Likewise
44379 * conf/common.mk: Likewise.
44380 * conf/powerpc-ieee1275.mk: Likewise.
44381 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44382
8d252e44 443832006-09-22 Robert Millan <rmh@aybabtu.com>
44384
44385 Sync with i386 version.
44386 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44387 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44388
209bf7ac 443892006-09-21 Robert Millan <rmh@aybabtu.com>
44390
44391 Import from GRUB Legacy (lib/device.c):
44392 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44393 (init_device_map) [__linux__]: Add support for I2O devices.
44394
6b146090 443952006-09-14 Marco Gerards <marco@gnu.org>
44396
44397 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44398 `-melf_i386'.
44399
e38600a8 444002006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44401
44402 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44403 /boot/grub/*.lst.
78fa1790 44404
2952da5d 44405 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44406
2952da5d 44407 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44408 before adding it to device.map.
44409
01b82a64 444102006-08-15 Johan Rydberg <jrydberg@gnu.org>
44411
fe6b695a 44412 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44413 compiles a file; using the -MD option.
44414 * conf/common.mk: Regenerate.
44415 * conf/i386-pc.mk: Likewise.
44416 * conf/i386-efi.mk: Likewise.
44417 * conf/powerpc-ieee1275.mk: Likewise.
44418 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44419
1064790d 444202006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44421
44422 Move the prototypes of grub_setjmp and grub_longjmp to
44423 cpu/setjmp.h, so that each architecture may specify different
44424 attributes.
f19dbdb7 44425
1064790d 44426 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44427 (grub_longjmp): Likewise.
44428 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44429 (grub_longjmp): Likewise.
44430 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44431 (grub_longjmp): Likewise.
44432
44433 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44434 [!GRUB_UTIL] (grub_longjmp): Removed.
44435
29dda3ed 444362006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44437
44438 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44439 "color!" method does not return any value.
44440
ad2a06ed 444412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44442
44443 * include/grub/bitmap.h: New file.
44444
44445 * include/grub/i386/pc/vbeutil.h: Likewise.
44446
44447 * video/bitmap.c: Likewise.
44448
44449 * video/readers/tga.c: Likewise.
44450
44451 * video/i386/pc/vbeutil.c: Likewise.
44452
44453 * commands/videotest.c: Code cleanup and updated to reflect to new
44454 video API.
44455
44456 * term/gfxterm.c: Likewise.
44457
44458 * video/video.c: Likewise.
44459
44460 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44461 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44462 (bitmap_mod_SOURCES): New entry.
44463 (bitmap_mod_CFLAGS): Likewise.
44464 (bitmap_mod_LDFLAGS): Likewise.
44465 (tga_mod_SOURCES): Likewise.
44466 (tga_mod_CFLAGS): Likewise.
44467 (tga_mod_LDFLAGS): Likewise.
44468
44469 * include/grub/video.h (grub_video_blit_operators): New enum type.
44470 (grub_video_render_target): Changed as forward declaration and moved
44471 actual definition to be video driver specific.
44472 (grub_video_adapter.blit_bitmap): Added blitting operator.
44473 (grub_video_adapter.blit_render_target): Likewise.
44474 (grub_video_blit_bitmap): Likewise.
44475 (grub_video_blit_render_target): Likewise.
44476
44477 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44478 driver specific render target definition.
44479 (grub_video_vbe_map_rgba): Added driver internal helper.
44480 (grub_video_vbe_unmap_color): Updated to use
44481 grub_video_i386_vbeblit_info.
44482 (grub_video_vbe_get_video_ptr): Likewise.
44483
44484 * include/grub/i386/pc/vbeblit.h
44485 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44486 grub_video_i386_vbeblit_info.
44487 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44488 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44489 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44490 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44491 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44492 (grub_video_i386_vbeblit_index_index): Likewise.
44493 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44494 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44495 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44496 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44497 operator.
44498 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44499 operator.
44500
44501 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44502 include/grub/i386/pc/vbeblit.h.
44503
44504 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44505 Updated to use grub_video_i386_vbeblit_info.
44506 (grub_video_i386_vbefill_R8G8B8): Likewise.
44507 (grub_video_i386_vbefill_index): Likewise.
44508 (grub_video_i386_vbefill): Added generic filler.
44509
44510 * video/i386/pc/vbefill.c: Updated to reflect changes on
44511 include/grub/i386/pc/vbefill.h.
44512
44513 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44514 grub_video_i386_vbeblit_info.
44515 (grub_video_vbe_unmap_color): Likewise.
44516 (grub_video_vbe_blit_glyph): Likewise.
44517 (grub_video_vbe_scroll): Likewise.
44518 (grub_video_vbe_draw_pixel): Removed function.
44519 (grub_video_vbe_get_pixel): Likewise.
44520 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44521 updated code to use it.
44522 (common_blitter): Added common blitter for render target and bitmap.
44523 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44524 (grub_video_vbe_blit_render_target): Likewise.
44525
bc8c036d 445262006-07-30 Johan Rydberg <jrydberg@gnu.org>
44527
44528 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44529 is in text mode if there is no console control protocol instance
44530 available.
44531
684a8eff 445322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44533
44534 * include/grub/video.h: Code cleanup.
44535
44536 * include/grub/i386/pc/vbe.h: Likewise.
44537
44538 * video/i386/pc/vbe.c: Likewise.
44539
44540 * video/i386/pc/vbeblit.c: Likewise.
44541
44542 * video/i386/pc/vbefill.c: Likewise.
44543
44544 * video/video.c: Likewise. Also added more comments.
44545
5915059b 445462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44547
44548 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44549 (struct grub_biosdisk_dap): Likewise.
44550
44551 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44552 linkage settings for all functions.
44553
90ce5d56 445542006-07-12 Marco Gerards <marco@gnu.org>
44555
44556 * configure.ac (--enable-mm-debug): Fix typo.
44557
44558 * genkernsyms.sh.in: Use proper quoting for `CC'.
44559
43e7f879 445602006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44561
44562 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44563 (normal_mod_ASFLAGS): Remove "-m32".
44564
4889bdec 445652006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44566
44567 * util/misc.c: Include config.h.
44568 [!HAVE_MEMALIGN]: Do not include malloc.h.
44569 (grub_memalign): Use posix_memalign, if present. Then, use
44570 memalign, if present. Otherwise, emit an error.
44571
44572 * util/grub-emu.c: Do not include malloc.h.
44573
44574 * include/grub/util/misc.h: Include unistd.h. This is required for
44575 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44576 D. Eades III <hde@foobar-qux.org>.
44577
44578 * configure.ac (AC_GNU_SOURCE): Added.
44579 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44580 type.
44581
fd39d4da 445822006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44583
44584 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44585 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44586
b786f3b5 445872006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44588
44589 * include/grub/types.h (grub_host_addr_t): Rename to
44590 grub_target_addr_t.
44591 (grub_host_off_t): Rename to grub_target_off_t.
44592 (grub_host_size_t): Rename to grub_target_size_t.
44593 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44594 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44595
44596 * include/grub/kernel.h (struct grub_module_header): Change type
44597 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44598 (grub_module_info): Likewise.
f19dbdb7 44599
051988bb 446002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44601
44602 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44603 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44604 Velazquez <jesus.velazquez@gmail.com>.
44605
deae281b 446062006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44607
44608 Count partitions from 1 instead of 0 in the string representation
44609 of partitions. Still use 0-based internally.
f19dbdb7 44610
deae281b 44611 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44612 (sun_partition_map_iterate): Use grub_partition_t instead of
44613 struct grub_partition *. Cast DESC->START_CYLINDER to
44614 grub_uint64_t after converting the endian.
44615 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44616 (sun_partition_map_get_name): Add 1 to P->INDEX.
44617
44618 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44619 PCDATA->DOS_PART.
44620 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44621
44622 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44623 zero instead of one.
44624 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44625 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44626
44627 * partmap/apple.c (apple_partition_map_iterate): Change the type
44628 of POS to unsigned.
44629 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44630 (apple_partition_map_get_name): Add 1 into P->INDEX.
44631
44632 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44633 of POS to unsigned.
44634 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44635 calculate the offset of a partition.
44636 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44637 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44638
44639 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44640 SECTOR to grub_disk_addr_t.
44641 (acorn_partition_map_iterate): Likewise.
44642 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44643 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44644 top.
44645 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44646
44647 * kern/i386/pc/init.c (make_install_device): Add 1 into
44648 GRUB_INSTALL_DOS_PART.
44649
44650 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44651 conditional.
44652
524a1e6a 446532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44654
44655 Clean up the code to support 64-bit addressing in disks and
44656 files. This change is not enough for filesystems yet.
f19dbdb7 44657
524a1e6a 44658 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44659 type of "start" to grub_uint64_t.
44660 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44661 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44662 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44663 convert addresses.
44664
44665 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44666 to grub_disk_addr_t.
44667
44668 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44669 string.
44670
44671 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44672
44673 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44674 to char *.
44675
44676 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44677
44678 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44679
44680 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44681
44682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44683 to grub_off_t, to detect an error from grub_file_seek.
44684 (grub_multiboot_load_elf32): Likewise.
44685
44686 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44687 maximum unsigned long value when an overflow is detected.
44688 (grub_strtoull): New function.
44689 (grub_divmod64): Likewise.
44690 (grub_lltoa): use grub_divmod64.
44691
44692 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44693 grub_disk_addr_t.
44694 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44695 the pointer to next character. Use grub_strtoull instead of
44696 grub_strtoul.
44697 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44698 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44699 respectively.
44700
fe6b695a 44701 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44702 return value is signed.
44703 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44704 test if OFFSET is less than zero, as OFFSET is unsigned now.
44705
44706 * kern/disk.c (struct grub_disk_cache): Change the type of
44707 "sector" to grub_disk_addr_t.
44708 (grub_disk_cache_get_index): Change the type of SECTOR to
44709 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44710 unsigned after shifting.
44711 (grub_disk_cache_invalidate): Change the type of SECTOR to
44712 grub_disk_addr_t.
44713 (grub_disk_cache_unlock): Likewise.
44714 (grub_disk_cache_store): Likewise.
44715 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44716 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44717 grub_disk_addr_t and grub_uint64_t, respectively.
44718 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44719 body, as the value of OFFSET is tweaked by
44720 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44721 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44722 respectively.
44723 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44724 body, as the value of OFFSET is tweaked by
44725 grub_disk_check_range. Change the types of LEN and N to
44726 grub_size_t.
44727
44728 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44729 and "saved_offset" to grub_off_t.
44730 (test_header): Cast BUF to char *.
44731 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44732 to char *.
44733 (grub_gzio_read): Change the types of OFFSET and SIZE to
44734 grub_off_t and grub_size_t, respectively.
44735
44736 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44737 Removed.
44738 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44739 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44740 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44741 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44742 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44743
44744 * include/grub/types.h (grub_off_t): Unconditionally set to
44745 grub_uint64_t.
44746 (grub_disk_addr_t): Changed to grub_uint64_t.
44747
44748 * include/grub/partition.h (struct grub_partition): Change the
44749 types of "start", "len" and "offset" to grub_disk_addr_t,
44750 grub_uint64_t and grub_disk_addr_t, respectively.
44751 (grub_partition_get_start): Return grub_disk_addr_t.
44752 (grub_partition_get_len): Return grub_uint64_t.
44753
44754 * include/grub/misc.h (grub_strtoull): New prototype.
44755 (grub_divmod64): Likewise.
44756
44757 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44758 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44759 grub_off_t, respectively.
44760 All callers and references changed.
44761
44762 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44763 grub_size_t in "read".
44764 All callers and references changed.
44765
44766 * include/grub/file.h (struct grub_file): Change the types of
44767 "offset" and "size" to grub_off_t and grub_off_t,
44768 respectively. Change the type of SECTOR to grub_disk_addr_t in
44769 "read_hook".
44770 (grub_file_read): Change the type of LEN to grub_size_t.
44771 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44772 grub_off_t.
44773 (grub_file_size): Return grub_off_t.
44774 (grub_file_tell): Likewise.
44775 All callers and references changed.
44776
44777 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44778 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44779 "write".
44780 (struct grub_disk): Change the type of "total_sectors" to
44781 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44782 "read_hook".
524a1e6a 44783 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44784 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44785 (grub_disk_write): Likewise.
44786 All callers and references changed.
44787
44788 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44789 char * for grub_strncmp to silence gcc.
44790 (grub_iso9660_mount): Likewise.
44791 (grub_iso9660_mount): Likewise.
44792 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44793 return statement.
44794 (grub_iso9660_iterate_dir): Likewise.
44795 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44796
44797 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44798 LEN to grub_disk_addr_t and grub_size_t, respectively.
44799
44800 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44801
44802 * fs/jfs.c (grub_jfs_read_file): Likewise.
44803
44804 * fs/minix.c (grub_jfs_read_file): Likewise.
44805
44806 * fs/sfs.c (grub_jfs_read_file): Likewise.
44807
44808 * fs/ufs.c (grub_jfs_read_file): Likewise.
44809
44810 * fs/xfs.c (grub_jfs_read_file): Likewise.
44811
44812 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44813 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44814 respectively.
44815
44816 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44817 BLKNR to -1 instead of returning GRUB_ERRNO.
44818 (grub_ext2_read_file): Change the types of SECTOR and
44819 LEN to grub_disk_addr_t and grub_size_t, respectively.
44820
44821 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44822 LEN to grub_disk_addr_t and grub_size_t, respectively.
44823
44824 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44825 grub_file_read.
44826
44827 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44828 string. Do not cast SECTOR explicitly.
44829
44830 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44831 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44832 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44833 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44834 over 2TB and LBA mode is not supported, raise an error.
44835 (get_safe_sectors): New function.
44836 (grub_biosdisk_read): Use get_safe_sectors.
44837 (grub_biosdisk_write): Likewise.
44838
44839 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44840 (grub_efidisk_write): Likewise.
44841
44842 * disk/loopback.c (delete_loopback): Cosmetic changes.
44843 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44844 correctly.
44845 (grub_loopback_open): Likewise.
44846 (grub_loopback_read): Likewise. Also, change the type of POS to
44847 grub_off_t, and fix the usage of grub_memset.
44848
44849 * commands/i386/pc/play.c: Include grub/machine/time.h.
44850
44851 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44852 print FILE->SIZE.
44853
44854 * commands/configfile.c: Include grub/env.h.
44855
44856 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44857 GRUB_ERRNO directly instead. Change the type of POS to
44858 grub_off_t. Follow the coding standard.
44859
44860 * commands/blocklist.c: Include grub/partition.h.
44861 (grub_cmd_blocklist): Return an error if the underlying device is
44862 not a disk. Take the starting sector of a partition into account,
44863 if a partition is used.
44864
44865 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44866 a length field.
44867 (lba_mode): Support 64-bit addresses.
44868 (chs_mode): Likewise.
44869 (copy_buffer): Adapted to the new offsets of a length field and a
44870 segment field.
44871 (blocklist_default_start): Allocate 64-bit space.
44872
44873 * boot/i386/pc/boot.S (force_lba): Removed.
44874 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44875 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44876 space.
44877 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44878 is useless.
44879 (lba_mode): Refactored to support a 64-bit address. More size
44880 optimization.
44881 (setup_sectors): Likewise.
44882
53af98ad 448832006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44884
44885 * DISTLIST: Added include/grub/i386/linux.h. Removed
44886 include/grub/i386/pc/linux.h
44887
44888 * configure.ac (AC_INIT): Bumped to 1.94.
44889
44890 * config.guess: Updated from gnulib.
44891 * config.sub: Likewise.
44892 * install-sh: Likewise.
44893 * mkinstalldirs: Likewise.
44894
b4c1940a 448952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44896
44897 * conf/common.rmk (grub_modules_init.lst): Depended on
44898 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44899 MODSRCFILES.
44900
44901 * genmk.rb (PModule::rule): Reverted the previous change.
44902
cfca1cfd 449032006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44904
44905 * conf/common.rmk (grub_modules_init.lst): Depends on
44906 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44907 that the target does not exist before producing.
44908 (grub_modules_init.h): Remove the target before generating.
44909 (grub_emu_init.c): Likewise.
44910
44911 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44912
aa6d7826 449132006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44914
44915 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44916 for the target-specific tests. Make sure that we also have the
44917 up-to-date target variables for those tests.
44918
26c607b9 449192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44920
44921 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44922 (PModule::rule): Likewise.
44923
0162321a 449242006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44925
44926 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44927 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44928 target-specific flags should be prefixed.
44929 (PModule::rule): Likewise.
44930
6c826348 449312006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44932
44933 * configure.ac (CMP): Check if cmp is available explicitly.
44934
b977bf01 449352006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44936
44937 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44938 (target_cpu): New variable.
44939 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44940
b977bf01 44941 * util/i386/pc/grub-install.in (host_cpu): Removed.
44942 (target_cpu): New variable.
44943 (pkglibdir): Use target_cpu instead of host_cpu.
44944
44945 * util/genmoddep.c: Removed.
f19dbdb7 44946
b977bf01 44947 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44948 instead of GRUB_HOST_SIZEOF_VOID_P.
44949 * kern/dl.c: Likewise.
44950
44951 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44952 ...
44953 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44954 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44955 (GRUB_TARGET_SIZEOF_LONG): ... this.
44956 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44957 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44958 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44959 to ...
44960 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44961 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44962 (GRUB_TARGET_SIZEOF_LONG): ... this.
44963 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44964 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44965 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44966 to ...
44967 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44968 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44969 (GRUB_TARGET_SIZEOF_LONG): ... this.
44970 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44971 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44972
44973 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44974 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44975 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44976 instead of GRUB_HOST_SIZEOF_LONG.
44977 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44978 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44979 GRUB_CPU_WORDS_BIGENDIAN.
44980 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44981 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44982 grub_host_ssize_t.
44983
44984 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44985 (genmoddep_SOURCES): Likewise.
44986 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44987 (genmoddep_SOURCES): Likewise.
44988 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44989 (genmoddep_SOURCES): Likewise.
44990 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44991 Likewise.
44992 (genmoddep_SOURCES): Likewise.
44993
44994 * genmoddep.awk: New file.
44995
44996 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44997 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44998 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44999 (PModule::rule): Likewise.
45000 (Program::rule): Likewise.
45001 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45002 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45003 respectively.
45004
45005 * configure.ac: Rewritten intensively to use host and target
45006 instead of build and host, respectively.
45007
45008 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45009 (host_cpu): Removed.
45010 (target_cpu): New variable.
45011 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45012 (BUILD_CC): Removed.
45013 (BUILD_CFLAGS): Likewise.
45014 (BUILD_CPPFLAGS): Likewise.
45015 (TARGET_CC): New variable.
45016 (TARGET_CFLAGS): Likewise.
45017 (TARGET_CPPFLAGS): Likewise.
45018 (TARGET_LDFLAGS): Likewise.
45019 (AWK): Likewise.
45020 (include): Use target_cpu instead of host_cpu.
45021 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45022
b977bf01 45023 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45024
f09771a1 450252006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45026
45027 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45028 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45029 field 'false' to 'exec_on_false'.
45030 (grub_script_create_cmdif): Renamed argument names to reflect above
45031 changes.
45032
45033 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45034
45035 * normal/script.c (grub_script_create_cmdif): Likewise.
45036
118f4fb3 450372006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45038
45039 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45040 top.
45041 (grub_hfsplus_btree_recptr): Likewise.
45042 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45043 FILEBLOCK both to pass a block number and store next block
45044 number.
45045 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45046 overflow file correctly. Specify errors appropriately, because
45047 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45048 grub_hfsplus_btree_recptr to get the pointer to a found key.
45049 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45050 is found.
45051
45052 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45053 linux.mod.
45054 (_linux_mod_SOURCES): New variable.
45055 (_linux_mod_CFLAGS): Likewise.
45056 (_linux_mod_LDFLAGS): Likewise.
45057 (linux_mod_SOURCES): Likewise.
45058 (linux_mod_CFLAGS): Likewise.
45059 (linux_mod_LDFLAGS): Likewise.
45060
45061 * DISTLIST: Added loader/i386/efi/linux.c,
45062 loader/i386/efi/linux_normal.c and
45063 include/grub/i386/efi/loader.h.
45064
45065 * loader/i386/efi/linux.c: New file.
45066 * loader/i386/efi/linux_normal.c: Likewise.
45067 * include/grub/i386/efi/loader.h: Likewise.
45068
89a7d726 450692006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45070
45071 * commands/blocklist.c: New file.
45072
45073 * DISTLIST: Added commands/blocklist.c.
45074
45075 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45076 color for the background, and a darker color for the foreground.
89a7d726 45077 (grub_console_checkkey): Return READ_KEY.
45078 (grub_console_cls): Set the background to
45079 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45080
45081 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45082
45083 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45084 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45085
45086 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45087 prototype.
45088
45089 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45090 BG. The spec is wrong again.
45091
45092 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45093 prototype.
45094 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45095
45096 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45097 commands/blocklist.c.
45098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45099
89a7d726 45100 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45101 (blocklist_mod_SOURCES): New variable.
45102 (blocklist_mod_CFLAGS): Likewise.
45103 (blocklist_mod_LDFLAGS): Likewise.
45104
75c8f258 451052006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45106
45107 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45108 duplication.
45109 (lba_mode): Use %eax more intensively to reduce the code size.
45110
da2eb181 451112006-05-20 Marco Gerards <marco@gnu.org>
45112
45113 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45114
45115 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45116 for `menuentry'.
45117 (script): Accept leading newlines.
45118 (newlines): New rule to describe 0 or more newlines.
45119 (commands): Accept `command' with trailing newline. Fixed the
45120 order in which arguments were passed to `grub_script_add_cmd'.
45121 Accept commands separated by newlines.
45122 (function): Changed to accept newlines.
45123 (menuentry) Rewritten.
45124
45125 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45126 front of the list, instead of to the end.
45127
577b4050 451282006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45129
45130 * util/i386/pc/grub-install.in (bindir): New variable.
45131 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45132 Shaver <lbgwjl@gmail.com>.
45133
0d6e1189 451342006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45135
45136 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45137 grub/machine/linux.h
45138 * loader/i386/pc/linux.c: Likewise.
45139
45140 * include/grub/i386/pc/linux.h: Moved to ...
45141 * include/grub/i386/linux.h: ... here.
45142
45143 * include/grub/i386/linux.h (struct linux_kernel_params): New
45144 struct.
f19dbdb7 45145
31b86e9f 451462006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45147
45148 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45149 checking.
45150 (grub_video_vbe_blit_glyph): Likewise.
45151 (grub_video_vbe_blit_bitmap): Likewise.
45152 (grub_video_vbe_blit_render_target): Likewise.
45153
83b984de 451542006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45155
45156 * configure.ac (--with-platform): Properly quote the square
45157 brackets.
45158
5f0413bd 451592006-05-08 Marco Gerards <marco@gnu.org>
45160
45161 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45162 this...
45163 (kernel_elf_HEADERS): ...to this. Updated all users.
45164 (grubof_symlist.c): Renamed from this...
45165 (kernel_elf_symlist.c): ...to this. Updated all users.
45166 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45167 (grubof_SOURCES): Renamed from this...
45168 (kernel_elf_SOURCES): ...to this.
45169 (grubof_HEADERS): Renamed from this...
45170 (kernel_elf_HEADERS): ...to this.
45171 (grubof_CFLAGS): Renamed from this...
45172 (kernel_elf_CFLAGS): ...to this.
45173 (grubof_ASFLAGS): Renamed from this...
45174 (kernel_elf_ASFLAGS): ...to this.
45175 (grubof_LDFLAGS): Renamed from this...
45176 (kernel_elf_LDFLAGS): ...to this.
45177
45178 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45179 this...
45180 (kernel_elf_HEADERS): ...to this. Updated all users.
45181 (grubof_symlist.c): Renamed from this...
45182 (kernel_elf_symlist.c): ...to this. Updated all users.
45183 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45184 (grubof_SOURCES): Renamed from this...
45185 (kernel_elf_SOURCES): ...to this.
45186 (grubof_HEADERS): Renamed from this...
45187 (kernel_elf_HEADERS): ...to this.
45188 (grubof_CFLAGS): Renamed from this...
45189 (kernel_elf_CFLAGS): ...to this.
45190 (grubof_ASFLAGS): Renamed from this...
45191 (kernel_elf_ASFLAGS): ...to this.
45192 (grubof_LDFLAGS): Renamed from this...
45193 (kernel_elf_LDFLAGS): ...to this.
45194
45195 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45196 `kernel.elf' instead of `grubof'.
45197
05568c2e 451982006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45199
45200 Add --with-platform to configure. Use pkglibdir instead of
45201 pkgdatadir. This is reported by Roger Leigh.
45202
45203 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45204 (host_vendor): Likewise.
45205 (host_os): Likewise.
45206 (pkgdatadir): Likewise.
45207 (platform): New variable.
45208 (pkglibdir): Likewise.
45209 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45210
05568c2e 45211 * util/i386/pc/grub-install.in (datadir): Removed.
45212 (host_vendor): Likewise.
45213 (host_os): Likewise.
45214 (pkgdatadir): Likewise.
45215 (platform): New variable.
45216 (pkglibdir): Likewise.
45217 Use PKGLIBDIR instead of PKGDATADIR.
45218
45219 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45220 instead of GRUB_DATADIR.
45221 (main): Likewise.
45222 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45223 (main): Likewise.
45224 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45225 (main): Likewise.
45226
45227 * configure.ac (--with-platform): New option.
45228 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45229
45230 * Makefile.in: Include a makefile based on PLATFORM instead of
45231 HOST_VENDOR.
45232 (pkgdatadir): Not appended by the machine type.
45233 (pkglibdir): Appended by the machine type.
45234 (host_vendor): Removed.
45235 (platform): New variable.
45236 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45237 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45238 (uninstall): Likewise.
45239
4e93851c 452402006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45241
45242 Use the environment context in the menu. Remove the commands
45243 "default" and "timeout", and use variables instead.
f19dbdb7 45244
4e93851c 45245 * normal/menu.c: Include grub/env.h.
45246 (print_entry): Cast TITLE to silence gcc.
45247 (get_timeout): New function.
45248 (set_timeout): Likewise.
45249 (get_entry_number): Likewise.
45250 (run_menu): Use a default entry, a fallback entry and a timeout
45251 in the environment variables "default", "fallback" and
45252 "timeout". Also, tweak the default entry if it is not within the
45253 current menu entries.
45254 (grub_menu_run): Use a fallback entry in the environment variable
45255 "fallback".
45256
45257 * normal/main.c (read_config_file): Do not initialize
45258 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45259 NEWMENU->TIMEOUT.
45260 (grub_normal_execute): Use a data slot to store the menu.
45261
45262 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45263 fallback_entry and timeout.
45264 (struct grub_menu_list): Removed.
45265 (grub_menu_list_t): Likewise.
45266 (struct grub_context): Likewise.
45267 (grub_context_t): Likewise.
45268 (grub_context_get): Likewise.
45269 (grub_context_get_current_menu): Likewise.
45270 (grub_context_push_menu): Likewise.
45271 (grub_context_pop_menu): Likewise.
45272 (grub_default_init): Likewise.
45273 (grub_default_fini): Likewise.
45274 (grub_timeout_init): Likewise.
45275 (grub_timeout_fini): Likewise.
45276
45277 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45278 and timeout.mod.
45279 (normal_mod_SOURCES): Removed normal/context.c.
45280
45281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45282 commands/default.c, commands/timeout.c and normal/context.c.
45283 (normal_mod_SOURCES): Removed normal/context.c.
45284
45285 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45286 commands/timeout.c and normal/context.c.
45287 (normal_mod_SOURCES): Removed normal/context.c.
45288
45289 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45290 commands/default.c, commands/timeout.c and normal/context.c.
45291 (normal_mod_SOURCES): Removed normal/context.c.
45292
45293 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45294 timeout.mod.
45295 (default_mod_SOURCES): Removed.
45296 (default_mod_CFLAGS): Likewise.
45297 (default_mod_LDFLAGS): Likewise.
45298 (timeout_mod_SOURCES): Removed.
45299 (timeout_mod_CFLAGS): Likewise.
45300 (timeout_mod_LDFLAGS): Likewise.
45301
45302 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45303 normal/context.c.
45304
45305 * commands/default.c: Removed.
45306 * commands/timeout.c: Likewise.
45307 * normal/context.c: Likewise.
45308
1eb9cc1d 453092006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45310
45311 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45312
385bd9c1 453132006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45314
45315 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45316 "next" to "prev" for readability.
45317 (struct grub_env_sorted_var): New struct.
45318 (grub_env_context): Renamed to ...
45319 (initial_context): ... this.
45320 (grub_env_var_context): Renamed to ...
45321 (current_context): ... this.
45322 (grub_env_find): Look only at CURRENT_CONTEXT.
45323 (grub_env_context_open): Rewritten to copy exported variables from
45324 previous context.
45325 (grub_env_context_close): Rewritten according to the new
45326 scheme. Also, add an assertion to prevent the initial context from
45327 removed.
45328 (grub_env_insert): Removed the code for the sorted list.
45329 (grub_env_remove): Likewise.
45330 (grub_env_export): Simply mark the variable with
45331 GRUB_ENV_VAR_GLOBAL.
45332 (grub_env_set): A cosmetic change for naming consistency.
45333 (grub_env_get): Likewise.
45334 (grub_env_unset): Likewise.
45335 (grub_env_iterate): Rewritten to sort variables within this
45336 function.
45337 (grub_register_variable_hook): Fixed for naming consistency. Call
45338 grub_env_find again, only if NAME is not found at the first time.
45339 (mangle_data_slot_name): New function.
45340 (grub_env_set_data_slot): Likewise.
45341 (grub_env_get_data_slot): Likewise.
45342 (grub_env_unset_data_slot): Likewise.
45343
45344 * include/grub/env.h (grub_env_var_type): New enum.
45345 (GRUB_ENV_VAR_LOCAL): New constant.
45346 (GRUB_ENV_VAR_GLOBAL): Likewise.
45347 (GRUB_ENV_VAR_DATA): Likewise.
45348 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45349 "type".
45350 (grub_env_set): Replace VAR with NAME for consistency.
45351 (grub_register_variable_hook): Likewise.
45352 (grub_env_export): Specify the name of the argument.
45353 (grub_env_set_data_slot): New prototype.
45354 (grub_env_get_data_slot): Likewise.
45355 (grub_env_unset_data_slot): Likewise.
45356
7f362539 453572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45358
45359 Extend the loader so that GRUB can accept a loader which comes
45360 back to GRUB when a loaded image exits. Also, this change adds
45361 support for a chainloader on EFI.
f19dbdb7 45362
7f362539 45363 * term/efi/console.c: Include grub/misc.h.
45364 (grub_console_checkkey): Display a scan code on the top for
45365 debugging. This will be removed once the EFI port gets stable.
45366 Correct the scan code mapping.
45367
45368 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45369 allocate memory from larger regions, in order to reduce the number
45370 of allocated regions. Otherwise, the MacOSX loader panics.
45371 (filter_memory_map): Avoid less than 1MB for compatibility with
45372 other loaders.
45373 (add_memory_regions): Allocate from the tail of a region, if
45374 possible, to avoid allocating a region near to 1MB, for the MacOSX
45375 loader.
45376
45377 * kern/efi/init.c (grub_efi_set_prefix): Specify
45378 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45379
45380 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45381 argument IMAGE_HANDLE and specify it to get a loaded image.
45382 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45383 grub_efi_get_loaded_image.
fe6b695a 45384 (grub_efi_get_filename): Divide the length by the size of
7f362539 45385 grub_efi_char16_t.
45386 (grub_efi_get_device_path): New function.
45387 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45388 the length by the size of grub_efi_char16_t for a file path device
45389 path node.
45390
45391 * kern/loader.c (grub_loader_noreturn): New variable.
45392 (grub_loader_set): Accept a new argument NORETURN. Set
45393 GRUB_LOADER_NORETURN to NORETURN.
45394 All callers changed.
45395 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45396 grub_machine_fini.
45397
45398 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45399 prototype.
45400 (grub_efi_get_loaded_image): Take an argument to specify an image
45401 handle.
45402
45403 * include/grub/loader.h (grub_loader_set): Added one more argument
45404 NORETURN.
45405
45406 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45407 instead of grub_efi_open_protocol.
45408 (grub_efidisk_get_device_name): Likewise.
45409 (grub_efidisk_close): Print a newline.
45410 (grub_efidisk_get_device_handle): Fixed to use
45411 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45412 GRUB_EFI_DEVICE_PATH_TYPE.
45413
45414 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45415 * kern/efi/efi.c (device_path_guid): ... here.
45416
45417 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45418 chain.mod.
45419 (kernel_mod_HEADERS): Added efi/disk.h.
45420 (_chain_mod_SOURCES): New variable.
45421 (_chain_mod_CFLAGS): Likewise.
45422 (_chain_mod_LDFLAGS): Likewise.
45423 (chain_mod_SOURCES): Likewise.
45424 (chain_mod_CFLAGS): Likewise.
45425 (chain_mod_LDFLAGS): Likewise.
45426
45427 * DISTLIST: Added include/grub/efi/chainloader.h,
45428 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45429
45430 * include/grub/efi/chainloader.h: New file.
45431 * loader/efi/chainloader.c: Likewise.
45432 * loader/efi/chainloader_normal.c: Likewise.
45433
c0111d6e 454342006-04-30 Marco Gerards <marco@gnu.org>
45435
45436 * commands/configfile.c (grub_cmd_source): New function.
45437 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45438 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45439
df5341da 454402006-04-30 Marco Gerards <marco@gnu.org>
45441
45442 * normal/execute.c (grub_script_execute_cmd): Change the return
45443 type to `grub_err_t'. Correctly return the error.
45444 (grub_script_execute_cmdline): In case a command line is not a
45445 command or a function, try to interpret it as an assignment.
45446
f85934bd 454472006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45448
45449 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45450 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45451 skip a node whose name is obviously invalid as UTF-16,
45452 i.e. contains a NUL character. Stop the iteration when the last
45453 directory entry is found. Instead of using the return value of
45454 grub_hfsplus_btree_iterate_node, store the value in RET and use
45455 it, because the iterator can be stopped by the last directory
45456 entry.
45457
8f8a2cf8 454582006-04-30 Marco Gerards <marco@gnu.org>
45459
45460 * include/grub/env.h (grub_env_export): New prototype. Reported
45461 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45462
a27e84ce 454632006-04-30 Marco Gerards <marco@gnu.org>
45464
45465 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45466 size of the extents in a catalog file record.
45467
eaef0553 454682006-04-29 Marco Gerards <marco@gnu.org>
45469
45470 * commands/configfile.c (grub_cmd_configfile): Execute the
45471 configfile within its own context.
45472
45473 * include/grub/env.h (grub_env_context_open): New prototype.
45474 (grub_env_context_close): Likewise.
45475
45476 * kern/env.c (grub_env): Removed.
45477 (grub_env_sorted): Likewise.
45478 (grub_env_context): New variable.
45479 (grub_env_var_context): Likewise.
45480 (grub_env_find): Search both the active context and the global
45481 context.
45482 (grub_env_context_open): New function.
45483 (grub_env_context_close): Likewise.
45484 (grub_env_insert): Likewise.
45485 (grub_env_remove): Likewise.
45486 (grub_env_export): Likewise.
45487 (grub_env_set): Changed to use helper functions to avoid code
45488 duplication.
45489 (grub_env_iterate): Rewritten so both the current context and the
45490 global context are being used.
45491
45492 * normal/command.c (export_command): New function.
45493 (grub_command_init): Register the `export' function.
45494
7b455f4d 454952006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45496
45497 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45498 explicitly to suppress gcc's warnings.
45499 * fs/fat.c (grub_fat_find_dir): Likewise.
45500 (grub_fat_label): Likewise.
45501 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45502 (grub_xfs_mount): Likewise.
45503 (grub_xfs_label): Likewise.
45504 * fs/affs.c (grub_affs_mount): Likewise.
45505 (grub_affs_label): Likewise.
45506 (grub_affs_iterate_dir): Likewise.
45507 * fs/sfs.c (grub_sfs_mount): Likewise.
45508 (grub_sfs_iterate_dir): Likewise.
45509 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45510 * fs/hfs.c (grub_hfs_mount): Likewise.
45511 (grub_hfs_cmp_catkeys): Likewise.
45512 (grub_hfs_find_dir): Likewise.
45513 (grub_hfs_dir): Likewise.
45514 (grub_hfs_label): Likewise.
45515 * fs/jfs.c (grub_jfs_mount): Likewise.
45516 (grub_jfs_opendir): Likewise.
45517 (grub_jfs_getent): Likewise.
45518 (grub_jfs_lookup_symlink): Likewise.
45519 (grub_jfs_label): Likewise.
45520 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45521 (grub_hfsplus_iterate_dir): Likewise.
45522 (grub_hfsplus_btree_iterate_node): Made static.
45523
45524 * util/grub-emu.c (prefix): New variable.
45525 (grub_machine_set_prefix): New function.
45526 (main): Do not set the environment variable "prefix" here. Only
45527 set PREFIX, which is used later by grub_machine_set_prefix.
45528
45529 * include/grub/video.h: Do not include grub/symbol.h.
45530 (grub_video_register): Not exported. This symbol is not defined in
45531 the kernel.
45532 (grub_video_unregister): Likewise.
45533 (grub_video_iterate): Likewise.
45534 (grub_video_setup): Likewise.
45535 (grub_video_restore): Likewise.
45536 (grub_video_get_info): Likewise.
45537 (grub_video_get_blit_format): Likewise.
45538 (grub_video_set_palette): Likewise.
45539 (grub_video_get_palette): Likewise.
45540 (grub_video_set_viewport): Likewise.
45541 (grub_video_get_viewport): Likewise.
45542 (grub_video_map_color): Likewise.
45543 (grub_video_map_rgb): Likewise.
45544 (grub_video_map_rgba): Likewise.
45545 (grub_video_fill_rect): Likewise.
45546 (grub_video_blit_glyph): Likewise.
45547 (grub_video_blit_bitmap): Likewise.
45548 (grub_video_blit_render_target): Likewise.
45549 (grub_video_scroll): Likewise.
45550 (grub_video_swap_buffers): Likewise.
45551 (grub_video_create_render_target): Likewise.
45552 (grub_video_delete_render_target): Likewise.
45553 (grub_video_set_active_render_target): Likewise.
45554
45555 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45556 Undefined.
45557 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45558
45559 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45560 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45561 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45562 instead of $(srcdir)/genkernsyms.sh.
45563
45564 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45565 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45566 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45567 instead of $(srcdir)/genkernsyms.sh.
45568
45569 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45570 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45571 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45572 instead of $(srcdir)/genkernsyms.sh.
45573
45574 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45575 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45576 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45577 instead of $(srcdir)/genkernsyms.sh.
45578
45579 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45580 genkernsyms.sh.
45581
45582 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45583 genkernsyms.sh.
45584 (gensymlist.sh): New target.
45585 (genkernsyms.sh): Likewise.
45586
45587 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45588 genkernsyms.sh.in and gensymlist.sh.in.
45589
45590 * genkernsyms.sh: Removed.
45591 * gensymlist.sh: Likewise.
f19dbdb7 45592
7b455f4d 45593 * genkernsyms.sh.in: New file.
45594 * gensymlist.sh.in: Likewise.
45595
1885bb27 455962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45597
45598 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45599 clobber "prefix", since we may have already set it manually.
45600
71538dff 456012006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45602
45603 * kern/misc.c (abort): New alias for grub_abort.
45604
2965c7cc 456052006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45606
45607 A new machine-specific function "grub_machine_set_prefix" is
45608 defined. This is called after loading modules, so that a prefix
45609 initialization can use modules. Also, this change adds an
45610 intensive debugging feature for the memory manager via the
45611 configure option "--enable-mm-debug".
f19dbdb7 45612
2965c7cc 45613 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45614 PART.LEN.
45615
45616 * kern/sparc64/ieee1275/init.c (abort): Removed.
45617 (grub_stop): Likewise.
45618 (grub_exit): New function.
45619 (grub_set_prefix): Renamed to ...
45620 (grub_machine_set_prefix): ... this.
45621 (grub_machine_init): Do not call grub_set_prefix.
45622
45623 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45624 (grub_machine_set_prefix): ... this.
45625 (grub_machine_init): Do not call grub_set_prefix.
45626
45627 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45628 (grub_machine_init): Do not set the prefix here.
45629
45630 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45631
45632 * kern/efi/init.c: Include grub/mm.h.
45633 (grub_efi_set_prefix): New function.
45634
45635 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45636 (grub_efi_get_filename): New function.
45637 (grub_print_device_path): Renamed to ...
45638 (grub_efi_print_device_path): ... this.
45639
45640 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45641 [MM_DEBUG] (grub_realloc): Likewise.
45642 [MM_DEBUG] (grub_free): Likewise.
45643 [MM_DEBUG] (grub_memalign): Likewise.
45644 [MM_DEBUG] (grub_mm_debug): New variable.
45645 [MM_DEBUG] (grub_debug_malloc): New function.
45646 [MM_DEBUG] (grub_debug_free): New function.
45647 [MM_DEBUG] (grub_debug_realloc): New function.
45648 [MM_DEBUG] (grub_debug_memalign): New function.
45649
45650 * kern/misc.c (grub_abort): Print a newline to distinguish
45651 the message.
45652
45653 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45654 grub_set_root_dev after loading modules. This is necessary when
45655 setting a prefix depends on modules.
45656
45657 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45658 (grub_efi_print_device_path): ... this.
45659 (grub_efi_get_filename): New prototype.
45660 (grub_efi_set_prefix): Likewise.
45661
45662 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45663 and grub/disk.h.
45664 (grub_efidisk_get_device_handle): New prototype.
45665 (grub_efidisk_get_device_name): Likewise.
45666
45667 * include/grub/mm.h: Include config.h.
45668 (MM_DEBUG): Removed.
45669 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45670 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45671 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45672 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45673 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45674 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45675 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45676 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45677 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45678
45679 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45680
45681 * disk/efi/efidisk.c: Include grub/partition.h.
45682 (iterate_child_devices): New function.
45683 (add_device): First, compare only last device path nodes, so that
45684 devices are sorted by the types.
45685 (grub_efidisk_get_device_handle): New function.
45686 (grub_efidisk_get_device_name): Likewise.
45687
45688 * configure.ac (--enable-mm-debug): New option to enable the
45689 memory manager debugging feature. This makes the binary much
45690 bigger, so is disabled by default.
45691
9cacaa17 456922006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45693
45694 Use grub_abort instead of grub_stop, and grub_exit must be
45695 define in each architecture now. Also, this change adds support
45696 for EFI disks.
f19dbdb7 45697
9cacaa17 45698 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45699 (grub_getkey): New function.
45700 (grub_term_get_current): Likewise.
45701
45702 * util/i386/pc/grub-setup.c: Include grub/term.h.
45703 (grub_getkey): New function.
45704 (grub_term_get_current): Likewise.
45705
45706 * util/misc.c (grub_stop): Renamed to ...
45707 (grub_exit): ... this.
45708
45709 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45710 (grub_exit): ... this.
45711 (grub_machine_init): Use grub_abort instead of abort.
45712 (grub_stop): Removed.
45713
45714 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45715 abort.
45716
45717 * kern/i386/pc/startup.S (grub_exit): New function.
45718 (cold_reboot): New label.
45719
45720 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45721 (grub_efi_init): Call grub_efidisk_init.
45722 (grub_efi_fini): Call grub_efidisk_fini.
45723
45724 * kern/efi/efi.c: Include grub/mm.h.
45725 (grub_efi_console_control_guid): Renamed to ...
45726 (console_control_guid): ... this.
45727 (grub_efi_loaded_image_guid): Renamed to ...
45728 (loaded_image_guid): ... this.
45729 (grub_efi_locate_handle): New function.
45730 (grub_efi_open_protocol): Likewise.
45731 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45732 GRUB_EFI_CONSOLE_CONTROL_GUID.
45733 (grub_efi_exit): Removed.
45734 (grub_stop): Likewise.
45735 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45736 (grub_exit): New function.
45737 (grub_print_device_path): Likewise.
45738
45739 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45740 (grub_enter_rescue_mode): Register "exit".
45741
45742 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45743 (grub_abort): New function.
45744
45745 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45746
45747 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45748
45749 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45750
45751 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45752 (grub_print_device_path): New prototype.
45753 (grub_efi_locate_handle): Likewise.
45754 (grub_efi_open_protocol): Likewise.
45755
45756 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45757 * disk/efi/efidisk.c: Likewise.
45758
45759 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45760
45761 * include/grub/efi/console_control.h
45762 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45763
45764 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45765 last 8 bytes as an array.
45766 (GRUB_EFI_DISK_IO_GUID): New macro.
45767 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45768 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45769 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45770 grub_uint8_t.
45771 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45772 (struct grub_efi_device_path): Rename the member "sub_type" to
45773 "subtype".
45774 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45775 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45776 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45777 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45778 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45779 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45780 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45781 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45782 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45783 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45784 (struct grub_efi_pci_device_path): New structure.
45785 (grub_efi_pci_device_path_t): New type.
45786 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45787 (struct grub_efi_pccard_device_path): New structure.
45788 (grub_efi_pccard_device_path_t): New type.
45789 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45790 (struct grub_efi_memory_mapped_device_path): New structure.
45791 (grub_efi_memory_mapped_device_path_t): New type.
45792 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45793 (struct grub_efi_vendor_device_path): New structure.
45794 (grub_efi_vendor_device_path_t): New type.
45795 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45796 (struct grub_efi_controller_device_path): New structure.
45797 (grub_efi_controller_device_path_t): New type.
45798 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45799 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45800 (struct grub_efi_acpi_device_path): New structure.
45801 (grub_efi_acpi_device_path_t): New type.
45802 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45803 (struct grub_efi_expanded_acpi_device_path): New structure.
45804 (grub_efi_expanded_acpi_device_path_t): New type.
45805 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45806 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45807 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45808 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45809 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45810 (struct grub_efi_atapi_device_path): New structure.
45811 (grub_efi_atapi_device_path_t): New type.
45812 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45813 (struct grub_efi_fibre_channel_device_path): New structure.
45814 (grub_efi_fibre_channel_device_path_t): New type.
45815 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45816 (struct grub_efi_1394_device_path): New structure.
45817 (grub_efi_1394_device_path_t): New type.
45818 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45819 (struct grub_efi_usb_device_path): New structure.
45820 (grub_efi_usb_device_path_t): New type.
45821 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45822 (struct grub_efi_usb_class_device_path): New structure.
45823 (grub_efi_usb_class_device_path_t): New type.
45824 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45825 (struct grub_efi_i2o_device_path): New structure.
45826 (grub_efi_i2o_device_path_t): New type.
45827 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45828 (struct grub_efi_mac_address_device_path): New structure.
45829 (grub_efi_mac_address_device_path_t): New type.
45830 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45831 (struct grub_efi_ipv4_device_path): New structure.
45832 (grub_efi_ipv4_device_path_t): New type.
45833 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45834 (struct grub_efi_ipv6_device_path): New structure.
45835 (grub_efi_ipv6_device_path_t): New type.
45836 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45837 (struct grub_efi_infiniband_device_path): New structure.
45838 (grub_efi_infiniband_device_path_t): New type.
45839 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45840 (struct grub_efi_uart_device_path): New structure.
45841 (grub_efi_uart_device_path_t): New type.
45842 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45843 (struct grub_efi_vendor_messaging_device_path): New structure.
45844 (grub_efi_vendor_messaging_device_path_t): New type.
45845 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45846 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45847 (struct grub_efi_hard_drive_device_path): New structure.
45848 (grub_efi_hard_drive_device_path_t): New type.
45849 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45850 (struct grub_efi_cdrom_device_path): New structure.
45851 (grub_efi_cdrom_device_path_t): New type.
45852 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45853 (struct grub_efi_vendor_media_device_path): New structure.
45854 (grub_efi_vendor_media_device_path_t): New type.
45855 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45856 (struct grub_efi_file_path_device_path): New structure.
45857 (grub_efi_file_path_device_path_t): New type.
45858 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45859 (struct grub_efi_protocol_device_path): New structure.
45860 (grub_efi_protocol_device_path_t): New type.
45861 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45862 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45863 (struct grub_efi_bios_device_path): New structure.
45864 (grub_efi_bios_device_path_t): New type.
45865 (struct grub_efi_disk_io): New structure.
45866 (grub_efi_disk_io_t): New type.
45867 (struct grub_efi_block_io_media): New structure.
45868 (grub_efi_block_io_media_t): New type.
45869 (struct grub_efi_block_io): New structure.
45870 (grub_efi_block_io_t): New type.
45871
45872 * include/grub/misc.h (grub_stop): Removed.
45873 (grub_exit): New prototype.
45874 (grub_abort): Likewise.
45875
45876 * include/grub/disk.h (enum grub_disk_dev_id): Added
45877 GRUB_DISK_DEVICE_EFIDISK_ID.
45878
45879 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45880 disk/efi/efidisk.c.
45881 (kernel_syms.lst): Remove the target if an error occurs.
45882
49986a9f 458832006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45884
45885 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45886 as it was simply too buggy.
45887
970d3b8a 458882006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45889
45890 * kern/misc.c (grub_lltoa): New function.
45891 (grub_vsprintf): Added support for the long long suffix,
45892 i.e. "ll".
45893
ff04ec24 458942006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45895
45896 * Makefile.in (LDFLAGS): Add variable.
45897 (LD): Remove variable.
45898 * configure.ac: Add -m32 to LDFLAGS.
45899 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45900 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45901 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45902 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45903 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45904 variables.
45905 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45906 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45907 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45908
37e5e1a4 459092006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45910
45911 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45912 length for unknown glyph.
45913
c352d8dd 459142006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45915
2eab1c0d 45916 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45917
2eab1c0d 45918 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45919 completely. Accept one more argument DIR. The caller has changed.
45920
45921 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45922
45923 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45924 (grub_efi_loaded_image_guid): New variable.
45925 (grub_efi_get_loaded_image): New function.
45926 (grub_arch_modules_addr): Likewise.
45927
45928 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45929 prototype.
45930
45931 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45932 (struct grub_efi_loaded_image): New structure.
45933 (grub_efi_loaded_image_t): New type.
45934
459352006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45936
c352d8dd 45937 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45938 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45939 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45940
6d01d6b4 459412006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45942
45943 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45944
976a4ea0 459452006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45946
45947 * DISTLIST: Added include/grub/efi/console.h,
45948 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45949 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45950
45951 * include/grub/efi/console.h: New file.
45952 * include/grub/efi/time.h: Likewise.
45953 * include/grub/i386/efi/kernel.h: Likewise.
45954 * kern/efi/init.c: Likewise.
45955 * kern/efi/mm.c: Likewise.
45956 * term/efi/console.c: Likewise.
f19dbdb7 45957
976a4ea0 45958 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45959 (grub_stop): Removed.
45960 (grub_get_rtc): Likewise.
45961 (grub_machine_init): Simply call grub_efi_init.
45962 (grub_machine_fini): Call grub_efi_fini.
45963
45964 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45965 (grub_efi_output_string): Removed.
45966 (grub_efi_stall): New function.
45967 (grub_stop): Likewise.
45968 (grub_get_rtc): Likewise.
45969
45970 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45971 (grub_efi_stall): New prototype.
45972 (grub_efi_allocate_pages): Likewise.
45973 (grub_efi_free_pages): Likewise.
45974 (grub_efi_get_memory_map): Likewise.
45975 (grub_efi_mm_init): Likewise.
45976 (grub_efi_mm_fini): Likewise.
45977 (grub_efi_init): Likewise.
45978 (grub_efi_fini): Likewise.
45979
45980 * include/grub/i386/efi/time.h: Do not include
45981 grub/symbol.h. Include grub/efi/time.h.
45982 (GRUB_TICKS_PER_SECOND): Removed.
45983 (grub_get_rtc): Likewise.
45984
45985 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45986 Added padding. The EFI spec is buggy.
45987 (GRUB_EFI_BLACK): New macro.
45988 (GRUB_EFI_BLUE): Likewise.
45989 (GRUB_EFI_GREEN): Likewise.
45990 (GRUB_EFI_CYAN): Likewise.
45991 (GRUB_EFI_RED): Likewise.
45992 (GRUB_EFI_MAGENTA): Likewise.
45993 (GRUB_EFI_BROWN): Likewise.
45994 (GRUB_EFI_LIGHTGRAY): Likewise.
45995 (GRUB_EFI_BRIGHT): Likewise.
45996 (GRUB_EFI_DARKGRAY): Likewise.
45997 (GRUB_EFI_LIGHTBLUE): Likewise.
45998 (GRUB_EFI_LIGHTGREEN): Likewise.
45999 (GRUB_EFI_LIGHTCYAN): Likewise.
46000 (GRUB_EFI_LIGHTRED): Likewise.
46001 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46002 (GRUB_EFI_YELLOW): Likewise.
46003 (GRUB_EFI_WHITE): Likewise.
46004 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46005 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46006 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46007 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46008 (GRUB_EFI_BACKGROUND_RED): Likewise.
46009 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46010 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46011 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46012 (GRUB_EFI_TEXT_ATTR): Likewise.
46013
46014 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46015 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46016 (kernel_mod_HEADERS): Added efi/time.h.
46017
83709125 460182006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46019
46020 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46021 include/grub/efi/api.h, include/grub/efi/console_control.h,
46022 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46023 include/grub/i386/efi/time.h, kern/efi/efi.c,
46024 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46025 and util/i386/efi/grub-mkimage.c.
46026
46027 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46028
46029 * genmk.rb (PModule#rule): Do not export symbols if
46030 #{prefix}_EXPORTS is set to "no".
46031
46032 * conf/i386-efi.mk: New file.
46033 * conf/i386-efi.rmk: Likewise.
46034 * include/grub/efi/api.h: Likewise.
46035 * include/grub/efi/console_control.h: Likewise.
46036 * include/grub/efi/efi.h: Likewise.
46037 * include/grub/efi/pe32.h: Likewise.
46038 * include/grub/i386/efi/time.h: Likewise.
46039 * kern/efi/efi.c: Likewise.
46040 * kern/i386/efi/init.c: Likewise.
46041 * kern/i386/efi/startup.S: Likewise.
46042 * util/i386/efi/grub-mkimage.c: Likewise.
46043
460442006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46045
46046 * include/grub/script.h: Include <grub/parser.h> and
46047 "grub_script.tab.h".
46048 (struct grub_lexer_param): New struct.
46049 (struct grub_parser_param): Likewise.
46050 (grub_script_create_arglist): Pass the state in an argument.
46051 (grub_script_add_arglist): Likewise.
46052 (grub_script_create_cmdline): Likewise.
46053 (grub_script_create_cmdblock): Likewise.
46054 (grub_script_create_cmdif): Likewise.
46055 (grub_script_create_cmdmenu): Likewise.
46056 (grub_script_add_cmd): Likewise.
46057 (grub_script_arg_add): Likewise.
46058 (grub_script_lexer_ref): Likewise.
46059 (grub_script_lexer_deref): Likewise.
46060 (grub_script_lexer_record_start): Likewise.
46061 (grub_script_lexer_record_stop): Likewise.
46062 (grub_script_mem_record): Likewise.
46063 (grub_script_mem_record_stop): Likewise.
46064 (grub_script_malloc): Likewise.
46065 (grub_script_yylex): Likewise.
46066 (grub_script_yyparse): Likewise.
46067 (grub_script_yyerror): Likewise.
46068 (grub_script_yylex): Likewise.
46069 (grub_script_lexer_init): Return the state.
46070
46071 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46072 (grub_script_lexer_done): Likewise.
46073 (grub_script_lexer_getline): Likewise.
46074 (grub_script_lexer_refs): Likewise.
46075 (script): Likewise.
46076 (newscript): Likewise.
46077 (record): Likewise.
46078 (recording): Likewise.
46079 (recordpos): Likewise.
46080 (recordlen): Likewise.
46081 (grub_script_lexer_init): Return the state instead of setting
46082 global variables.
46083 (grub_script_lexer_ref): Use the newly added argument for state
46084 instead of globals.
46085 (grub_script_lexer_deref): Likewise.
46086 (grub_script_lexer_record_start): Likewise.
46087 (grub_script_lexer_record_stop): Likewise.
46088 (recordchar): Likewise.
46089 (nextchar): Likewise.
46090 (grub_script_yylex2): Likewise.
46091 (grub_script_yylex): Likewise.
46092 (grub_script_yyerror): Likewise.
46093
46094 * normal/parser.y (func_mem): Removed variable.
46095 (menu_entry): Likewise.
46096 (err): Likewise.
46097 (%lex-param): New parser option.
46098 (%parse-param): Likewise.
46099 (script): Always return the AST.
46100 (argument): Pass the state around.
46101 (arguments): Likewise.
46102 (grubcmd): Likewise.
46103 (commands): Likewise.
46104 (function): Likewise.
46105 (menuentry): Likewise.
46106 (if_statement): Likewise.
46107 (if): Likewise.
46108
46109 * normal/script.c (grub_script_memused): Removed variable.
46110 (grub_script_parsed): Likewise.
46111 (grub_script_malloc): Added a state argument. Use that instead of
46112 global variables.
46113 (grub_script_mem_record): Likewise.
46114 (grub_script_mem_record_stop): Likewise.
46115 (grub_script_arg_add): Likewise.
46116 (grub_script_add_arglist): Likewise.
46117 (grub_script_create_cmdline): Likewise.
46118 (grub_script_create_cmdif): Likewise.
46119 (grub_script_create_cmdmenu): Likewise.
46120 (grub_script_add_cmd): Likewise.
46121 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46122
e2a8c904 461232006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46124
46125 * normal/command.c (grub_command_init): Remove the title command.
46126
46127 * normal/lexer.c (grub_script_yylex): Renamed from this...
46128 (grub_script_yylex2): ... to this.
46129 (grub_script_yylex): New function. Temporary
46130 introduced to filter some tokens.
46131 (grub_script_yyerror): Print a newline.
46132
46133 * normal/main.c (read_config_file): Output information about the
46134 lines that contain errors. Wait for a key after all lines have
46135 been processed. Don't return an empty menu.
46136
46137 * normal/parser.y (func_mem): Don't initialize.
46138 (menu_entry): Likewise.
46139 (err): New variable.
46140 (script): Don't return anything when an error was encountered.
46141 (ws, returns): Removed rules.
46142 (argument): Disabled concatenated variable support.
46143 (arguments): Remove explicit separators.
46144 (grubcmd): Likewise.
46145 (function): Likewise.
46146 (menuentry): Likewise.
46147 (if): Likewise.
46148 (commands): Likewise. Add error handling.
46149
46150 * normal/script.c (grub_script_create_cmdline): If
46151 `grub_script_parsed' is 0, assume the parser encountered an error.
46152
c9a86192 461532006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46154
46155 * configure.ac: Add support for EFI. Fix the typo
46156 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46157
70f3b243 461582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46159
46160 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46161 foreign multibyte characters should be shown correctly.
46162
65f201ad 461632006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46164
46165 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46166 calculation.
46167 (read_config_file): Made it to close file before returning.
46168
b4b93674 461692006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46170
46171 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46172 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46173 video/i386/pc/vbefill.c.
46174
46175 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46176 video/i386/pc/vbefill.c.
46177
46178 * include/grub/video.h (grub_video_blit_format): New enum.
46179 (grub_video_mode_info): Added new member blit_format.
46180 (grub_video_get_blit_format): New function prototype.
46181
46182 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46183 function prototype.
46184 (grub_video_vbe_map_rgb): Likewise.
46185 (grub_video_vbe_unmap_color): Likewise.
46186
46187 * include/grub/i386/pc/vbeblit.h: New file.
46188
46189 * include/grub/i386/pc/vbefill.h: New file.
46190
46191 * video/video.c (grub_video_get_blit_format): New function.
46192 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46193 (grub_video_vbe_map_rgb): Likewise.
46194 (grub_video_vbe_unmap_color): Likewise.
46195
46196 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46197 optimized fills.
46198 (grub_video_vbe_blit_render_target): Changed to use more optimized
46199 blits.
46200 (grub_video_vbe_setup): Added detection for optimized settings.
46201 (grub_video_vbe_create_render_target): Likewise.
46202
46203 * video/i386/pc/vbeblit.c: New file.
46204
46205 * video/i386/pc/vbefill.c: New file.
46206
c2379b9c 462072006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46208
46209 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46210 here...
46211
46212 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46213 parsing to support both hex and dec ranges. If filename was missing
46214 show usage information.
46215
bd0d7896 462162006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46217
46218 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46219 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46220
46221 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46222 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46223 (video_mod_SOURCES): Added.
46224 (video_mod_CFLAGS): Likewise.
46225 (video_mod_LDFLAGS): Likewise.
46226 (gfxterm_mod_SOURCES): Likewise.
46227 (gfxterm_mod_CFLAGS): Likewise.
46228 (gfxterm_mod_LDFLAGS): Likewise.
46229 (videotest_mod_SOURCES): Likewise.
46230 (videotest_mod_CFLAGS): Likewise.
46231 (videotest_mod_LDFLAGS): Likewise.
46232 (vesafb_mod_SOURCES): Removed.
46233 (vesafb_mod_CFLAGS): Likewise.
46234 (vesafb_mod_LDFLAGS): Likewise.
46235 (vga_mod_SOURCES): Likewise.
46236 (vga_mod_CFLAGS): Likewise.
46237 (vga_mod_LDFLAGS): Likewise.
46238
46239 * commands/videotest.c: New file.
46240
46241 * font/manager.c (fill_with_default_glyph): Modified to use
46242 grub_font_glyph.
46243 (grub_font_get_glyph): Likewise.
46244 (fontmanager): Renamed from this...
46245 (font_manager): ... to this.
46246
46247 * include/grub/font.h (grub_font_glyph): Added new structure.
46248 (grub_font_get_glyph): Modified to use grub_font_glyph.
46249
46250 * include/grub/misc.h (grub_abs): Added as inline function.
46251
46252 * include/grub/video.h: New file.
46253
46254 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46255 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46256 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46257 (grub_vbe_get_controller_info): Renamed from this...
46258 (grub_vbe_bios_get_controller_info): ... to this.
46259 (grub_vbe_get_mode_info): Renamed from this...
46260 (grub_vbe_bios_get_mode_info): ... to this.
46261 (grub_vbe_set_mode): Renamed from this...
46262 (grub_vbe_bios_set_mode): ... to this.
46263 (grub_vbe_get_mode): Renamed from this...
46264 (grub_vbe_bios_get_mode): ... to this.
46265 (grub_vbe_set_memory_window): Renamed from this...
46266 (grub_vbe_bios_set_memory_window): ... to this.
46267 (grub_vbe_get_memory_window): Renamed from this...
46268 (grub_vbe_bios_get_memory_window): ... to this.
46269 (grub_vbe_set_scanline_length): Renamed from this...
46270 (grub_vbe_set_scanline_length): ... to this.
46271 (grub_vbe_get_scanline_length): Renamed from this...
46272 (grub_vbe_bios_get_scanline_length): ... to this.
46273 (grub_vbe_set_display_start): Renamed from this...
46274 (grub_vbe_bios_set_display_start): ... to this.
46275 (grub_vbe_get_display_start): Renamed from this...
46276 (grub_vbe_bios_get_display_start): ... to this.
46277 (grub_vbe_set_palette_data): Renamed from this...
46278 (grub_vbe_bios_set_palette_data): ... to this.
46279 (grub_vbe_set_pixel_rgb): Removed.
46280 (grub_vbe_set_pixel_index): Likewise.
46281
46282 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46283 from this...
46284 (grub_vbe_bios_get_controller_info): ... to this.
46285 (grub_vbe_get_mode_info): Renamed from this...
46286 (grub_vbe_bios_get_mode_info): ... to this.
46287 (grub_vbe_set_mode): Renamed from this...
46288 (grub_vbe_bios_set_mode): ... to this.
46289 (grub_vbe_get_mode): Renamed from this...
46290 (grub_vbe_bios_get_mode): ... to this.
46291 (grub_vbe_set_memory_window): Renamed from this...
46292 (grub_vbe_bios_set_memory_window): ... to this.
46293 (grub_vbe_get_memory_window): Renamed from this...
46294 (grub_vbe_bios_get_memory_window): ... to this.
46295 (grub_vbe_set_scanline_length): Renamed from this...
46296 (grub_vbe_set_scanline_length): ... to this.
46297 (grub_vbe_get_scanline_length): Renamed from this...
46298 (grub_vbe_bios_get_scanline_length): ... to this.
46299 (grub_vbe_set_display_start): Renamed from this...
46300 (grub_vbe_bios_set_display_start): ... to this.
46301 (grub_vbe_get_display_start): Renamed from this...
46302 (grub_vbe_bios_get_display_start): ... to this.
46303 (grub_vbe_set_palette_data): Renamed from this...
46304 (grub_vbe_bios_set_palette_data): ... to this.
46305 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46306 getting corrupted after calling it. Added more pushes and pops.
46307 (grub_vbe_bios_set_mode): Likewise.
46308 (grub_vbe_bios_get_mode): Likewise.
46309 (grub_vbe_bios_get_memory_window): Likewise.
46310 (grub_vbe_bios_set_scanline_length): Likewise.
46311 (grub_vbe_bios_get_scanline_length): Likewise.
46312 (grub_vbe_bios_get_display_start): Likewise.
46313 (grub_vbe_bios_set_palette_data): Likewise.
46314
46315 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46316 (cl_insert): Likewise.
46317 (cl_delete): Likewise.
46318
46319 * term/gfxterm.c: New file.
46320
46321 * term/i386/pc/vesafb.c: Removed file.
46322
46323 * video/video.c: New file.
46324
46325 * video/i386/pc/vbe.c (real2pm): Added new function.
46326 (grub_video_vbe_draw_pixel): Likewise.
46327 (grub_video_vbe_get_video_ptr): Likewise.
46328 (grub_video_vbe_get_pixel): Likewise
46329 (grub_video_vbe_init): Likewise.
46330 (grub_video_vbe_fini): Likewise.
46331 (grub_video_vbe_setup): Likewise.
46332 (grub_video_vbe_get_info): Likewise.
46333 (grub_video_vbe_set_palette): Likewise.
46334 (grub_video_vbe_get_palette): Likewise.
46335 (grub_video_vbe_set_viewport): Likewise.
46336 (grub_video_vbe_get_viewport): Likewise.
46337 (grub_video_vbe_map_color): Likewise.
46338 (grub_video_vbe_map_rgb): Likewise.
46339 (grub_video_vbe_map_rgba): Likewise.
46340 (grub_video_vbe_unmap_color): Likewise.
46341 (grub_video_vbe_fill_rect): Likewise.
46342 (grub_video_vbe_blit_glyph): Likewise.
46343 (grub_video_vbe_blit_bitmap): Likewise.
46344 (grub_video_vbe_blit_render_target): Likewise.
46345 (grub_video_vbe_scroll): Likewise.
46346 (grub_video_vbe_swap_buffers): Likewise.
46347 (grub_video_vbe_create_render_target): Likewise.
46348 (grub_video_vbe_delete_render_target): Likewise.
46349 (grub_video_vbe_set_active_render_target): Likewise.
46350 (grub_vbe_set_pixel_rgb): Remove function.
46351 (grub_vbe_set_pixel_index): Likewise.
46352 (index_color_mode): Remove static variable.
46353 (active_mode): Likewise.
46354 (framebuffer): Likewise.
46355 (bytes_per_scan_line): Likewise.
46356 (grub_video_vbe_adapter): Added new static variable.
46357 (framebuffer): Likewise.
46358 (render_target): Likewise.
46359 (initial_mode): Likewise.
46360 (mode_in_use): Likewise.
46361 (mode_list): Likewise.
46362
5f97350b 463632006-03-10 Marco Gerards <marco@gnu.org>
46364
46365 * configure.ac (AC_INIT): Bumped to 1.93.
46366
46367 * DISTLIST: Added `include/grub/hfs.h'.
46368
a3c5c6f8 463692006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46370
46371 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46372 18H, which might help the BIOS falling back to next boot media.
46373
6de53d26 463742006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46375
46376 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46377 Poe Chen <poe.poechen@gmail.com>.
46378
77c4a393 463792006-01-17 Marco Gerards <marco@gnu.org>
46380
46381 * include/grub/normal.h: Include <grub/script.h>.
46382 (grub_command_list): Removed struct.
46383 (grub_command_list_t): Removed type.
46384 (grub_menu_entry): Remove members `num' and `command_list'. Add
46385 members `commands' and `sourcecode'.
46386 * include/grub/script.h: Add inclusion guards.
46387 (grub_script_cmd_menuentry): New struct.
46388 (grub_script_execute_menuentry): New prototype.
46389 (grub_script_lexer_record_start): Likewise.
46390 (grub_script_lexer_record_stop): Likewise.
46391 * normal/execute.c (grub_script_execute_menuentry): New function.
46392 * normal/lexer.c (record, recording, recordpos, recordlen): New
46393 variables.
46394 (grub_script_lexer_record_start): New function.
46395 (grub_script_lexer_record_stop): Likewise.
46396 (recordchar): Likewise.
46397 (nextchar): Likewise.
46398 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46399 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46400 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46401 (current_menu): New variable.
46402 (free_menu): Mainly rewritten.
46403 (grub_normal_menu_addentry): New function.
46404 (read_config_file): Rewritten.
46405 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46406 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46407 the menu entry.
46408 (run): Mainly rewritten.
46409 * normal/parser.y (menu_entry): New variable.
46410 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46411 (menuentry): New rule.
46412 (command): Add `menuentry'.
46413 (if_statement): Allow additional returns before `fi'.
46414 * normal/script.c (grub_script_create_cmdmenu): New function.
46415
144f1f98 464162006-01-03 Marco Gerards <marco@gnu.org>
46417
46418 * INSTALL: GNU Bison is required.
46419 * configure.ac: Rewritten the test to detect Bison.
46420 * Makefile.in (YACC): New variable. Reported by Xun Sun
46421 <xun.sun.cn@gmail.com>.
46422
af4b2d89 464232006-01-03 Marco Gerards <marco@gnu.org>
46424
46425 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46426 the HFS+ filesystem to filesystem blocks.
46427 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46428 GCC warning is silenced.
46429
15643b71 464302006-01-03 Marco Gerards <marco@gnu.org>
46431
46432 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46433 read from disk from big endian to host byte order.
46434
00905879 464352006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46436
46437 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46438 documentation.
46439 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46440 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46441 embedded HFS+ filesystem.
46442 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46443 (grub_hfs_sblock): Move from here...
46444 * include/grub/hfs.h: To here... New file.
46445 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46446 documentation.
46447 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46448 New macros.
46449 (grub_hfsplus_volheader): Change type of member `magic' to
46450 `grub_uint16_t'.
46451 (grub_hfsplus_data): Add new member `embedded_offset'.
46452 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46453 returned block.
46454 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46455 Calculate the offset.
46456
8899bc3e 464572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46458
46459 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46460 Removed.
46461 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46462
ae8c0277 464632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46464
46465 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46466 ENV->NAME is NULL after allocating ENV->VALUE.
46467
07084456 464682005-12-25 Marco Gerards <marco@gnu.org>
46469
46470 * kern/env.c (grub_env_set): Rewritten the error handling code.
46471
4750f5f1 464722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46473
46474 * geninit.sh: Made more robust, and more portable.
46475
50214199 464762005-12-25 Marco Gerards <marco@gnu.org>
46477
46478 Add support for Apple HFS+ filesystems.
f19dbdb7 46479
50214199 46480 * fs/hfsplus.c: New file.
46481
46482 * DISTLIST: Added `fs/hfsplus.c'.
46483
46484 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46485 (hfsplus_mod_SOURCES): New variable.
46486 (hfsplus_mod_CFLAGS): Likewise.
46487 (hfsplus_mod_LDFLAGS): Likewise.
46488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46489 (grub_setup_SOURCES): Likewise.
46490 (grub_mkdevicemap_SOURCES): Likewise.
46491 (grub_emu_SOURCES): Likewise.
46492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46493
46494 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46495
46496 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46497
befaed6c 464982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46499
46500 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46501 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46502 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46503 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46504 normal/lexer.c, normal/parser.y, normal/script.c, and
46505 partmap/gpt.c.
46506 Removed kern/sparc64/cache.c.
46507
46508 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46509 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46510 grub_emu_init.c.
46511
46512 * configure.ac (AC_INIT): Bumped to 1.92.
46513
6a124103 465142005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46515
46516 * kern/err.c (grub_error_push): Added new function to support error
46517 stacks.
46518 (grub_error_pop): Likewise.
46519 (grub_error_stack_items): New local variable to support error stacks.
46520 (grub_error_stack_pos): Likewise.
46521 (grub_error_stack_assert): Likewise.
46522 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46523 stack depth.
46524 (grub_print_error): Added support to print errors from error stack.
46525
46526 * include/grub/err.h (grub_error_push): Added function prototype.
46527 (grub_error_pop): Likewise.
46528
be973c1b 465292005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46530
46531 * configure.ac: Accept `powerpc64' as host_cpu.
46532 (amd64): Rename to `biarch32'.
46533
46534 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46535 non-cacheline-aligned addresses.
46536
46537 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46538 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46539 if `size' is non-zero.
46540
b04216ab 465412005-12-03 Marco Gerards <mgerards@xs4all.nl>
46542
46543 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46544 and `cd' to make sure the filename is not prefixed with a
46545 directory name.
46546 (pkgdata_MODULES): Add `gpt.mod'.
46547 (gpt_mod_SOURCES): New variable.
46548 (gpt_mod_CFLAGS): Likewise.
46549 (gpt_mod_LDFLAGS): Likewise.
46550
46551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46552
46553 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46554 New macro.
46555
46556 * partmap/gpt.c: New file.
46557
46558 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46559 GPT partition map is detected.
46560
41730ed9 465612005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46562
46563 * commands/i386/pc/play.c: New file.
46564 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46565 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46566 macros.
f19dbdb7 46567
95dc3643 465682005-11-27 Marco Gerards <mgerards@xs4all.nl>
46569
46570 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46571 ((unused))' to silence gcc warning.
46572
1569ec51 465732005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46574
46575 * configure.ac: Correct `AC_PROG_YACC' test.
46576
9abde152 465772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46578
46579 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46580 check before installing files.
46581
44b83271 465822005-11-22 Mike Small <smallm@panix.com>
46583
46584 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46585 number regex so multidigit numbers are recognized correctly.
46586
465872005-11-22 Mike Small <smallm@panix.com>
46588
46589 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46590 debugging message before attempting to claim memory.
46591 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46592 multiple addresses in case of failure.
46593
9c12956b 465942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46595
46596 * term/tparm.c (get_space): Remove empty `if' statement.
46597
46598 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46599
46600 * kern/parser.c (check_varstate): Rename `state' to 's'.
46601
aeaf81d9 466022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46603
46604 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46605 variable definitions to the beginning of each function. Sort stack
46606 variables by size.
46607 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46608 `buf' argument to `char *'.
46609
79bbb63f 466102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46611
46612 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46613 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46614 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46615 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46616 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46617 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46618 configfile.mod, search.mod, gzio.mod and test.mod.
46619 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46620 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46621 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46622 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46623 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46624 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46625 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46626 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46627 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46628 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46629 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46630 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46631 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46632 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46633 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46634 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46635 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46636 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46637 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46638 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46639 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46640 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46641 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46642
46643 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46644 `grep --include'.
46645 (pkgdata_MODULES): Add test.mod.
46646
233b1628 466472005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46648
46649 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46650 appending to variables with "+=".
46651 (PModule): Use full pathname to generate *.lst filenames.
46652
46653 * Makefile.in: Fixed list rules moved from genmk.rb.
46654 (.DELETE_ON_ERROR): New special target.
46655 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46656
46657 * conf/i386-pc.rmk: Include conf/common.mk.
46658 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46659 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46660 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46661 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46662 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46663 configfile.mod, search.mod, gzio.mod and test.mod.
46664 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46665 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46666 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46667 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46668 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46669 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46670 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46671 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46672 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46673 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46674 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46675 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46676 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46677 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46678 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46679 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46680 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46681 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46682 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46683 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46684 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46685 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46686 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46687 here...
46688 * conf/common.rmk: ... to here. New file.
46689
46690 * conf/common.mk: New file.
46691
16f820c8 466922005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46693
46694 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46695 (grub_script.tab.c): ... here.
46696
46697 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46698 (grub_script.tab.c): ... here.
46699
46700 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46701 (grub_script.tab.c): ... here.
46702
46703 * normal/command.c (grub_command_find): Fixed a memory leak of
46704 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46705
63ba1554 467062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46707
46708 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46709 "@" which marks the start of a comment on ARM.
46710 (VARIABLE): Likewise.
46711
7f67dc13 467122005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46713
79bbb63f 46714 Add support for Linux/ADFS partition tables.
7f67dc13 46715
46716 * partmap/acorn.c: New file.
46717
46718 * include/grub/acorn_filecore.h: Likewise.
46719
46720 * DISTLIST: Added `partmap/acorn.c' and
46721 `include/grub/acorn_filecore.h'.
f19dbdb7 46722
7f67dc13 46723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46724 `partmap/acorn.c'.
46725 (pkgdata_MODULES): Add `acorn.mod'.
46726 (acorn_mod_SOURCES): New variable.
46727 (acorn_mod_CFLAGS): Likewise.
46728
46729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46730 `partmap/acorn.c'.
46731 (pkgdata_MODULES): Add `acorn.mod'.
46732 (acorn_mod_SOURCES): New variable.
46733 (acorn_mod_CFLAGS): Likewise.
46734
46735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46736 (pkgdata_MODULES): Add `acorn.mod'.
46737 (acorn_mod_SOURCES): New variable.
46738 (acorn_mod_CFLAGS): Likewise.
46739 (acorn_mod_LDFLAGS): Likewise.
46740
46741 * include/types.h (grub_disk_addr_t): New typedef.
46742
6d099807 467432005-11-13 Marco Gerards <mgerards@xs4all.nl>
46744
46745 * geninit.sh: New file.
46746
46747 * geninitheader.sh: Likewise.
46748
46749 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46750 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46751 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46752 * commands/configfile.c (grub_configfile_init)
46753 (grub_configfile_fini): Likewise.
46754 * commands/default.c (grub_default_init, grub_default_fini):
46755 Likewise.
46756 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46757 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46758 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46759 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46760 Likewise.
46761 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46762 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46763 Likewise.
46764 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46765 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46766 Likewise.
46767 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46768 Likewise.
fe6b695a 46769 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46770 Likewise.
46771 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46772 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46773 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46774 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46775 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46776 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46777 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46778 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46779 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46780 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46781 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46782 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46783 * partmap/amiga.c (grub_amiga_partition_map_init)
46784 (grub_amiga_partition_map_fini): Likewise.
46785 * partmap/apple.c (grub_apple_partition_map_init)
46786 (grub_apple_partition_map_fini): Likewise.
46787 * partmap/pc.c (grub_pc_partition_map_init)
46788 (grub_pc_partition_map_fini): Likewise.
46789 * partmap/sun.c (grub_sun_partition_map_init,
46790 grub_sun_partition_map_fini): Likewise.
46791 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46792 Likewise.
46793
46794 * util/grub-emu.c: Include <grub_modules_init.h>.
46795 (main): Don't initialize and de-initialize any modules directly,
46796 use `grub_init_all' and `grub_fini_all' instead.
46797
46798 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46799 `grub_vesafb_mod_init'.
46800 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46801 all users.
46802 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46803 `grub_vga_mod_init'. Updated all users.
46804 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46805
6d099807 46806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46807 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46808 rules.
46809
46810 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46811 Generate a function to initialize the module in utilities.
46812 Updated all callers.
46813 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46814 initialize the module in utilities. Updated all callers.
46815
9046bcf0 468162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46817
46818 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46819 escape sequence and a literal ^L to clear the screen.
46820
46821 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46822 when returning from Open Firmware.
46823
d13ea639 468242005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46825
46826 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46827 (grub_ofconsole_height): Likewise.
46828 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46829 manually insert a '\n'.
46830 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46831 `grub_ofconsole_height'. Return early if these are already set.
46832
a8fcf206 468332005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46834
46835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46836 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46837 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46838 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46839 and `normal/script.c'.
46840 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46841 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46842 (test_mod_SOURCES): New variable.
46843 (test_mod_CFLAGS): Likewise.
46844 (test_mod_LDFLAGS): Likewise.
46845 (pkgdata_MODULES): Add `test.mod'.
46846 (grub_script.tab.c): New rule.
46847 (grub_script.tab.h): Likewise.
46848
b6b32745 468492005-11-07 Marco Gerards <mgerards@xs4all.nl>
46850
46851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46852 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46853 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46854 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46855 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46856 (test_mod_SOURCES): New variable.
46857 (test_mod_CFLAGS): Likewise.
46858 (pkgdata_MODULES): Add `test.mod'.
46859 (grub_script.tab.c): New rule.
46860 (grub_script.tab.h): Likewise.
46861
daac212a 468622005-11-06 Marco Gerards <mgerards@xs4all.nl>
46863
46864 Add initial scripting support.
46865
46866 * commands/test.c: New file.
46867 * include/grub/script.h: Likewise.
46868 * normal/execute.c: Likewise.
46869 * normal/function.c: Likewise.
46870 * normal/lexer.c: Likewise.
46871 * normal/parser.y: Likewise.
46872 * normal/script.c: Likewise.
46873
46874 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46875
daac212a 46876 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46877 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46878 `normal/function.c' and `normal/script.c'.
46879 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46880 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46881 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46882 variables.
daac212a 46883 (pkgdata_MODULES): Add `test.mod'.
46884 (grub_script.tab.c): New rule.
46885 (grub_script.tab.h): Likewise.
46886
46887 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46888
46889 * include/grub/normal.h (grub_test_init): New prototype.
46890 (grub_test_fini): Likewise.
f19dbdb7 46891
daac212a 46892 * normal/command.c: Include <grub/script.h>.
46893 (grub_command_execute): Rewritten.
f19dbdb7 46894
daac212a 46895 * util/grub-emu.c (main): Call `grub_test_init' and
46896 `grub_test_fini'.
46897
77500b2b 468982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46899
46900 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46901 to 0.
46902 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46903 there are no pending characters.
46904
e45deb9e 469052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46906
46907 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46908 `grub_strndup' to drop device arguments. Replace unnecessary
46909 `grub_strndup' with `grub_strdup'.
46910
4ce32619 469112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46912
46913 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46914 `debug' environment variable has been set.
46915
469162005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46917
4ce32619 46918 * Makefile.in (install-local): Use $(DATA).
46919 (uninstall): Likewise.
46920 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46921 (sbin_UTILITIES): ... to here.
46922 (sbin_SCRIPTS): New variable.
46923 (grub_install_SOURCES): New variable.
46924 * util/powerpc/ieee1275/grub-install.in: New file.
46925 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46926 variable.
46927 (add_segments): Call `grub_util_get_path'.
46928
25fe6f03 469292005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46930
46931 From Timothy Baldwin:
46932 * commands/ls.c (grub_ls_list_files): Close FILE with
46933 grub_file_close.
46934 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46935
04ccf3ec 469362005-10-24 Marco Gerards <mgerards@xs4all.nl>
46937
46938 * include/grub/parser.h: New file.
46939
46940 * kern/parser.c: Likewise.
46941
46942 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46943 (grub_setup_SOURCES): Likewise.
46944 (grub_probefs_SOURCES): Likewise.
46945 (grub_emu_SOURCES): Likewise.
46946 (kernel_img_HEADERS): Add `parser.h'.
46947
46948 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46949 (grub_emu_SOURCES): Add `kern/parser.c'.
46950 (grubof_SOURCES): Likewise.
46951
46952 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46953 (grubof_SOURCES): Add `kern/parser.c'.
46954
46955 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46956
46957 * kern/misc.c (grub_split_cmdline): Removed function.
46958
46959 * kern/rescue.c: Include <grub/parser.h>.
46960 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46961 of `grub_split_cmdline'.
46962
46963 * normal/command.c: Include <grub/parser.h>.
46964 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46965 of `grub_split_cmdline'.
46966
46967 * normal/completion.c: Include <grub/parser.h>.
46968 (cmdline_state): New variable.
46969 (iterate_dir): End the filename with a quote depending on the
46970 command line state.
46971 (get_state): new function.
46972 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46973 split the arguments and determine the current argument. When the
46974 argument string is not quoted, escape all spaces.
46975
6d8f4b0e 469762005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46977
46978 * normal/sparc64/setjmp.S: New file.
46979
15cf03ed 469802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46981
46982 * include/grub/sparc64/libgcc.h: New file.
46983 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46984 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46985 normal/sparc64/setjmp.c.
46986
03e8661a 469872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46988
46989 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46990 * kern/sparc64/cache.S: New file.
46991 * kern/sparc64/cache.c: Removed.
46992 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46993 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46994 -mtune=ultrasparc.
46995 (COMMON_LDFLAGS): Add -melf64_sparc.
46996 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46997 (grubof_SOURCES): Use cache.S instead of cache.c.
46998 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46999 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47000 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47001 commented though.
47002 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47003 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47004 (linux_mod_CFLAGS): Commented out.
47005 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47006 out because module isn't built.
47007 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47008 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47009 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47010 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47011 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47012 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47013 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47014 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47015 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47016 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47017 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47018 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47019 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47020 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47021
34eeec8a 470222005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47023
47024 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47025 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47026 longer, because HFS should not be used on PC.
47027
708367a3 470282005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47029
47030 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47031 consistently within the loop.
47032
6fa1251a 470332005-10-15 Marco Gerards <mgerards@xs4all.nl>
47034
47035 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47036 directory can not be read.
47037
4801580b 470382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47039
47040 * configure.ac (AC_INIT): Increase the version number to 1.91.
47041
47042 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47043 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47044 term/i386/pc/serial.c.
47045
219ad426 470462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47047
47048 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47049 file size must be permitted.
47050
47051 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47052 between %ah and %al.
47053
688e5699 470542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47055
47056 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47057 grub_uint64_t.
47058 Call the hook with a NUL-terminated filename.
47059 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47060 grub_cpu_to_be32.
47061
47062 * kern/term.c (cursor_state): New variable.
47063 (grub_term_set_current): Reset the cursor state on a new
47064 terminal.
47065 (grub_setcursor): Rewritten to use CURSOR_STATE.
47066 (grub_getcursor): New function.
47067
47068 * include/grub/term.h (grub_getcursor): New prototype.
47069
47070 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47071 integers on ARM. Reported by Timothy Baldwin
47072 <T.E.Baldwin99@members.leeds.ac.uk>.
47073
bb34586c 470742005-10-11 Marco Gerards <mgerards@xs4all.nl>
47075
47076 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47077 allocated.
47078 (grub_sfs_dir): Likewise.
47079
9a909877 470802005-10-09 Marco Gerards <mgerards@xs4all.nl>
47081
47082 Add support for the SFS filesystem.
47083
47084 * fs/sfs.c: New file.
47085
47086 * DISTLIST: Added `fs/sfs.c'.
47087
47088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47089 (grub_probefs_SOURCES): Likewise.
47090 (grub_emu_SOURCES): Likewise.
47091 (pkgdata_MODULES): Add `sfs.mod'.
47092 (sfs_mod_SOURCES): New variable.
47093 (sfs_mod_CFLAGS): Likewise.
47094 (sfs_mod_LDFLAGS): Likewise.
47095
47096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47097 (pkgdata_MODULES): Add `sfs.mod'.
47098 (sfs_mod_SOURCES): New variable.
47099 (sfs_mod_CFLAGS): Likewise.
47100
47101 * util/grub-emu.c (main): Call `grub_sfs_init' and
47102 `grub_sfs_fini'.
47103
47104 * include/grub/fs.h (grub_sfs_init): New prototype.
47105 (grub_sfs_fini): Likewise.
47106
57bdbde3 471072005-10-07 Marco Gerards <mgerards@xs4all.nl>
47108
47109 Add support for the AFFS filesystem.
47110
47111 * fs/affs.c: New file.
47112
47113 * DISTLIST: Added `fs/affs.c'.
47114
47115 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47116 (grub_probefs_SOURCES): Likewise.
47117 (grub_emu_SOURCES): Likewise.
47118 (pkgdata_MODULES): Add `affs.mod'.
47119 (affs_mod_SOURCES): New variable.
47120 (affs_mod_CFLAGS): Likewise.
47121 (affs_mod_LDFLAGS): Likewise.
47122
47123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47124 (pkgdata_MODULES): Add `affs.mod'.
47125 (affs_mod_SOURCES): New variable.
47126 (affs_mod_CFLAGS): Likewise.
47127
47128 * util/grub-emu.c (main): Call `grub_affs_init' and
47129 `grub_affs_fini'.
47130
47131 * include/grub/fs.h (grub_affs_init): New prototype.
47132 (grub_affs_fini): Likewise.
47133
047b67e0 471342005-10-01 Marco Gerards <mgerards@xs4all.nl>
47135
47136 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47137
59b8208a 471382005-10-01 Marco Gerards <mgerards@xs4all.nl>
47139
47140 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47141 `-m32' to CFLAGS.
47142
47143 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47144 linking.
f19dbdb7 47145
59b8208a 47146 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47147 (COMMON_LDFLAGS): New variable.
47148 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47149 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47150 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47151 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47152 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47153 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47154 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47155 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47156 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47157 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47158 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47159 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47160 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47161 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47162 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47163 variables.
47164 (normal_mod_ASFLAGS): Add `-m32'.
47165
47166 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47167 (grub_host_size_t, grub_host_ssize_t): New types.
47168 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47169 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47170 `GRUB_HOST_SIZEOF_VOID_P'.
47171
47172 * include/grub/kernel.h (struct grub_module_header): Type of
47173 member offset changed to `grub_host_off_t'. Type of member size
47174 changed to `grub_host_size_t'.
47175 (struct grub_module_info): Type of member offset changed to
47176 `grub_host_off_t'. Type of member size changed to
47177 `grub_host_size_t'.
47178
b4093103 471792005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47180
47181 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47182
b4093103 47183 * kern/i386/pc/startup.S (multiboot_header): New label.
47184 (multiboot_entry): Likewise.
47185 (multiboot_trampoline): Likewise.
47186
47187 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47188 Increased to 0x4A0.
47189
47190 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47191 put parentheses after a question mark.
47192 [!GRUB_UTIL] (my_mod): New variable.
47193
47194 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47195
b2499b29 471962005-09-28 Marco Gerards <mgerards@xs4all.nl>
47197
47198 Adds support for the XFS filesystem. Btrees are not supported
47199 yet.
47200
47201 * fs/xfs.c: New file.
47202
47203 * DISTLIST: Added `fs/xfs.c'.
47204
47205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47206 (grub_probefs_SOURCES): Likewise.
47207 (grub_emu_SOURCES): Likewise.
47208 (pkgdata_MODULES): Add `xfs.mod'.
47209 (xfs_mod_SOURCES): New variable.
47210 (xfs_mod_CFLAGS): Likewise.
47211
47212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47213 (pkgdata_MODULES): Add `xfs.mod'.
47214 (xfs_mod_SOURCES): New variable.
47215 (xfs_mod_CFLAGS): Likewise.
47216
47217 * util/grub-emu.c (main): Call `grub_xfs_init' and
47218 `grub_xfs_fini'.
47219
47220 * include/grub/fs.h (grub_xfs_init): New prototype.
47221 (grub_xfs_fini): Likewise.
47222
f19dbdb7 47223
83d37a62 472242005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47225
47226 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47227 color modes, allow greater than 16 colors to be configured as
47228 a default palette.
47229
47d2d65e 472302005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47231
47232 * normal/completion.c (complete_arguments): Add the qualifier
47233 const into OPTIONS.
47234
47235 From Omniflux <omniflux+lists@omniflux.com>:
47236 * include/grub/terminfo.h: New file.
47237 * include/grub/tparm.h: Likewise.
47238 * include/grub/i386/pc/serial.h: Likewise.
47239 * term/terminfo.c: Likewise.
47240 * term/tparm.c: Likewise.
47241 * term/i386/pc/serial.c: Likewise.
47242 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47243 serial.mod.
47244 (terminfo_mod_SOURCES): New variable.
47245 (terminfo_mod_CFLAGS): Likewise.
47246 (serial_mod_SOURCES): Likewise.
47247 (serial_mod_CFLAGS): Likewise.
47248
48b671ff 472492005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47250
47251 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47252 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47253 and kern/powerpc/ieee1275/cmain.c, respectively.
47254
47255 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47256 * kern/powerpc/ieee1275/crt0.S: ... here.
47257
47258 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47259 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47260
48b671ff 47261 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47262 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47263 instead of boot/powerpc/ieee1275/crt0.S and
47264 boot/powerpc/ieee1275/cmain.c, respectively.
47265
47266 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47267 sectors. It was not used anyway.
47268
09fc77a7 472692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47270
47271 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47272 `unused parameter' warning.
47273
003789c7 472742005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47275
47276 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47277 function.
47278 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47279 getcharwidth.
47280
67f44c86 472812005-08-28 Marco Gerards <metgerards@student.han.nl>
47282
47283 * include/grub/normal.h (enum grub_completion_type): Added
47284 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47285
47286 * normal/cmdline.c (print_completion): Handle
47287 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47288 * normal/menu_entry.c (store_completion): Likewise.
47289
47290 * normal/completion.c (complete_arguments): New function.
47291 (grub_normal_do_completion): Call `complete_arguments' when the
47292 current words start with a dash.
47293
0b5abe02 472942005-08-27 Marco Gerards <metgerards@student.han.nl>
47295
47296 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47297 `gzio.mod' instead of `io.mod').
47298
d9864ee1 472992005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47300
47301 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47302 (DISTDIRS): Added io and video.
47303 Rewrite the search routine to make an output consistently.
47304
47305 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47306 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47307 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47308 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47309 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47310 util/powerpc/ieee1275/misc.c.
f19dbdb7 47311
d9864ee1 47312 * include/grub/gzio.h: New file.
47313 * io/gzio.c: Likewise.
f19dbdb7 47314
d9864ee1 47315 * kern/file.c (grub_file_close): Call grub_device_close only if
47316 FILE->DEVICE is not NULL.
47317
47318 * include/grub/mm.h [!NULL] (NULL): New macro.
47319
47320 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47321
47322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47323 (pkgdata_MODULES): Added gzio.mod.
47324 (gzio_mod_SOURCES): New variable.
47325 (gzio_mod_CFLAGS): Likewise.
47326
47327 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47328 (pkgdata_MODULES): Added gzio.mod.
47329 (gzio_mod_SOURCES): New variable.
47330 (gzio_mod_CFLAGS): Likewise.
47331
47332 * commands/cat.c: Include grub/gzio.h.
47333 (grub_cmd_cat): Use grub_gzfile_open instead of
47334 grub_file_open.
f19dbdb7 47335
d9864ee1 47336 * commands/cmp.c: Include grub/gzio.h.
47337 (grub_cmd_cmp): Use grub_gzfile_open instead of
47338 grub_file_open.
47339
47340 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47341 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47342 grub_file_open.
47343 (grub_rescue_cmd_module): Likewise.
47344
fa46f4b5 473452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47346
47347 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47348 kern/sparc64/ieee1275/init.c because it contains _start.
47349 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47350
e9211b5d 473512005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47352
47353 * configure.ac: Add support for sparc64 host with ieee1275
47354 firmware.
47355 * configure: Generated from configure.ac.
47356 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47357 instead of int.
47358 (grub_ofdisk_read): Likewise.
47359 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47360 pointers as (void *) to remove a warning.
47361 (grub_ofdisk_close): Likewise.
47362 (grub_ofdisk_read): Likewise.
47363 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47364 returns, so make it return void to remove a warning.
47365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47366 Corresponding prototype change.
47367 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47368 values, and cast the pointers as (void *) to remove a warning.
47369 (grub_mm_dump): Likewise.
47370 * conf/sparc64-ieee1275.mk: New file.
47371 * conf/sparc64-ieee1275.rmk: Likewise.
47372 * include/grub/sparc64/setjmp.h: Likewise.
47373 * include/grub/sparc64/types.h: Likewise.
47374 * include/grub/sparc64/ieee1275/console.h: Likewise.
47375 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47376 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47377 * include/grub/sparc64/ieee1275/time.h: Likewise.
47378 * kern/sparc64/cache.c: Likewise.
47379 * kern/sparc64/dl.c: Likewise.
47380 * kern/sparc64/ieee1275/init.c: Likewise.
47381 * kern/sparc64/ieee1275/openfw.c: Likewise.
47382
385c6a92 473832005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47384
47385 * util/console.c (grub_ncurses_putchar): If C is greater than
47386 0x7f, set C to a question mark.
47387 (grub_ncurses_getcharwidth): New function.
47388 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47389 getcharwidth.
47390
47391 * normal/menu.c (print_entry): Made aware of Unicode. First,
47392 convert TITLE to UCS-4, and predict the cursor position by
47393 grub_getcharwidth.
47394
47395 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47396 const to SRC.
47397 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47398
16ccb8b1 473992005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47400
47401 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47402 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47403 grub_strcat.
47404
47405 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47406 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47407 grub_strcpy and grub_strlen. Take it into account that a space
47408 character is inserted as a delimiter.
47409
6a85ce79 474102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47411
47412 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47413 invalid magic in the error.
6a85ce79 47414
47415 * commands/search.c: New file.
f19dbdb7 47416
6a85ce79 47417 * util/grub-emu.c (main): Call grub_search_init and
47418 grub_search_fini.
47419
47420 * kern/rescue.c (grub_rescue_print_disks): Removed.
47421 (grub_rescue_print_devices): New function.
47422 (grub_rescue_cmd_ls): Use grub_device_iterate with
47423 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47424 grub_rescue_print_disks.
47425
47426 * kern/partition.c (grub_partition_iterate): Return the result of
47427 PARTMAP->ITERATE instead of GRUB_ERRNO.
47428
47429 * kern/device.c: Include grub/partition.h.
47430 (grub_device_iterate): New function.
47431
47432 * include/grub/partition.h (grub_partition_iterate): Return int
47433 instead of grub_err_t.
47434
47435 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47436 prototype.
47437 [GRUB_UTIL] (grub_search_fini): Likewise.
47438
47439 * include/grub/device.h (grub_device_iterate): New prototype.
47440
47441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47442 commands/search.c.
47443 (pkgdata_MODULES): Added search.mod.
47444 (search_mod_SOURCES): New variable.
47445 (search_mod_CFLAGS): Likewise.
47446
47447 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47448 (pkgdata_MODULES): Added search.mod.
47449 (search_mod_SOURCES): New variable.
47450 (search_mod_CFLAGS): Likewise.
47451
47452 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47453 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47454 All callers changed.
47455
47456 * DISTLIST: Added commands/search.c.
47457
ef095434 474582005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47459
47460 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47461 conversion.
47462 (grub_getcharwidth): New function.
47463
47464 * kern/misc.c (grub_utf8_to_ucs4): New function.
47465
47466 * include/grub/term.h (struct grub_term): Added a new member
47467 "getcharwidth".
47468 (grub_getcharwidth): New prototype.
47469
47470 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47471
47472 * term/i386/pc/console.c (map_char): New function. Segregated from
47473 grub_console_putchar.
47474 (grub_console_putchar): Use map_char.
47475 (grub_console_getcharwidth): New function.
47476 (grub_console_term): Specified grub_console_getcharwidth as
47477 getcharwidth.
47478
47479 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47480 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47481
47482 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47483 GRUB_ERRNO.
47484 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47485 on grub_strtoul completely.
47486 (write_char): Declare local variables in the beginning of the
47487 function.
47488 (grub_vesafb_getcharwidth): New function.
47489 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47490 getcharwidth.
47491
1f0a95e4 474922005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47493
47494 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47495 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47496 commands/i386/pc/vbetest.c.
47497
47498 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47499 call grub_vbe_get_controller_info again, because the returned
47500 information is volatile.
47501 (grub_vbe_set_video_mode): Mostly rewritten.
47502 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47503 grub_vbe_status_t correctly.
47504 (grub_vbe_get_video_mode_info): Likewise.
47505 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47506 several if statements.
47507
47508 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47509 * commands/i386/pc/vbeinfo.c: ... this.
47510
47511 * commands/i386/pc/vbe_test.c: Renamed to ...
47512 * commands/i386/pc/vbetest.c: ... this.
47513
47514 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47515 ...
47516 (grub_cmd_vbeinfo): ... this. Save video modes before
47517 iterating. Skip a video mode, if it is not available, not enough
47518 information is given or it is monochrome. Show the memory
47519 model. Leave the interpretation of MODEVAR to grub_strtoul
47520 completely.
47521 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47522 (GRUB_MOD_FINI): Likewise.
47523
47524 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47525 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47526 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47527 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47528 grub_strtoul completely.
47529 (real2pm): Removed.
47530 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47531 (GRUB_MOD_FINI): Likewise.
47532
47533 * normal/misc.c: Include grub/mm.h.
47534
47535 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47536 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47537 (vbe_list_modes_mod_SOURCES): Removed.
47538 (vbe_list_modes_mod_CFLAGS): Likewise.
47539 (vbe_test_mod_SOURCES): Likewise.
47540 (vbe_test_mod_CFLAGS): Likewise.
47541 (vbeinfo_mod_SOURCES): New variable.
47542 (vbeinfo_mod_CFLAGS): Likewise.
47543 (vbetest_mod_SOURCES): Likewise.
47544 (vbetest_mod_CFLAGS): Likewise.
47545
992ffbbe 475462005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47547
47548 * normal/misc.c: New file.
47549
47550 * DISTLIST: Added normal/misc.c.
f19dbdb7 47551
992ffbbe 47552 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47553 DISK to HOOK. Call HOOK with DISK.
47554 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47555 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47556 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47557
47558 * normal/menu_entry.c (struct screen): Added a new member
47559 "completion_shown".
47560 (completion_buffer): New global variable.
47561 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47562 (store_completion): New function.
47563 (complete): Likewise.
47564 (clear_completions): Likewise.
47565 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47566 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47567 a tab, call complete.
47568
47569 * normal/completion.c (disk_dev): Removed.
47570 (print_simple_completion): Likewise.
47571 (print_partition_completion): Likewise.
47572 (print_func): New global variable.
47573 (add_completion): Do not take the arguments WHAT or PRINT any
47574 longer. Added a new argument TYPE. Instead of printing directly,
47575 call PRINT_FUNC if not NULL.
47576 All callers changed.
47577 (complete_device): Use a local variable DEV instead of
47578 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47579 (grub_normal_do_completion): Take a new argument HOOK. Do not
47580 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47581 empty string, return NULL instead.
47582 All callers changed.
47583
47584 * normal/cmdline.c (print_completion): New function.
47585
47586 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47587 to HOOK.
47588 All callers changed.
47589
47590 * kern/disk.c (grub_print_partinfo): Removed.
47591
47592 * include/grub/partition.h (struct grub_partition_map): Add a new
47593 argument DISK into HOOK of ITERATE.
47594 (grub_partition_iterate): Add a new argument DISK to HOOK.
47595
47596 * include/grub/normal.h (enum grub_completion_type): New enum.
47597 (grub_completion_type_t): New type.
47598 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47599 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47600 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47601 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47602 (grub_normal_do_completion): Added a new argument HOOK.
47603 (grub_normal_print_device_info): New prototype.
47604
47605 * include/grub/disk.h (grub_print_partinfo): Removed.
47606
47607 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47608 (normal_mod_SOURCES): Likewise.
47609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47610 (normal_mod_SOURCES): Likewise.
47611
47612 * commands/ls.c (grub_ls_list_disks): Use
47613 grub_normal_print_device_info instead of grub_print_partinfo. Free
47614 PNAME.
47615 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47616 duplicating the code.
47617
0bd41162 476182005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47619
47620 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47621 follow GCS more precisely.
47622 * commands/i386/pc/vbe_test.c: Likewise.
47623 * include/grub/i386/pc/vbe.h: Likewise.
47624 * term/i386/pc/vesafb.c: Likewise.
47625 * video/i386/pc/vbe.c: Likewise.
0bd41162 47626
6323696a 476272005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47628
47629 * DISTLIST: Added term/i386/pc/vesafb.c
47630 DISTLIST: Added video/i386/pc/vbe.c
47631 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47632 DISTLIST: Added commands/i386/pc/vbe_test.c.
47633 * commands/i386/pc/vbe_list_modes.c: New file.
47634 * commands/i386/pc/vbe_test.c: Likewise.
47635 * term/i386/pc/vesafb.c: Likewise.
47636 * video/i386/pc/vbe.c: Likewise.
47637 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47638 (grub_vbe_probe) Added prototype.
47639 (grub_vbe_set_video_mode) Likewise.
47640 (grub_vbe_get_video_mode) Likewise.
47641 (grub_vbe_get_video_mode_info) Likewise.
47642 (grub_vbe_set_pixel_rgb) Likewise.
47643 (grub_vbe_set_pixel_index) Likewise.
47644 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47645 (pkgdata_MODULES): Added vesafb.mod.
47646 (pkgdata_MODULES): Added vbe_list_modes.mod.
47647 (pkgdata_MODULES): Added vbe_test.mod.
47648 (vbe_mod_SOURCES): Added.
47649 (vbe_mod_CFLAGS): Likewise.
47650 (vesafb_mod_SOURCES): Likewise.
47651 (vesafb_mod_CFLAGS): Likewise.
47652 (vbe_list_modes_mod_SOURCES): Likewise.
47653 (vbe_list_modes_mod_CFLAGS): Likewise.
47654 (vbe_test_mod_SOURCES): Likewise.
47655 (vbe_test_mod_CFLAGS): Likewise.
47656
0a74e62f 476572005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47658
0a74e62f 47659 * normal/command.c (grub_command_execute): If INTERACTIVE is
47660 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47661 CMDLINE. Disable the pager if INTERACTIVE is true.
47662 All callers are changed.
47663
47664 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47665 before reading a config file.
47666 * normal/main.c (read_config_file): Even if a command is not
47667 found, register it if it is within an entry.
47668
47669 * util/grub-emu.c: Include sys/types.h and unistd.h.
47670 (options): Added --hold.
47671 (struct arguments): Added a new member "hold".
47672 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47673 missing.
47674 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47675 cleared by a debugger, if it is not zero.
47676
47677 * include/grub/normal.h (grub_command_execute): Add an argument
47678 INTERACTIVE.
47679
e51f85ae 476802005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47681
47682 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47683
e9c6f39b 476842005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47685
47686 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47687 program with another one, because the old one didn't detect a bug
47688 in gcc-3.4. Always use regparm 2, because the new test is still
47689 not enough for gcc-4.0. Someone must investigate a simple test
47690 case which detects a bug in gcc-4.0.
47691
8de3495c 476922005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47693
47694 * DISTLIST: Added normal/completion.c.
47695
47696 * normal/completion.c: New file.
f19dbdb7 47697
8de3495c 47698 * term/i386/pc/console.c (grub_console_getwh): New function.
47699 (grub_console_term): Assign grub_console_getwh to getwh.
47700
47701 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47702 function is defined in normal/completion.c as
47703 grub_normal_do_completion.
47704 (grub_cmdline_get): Use grub_normal_do_completion instead of
47705 grub_tab_complete.
47706
47707 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47708 returns non-zero, otherwise return 0.
47709 (grub_partition_iterate): First, probe the partition map. Then,
47710 call ITERATE only for this partition map.
47711
47712 * kern/misc.c (grub_strncmp): Rewritten.
47713
47714 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47715 returns non-zero. Otherwise return 0.
47716
47717 * include/grub/partition.h (grub_partition_map_iterate): Return
47718 int instead of void.
47719
47720 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47721
47722 * include/grub/misc.h (grub_strncmp): Change the type of N to
47723 grub_size_t.
47724
47725 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47726 of void.
47727
47728 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47729 unsigned explicitly before comparing it with I.
8de3495c 47730
47731 * kern/main.c (grub_env_write_root): Add the attribute unused into
47732 VAR.
47733
47734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47735 normal/completion.c.
47736 (normal_mod_SOURCES): Likewise.
47737 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47738 (normal_mod_SOURCES): Likewise.
47739
47740 * normal/command.c (grub_iterate_commands): If ITERATE returns
47741 non-zero, return one immediately.
47742
e85e144b 477432005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47744
47745 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47746 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47747 descriptions.
47748 (grub_vbe_get_controller_info): New function.
47749 (grub_vbe_get_mode_info): Likewise.
47750 (grub_vbe_set_mode): Likewise.
47751 (grub_vbe_get_mode): Likewise.
47752 (grub_vbe_set_memory_window): Likewise.
47753 (grub_vbe_get_memory_window): Likewise.
47754 (grub_vbe_set_scanline_length): Likewise.
47755 (grub_vbe_get_scanline_length): Likewise.
47756 (grub_vbe_set_display_start): Likewise.
47757 (grub_vbe_get_display_start): Likewise.
47758 (grub_vbe_set_palette_data): Likewise.
47759 * include/grub/i386/pc/vbe.h: New file.
47760
c46153d2 477612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47762
47763 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47764 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47765 * DISTLIST: Likewise.
47766 * kern/ieee1275/of.c: Moved to ...
47767 * kern/ieee1275/ieee1275.c: ... here.
47768
0cb90c45 477692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47770
47771 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47772 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47773 Pass 0 as `end' parameter to grub_strtoul().
47774
a19fb360 477752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47776
47777 * include/grub/powerpc/ieee1275/console.h: Do not include
47778 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47779 ifdef.
47780 (grub_console_cur_color): Remove i386-specific prototype.
47781 (grub_console_real_putchar): Likewise.
47782 (grub_console_checkkey): Likewise.
47783 (grub_console_getkey): Likewise.
47784 (grub_console_getxy): Likewise.
47785 (grub_console_gotoxy): Likewise.
47786 (grub_console_cls): Likewise.
47787 (grub_console_setcursor): Likewise.
47788 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47789 Include <grub/machine/console.h>.
47790 * term/ieee1275/ofconsole.c: Likewise.
47791
4ac9bd04 477922005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47793
47794 * Makefile.in (LIBLZO): New variable.
47795
47796 * configure.ac: Check for LZO version 2.
47797
47798 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47799 lzo/lzo1x.h instead of lzo1x.h.
47800
47801 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47802 of -llzo.
47803
47804 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47805 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47806
47807 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47808 copying the data from PARTITION to P.
47809
f4917dfd 478102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47811
47812 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47813 negative, unload the module.
47814
47815 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47816 map is "pc_partition_map" but not "pc".
47817 (usage): Fix the description. The options are --boot-image and
47818 --core-image but not --boot-file or --core-file.
47819 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47820 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47821 DEFAULT_DIRECTORY.
47822
47823 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47824 --core-file. Specify INSTALL_DEVICE as an argument.
47825
47826 * util/console.c: Include config.h.
47827 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47828 [HAVE_NCURSES_H]: Include ncurses.h.
47829 [HAVE_CURSES_H]: Include curses.h.
47830 [!A_NORMAL] (A_NORMAL): Defined as zero.
47831 [!A_STANDOUT] (A_STANDOUT): Likewise.
47832
47833 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47834 -lncurses.
47835 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47836
47837 * configure.ac: Check for curses libraries and headers.
47838
47839 * Makefile.in (LIBCURSES): New variable.
47840
47841 * genmk.rb (Script::rule): Set the executable bits.
47842
47843 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47844 name of the PC partition map is "pc_partition_map" but not "pc".
47845
0e143073 478462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47847
47848 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47849 (modules): Likewise.
47850 (usage): Added descriptions for --modules and --grub-probefs.
47851 Handle --modules and --grub-probefs. Save the arguments in MODULES
47852 and GRUB_PROBEFS, respectively.
47853 Auto-detect a filesystem module against GRUBDIR. If the result is
47854 empty and modules are not specified explicitly, abort the
47855 installation. Add the result to MODULES.
47856
47857 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47858 disk/powerpc/ieee1275/ofdisk.c,
47859 include/grub/powerpc/ieee1275/init.h and
47860 term/powerpc/ieee1275/ofconsole.c.
47861 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47862 term/ieee1275/ofconsole.c.
47863
47864 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47865
47866 * COPYING: Upgraded to the latest version. Only the address of the
47867 FSF office has changed.
f19dbdb7 47868
efd6e6d5 478692005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47872 kern/ieee1275.c with kern/ieee1275/of.c.
47873
47874 * kern/ieee1275.c: Moved to ...
47875 * kern/ieee1275/of.c: ... here.
47876
8ceafda2 478772005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47878
47879 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47880 readability.
8ceafda2 47881
47882 * config.guess: Updated to the latest version from gnulib.
47883 * config.sub: Likewise.
47884 * install.sh: Likewise.
47885 * mkinstalldirs: Likewise.
47886
47887 * include/grub/console.h: Removed. This file is arch-specific. Do
47888 not put this in include/grub.
47889
47890 * include/grub/i386/pc/console.h: Resurrected.
47891
47892 * util/console.c: Include grub/machine/console.h instead of
47893 grub/console.h.
47894 * util/grub-emu.c: Likewise.
47895
267f6cd9 478962005-08-04 Marco Gerards <metgerards@student.han.nl>
47897
47898 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47899 hardcoded value.
f19dbdb7 47900
267f6cd9 47901 From Vincent Pelletier <subdino2004@yahoo.fr>
47902 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47903 Redefined to use grub_getwh.
47904 (grub_term): New member named getwh.
47905 (grub_getwh): New prototype.
47906 * kern/term.c (grub_getwh): New function.
47907 * term/i386/pc/console.c (grub_console_getwh): New function.
47908 (grub_console_term): New member `getwh'.
47909 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47910 (grub_vga_term): New member `getwh'.
0b5abe02 47911 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47912 grub_ssize_t.
47913 (grub_ofconsole_getw): New function.
47914 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47915 (grub_ofconsole_term): New field named getwh and new initial
47916 value.
47917
3be7266d 479182005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47919
47920 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47921 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47922 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47923 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47924 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47925 of <grub/machine/ieee1275.h>.
47926 * commands/ieee1275/reboot.c: Likewise.
47927 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47928 * kern/ieee1275.c: ... to here. All users updated. Change all
47929 parameter structs to use new type `grub_ieee1275_cell_t'.
47930 * term/powerpc/ieee1275/ofconsole.c: Move ...
47931 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47932 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47933 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47934 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47935 to return int.
47936 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47937 Remove unused prototypes. All users updated.
47938 * include/grub/powerpc/ieee1275/console.h: Removed.
47939 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47940 `grub_ieee1275_cell_t'.
47941 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47942 Cast comparisons with -1 to the correct type.
47943 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47944 type to match `grub_ieee1275_entry_fn'.
47945
8b5f3938 479462005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47947
47948 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47949
47950 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47951 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47952 partmap/sun.c.
47953 (grub_probefs_SOURCES): New variable.
47954
47955 * util/i386/pc/grub-probefs.c: New file.
47956
47957 * util/i386/pc/grub-setup.c (main): Call
47958 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47959 grub_hfs_init and grub_jfs_init to initialize the system. Call
47960 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47961 grub_pc_partition_map_fini to finish the system.
47962
ea409713 479632005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47964
47965 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47966 function.
47967 (grub_multiboot_load_elf32): Likewise.
47968 (grub_multiboot_is_elf64): Likewise.
47969 (grub_multiboot_load_elf64): Likewise.
47970 (grub_multiboot_load_elf): Likewise.
47971 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47972 an ELF32 or ELF64 file.
47973 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47974
47975 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47976 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47977 NULL before calling FS->LABEL.
47978 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47979 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47980 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47981 before calling FS->LABEL.
47982
141a288b 479832005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47984
47985 * util/i386/pc/grub-install.in (datadir): New variable.
47986 (libdir): Removed.
47987 (pkgdatadir): New variable.
47988 (pkglibdir): Removed.
47989
0d5f8a54 479902005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47991
47992 * DISTLIST: Added util/i386/pc/grub-install.in.
47993
47994 * util/i386/pc/grub-install.in: New file.
47995
47996 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47997 (grub_install_SOURCES): Likewise.
47998
47999 * genmk.rb: Added support for scripts.
48000 (Script): New class.
48001 (scripts): New variable.
48002
48003 * Makefile.in (install-local): Install sbin_SCRIPTS by
48004 INSTALL_SCRIPT.
48005 (uninstall): Remove sbin_SCRIPTS.
48006
48007 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48008 device, try to get a GRUB device by
48009 grub_util_biosdisk_get_grub_dev.
48010 Free DEST_DEV.
48011
48012 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48013 description for --device-map.
48014
5f968e1e 480152005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48016
48017 Change the semantics of variable hooks. They now return strings
48018 instead of error values.
f19dbdb7 48019
5f968e1e 48020 * util/i386/pc/grub-setup.c: Include grub/env.h.
48021 (setup): Use grub_device_set_root instead of grub_env_set.
48022
48023 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48024 grub_env_get instead of grub_device_set_root and
48025 grub_device_get_root, respectively.
48026
48027 * kern/main.c (grub_env_write_root): New function.
48028 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48029 grub_env_set instead of grub_device_set_root.
48030
48031 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48032 many variables.
48033 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48034 rather than calling ENV->WRITE_HOOK afterwards.
48035 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48036 passing a pointer of a pointer.
48037 (grub_register_variable_hook): Change the types of "read_hook" and
48038 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48039 respectively.
48040 Allocate the default empty string on the heap, because this string
48041 may be freed later.
48042
48043 * kern/device.c: Include grub/env.h.
48044 (grub_device_set_root): Removed.
48045 (grub_device_get_root): Likewise.
48046 (grub_device_open): Use grub_env_get instead of
48047 grub_device_get_root.
48048
48049 * include/grub/env.h (grub_env_read_hook_t): New type.
48050 (grub_env_write_hook_t): Likewise.
48051 (grub_env_var): Change the types of "read_hook" and "write_hook"
48052 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48053 (grub_register_variable_hook): Likewise.
48054
48055 * include/grub/device.h (grub_device_set_root): Removed.
48056 (grub_device_set_root): Likewise.
48057
48058 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48059 make sure that DIRNAME terminates with '/', so that
48060 grub_fat_find_dir will fail if PATH is not a directory.
48061
48062 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48063 from DIRNAME.
48064 Use the qualifier auto for print_files and print_files_long.
48065 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48066 as a regular file.
48067 Put a newline only if there is no error.
48068 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48069 used.
48070
896f0afd 480712005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48072
48073 * kern/partition.c (grub_partition_probe): Initialize PART to
48074 NULL. Otherwise, when no partition map is registered, this returns
48075 a garbage.
48076
b28b81b2 480772005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48078
48079 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48080 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48081 valid.
48082
5f3607e0 480832005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48084
48085 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48086 information on each device, if it does not have partitions. Print
48087 "Device" instead of "Disk", because this function is not specific
48088 to disk devices.
48089
48090 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48091 static to ensure that it is put on the memory rather than a
48092 register.
48093
502c87e8 480942005-07-17 Yoshinori Okuji <okuji@enbug.org>
48095
48096 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48097 (grub_cat_init): Likewise.
48098 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48099 (options): Likewise.
48100 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48101 (grub_configfile_init): Likewise.
48102 * font/manager.c (GRUB_MOD_INIT): Likewise.
48103 * commands/help.c (GRUB_MOD_INIT): Likewise.
48104 (grub_help_init): Likewise.
48105 * normal/command.c (grub_command_init): Likewise.
48106 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48107 * disk/loopback.c (grub_loop_init): Likewise.
48108 (GRUB_MOD_INIT): Likewise.
48109 * commands/ls.c (grub_ls_init): Likewise.
48110 (GRUB_MOD_INIT): Likewise.
48111 (options): Likewise.
48112 * commands/boot.c (grub_boot_init): Likewise.
48113 (GRUB_MOD_INIT): Likewise.
48114 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48115 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48116 (GRUB_MOD_INIT): Likewise.
48117 * commands/cmp.c (grub_cmp_init): Likewise.
48118 (GRUB_MOD_INIT): Likewise.
48119
48120 * normal/arg.c: Use <> instead of "" to include header files.
48121 (SHORT_ARG_HELP): New macro.
48122 (SHORT_ARG_USAGE): Likewise.
48123 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48124 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48125 descriptions.
48126 (find_short): Check if C is 'h' or 'u' explicitly.
48127 (grub_arg_show_help): Use space characters instead of tabs. Treat
48128 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48129 are shown with --help and --usage only if they are not used for
48130 the command itself.
48131 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48132 'h' and 'u'.
48133
48134 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48135 const into "longarg". Change the type of "shortarg" to int.
48136
f806d18e 481372005-07-17 Yoshinori Okuji <okuji@enbug.org>
48138
48139 * boot/i386/pc/boot.S (boot_drive_check): New label.
48140
48141 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48142 macro.
48143
48144 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48145 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48146
e293232b 481472005-07-17 Yoshinori Okuji <okuji@enbug.org>
48148
48149 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48150 When turning off Gate A20, skip the check and return immediately,
48151 because this is not fatal usually.
48152
ebedfd00 481532005-07-17 Yoshinori Okuji <okuji@enbug.org>
48154
48155 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48156 be 0x7C00 instead of 0x8000.
48157
48158 * boot/i386/pc/pxeboot.S: Rewritten.
48159
48160 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48161 EXT_C.
48162 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48163 result.
48164
654fc59f 481652005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48166
48167 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48168 robustness. This routine now supports a BIOS call and System
48169 Control Port A to modify the gate A20.
48170
48171 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48172 Increased to 0x440.
48173
09f9923f 481742005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48175
48176 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48177 device path and resulting ihandle.
48178 (grub_ofdisk_close): dprintf the ihandle being closed.
48179 (grub_ofdisk_read): dprintf function parameters.
48180 * kern/mm.c (grub_mm_init_region): Likewise.
48181 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48182 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48183 size, and boot arguments.
48184 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48185 before loading into memory.
48186 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48187 before loading into memory.
48188
7ef504d8 481892005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48190
48191 * kern/mm.c: Added much documentation.
48192 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48193 8, set to 5 instead of 8.
48194
e0f050c2 481952005-07-10 Yoshinori Okuji <okuji@enbug.org>
48196
48197 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48198
48199 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48200 (grub_mkdevicemap_SOURCES): New variable.
48201
48202 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48203 lib/device.c of GRUB Legacy.
48204
7224189a 482052005-07-10 Yoshinori Okuji <okuji@enbug.org>
48206
48207 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48208 instead of PATH is NULL.
48209
68c864eb 482102005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48211
48212 * commands/cmp.c (BUFFER_SIZE): New macro.
48213 (grub_cmd_cmp): Close the right file at the right time. Compare
48214 only data just read. Don't report files of different size as
48215 identical. Dynamically allocate buffers. Move variable
48216 declarations at the beginning of function.
48217
e6f3e614 482182005-07-09 Yoshinori Okuji <okuji@enbug.org>
48219
48220 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48221 reverse.
48222
f8f1559a 482232004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48224
48225 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48226 when backspace is pressed at beginning of line.
48227
39c9d41d 482282005-07-03 Yoshinori Okuji <okuji@enbug.org>
48229
48230 * DISTLIST: Added genfslist.sh.
48231
48232 * normal/main.c (fs_module_list): New variable.
48233 (autoload_fs_module): New function.
48234 (read_fs_list): Likewise.
48235 (grub_normal_execute): Call read_fs_list.
48236
48237 * kern/fs.c (grub_fs_autoload_hook): New variable.
48238 (grub_fs_probe): Added support for auto-loading.
48239
48240 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48241 (grub_fs_module_list_t): New type.
48242
48243 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48244 (grub_fs_autoload_hook): New prototype.
48245
48246 * genfslist.sh: New file.
f19dbdb7 48247
39c9d41d 48248 * genmk.rb: Added a rule to generate a filesystem list.
48249
121c1d83 482502005-06-30 Marco Gerards <metgerards@student.han.nl>
48251
48252 * configure.ac: Fix the test for cross-compiling.
48253
48254 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48255 define GRUB_UTIL anymore.
48256
48257 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48258 so this function works on other systems than just big endian.
48259 (load_modules): Likewise.
48260 (add_segments): Likewise.
48261
e75d76e1 482622005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48263
48264 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48265 contains `l' modifier, get a long from va_arg().
48266
50b5a0a7 482672005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48268
48269 * kern/mm.c (grub_free): If the next free block which is being
48270 merged is the first free block, set the first block to the block
48271 being freed.
48272 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48273
89371b20 482742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48275
48276 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48277 `grub_ieee1275_chosen'.
48278
168d6e58 482792005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48280
48281 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48282 (grub_ieee1275_chosen): New variable.
48283 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48284 `chosen'.
48285 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48286 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48287 Rename first argument to `phandle' for consistency.
48288 (grub_ieee1275_get_property_length): Likewise.
48289 (grub_ieee1275_next_property): Likewise. Change type of first argument
48290 to grub_ieee1275_phandle_t.
48291 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48292 Move export next to declaration.
48293 (grub_ieee1275_chosen): New variable.
48294 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48295 Correct cosmetic typo.
48296 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48297 `grub_ieee1275_chosen'.
48298 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48299 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48300 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48301 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48302 `grub_ieee1275_chosen'.
48303
ca5baa3f 483042005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48305
48306 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48307 /chosen/bootargs.
48308 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48309 /chosen/bootargs as "variable=value" pairs.
48310
708b345f 483112005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48312
48313 * include/grub/misc.h (grub_dprintf): New macro.
48314 (grub_real_dprintf): New prototype.
48315 (grub_strword): Likewise.
48316 (grub_iswordseparator): Likewise.
48317 * kern/misc.c (grub_real_dprintf): New function.
48318 (grub_strword): Likewise.
48319 (grub_iswordseparator): Likewise.
48320
f4c5e67c 483212005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48322
48323 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48324 (roundup): Remove macro.
48325 (grub_ieee1275_flags): Make static.
48326 (grub_ieee1275_realmode): Remove.
48327 (grub_ieee1275_test_flag): New function.
48328 (grub_ieee1275_set_flag): Likewise.
48329 (find_options): Rename to `grub_ieee1275_find_options'; update
48330 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48331 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48332 (cmain): New prototype.
48333 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48334 `grub_ieee1275_flags' directly.
48335 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48336 machine/biosdisk.h.
48337 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48338 Don't include grub/machine/init.h.
48339 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48340 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48341 Remove prototype.
48342 (grub_ieee1275_realmode): Likewise.
48343 (grub_ieee1275_flag): New enum.
48344 (grub_ieee1275_test_flag): New prototype.
48345 (grub_ieee1275_set_flag): New prototype.
48346 * include/grub/powerpc/ieee1275/init.h: Remove file.
48347 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48348 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48349 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48350 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48351 comment.
48352 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48353 `grub_ieee1275_test_flag'.
48354 (grub_ieee1275_encode_devname): Likewise.
48355
ed16607e 483562005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48357
48358 * include/grub/powerpc/ieee1275/ieee1275.h
48359 (grub_ieee1275_encode_devname): New prototype.
48360 (grub_ieee1275_get_filename): Likewise.
48361 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48362 function.
48363 (grub_set_prefix): Likewise.
48364 (grub_machine_init): Call grub_set_prefix.
48365 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48366 (grub_parse_type): New enum.
48367 (grub_ieee1275_get_devargs): New function.
48368 (grub_ieee1275_get_devname): Likewise.
48369 (grub_ieee1275_parse_args): Likewise.
48370 (grub_ieee1275_get_filename): Likewise.
48371 (grub_ieee1275_encode_devname): Likewise.
48372
be369920 483732005-03-30 Marco Gerards <metgerards@student.han.nl>
48374
48375 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48376 `grub_loader_unset'.
48377
a5ce3a4a 483782005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48379
48380 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48381 instead of grub_ieee1275_interpret.
48382 (grub_halt_init): New function.
48383 (grub_halt_fini): Likewise.
48384 (GRUB_MOD_INIT): Correct message grammar.
48385 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48386 instead of grub_ieee1275_interpret.
48387 (grub_reboot_init): New function.
48388 (grub_reboot_fini): Likewise.
48389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48390 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48391 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48392 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48393 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48394 function.
48395 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48396 Add prototype.
48397 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48398 prototype.
48399 (grub_halt): Likewise.
48400 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48401 (cmain): Remove __attribute__((unused)).
48402 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48403 (grub_heap_len): Likewise.
48404 (grub_machine_fini): New function.
48405 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48406 (grub_halt): Likewise.
48407 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48408 function.
48409 * util/powerpc/ieee1275/misc.c: New file.
48410
0058f771 484112005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48412
48413 * DISTLIST: New file.
48414 * gendistlist.sh: Likewise.
f19dbdb7 48415
0058f771 48416 * Makefile.in (COMMON_DISTFILES): Removed.
48417 (BOOT_DISTFILES): Likewise.
48418 (CONF_DISTFILES): Likewise.
48419 (DISK_DISTFILES): Likewise.
48420 (FS_DISTFILES): Likewise.
48421 (INCLUDE_DISTFILES): Likewise.
48422 (KERN_DISTFILES): Likewise.
48423 (LOADER_DISTFILES): Likewise.
48424 (TERM_DISTFILES): Likewise.
48425 (UTIL_DISTFILES): Likewise.
48426 (DISTFILES): Likewise.
48427 (uninstall): Uninstall files in $(pkgdata_DATA).
48428 (DISTLIST): New target.
48429 (distdir): Use the contents of the file DISTLIST to get a list of
48430 distributed files.
48431
46b3b8a5 484322005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48433
48434 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48435 descriptor. This is ported from GRUB Legacy.
48436
48437 * gencmdlist.sh: Added an extra semicolon to make it work with
48438 old sed versions. Reported by Robert Bihlmeyer
48439 <robbe@orcus.priv.at>.
48440
5822ff87 484412005-03-08 Yoshinori Okuji <okuji@enbug.org>
48442
48443 Automatic loading of commands is supported.
f19dbdb7 48444
5822ff87 48445 * normal/main.c (read_command_list): New function.
48446 (grub_normal_execute): Call read_command_list.
48447
48448 * normal/command.c (grub_register_command): Return zero or CMD.
48449 Allocate CMD->NAME from the heap.
48450 Initialize CMD->MODULE_NAME to zero.
48451 Find the same name as well. If the same command is found and it is
48452 a dummy command, overwrite members. If it is not a dummy command,
48453 return zero.
48454 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48455 (grub_command_find): If a dummy command is found, load a module
48456 and retry to find a command only once.
48457
48458 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48459 make sure that each command is loaded.
48460
48461 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48462 macro.
48463 (struct grub_command): Remove const from the member `name'.
48464 Add a new member `module_name'.
48465 (grub_register_command): Return grub_command_t.
48466
48467 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48468 sure that each command is loaded.
48469
48470 * genmk.rb (PModule::rule): Specify a module name without the
48471 suffix ".mod" to gencmdlist.sh.
48472
7b1f4b57 484732005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48474
48475 * gencmdlist.sh: New file.
f19dbdb7 48476
7b1f4b57 48477 * genmk.rb (PModule::rule): Generate a rule for a command list.
48478 Clean command.lst.
48479 Generate command.lst from $(COMMANDFILES).
48480
48481 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48482 (DATA): Added $(pkgdata_DATA).
48483 (install-local): Install files in $(pkgdata_DATA).
48484
062aaf39 484852005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48486
48487 * term/i386/pc/vga.c (debug_command): Removed.
48488 (GRUB_MOD_INIT): Do not register the command "debug".
48489
48490 From Hollis Blanchard:
48491 * commands/configfile.c: New file.
48492 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48493 commands/configfile.c.
48494 (pkgdata_MODULES): Added configfile.mod.
48495 (configfile_mod_SOURCES): New variable.
48496 (configfile_mod_CFLAGS): Likewise.
48497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48498 commands/configfile.c.
48499 (pkgdata_MODULES): Added configfile.mod.
48500 (configfile_mod_SOURCES): New variable.
48501 (configfile_mod_CFLAGS): Likewise.
48502 * util/grub-emu.c (main): Call grub_configfile_init and
48503 grub_configfile_fini.
48504 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48505 prototype.
48506 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48507
cee01aa6 485082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48509
48510 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48511 address.
48512
48513 * commands/help.c (grub_cmd_help): Do not print newlines after
48514 the last command in print_command_help.
48515
93f3a1d8 485162005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48517
48518 * commands/default.h: New file.
48519 * commands/timeout.h: Likewise.
48520 * normal/context.c: Likewise.
f19dbdb7 48521
93f3a1d8 48522 * util/misc.c: Do not include sys/times.h.
48523 Include sys/time.h and grub/machine/time.h.
48524 (grub_get_rtc): Rewritten with gettimeofday.
48525
48526 * util/grub-emu.c (main): Call grub_default_init and
48527 grub_timeout_init before grub_normal_init, and call
48528 grub_timeout_fini and grub_default_fini after grub_main.
48529
48530 * util/console.c (grub_ncurses_checkkey): Return the read
48531 character or -1.
48532
48533 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48534 timeouts.
48535
48536 * normal/main.c (read_config_file): Push MENU. If this fails,
48537 print an error and wait for a user input.
48538 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48539 If a menu is empty or an error occurs, pop MENU.
48540 (grub_normal_execute): Pop and free MENU after grub_menu_run
48541 returns.
48542
48543 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48544
48545 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48546 include time.h.
48547 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48548 without GRUB_UTIL.
48549 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48550 time.h.
48551 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48552 without GRUB_UTIL.
48553
48554 * include/grub/normal.h (struct grub_menu_list): New struct.
48555 (grub_menu_list_t): New type.
48556 (struct grub_context): New struct.
48557 (grub_context_t): New type.
48558 (grub_register_command): Got rid of EXPORT_FUNC.
48559 (grub_unregister_command): Likewise.
48560 (grub_context_get): New prototype.
48561 (grub_context_get_current_menu): Likewise.
48562 (grub_context_push_menu): Likewise.
48563 (grub_context_pop_menu): Likewise.
48564 [GRUB_UTIL] (grub_default_init): Likewise.
48565 [GRUB_UTIL] (grub_default_fini): Likewise.
48566 [GRUB_UTIL] (grub_timeout_init): Likewise.
48567 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48568
48569 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48570 commands/timeout.c and normal/context.c.
48571 (pkgdata_MODULES): Added default.mod and timeout.mod.
48572 (normal_mod_SOURCES): Added normal/context.c.
48573 (default_mod_SOURCES): New variable.
48574 (default_mod_CFLAGS): Likewise.
48575 (timeout_mod_SOURCES): Likewise.
48576 (timeout_mod_CFLAGS): Likewise.
48577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48578 conf/i386-pc.rmk.
48579 (pkgdata_MODULES): Added default.mod and timeout.mod.
48580 (normal_mod_SOURCES): Added normal/context.c.
48581 (default_mod_SOURCES): New variable.
48582 (default_mod_CFLAGS): Likewise.
48583 (timeout_mod_SOURCES): Likewise.
48584 (timeout_mod_CFLAGS): Likewise.
48585
48586 * Makefile.in (all-local): Added $(MKFILES).
48587
4ed2e1dd 485882005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48589
48590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48591 (grub_emu_SOURCES): Likewise.
48592 (pkgdata_MODULES): Add `sun.mod'.
48593 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48595 `partmap/sun.c'.
48596 (pkgdata_MODULES): Add `sun.mod'.
48597 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48598 * include/grub/partition.h (grub_sun_partition_map_init): New
48599 prototype.
48600 (grub_sun_partition_map_fini): Likewise.
48601 * partmap/sun.c: New file.
48602 * util/grub-emu.c (main): Initialize and de-initialize the sun
48603 partitionmap support.
48604
4d4e372e 486052005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48606
48607 This implements an Emacs-like menu entry editor.
f19dbdb7 48608
4d4e372e 48609 * normal/menu_entry.c: New file.
f19dbdb7 48610
4d4e372e 48611 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48612 characters to ASCII.
48613 (saved_char): New variable.
48614 (grub_ncurses_checkkey): Rewritten completely.
48615 (grub_ncurses_getkey): Likewise.
48616 (grub_ncurses_init): Call raw instead of cbreak.
48617
48618 * normal/menu.c (print_entry): Do not put a space.
48619 (init_page): Renamed to ...
48620 (grub_menu_init_page): ... this. All callers changed.
48621 (edit_menu_entry): Removed.
48622 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48623
48624 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48625
48626 * kern/misc.c (grub_vprintf): Call grub_refresh.
48627
48628 * normal/menu.c (DISP_LEFT): Renamed to ...
48629 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48630 * normal/menu.c (DISP_UP): Renamed to ...
48631 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48632 * normal/menu.c (DISP_RIGHT): Renamed to ...
48633 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48634 * normal/menu.c (DISP_DOWN): Renamed to ...
48635 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48636 * normal/menu.c (DISP_HLINE): Renamed to ...
48637 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48638 * normal/menu.c (DISP_VLINE): Renamed to ...
48639 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48640 * normal/menu.c (DISP_UL): Renamed to ...
48641 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48642 * normal/menu.c (DISP_UR): Renamed to ...
48643 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48644 * normal/menu.c (DISP_LL): Renamed to ...
48645 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48646 * normal/menu.c (DISP_LR): Renamed to ...
48647 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48648 * normal/menu.c (TERM_WIDTH): Renamed to ...
48649 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48650 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48651 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48652 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48653 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48654 * normal/menu.c (TERM_MARGIN): Renamed to ...
48655 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48656 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48657 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48658 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48659 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48660 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48661 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48662 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48663 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48664 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48665 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48666 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48667 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48668 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48669 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48670 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48671 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48672 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48673 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48674 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48675 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48676 All callers changed.
48677
48678 * include/grub/normal.h: New prototype.
48679
48680 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48681 normal/menu_entry.c.
48682 (normal_mod_SOURCES): Likewise.
48683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48684 (normal_mod_SOURCES): Likewise.
48685
e6b92c8a 486862005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48687
48688 * include/grub/normal.h (grub_halt_init): New prototype.
48689 (grub_halt_fini): Likewise.
48690 (grub_reboot_init): Likewise.
48691 (grub_reboot_fini): Likewise.
48692
48693 * util/grub-emu.c: Include signal.h.
48694 (main_env): New global variable.
48695 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48696 catch C-c.
48697 (grub_machine_fini): New function.
48698 (main): Call grub_halt_init and grub_reboot_init before
48699 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48700 Call setjmp with MAIN_ENV to go back afterwards.
48701 Call grub_machine_fini right before return.
48702
48703 * include/grub/util/misc.h: Include setjmp.h.
48704 (main_env): New prototype.
48705
48706 * include/grub/kernel.h (grub_machine_fini): New prototype.
48707 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48708 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48709
48710 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48711 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48712 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48713
e6b92c8a 48714 * util/i386/pc/misc.c: New file.
f19dbdb7 48715
e6b92c8a 48716 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48717 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48718 commands/i386/pc/reboot.c.
48719
c642636f 487202005-02-14 Guillem Jover <guillem@hadrons.org>
48721
48722 * include/grub/dl.h (grub_dl_check_header): New prototype.
48723 (grub_arch_dl_check_header): Change return type to grub_err_t,
48724 remove size parameter and export function. Update all callers.
48725 * kern/dl.c (grub_dl_check_header): New function.
48726 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48727 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48728 are inside the core.
48729 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48730 independent ELF header checks.
48731 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48732 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48733 `grub_dl_check_header' instead of explicit checks. Check for the
48734 ELF type.
48735 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48736 `grub_dl_check_header' instead of explicit checks. Remove arch
48737 specific ELF header checks.
48738
e6b92c8a 48739 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48740 argument SIZE.
48741
5eabe94b 487422005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48743
48744 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48745 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48746
1b14a681 487472005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48748
48749 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48750 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48751 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48752 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48753 * partmap/amiga.c (amiga_partition_map_iterate): Return
48754 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48755 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48756
aca108aa 487572005-02-01 Guillem Jover <guillem@hadrons.org>
48758
48759 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48760 help info.
48761
c9f9c556 487622005-01-31 Marco Gerards <metgerards@student.han.nl>
48763
48764 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48765 Removed prototype.
48766 (grub_rescue_cmd_linux): New prototype.
48767 (grub_rescue_cmd_initrd): Likewise.
48768 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48769 `bi_rec'.
48770 (grub_linux_release_mem): Release the memory for the initrd.
48771 (grub_load_linux): Renamed from this...
48772 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48773 Changed `entry' not to be static. Loop over memory regions to
48774 find another one when the default fails.
48775 (grub_rescue_cmd_initrd): New function.
48776 (grub_linux_init): Remove function.
48777 (grub_linux_fini): Likewise.
48778 (GRUB_MOD_INIT): Register `initrd'.
48779 (GRUB_MOD_FINI): Unregister `initrd'.
48780 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48781 Function removed.
48782 (grub_linux_normal_fini): Likewise.
48783 (GRUB_MOD_INIT): Register `initrd'.
48784 (GRUB_MOD_FINI): Unregister `initrd'.
48785
990cf3aa 487862005-01-31 Marco Gerards <metgerards@student.han.nl>
48787
48788 * commands/help.c: New file.
48789 * normal/arg.c (show_help): Renamed to...
48790 (grub_arg_show_help): ... this.
48791 * commands/i386/pc/halt.c: New file.
48792 * commands/i386/pc/reboot.c: Likewise.
48793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48794 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48795 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48796 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48797 variables.
48798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48799 `commands/help.c'.
48800 (pkgdata_MODULES): Add `help.mod'.
48801 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48802 * grub/i386/pc/init.h (grub_reboot): New prototype.
48803 (grub_halt): Likewise.
48804 * include/grub/normal.h (grub_arg_show_help): New prototype.
48805 (grub_help_init): Likewise.
48806 (grub_help_fini): Likewise.
48807 * util/grub-emu.c (main): Initialize and deinitialize the help
48808 command.
48809
48810 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48811
48812 * normal/command.c (grub_command_init): Fixed the description of
48813 the `set' and `unset' commands.
48814
488152005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48816
48817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48818 function.
48819 * commands/ieee1275/halt.c: New file.
48820 * commands/ieee1275/reboot.c: Likewise.
48821 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48822 `__attribute__ ((unused))'. Some GCS related fixed.
48823 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48824 (grub_suspend_fini): Likewise.
48825 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48826 and `halt.mod'.
48827 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48828 (halt_mod_CFLAGS): New variables.
48829 * include/grub/powerpc/ieee1275/ieee1275.h
48830 (grub_ieee1275_interpret): New prototype.
48831
1ab09cc7 488322005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48833
48834 * include/grub/misc.h (memmove): New prototype.
48835 (memcpy): Likewise.
48836
8b8cbdb2 488372005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48838
48839 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48840 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48841
e3741a27 488422005-01-22 Marco Gerards <metgerards@student.han.nl>
48843
48844 * kern/misc.c (grub_strndup): Function rewritten.
48845
776bd780 488462005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48847
48848 * normal/menu.c (TERM_WIDTH): Macro redefined.
48849 (TERM_TOP_BORDER_Y): Likewise.
48850 (draw_border): Replaced while-loop by a for-loop. Make the number
48851 of lines consistent with the number of lines displayed in
48852 print_entries. Added a margin below the rectangle.
48853 (print_entry): Make the entry fit in the rectangle.
48854 (print_entries): Display the scroll arrows next to the right
48855 border.
48856
78026bce 488572005-01-21 Marco Gerards <metgerards@student.han.nl>
48858
48859 * fs/minix.c (grub_minix_find_file): Reserve more space for
48860 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48861 `grub_strncpy' to copy `path' into it.
48862
67bbaf0f 488632005-01-21 Marco Gerards <metgerards@student.han.nl>
48864
48865 Add the loopback device, a device via which files can be accessed
48866 as devices.
f19dbdb7 48867
67bbaf0f 48868 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48869 (pkgdata_MODULES): Add loopback.mod.
48870 (loopback_mod_SOURCES): New variable.
48871 (loopback_mod_CFLAGS): Likewise.
48872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48873 `disk/loopback.c'.
48874 (pkgdata_MODULES): Add loopback.mod.
48875 (loopback_mod_SOURCES): New variable.
48876 (loopback_mod_CFLAGS): Likewise.
48877 * disk/loopback.c: new file.
48878 * include/grub/normal.h (grub_loop_init): New prototype.
48879 (grub_loop_fini): New prototype.
48880 * util/grub-emu.c (main): Initialize and de-initialize loopback
48881 support.
48882 * include/grub/disk.h (grub_disk_dev_id): Add
48883 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48884
6f1c18bd 488852005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48886
48887 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48888 function.
48889 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48890 (suspend_mod_SOURCES): New variable.
48891 (suspend_mod_CFLAGS): Likewise.
48892 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48893 New prototype.
48894 * commands/ieee1275/suspend.c: New file.
48895
b38551da 488962005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48897
48898 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48899 ((unused))' to `__attribute__ ((used))'.
b38551da 48900 (GRUB_MOD_FINI): Likewise.
48901 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48902 * genmk.rb (PModule): Assign space to common symbols when linking
48903 modules.
48904
777aff39 489052005-01-20 Marco Gerards <metgerards@student.han.nl>
48906
48907 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48908 `unsigned' arguments to `grub_size_t'.
48909 (grub_malloc): Likewise.
48910 (grub_realloc): Likewise.
48911 (grub_memalign): Likewise.
48912 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48913 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48914 * util/misc.c (grub_malloc): Likewise.
48915 (grub_realloc): Likewise.
48916 * kern/mm.c (get_header_from_pointer): Change the casts to
48917 `unsigned' into a cast to `grub_size_t'.
48918
48919 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48920 point to `currnode' when `currnode' is changed.
48921
48922 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48923 Schottelius <nico-linux@schottelius.org>.
48924
d0ff18e1 489252005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48926
48927 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48928 (note_path): Remove variable.
48929 (GRUB_IEEE1275_NOTE_NAME): New macro.
48930 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48931 (grub_ieee1275_note_hdr): New structure.
48932 (grub_ieee1275_note_desc): Likewise.
48933 (grub_ieee1275_note): Likewise.
48934 (load_note): Remove `dir' argument. All callers updated. Remove
48935 `note_img' and `path'. Do not load a file from `note_path'.
48936 Initialize a struct grub_ieee1275_note and write that to `out'.
48937 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48938
4ca7004c 489392005-01-05 Marco Gerards <metgerards@student.han.nl>
48940
48941 * util/misc.c (grub_util_read_image): Revert last change. It
48942 called `grub_util_read_at', which seeks from the beginning of the
48943 file.
48944
0b412211 489452005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48946
48947 * TODO: Add note about endianness in grub-mkimage.
48948 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48949 section.
48950 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48951 (grub_mkimage_SOURCES): New target.
48952 * include/grub/kernel.h (grub_start_addr): Remove variable.
48953 (grub_end_addr): Likewise.
48954 (grub_total_module_size): Likewise.
48955 (grub_kernel_image_size): Likewise.
48956 (GRUB_MODULE_MAGIC): New constant.
48957 (grub_module_info): New structure.
48958 (grub_arch_modules_addr): New prototype.
48959 (grub_get_end_addr): Remove prototype.
48960 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48961 * include/grub/powerpc/ieee1275/kernel.h: New file.
48962 * include/grub/util/misc.h (grub_util_get_fp_size): New
48963 prototype.
48964 (grub_util_read_at): Likewise.
48965 (grub_util_write_image_at): Likewise.
48966 * kern/main.c (grub_get_end_addr): Remove function.
48967 (grub_load_modules): Call grub_arch_modules_addr instead of using
48968 grub_end_addr. Look for a grub_module_info struct in memory. Use
48969 the grub_module_info fields instead of calling grub_get_end_addr
48970 as loop conditions. Move grub_add_unused_region code here.
48971 (grub_add_unused_region): Remove function.
48972 * kern/i386/pc/init.c: Include grub/cache.h.
48973 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48974 one call to add_mem_region.
48975 (grub_arch_modules_addr): New function.
48976 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48977 (grub_total_module_size): Likewise.
48978 Include grub/machine/kernel.h.
48979 (grub_arch_modules_addr): New function.
48980 * util/grub-emu.c (grub_end_addr): Remove variable.
48981 (grub_total_module_size): Likewise.
48982 (grub_arch_modules_addr): New function.
48983 * util/misc.c: Include unistd.h.
48984 (grub_util_get_fp_size): New function.
48985 (grub_util_read_at): Likewise.
48986 (grub_util_write_image_at): Likewise.
48987 (grub_util_read_image): Call grub_util_read_at.
48988 (grub_util_write_image): Call grub_util_write_image_at.
48989 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48990 additional memory in kernel_img for a struct grub_module_info.
48991 Fill in that grub_module_info.
48992 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48993
458786f8 489942005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48995
48996 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48997 New function.
48998 * include/grub/powerpc/ieee1275/ieee1275.h
48999 (grub_ieee1275_milliseconds): New prototype.
49000 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49001 Change to 1000.
49002 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49003 grub_ieee1275_milliseconds.
49004
ac507d1b 490052005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49006
49007 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49008 variable.
49009 (find_options): New function.
49010 (cmain): Call find_options.
49011 * include/grub/powerpc/ieee1275/ieee1275.h
49012 (grub_ieee1275_realmode): New extern variable.
49013 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49014 grub_map if grub_ieee1275_realmode is false.
49015
6b8fd1c4 490162004-12-29 Marco Gerards <metgerards@student.han.nl>
49017
49018 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49019 lines are inserted and make it work like readline. Reported by
49020 Vincent Pelletier <subdino2004@yahoo.fr>.
49021
8514a1e0 490222004-12-28 Marco Gerards <metgerards@student.han.nl>
49023
49024 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49025
49026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49027 `kern/powerpc/cache.S'.
49028
924b6140 490292004-12-27 Marco Gerards <metgerards@student.han.nl>
49030
49031 * genmk.rb: Handle the `Program' class in the main loop. Written
49032 by Johan Rydberg <jrydberg@gnu.org>.
49033 (Program): New class.
49034 (programs): New variable.
49035 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49036 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49037 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49038 (help_arch): Function removed.
49039 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49040 `powerpc/libgcc.h' and `loader.h'.
49041 (pkgdata_PROGRAMS): New variable.
49042 (sbin_UTILITIES): Variable removed.
49043 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49044 (grubof_SOURCES): Variable re-defined so it only includes the
49045 core functionality.
49046 (grubof_CFLAGS): Remove `-DGRUBOF'.
49047 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49048 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49049 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49050 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49051 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49052 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49053 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49054 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49055 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49056 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49057 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49058 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49059 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49060 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49061 (pc_mod_CFLAGS): New variables.
49062 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49063 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49064 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49065 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49066 Moved from here...
49067 * include/grub/i386/pc/init.h (grub_os_area_addr)
49068 (rub_os_area_size): ... to here.
49069 * include/grub/powerpc/ieee1275/ieee1275.h
49070 (grub_ieee1275_entry_fn): Export symbol.
49071 * include/grub/powerpc/ieee1275/init.h: New file.
49072 * include/grub/powerpc/libgcc.h: Likewise.
49073 * include/grub/cache.h: Likewise.
49074 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49075 <hollis@penguinppc.org>.
49076 * kern/dl.c: Include <grub/cache.h>.
49077 (grub_dl_flush_cache): New function.
49078 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49079 for this module.
49080 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49081 (grub_console_init): Removed prototypes.
49082 (grub_machine_init): Don't initialize the modules anymore.
49083 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49084 static.
49085 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49086 Macro undef removed.
49087 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49088 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49089 relocation `R_PPC_REL32'. Return an error when the relocation is
49090 unknown.
49091 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49092 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49093 * util/misc.c (grub_arch_sync_caches): Likewise.
49094
e4b47e0c 490952004-12-19 Marco Gerards <metgerards@student.han.nl>
49096
49097 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49098 `symlist.c', add `grubof_symlist.c'.
49099 (symlist.c): Variable removed.
49100 (grubof_HEADERS): Variable added.
49101 (grubof_symlist.c): New target.
49102 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49103 `kernel_img_HEADERS'.
49104 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49105 * kern/powerpc/dl.c: New file.
49106 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49107 Function removed.
49108 (grub_arch_dl_relocate_symbols): Likewise.
49109 (grub_register_exported_symbols): Likewise.
49110
4ceb3636 491112004-12-13 Marco Gerards <metgerards@student.han.nl>
49112
49113 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49114 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49115 to fail instead. Reported by Vincent Pelletier
49116 <subdino2004@yahoo.fr>.
49117
49118 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49119 it is not allocated. Reported by Vincent Pelletier
49120 <subdino2004@yahoo.fr>.
49121
49122 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49123 output so the output looks better.
f19dbdb7 49124
3f1578fe 491252004-12-04 Marco Gerards <metgerards@student.han.nl>
49126
49127 Modulize the partition map support and add support for the amiga
49128 partition map.
f19dbdb7 49129
3f1578fe 49130 * commands/ls.c: Include <grub/partition.h> instead of
49131 <grub/machine/partition.h>.
49132 * kern/disk.c: Likewise.
49133 * kern/rescue.c: Likewise.
49134 * loader/i386/pc/chainloader.c: Likewise.
49135 * normal/cmdline.c: Likewise.
49136 * kern/powerpc/ieee1275/init.c: Likewise.
49137 (grub_machine_init): Call `grub_pc_partition_map_init',
49138 `grub_amiga_partition_map_init' and
49139 `grub_apple_partition_map_init'.
49140 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49141 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49142 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49143 `partition.h' and `pc_partition.h'.
49144 (grub_setup_SOURCES): Remove
49145 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49146 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49147 (grub_emu_SOURCES): Likewise.
49148 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49149 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49150 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49152 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49153 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49154 (grubof_SOURCES): Likewise.
49155 * disk/i386/pc/partition.c: File removed.
49156 * disk/powerpc/ieee1275/partition.c: Likewise.
49157 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49158 * include/grub/i386/pc/partition.h: Likewise.
49159 * kern/partition.c: New file.
49160 * partmap/amiga.c: Likewise.
49161 * partmap/apple.c: Likewise.
49162 * partmap/pc.c: Likewise.
49163 * include/grub/partition.h: Likewise..
49164 * include/grub/pc_partition.h: Likewise.
49165 * util/grub-emu.c: Include <grub/partition.h> instead of
49166 <grub/machine/partition.h>.
49167 (main): Call `grub_pc_partition_map_init',
49168 `grub_amiga_partition_map_init' and
49169 `grub_apple_partition_map_init' and deinitialize afterwards.
49170 * util/i386/pc/biosdisk.c: Include `#include
49171 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49172 `<grub/machine/partition.h>'.
49173 * util/i386/pc/grub-setup.c: Likewise.
49174 * util/i386/pc/biosdisk.c: Likewise.
49175 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49176 partition information in case of a PC partition.
49177 * util/i386/pc/grub-setup.c: Include `#include
49178 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49179 `<grub/machine/partition.h>'.
49180 (setup): Only access the PC specific partition information in case
49181 of a PC partition.
49182
0ef4ced9 491832004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49184
0ef4ced9 49185 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49186 (grub_longjmp): Likewise.
49187 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49188 20.
49189 * normal/powerpc/setjmp.S: New file.
49190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49191 `normal/powerpc/setjmp.S'.
49192 (grubof_CFLAGS): Add `-DGRUBOF'.
49193 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49194 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49195
19950e29 491962004-11-16 Marco Gerards <metgerards@student.han.nl>
49197
49198 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49199 property named `name'. Correctly handle the error returned by
49200 `grub_ieee1275_finddevice' if a device can not be opened.
49201
a2fea427 492022004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49203
49204 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49205 `actual' for negativity.
49206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49207 kern/fshelp.c.
49208
41ea0ea3 492092004-11-01 Marco Gerards <metgerards@student.han.nl>
49210
49211 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49212 (PAGE_OFFSET): New macro.
49213 (CRTC_ADDR_PORT): Likewise.
49214 (CRTC_DATA_PORT): Likewise.
49215 (START_ADDR_HIGH_REGISTER): Likewise.
49216 (START_ADDR_LOW_REGISTER): Likewise.
49217 (GRAPHICS_ADDR_PORT): Likewise.
49218 (GRAPHICS_DATA_PORT): Likewise.
49219 (READ_MAP_REGISTER): Likewise.
49220 (INPUT_STATUS1_REGISTER): Likewise.
49221 (INPUT_STATUS1_VERTR_BIT): Likewise.
49222 (page): New variable.
49223 (wait_vretrace): New function.
49224 (set_read_map): Likewise.
49225 (set_start_address): Likewise.
49226 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49227 the right page.
49228 (check_vga_mem): Take the page into account.
49229 (write_char): Likewise.
49230 (write_cursor): Likewise.
49231 (scroll_up): Likewise. Copy the page to the page that is not
49232 shown and switch between both pages.
49233 (grub_vga_putchar): Fix off by one error.
49234 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49235 account.
49236
ad0bd20b 492372004-11-01 Marco Gerards <metgerards@student.han.nl>
49238
49239 Add support for iso9660 (including rockridge).
f19dbdb7 49240
ad0bd20b 49241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49242 (iso9660_mod_SOURCES): New variable.
49243 (iso9660_mod_CFLAGS): Likewise.
49244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49245 * include/grub/fs.h (grub_iso9660_init): New prototype.
49246 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49247 * fs/iso9660.c: New file.
49248
49249 * include/grub/misc.h (grub_strncat): New prototype.
49250 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49251
ad0bd20b 49252 * fs/hfs.c (grub_hfs_mount): Translate the error
49253 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49254 * fs/jfs.c (grub_jfs_mount): Likewise.
49255 * fs/ufs.c (grub_ufs_mount): Likewise.
49256
a5477a59 492572004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49258
49259 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49260 which initialized BAT registers.
49261 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49262 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49263 Move from here...
49264 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49265 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49266 ... to here.
49267 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49268 (grub_mapclaim): Likewise.
49269 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49270 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49271 hand.
49272
9304c1f8 492732004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49274
49275 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49276 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49277 -ffreestanding and -msoft-float.
49278
86f4ae25 492792004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49280
49281 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49282 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49283 set in grub_ieee1275_flags.
49284
38912228 492852004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49286
49287 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49288 prototype.
49289 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49290 grub_console_init first.
49291 Change the memory range used for grub_ieee1275_claim and
49292 grub_mm_init_region.
49293 Print an error message if the claim fails.
49294 Include <grub/misc.h>.
49295
d1923dc8 492962004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49297
49298 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49299 Call grub_children_iterate for device nodes of type `scsi',
49300 `ide', or `ata'.
49301 (grub_ofdisk_open): Remove manual device alias resolution.
49302 Fix memory leak when device cannot be opened.
f19dbdb7 49303 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49304 (grub_children_iterate): New prototype.
49305 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49306 New function.
49307 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49308 Return -1 if args.size was -1.
49309
4512e4f3 493102004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49311
49312 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49313 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49314 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49315 Open Firmware's memory for it; claim memory from _start to _end.
49316 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49317 (_end): New extern.
49318 (_start): Zero BSS from __bss_start to _end.
49319 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49320 New extern.
49321 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49322
4d61feb0 493232004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49324
ad0bd20b 49325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49326 -1 if args.base was -1.
4d61feb0 49327
026fa2f9 493282004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49329
49330 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49331 escape sequence instead of a literal ^L. Also call
49332 grub_ofconsole_gotoxy.
49333
9f2220ef 493342004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49335
49336 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49337 void * arguments to grub_addr_t. All callers updated. Also make
49338 the `result' argument optional.
49339 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49340 All callers updated.
49341
8a572cd7 493422004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49343
49344 * commands/ls.c (grub_ls_list_files): Use the string following the
49345 initial ')', if present, as the filesystem path.
49346 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49347
49348 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49349
18aa81f2 493502004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49351
49352 Make the source code of the menu interface more readable.
f19dbdb7 49353
18aa81f2 49354 * normal/menu.c: Include grub/mm.h.
49355 (TERM_WIDTH): New macro.
49356 (TERM_HEIGHT): Likewise.
49357 (TERM_INFO_HEIGHT): Likewise.
49358 (TERM_MARGIN): Likewise.
49359 (TERM_SCROLL_WIDTH): Likewise.
49360 (TERM_TOP_BORDER_Y): Likewise.
49361 (TERM_LEFT_BORDER_X): Likewise.
49362 (TERM_BORDER_WIDTH): Likewise.
49363 (TERM_MESSAGE_HEIGHT): Likewise.
49364 (TERM_BORDER_HEIGHT): Likewise.
49365 (TERM_NUM_ENTRIES): Likewise.
49366 (TERM_FIRST_ENTRY_Y): Likewise.
49367 (TERM_ENTRY_WIDTH): Likewise.
49368 (TERM_CURSOR_X): Likewise.
49369 (draw_border): Use macros instead of magic numbers.
49370 (print_entry): Likewise.
49371 (print_entries): Likewise.
49372 (run_menu): Likewise. Also, handle the key 'e'.
49373 (run_menu_entry): Ignore empty command lines.
49374 (print_message): Added a new argument EDIT. If EDIT is true,
49375 print a different message.
49376 (init_page): Likewise.
49377 (edit_menu_entry): New function. Not implemented yet.
49378
b47efe30 493792004-09-17 Marco Gerards <metgerards@student.han.nl>
49380
49381 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49382 can be loaded from normal mode.
f19dbdb7 49383
b47efe30 49384 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49385 `multiboot.mod'.
49386 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49387 (multiboot_mod_CFLAGS): New variables.
49388 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49389 * loader/i386/pc/multiboot_normal.c: Likewise.
49390
b47efe30 49391 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49392 attribute `unused'.
f19dbdb7 49393
b47efe30 49394 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49395 `fdiro' to read the mode information from instead of `diro'.
49396
49397 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49398 looking up a symlink.
49399
49400 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49401 macro.
49402 * normal/command.c (grub_command_execute): Don't parse the
49403 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49404 flags of the command.
49405
49406 * normal/menu.c (grub_menu_run): Fix typo.
49407
da75ac71 494082004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49409
49410 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49411
49412 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49413 `y + 1' instead of `y - 1'.
49414
49415 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49416
062b24c2 494172004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49418
49419 From Hollis Blanchard <hollis@penguinppc.org>:
49420 * kern/misc.c (memmove): New alias for grub_memmove.
49421 (memcmp): New alias for grub_memcmp.
49422 (memset): New alias for grub_memset.
f19dbdb7 49423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49424 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49425 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49426 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49427
8ddad845 494282004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49429
49430 Added normal mode command `chainloader' as module chain.mod, which
49431 depends on normal.mod and _chain.mod.
f19dbdb7 49432
8ddad845 49433 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49434 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49435 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49436 Deleted prototype.
49437 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49438 but arguments parsing moved to ...
49439 (grub_chainloader_cmd): ... here. New function.
49440 * include/grub/i386/pc/chainloader.h: New file.
49441 * loader/i386/pc/chainloader_normal.c: Likewise.
49442
2c1f4ce3 494432004-09-11 Marco Gerards <metgerards@student.han.nl>
49444
49445 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49446 (grub_mkimage_LDFLAGS): Likewise.
49447 (grub_emu_SOURCES): Likewise.
49448 (kernel_img_HEADERS): Added fshelp.h.
49449 * fs/ext2.c: Include <grub/fshelp.h>.
49450 (FILETYPE_REG): New macro.
49451 (FILETYPE_INO_REG): Likewise.
49452 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49453 Changed all users.
49454 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49455 all users.
49456 (grub_fshelp_node): New struct.
49457 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49458 to a pointer.
49459 (grub_ext2_get_file_block): Removed function.
49460 (grub_ext2_read_block): New function.
49461 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49462 This function was written.
49463 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49464 (grub_ext2_find_file): Removed function.
49465 (grub_ext2_read_symlink): New function.
49466 (grub_ext2_iterate_dir): Likewise.
49467 (grub_ext2_open): Rewritten.
49468 (grub_ext2_dir): Rewritten.
49469 * include/grub/fshelp.h: New file.
49470 * fs/fshelp.c: Likewise.
49471
3c52136a 494722004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49473
49474 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49475 (print_message): Add a missing newline.
49476 (run_menu): Added timeout support.
49477 (run_menu_entry): New local function.
49478 (grub_menu_run): Added support for booting.
49479
49480 * kern/loader.c (grub_loader_is_loaded): New function.
49481
49482 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49483 (grub_get_rtc): Exported.
49484
49485 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49486 (grub_get_rtc): Exported.
49487
49488 * include/grub/normal.h (struct grub_command_list): Remove
49489 constant from the member `command'.
49490
49491 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49492
49493 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49494
49495 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49496
aa033560 494972004-08-28 Marco Gerards <metgerards@student.han.nl>
49498
49499 Add support for the JFS filesystem.
49500
49501 * fs/jfs.c: New file.
49502 * include/grub/fs.h (grub_jfs_init): New prototype.
49503 (grub_jfs_fini): New prototype.
49504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49505 (grub_emu_SOURCES): Likewise.
49506 (pkgdata_MODULES): Add jfs.mod.
49507 (jfs_mod_SOURCES): New variable.
49508 (jfs_mod_CFLAGS): Likewise.
49509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49510 (grubof_SOURCES): Likewise.
49511 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49512
49513 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49514 endian to the host endian.
49515 (grub_fat_utf16_to_utf8): Move function from there...
49516 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49517 the endianness of the source string anymore.
aa033560 49518 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49519
94bc45af 495202004-08-24 Marco Gerards <metgerards@student.han.nl>
49521
49522 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49523 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49524 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49525 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49526
94bc45af 49527 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49528 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49529 for `node_found' and `it_dir'.
49530 (grub_hfs_dir): Add prototype for `dir_hook'.
49531
49532 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49533 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49534 and `indir32' to silence a gcc warning.
49535
49536 * include/grub/fs.h (grub_hfs_init): New prototype.
49537 (grub_hfs_fini): Likewise.
f19dbdb7 49538
49539
97543f08 495402004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49541
49542 Each disk device has its own id now. This is useful to make use
49543 of multiple disk devices.
f19dbdb7 49544
97543f08 49545 * include/grub/disk.h (grub_disk_dev_id): New enum.
49546 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49547 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49548
49549 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49550 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49551
49552 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49553 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49554
49555 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49556 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49557
49558 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49559 "id" which is used by the cache manager.
49560
49561 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49562 of just "GRUB".
49563
64372eb4 495642004-08-18 Marco Gerards <metgerards@student.han.nl>
49565
49566 * fs/hfs.c: New file.
49567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49568 (grub_emu_SOURCES): Likewise.
49569 (pkgdata_MODULES): Add hfs.mod.
49570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49571 (grubof_SOURCES): Likewise.
49572 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49573
49574 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49575 * kern/misc.c (grub_strncasecmp): Add function.
49576
cc61b58f 495772004-08-14 Marco Gerards <metgerards@student.han.nl>
49578
49579 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49580 with parentheses.
49581
49582 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49583 (grub_ext2_dir): In case the directory entry type is unknown, read
49584 it from the inode.
49585
0ef123f6 495862004-08-02 Peter Bruin <pjbruin@dds.nl>
49587
49588 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49589 grub_load_linux instead of grub_rescue_cmd_linux as second
49590 argument of grub_rescue_register_command.
49591
49592 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49593
a447c5df 495942004-07-27 Marco Gerards <metgerards@student.han.nl>
49595
49596 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49597 function.
49598 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49599 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49600 `loader/powerpc/ieee1275/linux.c',
49601 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49602 * include/grub/powerpc/ieee1275/ieee1275.h
49603 (grub_ieee1275_release): New prototype.
49604 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49605 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49606 normal, boot, linux and linux_normal.
49607 * loader/powerpc/ieee1275/linux.c: New file.
49608 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49609
5a9e3546 496102004-07-12 Marco Gerards <metgerards@student.han.nl>
49611
49612 * normal/arg.c (grub_arg_parse): Correct error handling after
49613 reallocating the argumentlist (check if `argl' is not null instead
49614 of checking if `args' is not null).
49615 * kern/mm.c (grub_realloc): Return the same pointer when using the
49616 same region, instead of returning the header address.
49617
e15199cb 496182004-07-11 Marco Gerards <metgerards@student.han.nl>
49619
49620 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49621 one block instead of two when looking for the initial partition.
49622 (grub_partition_probe): Initialize the local variable `p' with 0.
49623 Use base 10 for the grub_strtoul call.
49624 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49625 need for one local variable.
49626 (grub_strtoul): Don't add the new value to `num', instead of that
49627 just assign it.
49628
020616c2 496292004-07-11 Marco Gerards <metgerards@student.han.nl>
49630
49631 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49632 (pxeboot_img_SOURCES): New variable.
49633 (pxeboot_img_ASFLAGS): Likewise.
49634 (pxeboot_img_LDFLAGS): Likewise.
49635 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49636 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49637 <lode_leroy@hotmail.com>.
49638
6c51eb64 496392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49640
49641 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49642 there was no input.
49643
cfb12aff 496442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49645
49646 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49647 the history buffer logic.
49648
6eabba74 496492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49650
49651 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49652 (FILETYPE_INO_SYMLINK): New macros.
49653 (grub_ext2_find_file): Check if the node is a directory using the
49654 inode stat information instead of using the filetype in the
49655 dirent. Exclude the first character of an absolute symlink.
49656 (grub_ext2_dir): Mask out the filetype part of the mode member of
49657 the inode.
49658
66e19ef8 496592004-05-24 Marco Gerards <metgerards@student.han.nl>
49660
49661 Add support for UFS version 1 and 2. Add support for the minix
49662 filesystem version 1 and 2, both the variants with 14 and 30 long
49663 filenames.
f19dbdb7 49664
66e19ef8 49665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49666 fs/minix.c.
49667 (grub_emu_SOURCES): Likewise.
49668 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49669 (ufs_mod_SOURCES): New variable.
49670 (ufs_mod_CFLAGS): Likewise.
49671 (minix_mod_SOURCES): Likewise.
49672 (minix_mod_CFLAGS): Likewise.
49673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49674 fs/minix.c.
49675 (grubof_SOURCES): Likewise.
49676 * fs/ufs.c: New file.
49677 * fs/minix.c: New file.
49678 * include/grub/fs.h (grub_ufs_init): New prototype.
49679 (grub_ufs_fini): Likewise.
49680 (grub_minix_init): Likewise.
49681 (grub_minix_fini): Likewise.
49682 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49683 minix fs.
49684
cc2e748a 496852004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49686
49687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49688 commands/ls.c, commands/terminal.c, commands/boot.c,
49689 commands/cmp.c and commands/cat.c.
49690 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49691
49692 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49693 "env.h"
49694
4b13b216 496952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49696
49697 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49698 and grub_, respectively. Because the conversion is trivial and
49699 mechanical, I omit the details here. Please refer to the CVS
49700 if you need more information.
49701
6a142551 497022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49703
49704 * include/pupa: Renamed to ...
49705 * include/grub: ... this.
49706 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49707 * util/i386/pc/grub-mkimage.c: ... this.
49708 * util/i386/pc/pupa-setup.c: Renamed to ...
49709 * util/i386/pc/grub-setup.c: ... this.
49710 * util/pupa-emu.c: Renamed to ...
49711 * util/grub-emu.c: ... this.
49712
e56cdf21 497132004-03-29 Marco Gerards <metgerards@student.han.nl>
49714
49715 Add support for the newworld apple macintosh (PPC). This has been
49716 tested on the powerbook 2000 only. It only adds support for
49717 generic ieee1275 functions, console and disk support. This should
49718 be easy to port to other architectures with support for Open
49719 Firmware.
f19dbdb7 49720
e56cdf21 49721 * configure.ac: Accept the powerpc as host_cpu. In the case of
49722 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49723 specific tests are only executed while building for the i386.
49724 Inverse test for crosscompile.
49725 * genmk.rb (Utility): Allow assembler files.
49726 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49727 * conf/powerpc-ieee1275.rmk: New file.
49728 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49729 * disk/powerpc/ieee1275/partition.c: Likewise.
49730 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49731 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49732 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49733 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49734 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49735 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49736 * include/pupa/powerpc/ieee1275/loader.h
49737 * include/pupa/powerpc/setjmp.h: Likewise.
49738 * include/pupa/powerpc/types.h: Likewise.
49739 * kern/powerpc/ieee1275/init.c: Likewise.
49740 * kern/powerpc/ieee1275/openfw.c: Likewise.
49741 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49742
49743 These files were written by Johan Rydberg
49744 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49745
e56cdf21 49746 * boot/powerpc/ieee1275/cmain.c: New file.
49747 * boot/powerpc/ieee1275/crt0.S: Likewise.
49748 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49749 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49750
8c8cc205 497512004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49752
49753 * Makefile.in: Update copyright.
49754 * genmodsrc.sh: Likewise.
49755 * gensymlist.sh: Likewise.
49756 * term/i386/pc/vga.c: Indent correctly.
49757
49758 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49759 bugreporting address.
49760 * util/i386/pc/pupa-setup.c (usage): Likewise,
49761 (main): Call pupa_ext2_init and pupa_ext2_fini.
49762
f19dbdb7 49763 * fs/fat.c (log2): Renamed to ...
8c8cc205 49764 (fat_log2): ... this.
49765 All callers changed.
49766 * kern/misc.c (memcpy): Alias to pupa_memmove.
49767 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49768 lvalue cast.
49769 * util/console.c (pupa_ncurses_fini): Return 0.
49770
49771 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49772 Move fail label here.
49773 [__GNU__]: Don't warn when using stat.
49774 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49775 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49776 long int. Use strtol instead of strtoul.
f19dbdb7 49777
db1771cf 497782004-03-14 Marco Gerards <metgerards@student.han.nl>
49779
49780 * commands/boot.c: New file.
49781 * commands/cat.c: Likewise.
49782 * commands/cmp.c: Likewise.
49783 * commands/ls.c: Likewise.
49784 * commands/terminal.c: Likewise.
49785 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49786 (pupa_register_command): Changed interface to match the new
49787 argument parser.
49788 (pupa_command_execute): Changed (almost rewritten) so it uses
49789 pupa_split_command. Added support for setting variables using the
49790 syntax `foo=bar'.
49791 (rescue_command): Changed to work with the new argument parser.
49792 (terminal_command): Moved from here to commands/terminal.c.
49793 (set_command): New function.
49794 (unset_command): New function.
49795 (insmod_command): New function.
49796 (rmmod_command): New function.
49797 (lsmod_command): New function.
49798 (pupa_command_init): Don't initialize the command terminal
49799 anymore. Initialize the commands set, unset, insmod, rmmod and
49800 lsmod.
49801 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49802 (kernel_img_HEADERS): Add arg.h and env.h.
49803 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49804 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49805 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49806 normal/arg.c.
49807 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49808 terminal.mod.
49809 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49810 (boot_mod_SOURCES): New variable.
49811 (terminal_mod_SOURCES): Likewise.
49812 (ls_mod_SOURCES): Likewise.
49813 (cmp_mod_SOURCES): Likewise.
49814 (cat_mod_SOURCES): Likewise.
49815
49816 * normal/arg.c: New file.
49817 * kern/env.c: Likewise.
49818 * include/pupa/arg.h: Likewise.
49819 * include/pupa/env.h: Likewise.
49820 * font/manager.c (font_command): Changed to match argument parsing
49821 interface changes.
49822 (PUPA_MOD_INIT): Likewise.
49823 * hello/hello.c (pupa_cmd_hello): Likewise.
49824 (PUPA_MOD_INIT): Likewise.
49825 * include/pupa/disk.h: Include <pupa/device.h>.
49826 (pupa_print_partinfo): New prototype.
49827 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49828 (pupa_dl_get_prefix): Likewise.
49829 * include/pupa/misc.h: Include <pupa/err.h>.
49830 (pupa_isgraph): New prototype.
49831 (pupa_isdigit): Likewise.
49832 (pupa_split_cmdline): Likewise.
49833 * include/pupa/normal.h: Include <pupa/arg.h>.
49834 (pupa_command): Changed the prototype of the member `func' to
49835 match the argument parsing interface. Added member `options'.
49836 (pupa_register_command): Updated to match function.
49837 (pupa_arg_parse): New prototype.
49838 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49839 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49840 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49841 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49842 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49843 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49844 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49845 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49846 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49847 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49848 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49849 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49850 * kern/disk.c: Include <pupa/file.h>.
49851 (pupa_print_partinfo): New function.
49852 * kern/dl.c: Include <pupa/env.h>.
49853 (pupa_dl_dir): Variable removed.
49854 (pupa_dl_load): Use the environment variable `prefix' instead of
49855 the variable pupa_dl_dir.
49856 (pupa_dl_set_prefix): Function removed.
49857 (pupa_dl_get_prefix): Likewise.
49858 * kern/i386/pc/init.c: Include <pupa/env.h>.
49859 (pupa_machine_init): Use the environment variable `prefix' instead of
49860 using pupa_dl_set_prefix to set the prefix.
49861 * kern/main.c: Include <pupa/env.h>.
49862 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49863 using pupa_dl_get_prefix to get the prefix.
49864 * kern/misc.c: Include <pupa/env.h>.
49865 (pupa_isdigit): New function.
49866 (pupa_isgraph): Likewise.
49867 (pupa_ftoa): Likewise.
49868 (pupa_vsprintf): Added support for printing values of the type
49869 `double'. Make it possible to format variable output when using
49870 formatting like `%1.2%f'.
49871 (pupa_split_cmdline): New function.
49872 * kern/rescue.c: Include <pupa/env.h>.
49873 (next_word): Removed function.
49874 (pupa_rescue_cmd_prefix): Likewise.
49875 (pupa_rescue_cmd_set): New function.
49876 (pupa_rescue_cmd_unset): New function.
49877 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49878 split the command line instead of splitting it here. Added
49879 support for setting variables using the syntax `foo=bar'. Don't
49880 initialize the prefix command anymore. Initialized the set and
49881 unset commands.
49882 * normal/cmdline.c: Include <pupa/env.h>.
49883 (pupa_tab_complete): Added prototypes for print_simple_completion,
49884 print_partition_completion, add_completion, iterate_commands,
49885 iterate_dev, iterate_part and iterate_dir. Moved code to print
49886 partition information from here to kern/disk.c.
fe6b695a 49887 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49888 * normal/main.c: Include <pupa/env.h>.
49889 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49890 instead of using pupa_dl_get_prefix to get the prefix.
49891 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49892 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49893 warning.
49894 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49895 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49896 ((unused))' to silence a gcc warning.
49897 (pupa_vga_setcolor): Likewise.
49898 (debug_command): Changed to match argument parsing
49899 interface changes.
49900 * util/pupa-emu.c: Include <pupa/env.h>.
49901 (options): Added 0's for unused fields to silence a gcc warning.
49902 (argp): Likewise.
49903 (main): Use the environment variable `prefix' instead of using
49904 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49905 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49906 and terminal.
49907
49908 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49909 * util/misc.c: Include <malloc.h>.
49910 (pupa_malloc): Rewritten so errors are correctly reported.
49911 (pupa_realloc): Likewise.
49912 (pupa_memalign): Likewise.
49913 (pupa_mm_init_region): Declare unused variables with
49914 `__attribute__ ((unused))' to silence a gcc warning.
49915 * normal/i386/setjmp.S: Remove tab at the end of the file to
49916 silence a gcc warning.
49917 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49918 variables with `__attribute__ ((unused))' to silence a gcc
49919 warning.
49920 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49921 local variable i unsigned to silence a gcc warning.
49922
49923 * kern/term.c: Include <pupa/misc.h>.
49924 (pupa_more_lines): New variable.
49925 (pupa_more): Likewise.
49926 (pupa_putcode): When the pager is active pause at the end of every
49927 screen.
49928 (pupa_set_more): New function.
49929 * include/pupa/term.h (pupa_set_more): New prototype.
49930
49931
3b1139cb 499322004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49933
49934 Now this project is GRUB 2 rather than PUPA. The location of
49935 the CVS repository was moved to GRUB's.
f19dbdb7 49936
3b1139cb 49937 * configure.ac: Use bug-grub as the reporting address.
49938 Use GRUB instead of PUPA.
49939 Change the version number to 1.90.
49940
8367695c 499412004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49942
49943 * genkernsyms.sh: Updated copyright information.
49944 * genmk.rb: Likewise.
49945 * genmodsrc.sh: Likewise.
49946 * gensymlist.sh: Likewise.
49947 * boot/i386/pc/boot.S: Likewise.
49948 * boot/i386/pc/diskboot.S: Likewise.
49949 * disk/i386/pc/biosdisk.c: Likewise.
49950 * disk/i386/pc/partition.c: Likewise.
49951 * font/manager.c: Likewise.
49952 * fs/ext2.c: Likewise.
49953 * fs/fat.c: Likewise.
49954 * include/pupa/boot.h: Likewise.
49955 * include/pupa/device.h: Likewise.
49956 * include/pupa/disk.h: Likewise.
49957 * include/pupa/dl.h: Likewise.
49958 * include/pupa/elf.h: Likewise.
49959 * include/pupa/err.h: Likewise.
49960 * include/pupa/file.h: Likewise.
49961 * include/pupa/font.h: Likewise.
49962 * include/pupa/fs.h: Likewise.
49963 * include/pupa/kernel.h: Likewise.
49964 * include/pupa/loader.h: Likewise.
49965 * include/pupa/misc.h: Likewise.
49966 * include/pupa/mm.h: Likewise.
49967 * include/pupa/net.h: Likewise.
49968 * include/pupa/normal.h: Likewise.
49969 * include/pupa/rescue.h: Likewise.
49970 * include/pupa/setjmp.h: Likewise.
49971 * include/pupa/symbol.h: Likewise.
49972 * include/pupa/term.h: Likewise.
49973 * include/pupa/types.h: Likewise.
49974 * include/pupa/i386/setjmp.h: Likewise.
49975 * include/pupa/i386/types.h: Likewise.
49976 * include/pupa/i386/pc/biosdisk.h: Likewise.
49977 * include/pupa/i386/pc/boot.h: Likewise.
49978 * include/pupa/i386/pc/console.h: Likewise.
49979 * include/pupa/i386/pc/init.h: Likewise.
49980 * include/pupa/i386/pc/kernel.h: Likewise.
49981 * include/pupa/i386/pc/linux.h: Likewise.
49982 * include/pupa/i386/pc/loader.h: Likewise.
49983 * include/pupa/i386/pc/memory.h: Likewise.
49984 * include/pupa/i386/pc/multiboot.h: Likewise.
49985 * include/pupa/i386/pc/partition.h: Likewise.
49986 * include/pupa/i386/pc/time.h: Likewise.
49987 * include/pupa/i386/pc/vga.h: Likewise.
49988 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49989 * include/pupa/util/getroot.h: Likewise.
49990 * include/pupa/util/misc.h: Likewise.
49991 * include/pupa/util/resolve.h: Likewise.
49992 * kern/device.c: Likewise.
49993 * kern/disk.c: Likewise.
49994 * kern/dl.c: Likewise.
49995 * kern/err.c: Likewise.
49996 * kern/file.c: Likewise.
49997 * kern/fs.c: Likewise.
49998 * kern/loader.c: Likewise.
49999 * kern/main.c: Likewise.
50000 * kern/misc.c: Likewise.
50001 * kern/mm.c: Likewise.
50002 * kern/rescue.c: Likewise.
50003 * kern/term.c: Likewise.
50004 * kern/i386/dl.c: Likewise.
50005 * kern/i386/pc/init.c: Likewise.
50006 * kern/i386/pc/lzo1x.S: Likewise.
50007 * kern/i386/pc/startup.S: Likewise.
50008 * loader/i386/pc/chainloader.c: Likewise.
50009 * loader/i386/pc/linux.c: Likewise.
50010 * loader/i386/pc/multiboot.c: Likewise.
50011 * normal/cmdline.c: Likewise.
50012 * normal/command.c: Likewise.
50013 * normal/main.c: Likewise.
50014 * normal/menu.c: Likewise.
50015 * normal/i386/setjmp.S: Likewise.
50016 * term/i386/pc/console.c: Likewise.
50017 * term/i386/pc/vga.c: Likewise.
50018 * util/console.c: Likewise.
50019 * util/genmoddep.c: Likewise.
50020 * util/misc.c: Likewise.
50021 * util/pupa-emu.c: Likewise.
50022 * util/resolve.c: Likewise.
50023 * util/unifont2pff.rb: Likewise.
50024 * util/i386/pc/biosdisk.c: Likewise.
50025 * util/i386/pc/getroot.c: Likewise.
50026 * util/i386/pc/pupa-mkimage.c: Likewise.
50027 * util/i386/pc/pupa-setup.c: Likewise.
50028
e6eced71 500292004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50030
50031 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50032 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50033 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50034 reading and reset it after reading.
50035 (pupa_ext2_close): Return PUPA_ERR_NONE.
50036
50037 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50038 Correct value.
50039 (struct linux_kernel_header): Add kernel_version and
50040 initrd_addr_max.
50041 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50042 pupa_file_read succeeds.
50043 (pupa_rescue_cmd_initrd): Implement.
50044
5aded270 500452003-12-03 Marco Gerards <metgerards@student.han.nl>
50046
50047 * fs/ext2.c (pupa_ext2_label): New function.
50048 (pupa_ext2_fs): Added label.
50049 * fs/fat.c (pupa_fat_label): New function.
50050 (pupa_fat_fs): Added label.
50051 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50052
50053 * kern/misc.c (pupa_strndup): New function.
50054 * include/pupa/misc.h (pupa_strndup): New prototype.
50055
50056 * include/pupa/normal.h: Include <pupa/err.h>.
50057 (pupa_set_history): New prototype.
50058 (pupa_iterate_commands): New prototype.
50059 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50060 <pupa/disk.h>, <pupa/file.h>.
50061 (hist_size): New variable.
50062 (hist_lines): Likewise.
50063 (hist_end): Likewise.
50064 (hist_used): Likewise.
50065 (pupa_set_history): New function.
50066 (pupa_history_get): Likewise.
50067 (pupa_history_add): Likewise.
50068 (pupa_history_replace): Likewise.
50069 (pupa_tab_complete): Likewise.
50070 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50071 completion shows partitionnames while completing partitions, this
50072 feature was suggested by Jeff Bailey.
50073 * normal/command.c (pupa_iterate_commands): New function.
50074 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50075 (pupa_normal_init): Initialize history buffer.
50076 (PUPA_MOD_INIT): Likewise.
50077 (pupa_normal_fini): Free the history buffer.
50078 (PUPA_MOD_FINI): Likewise.
50079
50080 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50081 key.
50082
50083 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50084 * configure.ac [i386]: Check for regparam bug.
50085 (NESTED_FUNC_ATTR) [! i386]: Defined.
50086
1f7315a3 500872003-11-17 Marco Gerards <metgerards@student.han.nl>
50088
50089 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50090 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50091 (pupa_emu_SOURCES): New variable.
50092 (pupa_emu_LDFLAGS): Likewise.
50093 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50094 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50095 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50096 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50097 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50098 (pupa_jmp_buf): New typedef.
50099 (pupa_setjmp) [PUPA_UTIL]: New macro.
50100 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50101 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50102 (pupa_refresh): New prototype.
50103 * include/pupa/util/getroot.h: New file.
50104 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50105 it.
50106 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50107 (pupa_rescue_cmd_cat): Likewise.
50108 (pupa_rescue_cmd_ls): Likewise.
50109 (pupa_rescue_cmd_testload): Likewise.
50110 (pupa_rescue_cmd_lsmod): Likewise.
50111 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50112 * normal/menu.c (run_menu): Likewise.
50113 * kern/term.c (pupa_cls): Likewise.
50114 (pupa_refresh): New function.
50115 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50116 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50117 * util/console.c: New file.
f19dbdb7 50118
1f7315a3 50119 * util/i386/pc/getroot.c: New file.
50120 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50121 (pupa_putchar): New function.
50122 (pupa_refresh): Likewise.
50123 (xgetcwd): Function moved to ...
50124 (strip_extra_slashes): Likewise.
50125 (get_prefix): Likewise.
f19dbdb7 50126 * util/i386/pc/getroot.c: ... here.
1f7315a3 50127 (find_root_device): Function moved and renamed to...
50128 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50129 Changed all callers.
50130 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50131 and renamed to...
50132 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50133 Changed all callers.
50134 * util/misc.c (pupa_memalign): New function.
50135 (pupa_mm_init_region): Likewise.
50136 (pupa_register_exported_symbols): Likewise.
50137 (pupa_putchar): Function removed.
50138 * util/pupa-emu.c: New file.
50139
9a5c1ade 501402003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50141
50142 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50143 (_multiboot_mod_SOURCES): New variable.
50144 (_multiboot_mod_CFLAGS): Likewise.
50145 * loader/i386/pc/multiboot.c: New file.
50146 * include/pupa/i386/pc/multiboot.h: Likewise.
50147 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50148 (pupa_multiboot_real_boot): New function.
50149 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50150 (pupa_multiboot_real_boot): New prototype.
50151 (pupa_rescue_cmd_multiboot): Likewise
50152 (pupa_rescue_cmd_module): Likewise.
50153
50154 * kern/loader.c (pupa_loader_set): Continue when
50155 pupa_loader_unload_func() fails.
50156 (pupa_loader_unset): New function.
50157 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50158
50159 * kern/misc.c (pupa_stpcpy): New function.
50160 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50161
8e72a9c0 501622003-11-12 Marco Gerards <metgerards@student.han.nl>
50163
50164 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50165 for available extensions.
50166
50167 * include/pupa/i386/pc/time.h: New file.
50168 * kern/disk.c: Include <pupa/machine/time.h>.
50169 (PUPA_CACHE_TIMEOUT): New macro.
50170 (pupa_last_time): New variable.
50171 (pupa_disk_open): Flush the cache when there was a timeout.
50172 (pupa_disk_close): Reset the timer.
50173 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50174 pupa_currticks.
50175 * util/misc.c: Include <sys/times.h>
50176 (pupa_get_rtc): New function.
50177
c4adbd32 501782003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50179
50180 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50181 as blocks.
50182 (pupa_ext2_get_file_block): Use blocks member.
50183
50184 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50185 first block. Return -1 instead of pupa_errno on error.
50186
bfd30f06 501872003-10-27 Marco Gerards <metgerards@student.han.nl>
50188
50189 * README: In the pupa-mkimage example use _chain instead of chain
50190 and ext2 instead of fat.
50191 * TODO: Replace ext2fs with jfs as an example. Add an item for
50192 adding journal playback for ext2fs.
50193 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50194 (pkgdata_MODULES): Added ext2.mod.
50195 (ext2_mod_SOURCES): New variable.
50196 (ext2_mod_CFLAGS): Likewise.
50197 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50198 * include/pupa/misc.h (pupa_strncpy): New prototype.
50199 (pupa_strcat): Likewise.
50200 (pupa_strncmp): Likewise.
50201 * kern/misc.c (pupa_strcat): Enable function.
50202 (pupa_strncpy): New function.
50203 (pupa_strncmp): Likewise.
50204 * fs/ext2.c: New file.
f19dbdb7 50205
bfd30f06 50206 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50207 when the read failed before retrying.
50208 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50209 (_FILE_OFFSET_BITS): Likewise.
50210 * configure.ac: Added AC_SYS_LARGEFILE.
50211
98d15063 502122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50213
50214 * genmk.rb (PModule#rule): Make sure to get only symbol names
50215 from the output of nm.
59cad637 50216 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50217
18d9c7cd 502182003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50219
50220 I forgot to check in these changes for a long time. This adds
50221 incomplete support for VGA console, and this is still very
50222 buggy. Also, a lot of consideration is required for I18N,
50223 UNICODE, and VGA font issues. Therefore, assume that this is
50224 such that "better than nothing".
f19dbdb7 50225
18d9c7cd 50226 * font/manager.c: New file.
50227 * include/pupa/font.h: Likewise.
50228 * include/pupa/i386/pc/vga.h: Likewise.
50229 * term/i386/pc/vga.c: Likewise.
50230 * util/unifont2pff.rb: Likewise.
50231
50232 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50233 (pkgdata_MODULES): Added vga.mod and font.mod.
50234 (vga_mod_SOURCES): New variables.
50235 (vga_mod_CFLAGS): Likewise.
50236 (font_mod_SOURCES): Likewise.
50237 (font_mod_CFLAGS): Likewise.
50238
50239 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50240
50241 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50242 (struct pupa_term): Added init and fini.
18d9c7cd 50243 Changed the argument of putchar to pupa_uint32_t.
50244
50245 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50246 (pupa_console_real_putchar): New prototype.
50247 (pupa_console_putchar): Removed.
50248 (pupa_console_checkkey): Exported.
50249 (pupa_console_getkey): Likewise.
50250
50251 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50252 characters.
50253
50254 * kern/term.c (pupa_term_set_current): Rewritten.
50255 (pupa_putchar): Likewise.
50256 (pupa_putcode): New function.
50257
50258 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50259 (pupa_console_real_putchar): ... this.
50260 (pupa_vga_set_mode): New function.
50261 (pupa_vga_get_font): Likewise.
50262
50263 * normal/command.c: Include pupa/term.h.
50264 (terminal_command): New function.
50265 (pupa_command_init): Register the command "terminal".
50266
50267 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50268 (DISP_UP): Likewise.
50269 (DISP_RIGHT): Likewise.
50270 (DISP_DOWN): Likewise.
50271 (DISP_HLINE): Likewise.
50272 (DISP_VLINE): Likewise.
50273 (DISP_UL): Likewise.
50274 (DISP_UR): Likewise.
50275 (DISP_LL): Likewise.
50276 (DISP_LR): Likewise.
50277
50278 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50279
977329f5 502802003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50281
50282 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50283 FIX. Reverse the path_list.
50284
50285 * include/pupa/normal.h: Export pupa_register_command and
50286 pupa_unregister_command.
50287
50288 * hello/hello.c (pupa_cmd_hello): New module.
50289 * conf/i386-pc.rmk: Added hello.mod.
50290
1f5ab428 502912003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50292
50293 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50294
1f5ab428 50295 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50296 (compress_kernel): New variable.
50297 (generate_image): Heavily modified to support compressing a
50298 large part of the core image.
50299
50300 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50301 leak.
50302 (pupa_util_load_image): New function.
50303
50304 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50305 (pupa_compressed_size): New variable.
50306 (codestart): Enable Gate A20 here.
50307 Decompress the compressed part of the core image.
50308 Rearrange the code to put functions and variables which are
50309 required for initialization in the non-compressed part.
50310 Include lzo1x.S.
50311
50312 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50313 here.
50314
50315 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50316
f19dbdb7 50317 * include/pupa/i386/pc/kernel.h
1f5ab428 50318 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50319 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50320 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50321 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50322 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50323
50324 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50325
50326 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50327 (Utility#rule): Likewise.
50328
50329 * configure.ac: Check if LZO is available.
50330
ce5bf700 503312003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50332
50333 * include/pupa/normal.h: New file.
50334 * include/pupa/setjmp.h: Likewise.
50335 * include/pupa/i386/setjmp.h: Likewise.
50336 * normal/cmdline.c: Likewise.
50337 * normal/command.c: Likewise.
50338 * normal/main.c: Likewise.
50339 * normal/menu.c: Likewise.
50340 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50341
ce5bf700 50342 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50343 (pupa_rescue_cmd_initrd): Likewise.
50344
50345 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50346 Likewise.
50347
50348 * kern/i386/pc/startup.S (translation_table): New variable.
50349 (translate_keycode): New function.
50350 (pupa_console_getkey): Call translate_keycode.
50351
50352 * kern/rescue.c (attempt_normal_mode): New function.
50353 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50354 it failed, print a message.
50355
50356 * kern/mm.c (pupa_real_malloc): Print more information when a
50357 free magic is broken.
50358 (pupa_free): If the first free header is not free actually, set
50359 it to P.
50360
50361 * kern/main.c (pupa_load_normal_mode): Just load the module
50362 "normal".
50363 (pupa_main): Don't print the message
50364 "Entering into rescue mode..." here.
50365
50366 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50367 Declared.
50368 (pupa_rescue_cmd_initrd): Likewise.
50369 (pupa_rescue_cmd_initrd): Likewise.
50370
50371 * include/pupa/symbol.h (FUNCTION): Specify the type.
50372 (VARIABLE): Likewise.
50373
50374 * include/pupa/err.h (pupa_err_t): Added
50375 PUPA_ERR_UNKNOWN_COMMAND.
50376
50377 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50378 (pupa_dl_get_prefix): Likewise.
50379
50380 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50381 Added _chain.mod and _linux.mod instead of chain.mod and
50382 linux.mod.
50383 (chain_mod_SOURCES): Renamed to ...
50384 (_chain_mod_SOURCES): ... this.
50385 (chain_mod_CFLAGS): Renamed to ...
50386 (_chain_mod_CFLAGS): ... this.
50387 (linux_mod_SOURCES): Renamed to ...
50388 (_linux_mod_SOURCES): ... this.
50389 (linux_mod_CFLAGS): Renamed to ...
50390 (_linux_mod_CFLAGS): ... this.
50391 (normal_mod_SOURCES): New variable.
50392 (normal_mod_CFLAGS): Likewise.
50393 (normal_mod_ASFLAGS): Likewise.
50394
503952003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50396
50397 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50398 possible.
50399
fe6b695a 50400 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50401 recursively.
50402 (pupa_dl_unref): Unrefer depending modules recursively.
50403 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50404 a module is unloaded before one depending on that module is
50405 unloaded.
50406 (pupa_dl_unload): Unload depending modules explicitly,
50407 if possible.
50408
c04da074 504092003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50410
50411 * include/pupa/i386/pc/linux.h: New file.
50412 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50413
c04da074 50414 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50415 Removed.
50416 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50417 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50418 of PUPA_CHAINLOADER_BOOT_SECTOR.
50419
50420 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50421 (pupa_linux_prot_size): New variable.
50422 (pupa_linux_tmp_addr): Likewise.
50423 (pupa_linux_real_addr): Likewise.
50424 (pupa_linux_boot_zimage): New function.
50425 (pupa_linux_boot_bzimage): Likewise.
50426
50427 * kern/i386/pc/init.c (struct mem_region): New structure.
50428 (MAX_REGIONS): New macro.
50429 (mem_regions): New variable.
50430 (num_regions): Likewise.
50431 (pupa_os_area_addr): Likewise.
50432 (pupa_os_area_size): Likewise.
50433 (pupa_lower_mem): Likewise.
50434 (pupa_upper_mem): Likewise.
50435 (add_mem_region): New function.
50436 (compact_mem_regions): Likewise.
50437 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50438 the size of the conventional memory and that of so-called upper
50439 memory (before the first memory hole).
50440 Instead of adding each found region to free memory, use
50441 add_mem_region and add them after removing overlaps.
50442 Also, add only 1/4 of the upper memory to free memory. The rest
50443 is used for loading OS images. Maybe this is ad hoc, but this
50444 makes it much easier to relocate OS images when booting.
50445
50446 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50447 (pupa_enter_rescue_mode): Don't register initrd and module.
50448
50449 * kern/mm.c: Include pupa/dl.h.
50450
50451 * kern/main.c: Include pupa/file.h and pupa/device.h.
50452
50453 * kern/loader.c (pupa_loader_load_module_func): Removed.
50454 (pupa_loader_load_module): Likewise.
50455
50456 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50457 ``.o''.
50458
50459 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50460 (pupa_linux_tmp_addr): Likewise.
50461 (pupa_linux_real_addr): Likewise.
50462 (pupa_linux_boot_zimage): Likewise.
50463 (pupa_linux_boot_bzimage): Likewise.
50464
50465 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50466 (pupa_upper_mem): Likewise.
50467 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50468 module is too dangerous.
50469
50470 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50471 (pupa_os_area_size): Likewise.
50472 (pupa_loader_set): Remove the first argument. Loader doesn't
50473 manage modules or initrd any longer.
50474 (pupa_loader_load_module): Removed.
50475
50476 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50477 (linux_mod_SOURCES): New variable.
50478 (linux_mod_CFLAGS): Likewise.
50479
a13f9237 504802003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50481
50482 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50483 the length of a blocklist correctly.
50484
50485 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50486 Use ioctl only if the OS file is a block device.
50487 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50488 not very useful for normal files.
50489
50490 * kern/main.c (pupa_set_root_dev): New function.
50491 (pupa_load_normal_mode): Likewise.
50492 (pupa_main): Call those above.
50493
50494 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50495 pupa_uint16_t.
50496
50497 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50498
a5ffe966 504992003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50500
50501 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50502 (setup): Configure the installed partition information and the
50503 dl prefix.
50504
50505 * loader/i386/pc/chainloader.c (my_mod): New variable.
50506 (pupa_chainloader_unload): New function.
50507 (pupa_rescue_cmd_chainloader): Refer itself.
50508 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50509
50510 * kern/i386/pc/startup.S (install_partition): Removed.
50511 (version_string): Likewise.
50512 (config_file): Likewise.
50513 (pupa_install_dos_part): New variable.
50514 (pupa_install_bsd_part): Likewise.
50515 (pupa_prefix): Likewise.
50516 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50517
50518 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50519 and pupa/misc.h.
50520 (make_install_device): New function.
50521 (pupa_machine_init): Set the dl prefix.
50522
50523 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50524 (buf): Renamed to ...
50525 (linebuf): ... this.
50526 (pupa_rescue_cmd_prefix): New function.
50527 (pupa_rescue_cmd_insmod): Likewise.
50528 (pupa_rescue_cmd_rmmod): Likewise.
50529 (pupa_rescue_cmd_lsmod): Likewise.
50530 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50531 rmmod and lsmod.
50532
50533 * kern/mm.c (pupa_memalign): If failed even after invalidating
50534 disk caches, unload unneeded modules and retry.
50535
50536 * kern/misc.c (pupa_memmove): New function.
50537 (pupa_memcpy): Removed.
50538 (pupa_strcpy): New function.
50539 (pupa_itoa): Made static.
50540
50541 * kern/dl.c (pupa_dl_iterate): New function.
50542 (pupa_dl_ref): Likewise.
50543 (pupa_dl_unref): Likewise.
50544 (pupa_dl_unload): Return if succeeded or not.
50545 (pupa_dl_unload_unneeded): New function.
50546 (pupa_dl_unload_all): Likewise.
50547 (pupa_dl_init): Renamed to ...
50548 (pupa_dl_set_prefix): ... this.
50549 (pupa_dl_get_prefix): New function.
50550
50551 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50552 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50553 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50554 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50555 (pupa_install_dos_part): Declared.
50556 (pupa_install_bsd_part): Likewise.
50557 (pupa_prefix): Likewise.
50558 (pupa_boot_drive): Likewise.
50559
50560 * include/pupa/types.h: Fix a typo.
50561
50562 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50563 pupa_memmove.
50564 (pupa_memmove): Declared.
50565 (pupa_strcpy): Likewise.
50566
50567 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50568 pupa_mod_init takes one argument, its own module.
50569 (pupa_dl_unload_unneeded): Declared.
50570 (pupa_dl_unload_all): Likewise.
50571 (pupa_dl_ref): Likewise.
50572 (pupa_dl_unref): Likewise.
50573 (pupa_dl_iterate): Likewise.
50574 (pupa_dl_init): Renamed to ...
50575 (pupa_dl_set_prefix): ... this.
50576 (pupa_dl_get_prefix): Declared.
50577
50578 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50579 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50580 unloaded.
50581 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50582 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50583
50584 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50585 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50586
012d7999 505872003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50588
50589 * util/i386/pc/pupa-setup.c (setup): Define the internal
50590 function find_first_partition_start at the top level, because GCC
50591 3.0.x cannot compile internal functions in deeper scopes
50592 correctly.
50593 (find_root_device): Use lstat instead of stat.
50594 Don't follow symbolic links.
50595 Fix the path-constructing code.
50596
50597 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50598 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50599 by a BLKGETSIZE ioctl first, because block devices don't fill
50600 the member st_mode of the structure stat on Linux.
50601 [__linux__] (linux_find_partition): Use a temporary buffer
50602 REAL_DEV for the working space. Copy it to DEV before returning.
50603 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50604 buffer cache consistent.
50605 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50606 strncmp. The previous value was merely wrong.
50607 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50608
50609 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50610 FAT size is 12. The previous value was merely wrong.
50611
50612 * kern/main.c (pupa_main): Don't split the starting message from
50613 newlines.
50614
50615 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50616 LF, because BIOS goes crazy about character attributes in this
50617 case.
50618
1cc73a62 506192003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50620
50621 * include/i386/pc/util/biosdisk.h: New file.
50622 * util/i386/pc/biosdisk.c: Likewise.
50623 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50624
1cc73a62 50625 * Makefile.in (INCLUDE_DISTFILES): Added
50626 include/pupa/i386/pc/util/biosdisk.h.
50627 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50628 directory util/i386/pc.
50629 (install-local): Added a rule for sbin_UTILITIES.
50630 (uninstall): Likewise.
50631
50632 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50633
50634 * util/misc.c (xrealloc): New function.
50635 (pupa_malloc): Likewise.
50636 (pupa_free): Likewise.
50637 (pupa_realloc): Likewise.
50638 (pupa_stop): Likewise.
50639 (pupa_putchar): Likewise.
50640
50641 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50642
50643 * include/pupa/util/misc.h (xrealloc): Declared.
50644
50645 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50646 macro.
50647 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50648 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50649
50650 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50651 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50652
50653 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50654 way should be implemented.
50655 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50656
50657 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50658 the size of NAME for safety.
50659 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50660 0x88.
50661
50662 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50663 (pupa_setup_SOURCES): Likewise.
50664
50665 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50666
08b70fe8 506672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50668
50669 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50670 bunch of pushl's from pusha, because this destroys the return
50671 value.
50672
62ddcc8f 506732002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50674
50675 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50676 This means that any missing prototypes could be fatal. Also, you
50677 must take care when writing assembly code. See the comments at
50678 the beginning of startup.S, for more details.
f19dbdb7 50679
62ddcc8f 50680 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50681 compilation mechanism.
50682 (pupa_chainloader_real_boot): Likewise.
50683 (pupa_biosdisk_rw_int13_extensions): Likewise.
50684 (pupa_biosdisk_rw_standard): Likewise.
50685 (pupa_biosdisk_check_int13_extensions): Likewise.
50686 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50687 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50688 (pupa_get_memsize): Likewise.
50689 (pupa_get_mmap_entry): Likewise.
50690 (pupa_console_putchar): Likewise.
50691 (pupa_console_setcursor): Likewise.
50692 (pupa_getrtsecs): Use pushl instead of push.
50693
50694 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50695 memory instead of the stack for a mmap entry, because some
50696 BIOSes may ignore the maximum size and overflow.
50697
50698 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50699
50700 * genmk.rb (PModule#rule): Compile automatically generated
50701 sources with module-specific CFLAGS as well as other sources.
50702
9962ed99 507032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50704
50705 * configure.ac: Check ld.
50706 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50707 respectively, before checking endianness and sizes.
50708
50709 * Makefile.in (LD): New variable.
f19dbdb7 50710
abdfc3c5 507112002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50712
50713 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50714
6a161fa9 507152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50716
50717 * Changelog: New file.
50718