]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
[grub2.git] / ChangeLog
CommitLineData
78170f3e
CCZ
12013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2
3 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4
3414b6c0
MC
52013-10-12 Melki Christian <Christian.melki@saabgroup.com>
6
7 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
8 error when enabling debug.
9
6d0740e8
IB
102013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
11
12 * configure.ac: Use -melf_*_obsd on openbsd.
13
ff2d4dc4
VS
142013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
17
eac6ae82
VS
182013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * include/grub/misc.h: Use gnu_printf rather than printf as format
21 template since our functions are independent of libc.
22
ba9baabe
VS
232013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * util/grub-setup.c (setup): Move copying of partition table as
26 futher up as possible to avoid possible overwrite by floppy routines.
27
282013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
29
30 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
31
145e2369
VT
322013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
33
34 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
35 * docs/grub.texi: Likewise.
36
3530bc9d
VS
372013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
40 it's mostly unused. Move vestiges to the callers.
41
fb9f59c3
VS
422013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
45 version of salt and hash. Use grub_snprintf rather than snprintf.
46
9be1c255
VS
472013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * docs/grub.texi: Fix problem with braces.
50
ed8c0887
VS
512013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * conf/Makefile.extra-dist: Fix extra-dist list.
54 * grub-core/Makefile.core.def: Likewise.
55
f72ab14e
VS
562013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * docs/grub.texi: Document disk names used on Windows and AROS.
59
2fe53a22
VS
602013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
63 with AROS devs.
64 * grub-core/osdep/aros/hostdisk.c: Likewise.
65
71c1d67a
VS
662013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
67
68 Avoid including hostfile.h when not necessarry as it pulls
69 in OS-specific headers which may redefine generic names
70 like "far".
71
ad297ec7
VT
722013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
73
74 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
75 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
76 scrollbar_bottom_pad
77 * docs/grub.texi: Likewise.
78
6e9e5dc9
VT
792013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
80
81 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
82
761c718b
VS
832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
86
37149a2f
VS
872013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
90 Removed.
91 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
92 Made static.
93
3837a151
VS
942013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
97 leftover.
98
caca1c70
VS
992013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Move OS-specific driver configuration to grub_util_fd_open. This
102 moves OS-dependent parts from kern/emu/hostdisk.c to
103 grub-core/osdep/*/hostdisk.c.
104
f7676b70
VS
1052013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * util/grub-mkimage.c (generate_image): Use size_t instead of
108 grub_size_t.
109 * util/grub-mkimagexx.c (locate_sections): Likewise.
110 (load_image): Likewise.
111
22f98db2
VS
1122013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
115 size_t.
116 (grub_util_write_image): Likewise.
117
b102ce69
VS
1182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
121 get random when no RNG is available.
122 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
123
acbbe5cb
VS
1242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * include/grub/util/lvm.h: Removed.
127
2112fb3f
VS
1282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
131 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
132
79f78fbf
VS
1332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/osdep/windows/sleep.c: Add missing config.h.
136
c2e6f705
VS
1372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
140
aabe433a
VS
1412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/net/drivers/emu/emunet.c: Move to ..
144 * grub-core/osdep/linux/emunet.c: ..here.
145
9a2c903f
VS
1462013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/ieee1275/ofpath.c: Move to ...
149 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
150 * grub-core/osdep/basic/ofpath.c: ..here.
151
4a445f58
VS
1522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
153
154 Move password-querying (util-version) routines to grub-core/osdep.
155
c1ca4244
VS
1562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Move sleep routines to grub-core/osdep.
159
672fa55e
VS
1602013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Move OS-dependent files to grub-core/osdep and document it.
163
a5b0365a
VS
1642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
167 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
168
29072e99
VS
1692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
172
f8772ea7
VS
1732013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * util/misc.c: Remove leftover inclusion of malloc.h.
176
a1a315e7
VS
1772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * include/grub/setjmp.h: Remove leftover GRUBOF.
180
cef86fef
VS
1812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * util/raid.c: Fold into ...
184 * util/getroot_linux.c: ... here. Make all functions static.
185
c4cf25ee
VS
1862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
189 macros to GRUB ones.
190
53a5f5c2
VT
1912013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
192
193 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
194 occasional bug. If there are too many boot entries or too low
195 scrollbar height then we need to use another formula to calculate
196 the position and size of the scrollbar thumb.
197
de300af2
VS
1982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
199
c4cf25ee 200 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 201
c5827364
VT
2022013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
203
204 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
205 * docs/grub.texi: Likewise.
206
dd2ed8b0
VT
2072013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
208
209 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
210 viewport.
211
7286c384
VT
2122013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
213
ffdfc1f3
VT
214 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
215 minimal width calculations.
7286c384 216
ea547e14
VS
2172013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * docs/grub.texi: Update note on colors on emu console.
220
b726be76
VS
2212013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
224 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
225 it's FS and not GRUB limitation.
226
a5f6ade6
VS
2272013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
230
3b0f3aa2
VS
2312013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
234
1db38304
ST
2352013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
236
237 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
238 kernels by version order.
239
fb295fc0
VS
2402013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
243
47345010
VS
2442013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Add AROS hostdisk and getroot routines.
247
bf25f879
VS
2482013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Make cryptodisk and diskfilter probe data retrievable programmatically
251 and not just printable.
252
24ca4512
VS
2532013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Split random retrieving code into separate files.
256
c7c177f0
VS
2572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
260 R_ARM_V4BX.
261
d71b45ae
VS
2622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
265 condition.
266 * grub-core/tests/fake_input.c: Likewise.
267 * grub-core/tests/cmdline_cat_test.c: Likewise.
268
e44b9a83
VS
2692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/video/capture.c: Do not do finalization when .fini
272 is called as there is explicit capture_end.
273
4fa60739
VS
2742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
277 changing windows to avoid crash.
278
17c8bc37
VS
2792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
282
9d4d7977
VS
2832013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * po/exclude.pot: Add several strings to exclude.
286
0caa407c
VS
2872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
290
9ae393da
VS
2912013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * autogen.sh: Add ./util/grub-gen-widthspec.c and
294 ./util/grub-gen-asciih.c to exclude list.
295
498d5033
VS
2962013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
299 and don't mark error strings for translation.
300
7d93298f
VS
3012013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
304 properly in case of missing block size.
305
b2cae20c
VS
3062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/lib/arm/setjmp.S: Add missing license section.
309
3896d6b4
VS
3102013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * po/swiss.sed: Add replacement for key names and for term computer.
313
ebc1da55
VT
3142013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
315
316 * grub-core/gfxmenu/theme_loader.c: New global options for the
317 theme background image handling. desktop-image-scale-method,
318 desktop-image-h-align, desktop-image-v-align.
319 * grub-core/gfxmenu/view.c: Likewise.
320 * include/gfxmenu_view.h: Likewise.
321 * include/bitmap_scale.h: Proportional scale functions introduced.
322 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
323 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
324 cases of unexpected input variables for scale functions.
325 * docs/grub.texi: Updated documentation for new options.
326
c5739143
VS
3272013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
330
be74aeb3
VT
3312013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
332
333 * grub-core/tests/checksums.h: Corrected due to changes in
334 bilinear interpolation function.
335
d999ac72
VT
3362013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
337
338 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
339 to eliminate artefacts in bilinear interpolation.
340
2b131610
VS
3412013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/video/readers/tga.c: Support paletted tga.
344
de6e5ff8
VS
3452013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
348 incorrect cbcr setting when in color mode.
349
fa31ee9c
VS
3502013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/video/readers/png.c: Support paletted images and clean up
353 greyscale support.
354
e84f8188
VS
3552013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
358 usage of wrong table which resulted in mishandling of 4-byte
359 sequences.
360
3612013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
362
363 * grub-core/term/terminfo.c: Add Home and End key sequences.
364
d72bff09
VS
3652013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/video/readers/png.c (grub_png_decode_image_header):
368 Fix formula for computing total number of bytes.
369
29648c5d
VS
3702013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
373 image processing, fix big-endian and support grayscale.
374
4a876492
VS
3752013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
378 Correctly will with maximum transparency when using index color.
379
3ccf16df
VS
3802013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/video/readers/png.c: Support grayscale
383
3842013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
385
386 * grub-core/video/readers/jpeg.c: Support grayscale.
387
3ccf16df 3882013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
389
390 * grub-core/commands/loadenv.c: Support skipping signature check
391 and variable names filtering.
392
30b7f58f
VS
3932013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
396 * grub-core/kern/emu/hostfs.c: Likewise.
397 * util/getroot_unix.c: Likewise.
398
bab7b1eb
VS
3992013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
402 Migrate all explicit defines to this new one.
403
43b1c99d
VS
4042013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
407 grub_util_fd_strerror when using grub_util_fd_*.
408 (grub_util_fd_open_device): Likewise.
409 (grub_util_biosdisk_read): Likewise.
410 (grub_util_biosdisk_write): Likewise.
411 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
412 (grub_util_fd_strerror): Likewise.
413 (grub_util_fd_sync): Likewise.
414 (grub_util_fd_close): Likewise.
415 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
416 (grub_util_fd_close): Likewise.
417 (grub_util_fd_strerror): Likewise.
418 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
419 function proto rather than macro.
420 (grub_util_fd_sync): Likewise.
421 (grub_util_fd_open): Likewise.
422 (grub_util_fd_strerror): New proto.
423
e8fd80bc
VS
4242013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
427 platforms on which it doesn't work.
428
bf645fda
VS
4292013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
432 stat immediately to where it's used.
433
5177ba14
VS
4342013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * util/getroot.c (grub_util_check_block_device): Move to ...
437 * util/getroot_unix.c (grub_util_check_block_device): ... here.
438 * util/getroot.c (grub_util_check_char_device): Move to ...
439 * util/getroot_unix.c (grub_util_check_char_device): ... here.
440
9db826e1
VS
4412013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
444 disk closing logic.
445
49120085
AB
4462013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
447
448 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
449
b3328b68
AB
4502013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
451
452 * docs/grub.texi (File name syntax): Document ZFS filenames
453 (/volume@snapshot/...).
454
3fff48ab
VS
4552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
458 Always return full path. Fixes a problem with mkrelpath.
459
39cfdaa9
PFS
4602013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
461
462 * util/grub-install.in: Add GPT PReP support.
463 * util/grub-probe.c (probe): Support GPT partition type.
464 (main): Support -t gpt_parttype.
465
7c680e1f 4662013-09-23 Aleš Nesrsta <starous@volny.cz>
467
468 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
469
890bdabe
MM
4702013-09-23 Massimo Maggi <me@massimo-maggi.eu>
471
472 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
473
9c262ff9
TH
4742013-09-23 Tim Hardeck <thardeck>
475
476 * util/grub.d/10_hurd.in: Filter out character for the class.
477 * util/grub.d/10_kfreebsd.in: Likewise.
478 * util/grub.d/10_linux.in: Likewise.
479 * util/grub.d/20_linux_xen.in: Likewise.
480
d755342a
MC
4812013-09-23 Melki Christian <Christian.melki@saabgroup.com>
482
483 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
484 "changed".
485
68b77707
JT
4862013-09-23 Josh Triplett <josh@joshtriplett.org>
487
488 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
489 boot partition.
490
efa68bfa
VS
4912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
494 doesn't use posix_wrap. Keep literal -fno-builtin however.
495
d9104204
VS
4962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
499
c248781a 5002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5012013-09-23 neil
502
5830df88 503 * configure.ac: Do not enable -Wmissing-noreturn as its
504 usefulness is limited and creates problems on some OS notably with
505 code generated by bison.
506
5072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5082013-09-23 neil
509
510 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 511 supported by all gcc and when it is, it's already enabled by -Wall.
512
621bed69
VS
5132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
516 desactivated use of EDID at all.
517
71764dc8 5182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5192013-09-23 neil
520
521 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
522 video if no text is available.
523
affce7d4 5242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
5252013-09-23 neil
526
527 * configure.ac: Substitute TARGET_RANLIB.
528
5292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5302013-09-23 neil
affce7d4
VS
531
532 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
533
534 Based on patches from AROS.
535
0e8daad0 5362013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 5372013-09-23 neil
0e8daad0
VS
538
539 * grub-core/Makefile.am: Override STRIP and RANLIB.
540 * configure.ac: compute TARGET_RANLIB.
541 * INSTALL: Document TARGET_RANLIB
542
543 Based on patches from AROS.
544
3f7d9c82
VS
5452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
548 that floppies are unpartitioned.
549
bca8873a
VS
5502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
553 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
554
5552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
558 less nice but more portable.
559 * grub-core/lib/posix_wrap/wchar.h: Likewise.
560
a47a78be
VS
5612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
564 for cheat_fd.
565 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
566 functions.
567 (grub_cryptodisk_cheat_insert): Likewise.
568 (grub_cryptodisk_close): Likewise.
569
e85a5d5c
VS
5702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
573 Use windows path for DEFAULT_DIRECTORY.
574
dad9fa6b
VS
5752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
578 difference was likely just gcc version, not anything mingw-related.
579
7e518ca8
VS
5802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
581
582 Use Winapi on both cygwin and mingw32 to share more code between both.
583
d68d0157
AB
5842013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
585
586 * util/grub-install.in: Add --grub-editenv option.
587 * util/grub-install_header (grub_compress_file): Explicitly check for
588 plain file to avoid cp error.
589
775b284d
AB
5902013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
591
592 * docs/grub.texi (Device syntax): Document new LVM UUID based device
593 names; fix LVM driver name (lvm, not lv).
594 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
595 names.
596
3ff4063d
VS
5972013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
600 files rather than one file with loads of #if's.
601 * util/getroot.c: Likewise.
602
287faafe
VS
6032013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
606
d1983764
VS
6072013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
610 GNU/Hurd to the list of checked PRNG.
611
15ce95c4
VS
6122013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * configure.ac: On FreeBSD use -melf_*_fbsd format.
615
207862dd 6162013-09-21 Ales Nesrsta <starous@volny.cz>
617
7c680e1f 618 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 619
63653cfd
VS
6202013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
623 * grub-core/disk/lvm.c: Add LVM UUIDs.
624 * util/getroot.c: Use LVM UUIDs whenever possible.
625
f5d3e7ef
AB
6262013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
627
628 * docs/grub.texi (Networking commands): Add documentation for
629 network related commands.
630
53c6b7d6
VS
6312013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * util/getroot.c (grub_util_open_dm): Check major rather than the name
634 to determine if device is handled by devmapper.
635 (convert_system_partition_to_system_disk): Likewise.
636 (get_dm_uuid): Don't check explicitly if device is mapped, it's
637 already done in grub_util_open_dm.
638
e70d6736
LL
6392013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
640
641 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
642 Clean up stack manipulation (sync_caches_armv*)
643
90379808
VS
6442013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/lvm.c: Remove since unused. Remove remaining references.
647
386701a8
VS
6482013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Handle the case of partitioned LVM properly.
651
652 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
653 Stop on meeting LVM, mpath or DMRAID.
654 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
655 (read_device_map): Likewise.
656 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
657 device is full disk rather than erroring out on LVM and similar cases.
658
53070787
VS
6592013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
662
1bc783bd
VS
6632013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
666 4K before the end.
667 Reported by: Leif Lindholm
668
436ad5c3
PW
6692013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
6702013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
673 codes.
674
607319c9
CW
6752013-09-18 Colin Watson <cjwatson@ubuntu.com>
676
677 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
678 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
679
d404d154
DR
6802013-09-18 Douglas Ray <dougray@cpan.org>
681
682 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
683 as secure.
684
28851ef6
AN
6852013-09-18 Aleš Nesrsta <starous@volny.cz>
686
687 * docs/grub.texi: Fix broken link.
688
897c3bc6
MC
6892013-09-18 Melki Christian <Christian.melki@saabgroup.com>
690
691 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
692 to break endless loop.
693
f1630459
VS
6942013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * util/grub-fstest.c: Fix several printf formats.
697 * util/grub-mkimage.c: Likewise.
698 * util/grub-mkimagexx.c: Likewise.
699 * util/grub-script-check.c: Likewise.
700
64463dfd
VS
7012013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
704 error.
705
48972495
VS
7062013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
709
5dd5e64b
VS
7102013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
713 removed in current versions cygwin_conv_*.
714
1c1f31e5
VS
7152013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * configure.ac: Disable efiemu runtime on cygwin.
718
c546a259
VS
7192013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
722 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
723
81690478
VS
7242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
727 error message.
728
6b87c10a
VS
7292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
732 windows variant.
733 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
734 data.
735
8f0baaac
VS
7362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
739 when on x86 and not cygwin.
740 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
741 -Wl,-melf_x86_64.
742
b224c266
VS
7432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * configure.ac: Set CPP to build one when checkoing for freetype for
746 build.
747
506b336b
VS
7482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
751 [!GRUB_BUILD]: Remove has_argument.
752
8c8c87b7
VS
7532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
756 Replace with a dummy.
757
7dc5ca13
VS
7582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * configure.ac: Don't change host_os from mingw to cygwin.
761
c3302aa5
VS
7622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * configure.ac: Change target_os from windows to cygwin.
765
7b780018
VS
7662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
767
768 Handle grub-pe2elf and grub-mkfont for cases when build != host.
769
770 * Makefile.am (build-grub-mkfont): Don't include gnulib.
771 (build-grub-gen-asciih): Likewise.
772 (build-grub-gen-widthspec): Likewise.
773 * Makefile.util.def (grub-pe2elf): Remove.
774 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
775 * configure.ac: Separate tests for build.
776 Move ./build-grub-pe2elf to grub-core.
777 Fix typo.
778 * grub-core/Makefile.am (build-grub-pe2elf): New target.
779 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
780 defined.
781 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
782 constants.
783 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
784 * util/grub-pe2elf.c: Simplify not to rely on getopt.
785 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
786
984cfd8a
VS
7872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
790 mingw32 as well based on grub_util_get_disk_size.
791 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
792 grub_util_get_fd_size.
793 (sync): Removed.
794 (fsync): Moved to ...
795 * grub-core/kern/emu/misc.c (fsync): ... here.
796
f82d79c9
VS
7972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * include/grub/mm.h (grub_extend_alloc): Remove.
800 * grub-core/loader/i386/pc/plan9.c: Use own version of
801 grub_extend_alloc with appropriate types.
802
fd7dd66d
VS
8032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
806
43ffba7c
VS
8072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/getroot.c: Include sys/wait.h only when we need waitpid.
810
3c7eac44
VS
8112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Fix dependencies on cygwin.
814
815 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
816 dependencies when used and defined.
817 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
818
bdb5ba47
VS
8192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
822 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
823
ed7fbf43
VS
8242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
827 implementation available to cause compile-time rather than runtime
828 error.
829
fc46e9fc
VS
8302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-fstest.c: Don't check for symlinks on windows.
833
7f68269a
VS
8342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * INSTALL: Mention unavailability of man pages when cross-compiling.
837
8ed358e0
VS
8382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
841 and gcry_log_bug.
842 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
843
fc97214f
VS
8442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * INSTALL: Document cross-compilation.
847 * acinclude.m4: Determine whether nm support -P and --defined-only.
848 * configure.ac: Add TARGET_ to all variables pertaining to target
849 that don't have it yet.
850 * gentpl.py: Likewise.
851 * grub-core/Makefile.am: Likewise.
852 * grub-core/genmod.sh.in: Likewise.
853 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
854 as well.
855
ca1fb563
IB
8562013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
857
858 * configure.ac: Remove -Wempty-body. It's not essential and needs
859 recent gcc.
860
0031b229
IB
8612013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
862
863 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
864 * util/getroot.c: Likewise.
865
54ea2f44
VS
8662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/disk/ahci.c: Add needed explicit cast.
869 * grub-core/lib/backtrace.c: Likewise.
870 * grub-core/net/ip.c: Likewise.
871 * grub-core/net/tcp.c: Likewise.
872 * grub-core/net/udp.c: Likewise.
873
3c601f8c
VS
8742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
877
1d679dda
VS
8782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * util/import_gcry.py: Add final newline in visibility.h.
881
00c28dd9
VS
8822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * conf/Makefile.common: Fix typo.
885
32af299a
VS
8862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
889
e733cf52
VS
8902013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * Makefile.am (widthspec.h): Fix typo.
893 * util/grub-gen-widthspec.c: Likewise.
894
c6b066f2
VS
8952013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Move ascii.h and widthspec.h generation to a separate build-time-only
898 tool.
899
ad1fe3f9 9002013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
901
902 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
903 Always fill bootdisk info and improve check for NetBSD disklabel.
904
92a52dd4
VS
9052013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * conf/Makefile.extra-dist: Add util/bin2h.c.
908 Reported by: floppym.
909
b2e9d276
VS
9102013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
913
7b966834
VS
9142013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * configure.ac: Disable unifont and starfield if no freetype was found.
917
d5c1eef1
VS
9182013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
921 on NetBSD and OpenBSD.
922
66345b50 9232013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
924
925 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
926
66345b50 9272013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
928
929 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
930 reduced. Inheritant options are processed during the theme loading.
931
66345b50 9322013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
933
934 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
935
369508b3
AS
9362013-08-14 Avik Sil <aviksil@in.ibm.com>
937
938 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
939
9402013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
941
942 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
943 using qemu.
944
6f27a3f6
PFS
9452013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
946
947 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
948 remove-potcdate.sed.
949
c6ed362a
AB
9502013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
951
952 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
953 unused attribute from pull argument.
954
5e7d9464
AB
9552013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
956
957 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
958 memory leak.
959
dea55e2a
AB
9602013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
961
962 * util/getroot.c (pull_lvm_by_command): add --separator option
963 to vgs call to disable padding of output to 10 characters.
964
f0b94ded
VS
9652013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
968 here ...
969 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
970 here.
971
b828fb5d
VS
9722013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
975 length.
976
7c9d0c39
VS
9772013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
978
979 Fix handling of build-time grub-bin2h and grub-mkfont when doing
980 full Canadian cross. Tested with build=x86_64, host=arm,
981 target=ppc-ieee1275.
982
816719c8
VS
9832013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * configure.ac: Error if no $BUILD_CC could be found.
986 Reported by: DevHC.
987
2af2353b
VS
9882013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
991 i386-multiboot.
992
797abd0a
VS
9932013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
996 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
997
36e87d25
CW
9982013-08-13 Colin Watson <cjwatson@ubuntu.com>
999
1000 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1001 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1002 falling back to the partition device, otherwise a later call to this
1003 function may fail spuriously.
1004 Reported by Axel Beckert. Fixes Debian bug #708614.
1005
273349fe
GS
10062013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1007
1008 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1009
418f86c6
GS
10102013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1011
1012 Prevent shadowing of stdlib's devname(3) on BSD.
1013
1014 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1015 and devlast to diskname and disklast, respectively.
1016
c137aea0
CW
10172013-08-11 Colin Watson <cjwatson@ubuntu.com>
1018
1019 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1020
272dc8df 10212013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1022
1023 * docs/grub.texi: Introduce terminal window position options:
1024 terminal-left: terminal window's left position
1025 terminal-top: terminal window's top position
1026 terminal-width: terminal window's width
1027 terminal-height: terminal window's height
1028 terminal-border: terminal window's border width
1029 * grub-core/gfxmenu/theme-loader.c: Likewise.
1030 * include/grub/gfxmenu_view.h: Likewise.
1031 * po/exlude.pot: Likewise.
1032 * grub-core/gfxmenu/view.c: Likewise.
1033 Also updated minimal window size.
1034 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1035 * grub-core/tests/checksums.h: Update (terminal window height
1036 is adjusted now for low resolution screen)
b4743461 1037
748a4533
VS
10382013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1041 position).
1042
fca5f944
VS
10432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * po/exclude.pot: Add few recent exceptions.
1046
4f47d809
VS
10472013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * tests/grub_func_test.in: Add unicode.pf2.
1050
a62ae90c
VS
10512013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1054 standard rather than noral color, in line with other terminals.
1055
4ed41392
VS
10562013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1059 analysis.
1060
3719fbc5
VS
10612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1064
459b1d91
VS
10652013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1068 inappropriate printf.
1069
f4e1ab9d
AB
10702013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1071
1072 * .bzrignore: Remove grub-core/lib/dtc-grub,
1073 grub-core/Makefile.libfdt.def
1074 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1075
fa471bfa
VS
10762013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * include/grub/video.h (grub_video_register): Keep double-linked as
1079 well as single-linked invariants.
1080 Reported by: qwertial.
1081
d65be02b
VS
10822013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/commands/nativedisk.c (get_uuid): Handle
1085 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1086
ba8bc620
VT
10872013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1088
1089 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1090 maximum of NW, N, NE heights instead of N's height and maximum of
1091 NW, W, SW widths instead of W's width. (So the box will be always
1092 correctly drawn)
1093
4f0ad029
GS
10942013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1095
1096 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1097 Fix misuse of variable count.
1098
43d53b72
LL
10992013-07-18 Leif Lindholm <leif.lindholm@arm.com>
11002013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
11012013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1102
43d53b72
LL
1103 New ports to arm-uboot and arm-efi.
1104 Mostly by Leif Lindholm with some additions from
1105 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1106
88f8d146
VS
11072013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1110 and not before.
1111 Reported by: Leon Drugi.
1112
3f42504c
VS
11132013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1116 Reported by: Paulo Flabiano Smorigo.
1117
d110499b
VT
11182013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1119
1120 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1121
a8674ad3
VT
11222013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1123
1124 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1125
286fe4b3
VS
11262013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1129
1bd57aa3
VS
11302013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1133
7a87d69f
AB
11342013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1135
1136 * grub-core/net/bootp.c: Export net_* variables.
1137 * grub-core/net/net.c: Likewise.
1138
b2182299
VS
11392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1142
795b3dc0
VS
11432013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1146
68714c43
VS
11472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1150
af211bab
VS
11512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1154
0036f02d
MM
11552013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1156
1157 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1158 <= 0.
1159
6d0ddff3
MM
11602013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1161
1162 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1163 functions.
1164
038016f4
MM
11652013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1166
1167 * grub-core/fs/zfs/zfs_lz4.c: New file.
1168 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1169
776bdce2
MM
11702013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1171
1172 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1173
c71dbd40
MM
11742013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1175
1176 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1177 (check_pool_label): Likewise.
1178 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1179
11802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1181
1182 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1183
8e67b50f
AB
11842013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1185
1186 * docs/grub.texi (Commands): Document postition parameters
1187 for menuentry command.
1188
f5ae3717
AB
11892013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1190
1191 * util/grub-mknetdir.in: Remove stray line from help output.
1192
9c28da2a
VS
11932013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Remove early sm712 init as there is no reason for it (the "watchdog"
1196 effect was due to wrong GPIO map).
1197
139072b8
VS
11982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/commands/pcidump.c: Remove static variables.
1201
c6a61bda
VS
12022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1205
51369614
VS
12062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * configure.ac: Move delimiter after the infos.
1209
efa8640a
VS
12102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1213
6f80a7b2
VS
12142013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1217 not filling whole 8x16 space.
1218
a2371e19
VS
12192013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1222
64fce2d8
VS
12232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * configure.ac: Indicate which liblzma is used if any.
1226
eb272d84
PW
12272013-06-21 Paul Wise <pabs3@bonedaddy.net>
12282013-06-21 Craig Sanders <savannah@taz.net.au>
1229
1230 * util/grub-reboot.in: Document submenu usage.
1231
a9e5abee
CW
12322013-06-25 Colin Watson <cjwatson@ubuntu.com>
1233
1234 * .bzrignore: Update with a number of new test-related files.
1235
e639c204
CW
12362013-06-25 Colin Watson <cjwatson@ubuntu.com>
1237
1238 * util/grub-script-check.c: Fail on scripts containing no
1239 commands, to guard against corrupted grub-mkconfig setups that
1240 produce no useful output.
1241 * tests/grub_script_no_commands.in: New test.
1242 * Makefile.util.def (grub_script_no_commands): Add.
1243 Reported by Hans Putter. Fixes Debian bug #713886.
1244
a4c89b17
AB
12452013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1246
1247 * grub-core/disk/diskfilter.c: Forgot to remove comment
1248 from previous commit.
1249
5b06b53c
AB
12502013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1251
1252 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1253 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1254
702da5c9
AB
12552013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1256
1257 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1258
aa62a5b7
AB
12592013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1260
1261 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1262 rescan diskfilter devices until nothing new is found.
1263
4aa237c8
VS
12642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1267
93d8479b
VS
12682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Don't try to detect cbfs on *-emu.
1271
837222cc
VS
12722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1275
99c971af
VS
12762013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Add support for processed coreboot payload chainloading.
1279
e6930a45
VS
12802013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Enable coreboot information commands even when not loaded as
1283 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1284
5027af38
VS
12852013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Support for cbfs. Also factor out the part which is common
1288 for all archives to a separate module. This splits tar from cpio
1289 as they are very different but keeps cpio, cpio_be, odc and newc
1290 together since they're very similar.
1291
a5b55c4b
DM
12922013-06-15 David Michael <fedora.dm0@gmail.com>
1293
1294 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1295 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1296
0301a8b3
VS
12972013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * tests/grub_script_eval.in: Really add the eval test.
1300
3d84cb17
VS
13012013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Move flavour-specific parts out of common cpio.c file and
1304 rename remaining to cpio_common.c
1305
593e430c
AB
13062013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1307
1308 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1309 off new function grub_script_execute_new_scope. Change callers to use
1310 either of them as appropriate.
1311 * grub-core/commands/eval.c: New command eval.
1312 * docs/grub.texi (Commands): Document it.
1313
63c29849
AB
13142013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1315
1316 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1317 to fetch values when listing.
1318
cc284112
AB
13192013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1320
1321 Fix make dist on non-pc.
1322
13232013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1324
1325 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1326 without a device name.
1327
69544d1e
VS
13282013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Remove enable_executable_check as it's not needed anymore.
1331 Reported by: dougray.
1332
96dbe648
VS
13332013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1336 ambigouos RAID before discovering RAIDs on top of it.
1337 Reported by: bodom.
1338
ccfc0bdb
VS
13392013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Fix typo (failback vs fallback).
1342
f2587088
AB
13432013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1344
1345 * util/grub.d/30_os-prober.in: Add support for probing EFI
1346 System Partition (as of os-prober 1.58).
1347
cec5cf0c
VS
13482013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * configure.ac: Add yet another path to unifont. For parabola.
1351
e40b4596
JT
13522013-05-30 Josh Triplett <josh@joshtriplett.org>
1353
1354 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1355 handling to copy the killed characters to the kill buffer as
1356 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1357 stored as char. Eliminates UCS4 truncation and corruption
1358 observed when killing characters with Ctrl-u and yanking them
1359 back with Ctrl-y.
1360
fc4c4fdd
VS
13612013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Detach optional parts of gfxterm and integrate in with coreboot init.
1364
6570b205
VS
13652013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Move blit and fill dispatcher to appropriate files to decrease export
1368 and relocation overhead.
1369
b8323067
VS
13702013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1373 functions.
1374
3cc1878f
VS
13752013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/Makefile.am: Fix compilation problem with some
1378 automake versions.
1379
4b80e43c
VS
13802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1383
57e0c20c
VS
13842013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1387 automake versions.
1388
4fd42c53
VS
13892013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1392 SSDT.
1393
1e908b34
RS
13942013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1395
1396 * grub-core/partmap/dfly.c: New partition map.
1397
1359e474
VS
13982013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1401 checking.
1402 Reported by: Francesco Lavra.
1403
17806392
AB
14042013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1405
1406 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1407 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1408 false conditions.
1409 * conf/Makefile.common: define dist_grubconf_DATA
1410
cdce14fa
VS
14112013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 Progressively skip menu elements on small terminals rather
1414 than crashing.
1415
c8d6cc3c
VS
14162013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1419 to avoid losing last column.
1420
a73b31ce
VS
14212013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * po/exclude.pot: Add missing string "%C".
1424
1202c764
VS
14252013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1428 after the test.
1429
50268344
VS
14302013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * util/grub-install.in: Gettextize "Not found" message.
1433
62b15edf
VS
14342013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 Fix distfiles list.
1437 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1438
14392013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1440
1441 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1442 present.
1443 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1444
709ad61b
VS
14452013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1448
d128901a
VS
14492013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1452 attribute since structure is not necessarily aligned.
1453
34b22f5c
AB
14542013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1455
1456 * docs/grub.texi (Device syntax): Clarify description of network
1457 drives.
1458
0f7e980b
VS
14592013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1462 for vasprintf presence.
1463
30b03dc2
VS
14642013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * util/grub-install.in: Handle efibootmgr presence check.
1467 Reported by: Leif Lindholm.
1468
0dc11c08
VS
14692013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1472 new strings to translate.
1473
f8024c3f
VS
14742013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1477 yet another string (pun intended) to translate.
1478
b4c1da62
VS
14792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * po/POTFILES-shell.in: Autogenerate it.
1482
0ef7478b
VS
14832013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1486
8200fa15
VS
14872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1490 misnomer.
1491
091945b2
AB
14922013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1493
1494 * docs/grub.texi (Network): Add description of net_default_interface,
1495 net_default_ip and net_default_mac. Rewrite variables description
1496 to emphasize that they are per-interface.
1497
0e7b2e32
VS
14982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 New test: cmdline and cat.
1501
16f7c8f6
VS
15022013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/commands/cat.c: Show UTF-8 characters.
1505
3e912fda
VS
15062013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * conf/Makefile.common: Poison float and double on non-emu.
1509
ee0220bc
VS
15102013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * configure.ac: Don't disable extended registers on emu.
1513
89e0240c
VS
15142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * configure.ac: Don't use extended registers on x86_64.
1517 Reported by: Peter Jones.
1518
e56d9637
VS
15192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/term/efi/console.c: Fix compile error.
1522
8098f655
VS
15232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 Compressed HFS+ support.
1526
16940e07
VS
15272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1530 pixel".
1531
c5dbc13d
VS
15322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Menu color test.
1535
011f8ae8
VS
15362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/tests/setjmp_test.c: New test.
1539
2aa072d7
VS
15402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 New variables 'net_default_*' to determine MAC/IP of default interface.
1543
43fe02cb
VS
15442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * tests/gettext_strings_test.in: A test to check for strings not
1547 marked for translation.
1548
bed06142
VS
15492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * autogen.sh: Exclude unused libgcrypt files from translation.
1552
fb2666b5
VS
15532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Simplify few strings.
1556
d22840ec
VS
15572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Mark few forgotten strings for translation.
1560
e34092fd
VS
15612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1564 rather than printf.
1565
47cf82b4
VS
15662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1569 rather than printf.
1570 * grub-core/video/readers/tga.c: Likewise.
1571
1eed0e6e
VS
15722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * tests/priority_queue_unit_test.cc: New test.
1575
c5b7697b
VS
15762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1579 than printf.
1580
5945c2f8
AB
15812013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1582
1583 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1584 variable for one time boot menu entry.
1585
fa292343
B
15862013-05-05 Bean <bean123ch@gmail.com>
1587
1588 * grub-core/commands/testspeed.c: New command testspeed.
1589
310d4214
VS
15902013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Factor-out human-size printing.
1593
85002bf3
VS
15942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Agglomerate more mallocs to speed-up gfxterm.
1597
22b06e96
VS
15982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Speed-up gfxterm by slightly agglomerating mallocs.
1601
b7c036bc
VS
16022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 More video checks.
1605
92323d1f
VS
16062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Speed-up gfxterm by saving intermediate results in index+alpha
1609 format.
1610
0fb356a3
VS
16112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1614 test.
1615
44dea3f9
VS
16162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1619 line of timeout as it may contain the rest of long line.
1620
14af86e4
VS
16212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/normal/main.c: Fix freed memory dereference.
1624
03f7c8c3
VS
16252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 Fix several memory leaks.
1628
c686014c
VS
16292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1632
0788a695
VS
16332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1636
daf01d61
VS
16372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Fix test -a and -o precedence.
1640 Reported by: adrian15.
1641
82ae74d7
VS
16422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1645
8cec7bd4
AB
16462013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1647
1648 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1649 and add it as source to functional_test module.
1650
aa73d688
VS
16512013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1654
c104b6f9
VS
16552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 New series of tests for gfxterm and gfxmenu.
1658
7391c4d5
VS
16592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1662 the theme path relative to $prefix/themes.
1663
cff50118
VS
16642013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1667 Fix order bug.
1668 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1669
7c332bdc
VS
16702013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1673 descriptor.
1674
a4f9a5ff
VS
16752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1678 grub_gfxmenu_timeout_notifications.
1679 (grub_gfxmenu_view_destroy): Likewise.
1680
b5a2114d
VS
16812013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1684
a8905e8a
VS
16852013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 Several fixes to ieee1275 and big-endian video.
1688
813c1622
VS
16892013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Add missing exports on mips.
1692
3f3e7326
VS
16932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1696 if no unifont is found.
1697 Restore original keyboard.
1698
095accd1
VS
16992013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1702 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1703
50361660
VS
17042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 First automated video test (running videotest and comparing results)
1707
cd0f6eec
VS
17082013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1711 instead of 2 to have full RGB/CMY test pattern.
1712
3f9634e5
VS
17132013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 Add few more tests.
1716
583e5b64
VS
17172013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1720 ARCS. All users updated.
1721
aa7bcb99
VS
17222013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1725
95ef1a54
VS
17262013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1729
46546fc5
VS
17302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1733 Reported by: qwertial.
1734
3476e0ef
VT
17352013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1736
1737 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1738 with syntax "XXX deg"/"XXX °".
1739
96f33fed
VS
17402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 Make PCI init in i386-qemu port more robust.
1743
17442013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1745
1746 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1747 cached view is reused.
1748 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1749 open boot menus.
1750
c53b4e67
VS
17512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Unify more code in grub-install_header.
1754
f7457fb2
VS
17552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Add few new tests.
1758
e2f27a8c
VS
17592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 Enforce disabling of firmware disk drivers when native drivers kick in.
1762
ef9d8cd5
VS
17632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/commands/nativedisk.c: Customize the list of modules on
1766 platform. Don't try to search for disks already using native drivers.
1767
f7bf6c31
VS
17682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1771 platforms.
1772
bdc4add8
VS
17732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1776 handling of variables containing backslash.
1777
e9e46c9a
VS
17782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1781 dereference.
1782 Reported by: qwertial.
1783
0e90dee8
VS
17842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1787
e0aacf24
VS
17882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1791 dereference.
1792 Reported by: qwertial.
1793
3c0003c3
VS
17942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1797
adb7d667
VS
17982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1801
7cd0df84
VS
18022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 New command `nativedisk'.
1805
02adbb93
VS
18062013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1809 * grub-core/loader/i386/bsd.c: Likewise.
1810
9fb0fd4f
VS
18112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1814
bd69257a
VS
18152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1818 grub_get_unaligned16 rather than shifts.
1819
178c2764
VS
18202013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/kern/file.c: Use const char * rather than casting to
1823 non-const.
1824
eadfad24
VS
18252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/commands/probe.c: Add missing grub_device_close.
1828
9f73ebd4
VS
18292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * INSTALL: Document linguas.sh.
1832
965fa829
VS
18332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 Remove POTFILES.in and regenerate it in autogen.sh.
1836
d417ddc4
VS
18372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Move --directory/--override-directorry to grub-install_header and unify.
1840
f97ec546
VS
18412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/term/morse.c: Macroify dih and dah.
1844
b2d7470c
PFS
18452013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1846
1847 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1848
141e2a78
VS
18492013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/term/ns8250.c: Systematically probe ports by writing
1852 to SR before using them.
1853
1dd70ebd
PFS
18542013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1855
1856 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1857 disks.
1858 (check_sas): Get sas_adress info.
1859
c796a107
VS
18602013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1863 ports.
1864
43168646
LD
18652013-04-27 Leon Drugi <eyak>
1866
1867 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1868 BSS clearing.
1869
e7b8fd08
VS
18702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 Core compression test.
1873
17f9fd29
VS
18742013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 Implement grub_machine_get_bootlocation for ARC.
1877
dc2a6c8b
VS
18782013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 Improve AHCI detection and command issuing.
1881
f25a2ba6
VS
18822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Fix pseries test.
1885
a6393224
VS
18862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Make 'make check' work on emu.
1889
db99fbe8
VS
18902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Replace libcurses with our own vt100 handling for the ease of testing
1893 and decreasing prerequisites.
1894
b24ca7cd
VS
18952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1898
63314aa4
VS
18992013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1902 compile when not needed.
1903
c1b00fff
VS
19042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * tests/pseries_test.in: New test.
1907
f93e89ef
VS
19082013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 Add test to check that different boot mediums work.
1911
c4b456d3
VS
19122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1915 ofw limited ISO support.
1916
5fe67f39
VS
19172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * configure.ac: Fix loongson conditional.
1920
7f63a64f
VS
19212013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 Enable mipsel-arc.
1924
b04b5990
VS
19252013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Add serial on ARC platform.
1928
88d2f302
VS
19292013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1932 commit.
1933
86eb23bc
VS
19342013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * tests/partmap_test.in: Add missing double semicolon.
1937
eec3bb75
VS
19382013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * util/grub-mkrescue.in: Fix loongson filename.
1941
e0810df3
VS
19422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * util/grub-mkrescue.in: Move all files that don't have a location
1945 set in stone under /boot/grub. Use ISO hard links rather than copies
1946 to save some space.
1947
65a6b30b
VS
19482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1951 bogus SLOF values.
1952
6aff0107
VS
19532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Make check work on mips-arc.
1956
5e013e56
VS
19572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * util/grub-mkrescue.in: Alias sashARCS as sash.
1960
d1989e2e
VS
19612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1964 it's serial.
1965
1a25e72c
VS
19662013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/grub-install.in: Fix target fo qemu_mips.
1969 Fix extension on EFI.
1970
a59a9826
VS
19712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1974 in front of chosen entry to mark it even if highlighting is lost.
1975
1a40f80c
VS
19762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1979 gfxpayload=keep if cbfb is active.
1980
e343549c
VS
19812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1984
45fbd9a2
VS
19852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Add missing video ids to coreboot and ieee1275 video.
1988
ab1440bd
VS
19892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * util/grub-mkrescue.in: Add mips-arc support.
1992
cdeb8324
VS
19932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1996
8528c879
VS
19972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 Move mips-arc link address. Previous link address was chosen
2000 in belief that RAM on SGI platforms grows down while in fact it
2001 grows up from an unusual base.
2002
17fca573
VS
20032013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2006 Fix a type which prevented CD-ROM and floppy boot.
2007
d178788e
VS
20082013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Support coreboot framebuffer.
2011
2012 * grub-core/video/i386/coreboot/cbfb.c: New file.
2013
fe4c3e7e
VS
20142013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2017 detecting too small regions.
2018
ec2dd179
VS
20192013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2022
872dac83
VS
20232013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2026 Remove dprintf.
2027 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2028
90ec4b7f
VS
20292013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2032 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2033 * grub-core/loader/powerpc/ieee1275/linux.c
2034 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2035
f32555dd
VS
20362013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2039 Look for /boot-rom as well as /rom/boot-rom.
2040
38649799
VS
20412013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2044 handling when creating text_layer failed.
2045 * grub-core/video/video.c (grub_video_create_render_target):
2046 Set result to 0 on error.
2047 (grub_video_delete_render_target): Do not dereference NULL.
2048
aeace7f7
VS
20492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2052 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2053 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2054 (grub_linux_load64): Mask out 2 high bits.
2055
4eafa175
AB
20562013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2057
2058 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2059 more place.
2060
daaa64bd
VS
20612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Add support for pseries and other bootinfo machines to grub-mkrescue.
2064
2065 Tested by: Paulo Flabiano Smorigo.
2066
d0d2daa6
VS
20672013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * util/grub-mkrescue.in: Add GPT for EFI boot.
2070
b193e100
VS
20712013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2074 It improves performance in qemu.
2075
a0f8f3ac
VS
20762013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * build-aux/snippet: Add missing gnulib files.
2079
284df0e2
AB
20802013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2081
2082 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2083
740201f3
AB
20842013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2085
2086 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2087
a7e03923
PJ
20882013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
20892013-04-15 Peter Jones <pjones@redhat.com>
2090
2091 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2092 sectors.
2093 Based on patch by Peter Jones.
2094
25fc51a8
VS
20952013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Fix DMRAID partition handling.
2098
88017d47
VS
20992013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * tests/grub_cmd_date.in: Skip on sparc64.
2102
fa7d914e
VS
21032013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2106 firmware error messages.
2107
cbe57a48
VS
21082013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2111 source and destination differ.
2112
21aecce0
VS
21132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2116 detection.
2117
25092d29
VS
21182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2121 match config-util.h to avoid warnings and increase compatibility.
2122
79451522 21232013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 21242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2125
2126 Add option to compress files on install/image creation.
2127
78b7d77b
VS
21282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * docs/grub-dev.texi: Rearrange menu to match the section order.
2131 Reported by: Bryan Hundven.
2132
cc2fa5ec
VS
21332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2136
b49fe879
VS
21372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Move GRUB out of system area when using xorriso 1.2.9 or later.
2140
5351da81
VS
21412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * tests/grub_cmd_date.in: Add missing exit 1.
2144
c9d586ea
VS
21452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * tests/partmap_test.in: Skip on sparc64.
2148
3f729741
VS
21492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Support grub-shell on sparc64.
2152
8ca86b3a
VS
21532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 Support mkrescue on sparc64.
2156
aa1af9bb
VS
21572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2160 Needed on OpenBIOS due to incomplete device tree.
2161
ac4fea79
VS
21622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2165 would be otherwise excluded.
2166
21672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2168
2169 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2170 Inline name defines used only once.
2171
fe22b071
VS
21722013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Fix memory leaks in ofnet.
2175 Reported by: Francesco Lavra.
2176
9d21381b
VS
21772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * docs/man/grub-glue-efi.h2m: Add missing file.
2180
07aec23c
VS
21812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2184
67ab8353
VS
21852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Better support Apple Intel Macs on CD.
2188
ba44ca6d
VS
21892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 Replace stpcpy with grub_stpcpy in tools.
2192
bbdd6305
VS
21932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Handle Japanese special keys.
2196 Reported by: Hiroyuki YAMAMORI.
2197 Codes supplied by: Hiroyuki YAMAMORI.
2198
8573d302
VS
21992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * util/grub-mkimage.c: Document memdisk implying --prefix.
2202
d70dbab7
VS
22032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2206 much we can do about it anyway.
2207
51a4c3e3
AN
22082013-04-12 Aleš Nesrsta <starous@volny.cz>
2209
2210 Fix handling of split transfers.
2211
92c8f58d
VS
22122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/net/http.c: Fix bad free.
2215
b7d17a49
VS
22162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2219 than buffer size.
2220
a3d566d4
VS
22212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2224
a936af56
VS
22252013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * tests/util/grub-shell.in: Fix it on powerpc.
2228
51212234
VS
22292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 Turn off QEMU ACPI-way since new releases don't have shutdown port
2232 anymore.
2233
a21eec9e
VS
22342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * docs/grub.texi: Update coreboot status info.
2237
e3734b84
VS
22382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * tests/grub_cmd_date.in: New test for datetime.
2241
f9d40055
VS
22422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * tests/partmap_test.in: Fix missing qemudisk setting.
2245
dbc56d8f
VS
22462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Support i386-ieee1275 grub-mkrescue and make check on it.
2249
a79b8a15
VS
22502013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2253 feature for it.
2254
48f39bb4
VS
22552013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2258 GRUB_CMDLINE_XEN_DEFAULT.
2259 Reported by: Marc Warne (GigaTux) <gigatux>
2260
053cfcdd
VS
22612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Import new gnulib.
2264
93cd84df
VS
22652013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Use ACPI shutdown intests as traditional port was removed.
2268
f4b1fa4f
AB
22692013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2270
2271 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2272 distinction.
2273
49818a59
VS
22742013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2277 Fix few warining messages and leaks while on it.
2278
9277a306
AB
22792013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2280
2281 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2282 links under grub-core/lib/libgcrypt-grub/mpi.
2283
d5e2a158
VS
22842013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 Fix ia64-efi image generation on big-endian machines. Deduplicate
2287 some code while on it.
2288 Reported by: Leif Lindholm.
2289
18866643
AB
22902013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2291
2292 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2293 as extra_dist.
2294
ca53deb8
AB
22952013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2296
2297 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2298
d4c4b8e1
BH
22992013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2300
2301 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2302 texinfo-5.1.
2303
47043f95
VS
23042013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/normal/term.c: Few more fixes for menu entry editor
2307 rendering.
2308 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2309
a3216068
VS
23102013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/normal/term.c: Few more fixes for menu entry editor
2313 rendering.
2314 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2315
21026747
AB
23162013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2317
2318 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2319 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2320
59624ca8
AB
23212013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2322
2323 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2324 instead of hardcoding grub.mo.
2325
1f44478c
FN
23262013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2327
2328 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2329
eeada7b1
VS
23302013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2333 grub-core/disk/geli.c.
2334
132867de
VS
23352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * util/grub-mkfont.c: Prefer enum to #define.
2338
de73de17
VS
23392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2342
1865baa7
VS
23432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2346
ce7d92a9
VS
23472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2350
52eab656
VS
23512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2354
98b23b95
VS
23552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * include/grub/bsdlabel.h: Use enums.
2358
0467a5dd
VS
23592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 Move GRUB_CHAR_BIT to types.h.
2362
16cc9f03
AB
23632013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2364
2365 * docs/grub.texi: Document more user commands.
2366
3152aecb
AB
23672013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2368
2369 * docs/grub.texi: Document menuentry --id option.
2370
c506fc30
FL
23712013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2372
2373 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2374
aa428238
VS
23752013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Unify file copying setup across different install scripts. Add
2378 options for performing partial install.
2379
efe0cdda
PJ
23802013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23812013-04-04 Peter Jones <pjones@redhat.com>
2382
2383 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2384
f75835bd
VS
23852013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Use TSC as a possible time source on i386-ieee1275.
2388
2cd5ce6c
VS
23892013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2392 Init err.
2393
c9625630
VS
23942013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * util/grub-setup.c (setup): Handle some corner cases.
2397
be008941
VS
23982013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2401
1a78d573
VS
24022013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/commands/verify.c: Save verified file to avoid it being
2405 tampered with after verification was done.
2406
db8ff59f
VS
24072013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2410 reported width by one to compensate for curesor algorithm problem.
2411
91bf46b1
VS
24122013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Fix screen corruption in menu entry editor and simplify the code
2415 flow while on it.
2416
a7b1d693
AB
24172013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2418
2419 * util/grub-mount.c (fuse_init): Return error if fuse_main
2420 failed.
2421
31df9ad8
FL
24222013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2423
2424 * include/grub/elf.h: Add missing ARM relocation codes and fix
2425 existing ones.
2426
07f392eb
VT
24272013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2428
2429 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2430
9efd73ec 24312013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
24322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2435 into account when calculating radius.
2436
24372013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2438
2439 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2440
4985ddaa
VT
24412013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2442
2443 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2444
8c3635ff
RS
24452013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2446
2447 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2448 missing closing bracket.
2449
74a35e69
RS
24502013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2451
2452 * INSTALL: Mention xorriso requirement.
2453
40f1c000
AB
24542013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2455
2456 * grub-core/commands/verify.c: Fix hash algorithms values for
2457 the first three hashes - they start with 1, not with 0.
2458
e75fdee4
VS
24592013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2462 Try terminating EFI services several times due to quirks in some
2463 implementations.
2464
33028f4c
CW
24652013-03-26 Colin Watson <cjwatson@ubuntu.com>
2466
2467 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2468 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2469 BankField extended opcodes.
2470 (get_sleep_type): Add minimal scope handling (just enough to
2471 handle setting the scope to the root path).
2472 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2473 * include/grub/acpi.h: Add enumeration values for Event, Device,
2474 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2475
33871a10
VT
24762013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2477
2478 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2479 memory leak.
2480
8990963a
VS
24812013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/disk/ahci.c: Give more time for AHCI request.
2484
daae8f9e
VS
24852013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2488 command.
2489
6a7fb94b
VS
24902013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 Replace the region at 0 from coreboot tables to available in BSD
2493 memory map.
2494
ff99babd
VS
24952013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2498 non-BIOS platforms.
2499
30d6b1b2
VS
25002013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2503 platforms.
2504
6ccd0b31
VS
25052013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2508 handling of multi-device filesystems.
2509
23c9cc04
VS
25102013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2513 platforms.
2514
ce50dbd7
VS
25152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Add new 'proc' filesystem framework and put luks_script into it.
2518
d975e8d5
VS
25192013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2522 and qemu.
2523
e73ba5e8
VS
25242013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2527
92750e4c
VS
25282013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Add ability to generate newc additions on runtime.
2531
0ec45a68
VS
25322013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2535 description.
2536
320abd43
VS
25372013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * po/POTFILES.in: Regenerate.
2540
d7a6506e
VS
25412013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/commands/verify.c (hashes): Add several hashes
2544 from the spec.
2545
8fe05def
VS
25462013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 Slight improve in USB-related boot-time checkpoints.
2549
524e2766
VS
25502013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/commands/boottime.c: Fix copyright header.
2553
cc19857a
VS
25542013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2557 coreboot tables content. Support for cbmemc.
2558
ef8810e9
VS
25592013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 Fix a conflict between ports structures with 2 controllers of
2562 same kind.
2563
e9dabdfa
VS
25642013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * include/grub/boottime.h: Add missing file.
2567
f6df57d2
VS
25682013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Initialize USB ports in parallel to speed-up boot.
2571
d745dda7
VS
25722013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 Fix USB devices not being detected when requested
2575 due to delayed attach.
2576
e5a2dd7b
VS
25772013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2578
e744219b
VS
2579 Implement boot time analysis framework.
2580
25812013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2584 descriptor to just receive it as argument rather than endpoint
2585 address.
2586
5dd6f587
VS
25872013-03-19 Aleš Nesrsta <starous@volny.cz>
2588
2589 Better estimate the maximum USB transfer size.
2590
2f1071d5
VS
25912013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Resend a packet if we got the wrong buffer in status.
2594
46ecfc49
VS
25952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2598 multiplication rather than division.
2599
ea811130
VS
26002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2603 than divisions.
2604
d2789cf0
VS
26052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2608 operations to have intended shifts and not divisions.
2609
a9c94590
VS
26102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2613 intended shifts rather than division.
2614
84cfe81b
VS
26152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2618 computation for some years before epoch. Avode confusing division
2619 while on it.
2620
21344ef6
VS
26212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/video/i386/pc/vbe.c
2624 (grub_video_vbe_print_adapter_specific_info): Replace division by
2625 shifts.
2626
3f2b4d1a
VS
26272013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Adjust types in gdb module to have intended unsigned shifts rather than
2630 signed divisions.
2631
3dac5878
VS
26322013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2635 maximum size is 4G - 1 on hfs
2636
5341c0fb
VS
26372013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2640
fc3ff2a2
VS
26412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2644 function.
2645
81455e8e
AB
26462013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2647
2648 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2649 causing gcc error with gcc 4.7.1.
2650
efd4f117
NZ
26512013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2652
2653 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2654 dereference null pointer. While the code is technically correct, gcc
2655 may eliminate a null check if pointer is already dereferenced.
2656
e11645f4
NZ
26572013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2658
2659 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2660 OOM check.
2661 * grub-core/normal/term.c (read_terminal_list): Likewise.
2662
77468368
VS
26632013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Lift up core size limits on some platforms. Fix potential memory
2666 corruption with big core on small memory systems. Document remaining
2667 limits.
2668
f6b58fe5
VS
26692013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2672 gotoxy to 0,0.
2673
19ce697d
VS
26742013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Remove all trampoline support. Add -Wtrampolines when
2677 present. Remove symbols used for trampolines to make
2678 link fail if trampolines are present.
2679
73b5d90f
VS
26802013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2683 append out of its parent.
2684
cb758e96
VS
26852013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2688 parent.
2689
3188131f
VS
26902013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2693 all vars to a macro. All users updated.
2694
e42b2514
VS
26952013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2698 i386-ieee1275.
2699
83e1a1a1
VS
27002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2703
1d5a880f
VS
27042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2707
6e4146c4
VS
27082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 Move to more hookless approach in IEEE1275 devices handling.
2711
99fcda8a
VS
27122013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/kern/term.c (grub_term_normal_color),
2715 (grub_term_highlight_color): Add back lost defaults.
2716
73bf57e2
VS
27172013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Make elfload not use hooks. Opt for flags and iterators instead.
2720
7f8c105f
VS
27212013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2724 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2725
396d4091
VS
27262013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2729
27302013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2733 hook pass-through parameter. All users updated and unnested.
2734
74a27421
VS
27352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2738 out of its parent.
2739
b46d4213
VS
27402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/fs/hfs.c: Remove nested functions.
2743
e114c3cc
VS
27442013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2747 the context through.
2748 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2749
f9b7d780
VS
27502013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * util/grub-editenv.c (list_variables): Move print_var out of its
2753 parent.
2754
ca9c2608
VS
27552013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2758 function.
2759
5d983f5f
VS
27602013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/gentrigtables.c: Make tables const.
2763
3056d3e7
VS
27642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Remove nested functions from videoinfo iterators.
2767
e2303774
VS
27682013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2771 for 64-bit platforms.
2772
f42e3a2f
VS
27732013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2776 a FOR_CHILDREN macro.
2777
be174e5e
VS
27782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2781 platform from firmware path.
2782
0789b672
VS
27832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 Enable linux16 on non-BIOS systems for i.a. memtest.
2786
2787 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2788 correctly.
2789 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2790
005a9c32
VS
27912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2794 Fix end of table condition.
2795
ff2b3cd9
VS
27962013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2799 out of its parent.
2800
4fc40ff8
VS
28012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * grub-core/fs/jfs.c: Remove nested functions.
2804
be42d97a
VS
28052013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/fs/minix.c: Remove nested functions.
2808
99373ce4
VS
28092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/fs/iso9660.c: Remove nested functions.
2812
5aec2afe
VS
28132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2816 of parent function.
2817
6c69e691
VS
28182013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * util/grub-fstest.c: Remove nested functions.
2821
43c91882
VS
28222013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/loader/machoXX.c: Remove nested functions.
2825
4eb8b756
CW
28262013-02-27 Colin Watson <cjwatson@ubuntu.com>
2827
2828 Remove nested functions from disk and file read hooks.
2829
2830 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2831 (struct grub_disk): Add read_hook_data member.
2832 * include/grub/file.h (struct grub_file): Likewise.
2833 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2834 argument.
2835
2836 Update all callers.
2837
df6da5a5
AB
28382012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2839
2840 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2841 Fix off by one error in enumerating extended partitions.
2842
21aecde5
AB
28432013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2844
2845 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2846 memory leak if device name is not found.
2847
f1a19118
AB
28482013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2849
2850 * grub-core/normal/menu_entry.c (update_screen): remove
2851 unused variable `off' which caused scroll down arrow to be always shown.
2852
958bfd20
AB
28532013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2854
2855 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2856 access to unallocated memory.
2857
b7b78edb
AB
28582013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2859
2860 * Makefile.util.def: Add partmap/msdos.c to common library.
2861 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2862 * grub-core/disk/ldm.c: Check for existence of
2863 GRUB_PC_PARTITION_TYPE_LDM.
2864
28d468d6
VS
28652013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2868 sizes and display sector size.
2869
d55ffb02
VS
28702013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 Implement new command cmosdump.
2873
b5ea6ce0
VS
28742013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2875
2876 Support Openfirmware disks with non-512B sectors.
2877
2878 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2879 size of the disk.
2880 * (grub_ofdisk_get_block_size): New function.
2881 * (grub_ofdisk_prepare): Use the correct block size.
2882 * (grub_ofdisk_read): Likewise.
2883 * (grub_ofdisk_write): Likewise.
2884 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2885 New proto.
2886
cc0e476f
VS
28872013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2890
c5dbdc33
VS
28912013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2894 on first error.
2895
3f078c0f
VS
28962013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2899 freeing it.
2900
66a93674
VS
29012013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 Implement USBDebug (full USB stack variant).
2904
c9f0c134
VS
29052013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2908 unless they have unexpected values.
2909
cfe1288b
VS
29102013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2913 grub_print_error.
2914
e42b9969
VS
29152013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2918 zero-out of port structure.
2919
cf94fd62
VS
29202013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2923 of extended attributes.
2924
f81ef4b5
AB
29252013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2926
2927 * util/grub-install.in: change misleading comment about
2928 device.map creation
2929
af18fdb4
VS
29302013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2933 when menu highlight color isn't set.
2934
08bcec50
M
29352013-01-27 C. Masloch <pushbx@38.de>
2936
2937 Improve FreeDOS direct loading support compatibility.
2938
2939 * include/grub/i386/relocator.h (grub_relocator16_state):
2940 New member ebp.
2941 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2942 variable.
2943 (grub_relocator16_boot): Handle %ebp.
2944 * grub-core/lib/i386/relocator16.S: Likewise.
2945 * grub-core/loader/i386/pc/freedos.c:
2946 Load BPB to pass kernel which partition to load from.
2947 Check that kernel file is not too large.
2948 Set register dl to BIOS unit number as well.
2949
7782b8a6
CW
29502013-01-22 Colin Watson <cjwatson@ubuntu.com>
2951
2952 * util/grub-reboot.in (usage): Document the need for
2953 GRUB_DEFAULT=saved.
2954 * util/grub-set-default.in (usage): Likewise.
2955 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2956
e661c180
VS
29572013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2960 than defining WORDS_BIGENDIAN manually.
2961
1c22ca9a
VS
29622013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2965 invariants.
2966
d44892fe
CW
29672013-01-21 Colin Watson <cjwatson@ubuntu.com>
2968
2969 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2970 nested.
2971 (blit_comb: add_device_width): Likewise.
2972
5fdbaed1
CW
29732013-01-21 Colin Watson <cjwatson@ubuntu.com>
2974
2975 Remove nested functions from USB iterators.
2976
2977 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2978 (grub_usb_controller_iterate_hook_t): Likewise.
2979 (grub_usb_iterate): Add hook_data argument.
2980 (grub_usb_controller_iterate): Likewise.
2981 (struct grub_usb_controller_dev.iterate): Likewise.
2982
2983 Update all implementations and callers.
2984
4250985a
VS
29852013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2988 margin when not needed.
2989
7d8848f3
VS
29902013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2991
bc136973 2992 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2993
29942013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2995
bc136973
VS
2996 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2997 asterisk.
7d8848f3 2998
ed12a003
CW
29992013-01-21 Colin Watson <cjwatson@ubuntu.com>
3000
3001 Fix powerpc and sparc64 build failures caused by un-nesting memory
3002 map iterators.
3003
6a0db449
CW
30042013-01-21 Colin Watson <cjwatson@ubuntu.com>
3005
3006 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3007 parameter declarations.
3008
ccd86b21
VS
30092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3012
822b726b
VS
30132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Improve spkmomdem reliability by adding a separator between bytes.
3016
115c2cc1
CW
30172013-01-21 Colin Watson <cjwatson@ubuntu.com>
3018
3019 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3020 an Acer registration utility with several sightings in the wild.
3021 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3022
fc524edf
CW
30232013-01-21 Colin Watson <cjwatson@ubuntu.com>
3024
3025 Remove nested functions from filesystem directory iterators.
3026
3027 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3028 (struct grub_fs.dir): Add hook_data argument.
3029
3030 Update all implementations and callers.
3031
53d3e4e3
CW
30322013-01-21 Colin Watson <cjwatson@ubuntu.com>
3033
3034 * docs/grub.texi (Multi-boot manual config): Fix typo for
3035 "recommended".
3036
c821711f
LL
30372013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3038
3039 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3040 until after its use in generate_image.
3041
6a0debbd
CW
30422013-01-20 Colin Watson <cjwatson@ubuntu.com>
3043
3044 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3045 initrd size to addr_min, since the initrd will be allocated after
3046 this address.
3047
f41e08db
AB
30482013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3049
3050 * conf/Makefile.common: Fix autogen rules to pass definition
3051 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3052
77529e0f
LL
30532013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3054
3055 * include/grub/elf.h: Update ARM definitions based on binutils.
3056
b879aa7b
VS
30572013-01-20 Aleš Nesrsta <starous@volny.cz>
3058
3059 Split long USB transfers into short ones.
3060
8eb8284d
AB
30612013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3062
3063 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3064 is interrupted by ESC.
3065
08dad2dc
VS
30662013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * util/grub-script-check.c (main): Uniform the error message.
3069
6c724b85
CW
30702013-01-20 Colin Watson <cjwatson@ubuntu.com>
3071
3072 Remove nested functions from ELF iterators.
3073
25239370
CW
30742013-01-20 Colin Watson <cjwatson@ubuntu.com>
3075
3076 Remove nested functions from device iterators.
3077
3078 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3079 (grub_arc_iterate_devs): Add hook_data argument.
3080 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3081 (struct grub_ata_dev.iterate): Add hook_data argument.
3082 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3083 (grub_device_iterate): Add hook_data argument.
3084 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3085 (struct grub_disk_dev.iterate): Add hook_data argument.
3086 (grub_disk_dev_iterate): Likewise.
3087 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3088 Likewise.
3089 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3090 Likewise.
3091 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3092 type.
3093 (struct grub_partition_map.iterate): Add hook_data argument.
3094 (grub_partition_iterate): Likewise.
3095 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3096 (struct grub_scsi_dev.iterate): Add hook_data argument.
3097
3098 Update all callers.
3099
6c0314d6
CW
31002013-01-20 Colin Watson <cjwatson@ubuntu.com>
3101
3102 Fix typos for "developer" and "development".
3103
600dc5f1
VS
31042013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Add license header to spkmodem-recv.c.
3107
17334a6b
VS
31082013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Rewrite spkmodem to use PIT for timing. Double the speed.
3111
7d462559
VS
31122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Add new command pcidump.
3115
b78d6c32
VS
31162013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 New terminal outputs using serial: morse and spkmodem.
3119
34f71cb8
VS
31202013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 Improve bidi handling in entry editor.
3123
4542e71b
VS
31242013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3127 argument to prevent name collision.
3128
09fd6d82
CW
31292013-01-15 Colin Watson <cjwatson@ubuntu.com>
3130
3131 Remove nested functions from script reading and parsing.
3132
3133 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3134 getline_data argument, passed to getline.
3135 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3136 getline_data argument, passed to grub_parser_split_cmdline.
3137 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3138 lexerstate->getline_data to lexerstate->getline.
3139 (grub_script_lexer_init): Add getline_data argument, saved in
3140 lexerstate->getline_data.
3141 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3142 argument, passed to grub_script_parse.
3143 * grub-core/script/script.c (grub_script_parse): Add getline_data
3144 argument, passed to grub_script_lexer_init.
3145 * include/grub/parser.h (grub_parser_split_cmdline): Update
3146 prototype. Update all callers to pass appropriate getline data.
3147 (struct grub_parser.parse_line): Likewise.
3148 (grub_rescue_parse_line): Likewise.
3149 * include/grub/reader.h (grub_reader_getline_t): Add void *
3150 argument.
3151 * include/grub/script_sh.h (struct grub_lexer_param): Add
3152 getline_data member.
3153 (grub_script_parse): Update prototype. Update all callers to pass
3154 appropriate getline data.
3155 (grub_script_lexer_init): Likewise.
3156 (grub_normal_parse_line): Likewise.
3157
3158 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3159 data argument.
3160 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3161 static instead of nested. Rename to ...
3162 (grub_parser_execute_getline): ... this.
3163 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3164 data argument.
3165 * grub-core/normal/main.c (read_config_file: getline): Make static
3166 instead of nested. Rename to ...
3167 (read_config_file_getline): ... this.
3168 (grub_normal_read_line): Add unused data argument.
3169 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3170 getline): Make static instead of nested. Rename to ...
3171 (grub_script_execute_sourcecode_getline): ... this.
3172 * util/grub-script-check.c (main: get_config_line): Make static
3173 instead of nested.
3174
d0d4b8a0
CW
31752013-01-15 Colin Watson <cjwatson@ubuntu.com>
3176
3177 Remove nested functions from memory map iterators.
3178
3179 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3180 argument, passed to hook.
3181 * grub-core/kern/i386/coreboot/mmap.c
3182 (grub_linuxbios_table_iterate): Likewise.
3183 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3184 instead of nested.
3185 (grub_machine_mmap_iterate): Add hook_data argument.
3186 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3187 Add hook_data argument, passed to hook.
3188 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3189 Likewise.
3190 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3191 Likewise.
3192 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3193 Likewise.
3194 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3195 Likewise.
3196 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3197 Likewise.
3198 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3199 Likewise.
3200 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3201 (grub_machine_mmap_iterate): Likewise.
3202 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3203 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3204 prototype.
3205 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3206 Remove NESTED_FUNC_ATTR from here and from all users.
3207 (grub_mmap_iterate): Update prototype.
3208 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3209 pass appropriate hook data.
3210 (grub_machine_mmap_iterate): Likewise.
3211
3212 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3213 static instead of nested.
3214 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3215 Rename to ...
3216 (lsmmap_hook): ... this.
3217 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3218 Likewise.
3219 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3220 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3221 heap_init): Likewise.
3222 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3223 Rename to ...
3224 (mmap_iterate_hook): ... this.
3225 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3226 Likewise.
3227 * grub-core/lib/ieee1275/relocator.c
3228 (grub_relocator_firmware_get_max_events: count): Likewise.
3229 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3230 to ...
3231 (grub_relocator_firmware_fill_events_iter): ... this.
3232 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3233 hook): Likewise. Rename to ...
3234 (grub_relocator_alloc_chunk_align_iter): ... this.
3235 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3236 Rename to ...
3237 (generate_e820_mmap_iter): ... this.
3238 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3239 Rename to ...
3240 (count_hook): ... this.
3241 (grub_linux_boot: hook): Likewise. Rename to ...
3242 (grub_linux_boot_mmap_find): ... this.
3243 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3244 (grub_linux_boot_mmap_fill): ... this.
3245 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3246 hook): Likewise. Rename to ...
3247 (grub_fill_multiboot_mmap_iter): ... this.
3248 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3249 hook): Likewise. Rename to ...
3250 (count_hook): ... this.
3251 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3252 hook): Likewise. Rename to ...
3253 (grub_fill_multiboot_mmap_iter): ... this.
3254 * grub-core/loader/powerpc/ieee1275/linux.c
3255 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3256 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3257 Likewise. Rename to ...
3258 (alloc_phys_choose): ... this.
3259 (determine_phys_base: get_physbase): Likewise.
3260 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3261 find_hook): Likewise.
3262 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3263 (malloc_hook: count_hook): Likewise.
3264 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3265 Likewise. Rename to ...
3266 (lower_hook): ... this.
3267 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3268 (upper_hook): ... this.
3269 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3270 (post64_hook): ... this.
3271 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3272 Likewise. Rename to ...
3273 (lower_hook): ... this.
3274 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3275 (upper_hook): ... this.
3276 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3277 (grub_mmap_iterate: fill_hook): Likewise.
3278 (fill_mask): Pass addr and mask within a single struct.
3279 (grub_cmd_badram: hook): Make static instead of nested. Rename
3280 to ...
3281 (badram_iter): ... this.
3282 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3283 (cutmem_iter): ... this.
3284
22099030
VS
32852013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3288 delimit path in strings using quotes.
3289 * util/getroot.c (grub_guess_root_devices): Likewise.
3290 (grub_make_system_path_relative_to_its_root): Likewise.
3291 * util/grub-probe.c (probe): Likewise.
3292 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3293 (xrealpath): Likewise.
3294
4a9950ec
VS
32952013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 Fix compilation with older compilers.
3298
3299 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3300 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3301 declarations.
3302 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3303 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3304 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3305 identifier with b.
3306 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3307 * include/grub/crypto.h: Add type defines.
3308 * util/import_gcrypth.sed: Remove duplicate type defines.
3309
adcc6020
VS
33102013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 New command list_trusted.
3313
3314 * grub-core/commands/verify.c (grub_cmd_list): New function.
3315
a4528937
CW
33162013-01-13 Colin Watson <cjwatson@ubuntu.com>
3317
3318 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3319 info message.
3320
ca3a7446
CW
33212013-01-13 Colin Watson <cjwatson@ubuntu.com>
3322
3323 Remove nested functions from PCI iterators.
3324
3325 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3326 passed to hook. Update all callers to pass appropriate hook data.
3327 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3328 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3329 Remove NESTED_FUNC_ATTR from here and from all users.
3330 (grub_pci_iterate): Update prototype.
3331 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3332 instead of nested. Rename to ...
3333 (grub_cs5536_find_iter): ... this.
3334 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3335 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3336 Likewise.
3337 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3338 Likewise.
3339 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3340 Likewise.
3341 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3342 Likewise.
3343 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3344 * grub-core/video/radeon_fuloong2e.c
3345 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3346 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3347 find_card): Likewise.
3348 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3349 Likewise.
3350
f8e98fee
VS
33512013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/commands/verify.c: Mark messages for translating.
3354
055b36b6
VS
33552013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3358 fatal.
3359
f7ff879b
VS
33602013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3363 fatal.
3364
33652013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3366
3367 * autogen.sh: Do not try to delete nonexistant files.
3368 * util/import_gcrypth.sed: Add some missing header removals.
3369
01323d49
CW
33702013-01-12 Colin Watson <cjwatson@ubuntu.com>
3371
3372 Clean up dangling references to grub-setup.
3373 Fixes Ubuntu bug #1082045.
3374
3375 * docs/grub.texi (Images): Refer generally to grub-install rather
3376 than directly to grub-setup.
3377 (Installing GRUB using grub-install): Remove direct reference to
3378 grub-setup.
3379 (Device map) Likewise.
3380 (Invoking grub-install): Likewise.
3381 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3382 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3383 * util/grub-install.in (usage): Likewise.
3384
3385 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3386 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3387 grub-setup.
3388 * configure.ac: Remove grub_setup output variable.
3389
3390 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3391 to grub-bios-setup.
3392 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3393 grub-setup to grub-sparc64-setup.
3394
5e3b8dcb
VS
33952013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 Import gcrypt public-key cryptography and implement signature checking.
3398
535714bd
VS
33992013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/ntfs.c: Ue more appropriate types.
3402 * grub-core/fs/ntfscomp.c: Likewise.
3403 * include/grub/ntfs.h: Likewise.
3404
3e4f3566
VS
34052013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 Support Apple FAT binaries on non-Apple platforms.
3408
3409 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3410 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3411 Likewise.
3412 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3413 Apple FAT binaries.
3414
4dedb13f
VS
34152013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3418 sector devices.
3419
f8861eaf
CW
34202013-01-07 Colin Watson <cjwatson@ubuntu.com>
3421
3422 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3423 explicitly zeroing elements.
3424 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3425 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3426 of elements in a structure already allocated using grub_zalloc.
3427 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3428
86065b0a
CW
34292013-01-07 Colin Watson <cjwatson@ubuntu.com>
3430
3431 * docs/grub.texi (grub_cpu): New subsection.
3432 (grub_platform): Likewise.
3433
c6f1e92f
VS
34342013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3437
f797ec85
VS
34382013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3441 divisions.
3442
033d0b4b
VS
34432013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3446 * grub-core/fs/ntfscomp.c: Likewise.
3447 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3448 (grub_ntfs_comp): Likewise.
3449
21d1b9a0
VS
34502013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3453 Rename to ...
3454 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3455 of groups_per_block. All users updated.
3456
10ca8645
VS
34572013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3460 grub_error properly.
3461 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3462 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3463
a4c3ed4c
VS
34642013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3467 always in /boot/zfs.
3468 Reported by: Yuta Satoh.
3469
0b716507
YS
34702013-01-03 Yuta Satoh <nigoro>
3471
3472 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3473 ${grub_probe}
3474
00c05e22
VS
34752013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * configure.ac: Extend -Wno-trampolines to host.
3478
dadddb76
VS
34792013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3482 entry->len = 0.
3483
54ce53ca
CW
34842013-01-03 Colin Watson <cjwatson@ubuntu.com>
3485
3486 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3487 (Invoking grub-script-check): Likewise.
3488
8912efca
CW
34892013-01-03 Colin Watson <cjwatson@ubuntu.com>
3490
3491 * docs/grub.texi (Invoking grub-mount): New section.
3492 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3493
c3fc8394
CW
34942013-01-02 Colin Watson <cjwatson@ubuntu.com>
3495
3496 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3497 test failures, so that a failing unit test correctly causes 'make
3498 check' to fail.
3499
45d26abb
CW
35002013-01-02 Colin Watson <cjwatson@ubuntu.com>
3501
3502 Fix failing printf test.
3503
3504 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3505 '$' in the correct order when collecting type information.
3506
971dd2c6
CW
35072013-01-02 Colin Watson <cjwatson@ubuntu.com>
3508
3509 * docs/grub.texi (configfile): Explain environment variable
3510 handling.
3511 (source): New section.
3512 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3513
5c67ea6c
CW
35142012-12-31 Colin Watson <cjwatson@ubuntu.com>
3515
3516 Remove several trivially-unnecessary uses of nested functions.
3517
3518 * grub-core/commands/i386/pc/sendkey.c
3519 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3520 instead of nested.
3521 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3522 Rename to ...
3523 (legacy_file_getline): ... this.
3524 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3525 Likewise.
3526 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3527 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3528 to ...
3529 (probe_dummy_iter): ... this.
3530 * grub-core/kern/i386/coreboot/mmap.c
3531 (grub_linuxbios_table_iterate: check_signature): Likewise.
3532 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3533 check_varstate): Likewise. Mark inline.
3534 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3535 an additional parameter.
3536 (find_long: fnd_long): Likewise. Pass two additional parameters.
3537 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3538 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3539 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3540 Likewise. Rename to ...
3541 (grub_cmos_find_port_iter): ... this.
3542 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3543 Rename to ...
3544 (find_rtc_iter): ... this.
3545
3546 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3547 function directly into the function body, since it is only called
3548 once.
3549
33a68ac6
CW
35502012-12-30 Colin Watson <cjwatson@ubuntu.com>
3551
3552 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3553 __attribute__ ((unused)).
3554 * grub-core/video/bochs.c (find_card): Likewise.
3555 * grub-core/video/cirrus.c (find_card): Likewise.
3556 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3557 * grub-core/video/sis315pro.c (find_card): Likewise.
3558 * grub-core/video/sm712.c (find_card): Likewise.
3559
608b647a
CW
35602012-12-28 Colin Watson <cjwatson@ubuntu.com>
3561
3562 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3563 Fixes Savannah bug #37821.
3564
fd49ceb3
CW
35652012-12-28 Colin Watson <cjwatson@ubuntu.com>
3566
3567 Apply program name transformations at build-time rather than at
3568 run-time. Fixes Debian bug #696465.
3569
3570 * acinclude.m4 (grub_TRANSFORM): New macro.
3571 * configure.ac: Create output variables with transformed names for
3572 most programs.
3573 * util/bash-completion.d/grub-completion.bash.in: Use
3574 pre-transformed variables for program names.
3575 * util/grub-install.in: Likewise.
3576 * util/grub-kbdcomp.in: Likewise.
3577 * util/grub-mkconfig.in: Likewise.
3578 * util/grub-mkconfig_lib.in: Likewise.
3579 * util/grub-mknetdir.in: Likewise.
3580 * util/grub-mkrescue.in: Likewise.
3581 * util/grub-mkstandalone.in: Likewise.
3582 * util/grub-reboot.in: Likewise.
3583 * util/grub-set-default.in: Likewise.
3584 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3585 * tests/util/grub-shell-tester.in: Remove unused assignment.
3586 * tests/util/grub-shell.in: Likewise.
3587 * util/grub.d/00_header.in: Likewise.
3588
7024b3c0
CW
35892012-12-28 Colin Watson <cjwatson@ubuntu.com>
3590
3591 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3592
3593 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3594 HAVE_RAW_DECL_GETS.
3595 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3596
e3501b13
VS
35972012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3600 Reported by: Eriks Latosheks <foresterlv>.
3601
b40c88a9
VS
36022012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * docs/grub.texi (Network): Update instructions on generating netboot
3605 image.
3606
ce96d01c
VS
36072012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3610 around device name if necessarry.
3611
0f596201
PFS
36122012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3613
3614 * util/grub-install.in: Follow the symbolic link parameter added
3615 to the file command.
3616
600d5bdb
AB
36172012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3618
3619 * util/grub-install.in: Remove stale TODO.
3620
64ebd2f4
PFS
36212012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3622
3623 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3624 dynamic allocation for the bootpath buffer.
3625
74b2fe3e
DTB
36262012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3627
3628 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3629 window too small.
3630
969b804f
VS
36312012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3634 argument rather than font name. All users updated.
3635 (grub_gfxterm_set_window): Likewise.
3636
b9f5ebd6
VT
36372012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3638
3639 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3640 from working.
3641
258f43b7
VS
36422012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * util/getroot.c (convert_system_partition_to_system_disk): Support
3645 nbd disks.
3646
cc1ce5f9
VS
36472012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3650 infinite loop on corrupted FS.
3651
e77a16ca
VS
36522012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 Fix big-endian mtime.
3655
3656 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3657 together sec and usec.
3658 (grub_ufs_dir): Use correct byteswapping for UFS time.
3659
d9c48c7b
VS
36602012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Support big-endian UFS1.
3663
3664 * Makefile.util.def (libgrubmods): Add ufs_be.c
3665 * grub-core/Makefile.core.def (ufs1_be): New module.
3666 * grub-core/fs/ufs_be.c: New file.
3667 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3668 the file.
3669
2f9f40ba
LL
36702012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3671
3672 * include/grub/types.h: Fix functionality unaffecting typo in
3673 GRUB_TARGET_WORDSIZE conditional macro.
3674
48ff0889
PFS
36752012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3676
3677 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3678
03711240
GS
36792012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3680
3681 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3682 that /netbsd appears first (when it exists).
3683
a31b11bd
CJ
36842012-10-12 Christoph Junghans <ottxor@gentoo.org>
3685
3686 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3687 Fixes Savannah bug #37558.
3688
e8a5d5d4
CW
36892012-10-12 Colin Watson <cjwatson@ubuntu.com>
3690
3691 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3692 description of extract_entries_configfile.
3693
36942012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3695
3696 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3697 preferred_address.
3698 (grub_cmd_linux): Likewise.
3699 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3700 preferred_lifetime. Update all users.
3701
288c757d
CW
37022012-09-26 Colin Watson <cjwatson@ubuntu.com>
3703
3704 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3705 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3706
0d35da3f
CW
37072012-09-26 Colin Watson <cjwatson@ubuntu.com>
3708
3709 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3710 errors from grub-probe to /dev/null, not stdout.
3711
b78c3127
VS
37122012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3715 sector 1.
3716
473959f0
CW
37172012-09-24 Colin Watson <cjwatson@ubuntu.com>
3718
3719 * util/grub-install.in: Make the error message if $source_dir
3720 doesn't exist more useful.
3721
794c8c33
CW
37222012-09-22 Colin Watson <cjwatson@ubuntu.com>
3723
3724 Fix grub-emu build on FreeBSD.
3725
3726 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3727 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3728 headers on Linux.
3729 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3730 implementation is currently Linux-specific.
3731 * util/getroot.c (exec_pipe): Define only on Linux or when either
3732 libzfs or libnvpair is unavailable.
3733 (find_root_devices_from_poolname): Remove unused path variable.
3734
86d08fdb
CW
37352012-09-19 Colin Watson <cjwatson@ubuntu.com>
3736
3737 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3738 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3739 should fit before end == 63.
3740
735abf54
CW
37412012-09-19 Colin Watson <cjwatson@ubuntu.com>
3742
3743 * util/grub-setup.c (write_rootdev): Remove unused core_img
3744 parameter. Update all callers.
3745 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3746 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3747 GRUB_SETUP_BIOS.
3748
140acd3c
VS
37492012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3752 (grub_add_tab): New function.
3753 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3754 * util/grub.d/10_illumos.in: Likewise.
3755 * util/grub.d/10_kfreebsd.in: Likewise.
3756 * util/grub.d/10_linux.in: Likewise.
3757 * util/grub.d/10_netbsd.in: Likewise.
3758 * util/grub.d/10_windows.in: Likewise.
3759 * util/grub.d/10_xnu.in: Likewise.
3760 * util/grub.d/20_linux_xen.in: Likewise.
3761 * util/grub.d/30_os-prober.in: Likewise.
3762
7ddffdad
VS
37632012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3766 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3767 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3768 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3769 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3770 ieee1275-nocursor.
3771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3772 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3773
4e092454
VS
37742012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3777 le-conversion.
3778 Reported by: BURETTE, Bernard.
3779
735abf54 37802012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3781
3782 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3783 from comment.
3784
dfd39dbd
CW
37852012-09-14 Colin Watson <cjwatson@ubuntu.com>
3786
3787 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3788 IEEE1275 machines. Fixes powerpc-emu compilation.
3789 * include/grub/terminfo.h: Likewise.
3790
3bfa763c
VS
37912012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3794 a const pointer.
3795 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3796 const pointer.
3797 (efiemu_set_variable): Make vendor_guid a const pointer.
3798
250e475b
VS
37992012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Don't require grub-mkconfig_lib to generate manpages for programs.
3802
3803 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3804 dependencies, don't add grub-mkconfig_lib.
3805 (program): Pass empty adddeps.
3806 (script): Pass grub-mkconfig_lib as adddeps.
3807
592fd0e4
VS
38082012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3811 * util/getroot.c (grub_find_device): Likewise.
3812 (get_mdadm_uuid): Likewise.
3813 (grub_util_is_imsm): Likewise.
3814 (grub_util_pull_device): Likewise.
3815 * util/grub-probe.c (probe): Likewise.
3816
801a3027
BG
38172012-09-10 Benoit Gschwind <gschwind>
3818
3819 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3820 (devs): Add devpath_8.
3821
c5052c81
PJ
38222012-09-08 Peter Jones <pjones@redhat.com>
3823
3824 * grub-core/Makefile.core.def (efifwsetup): New module.
3825 * grub-core/commands/efi/efifwsetup.c: New file.
3826 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3827 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3828 New define.
3829 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3830
8e832f71
JS
38312012-09-05 Jiri Slaby <jslaby@suse.cz>
3832
3833 * configure.ac: Add SuSe path.
3834
f0f55752
CW
38352012-09-05 Colin Watson <cjwatson@ubuntu.com>
3836
3837 * NEWS: Fix typo.
3838
ecadc4c2
CW
38392012-09-05 Colin Watson <cjwatson@ubuntu.com>
3840
3841 * util/import_gcry.py: Sort cipher_files, to make build system
3842 generation more deterministic.
3843
64498f25
VS
38442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3847 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3848 (grub_set_datetime): Likewise.
3849
9cc836a2
VS
38502012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3853 warnings.
3854
bcfcea01
VS
38552012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3858
a4099485
VS
38592012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3862
265c162a
CW
38632012-09-04 Colin Watson <cjwatson@ubuntu.com>
3864
3865 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3866 required for checkouts from bzr, but it may be useful for users or
3867 distributors wishing to update translations against a tarball
3868 distribution, and it can be helpful for the tarball to be a superset
3869 of what's in bzr.
3870
3d171e95
CW
38712012-09-04 Colin Watson <cjwatson@ubuntu.com>
3872
3873 * Makefile.am (EXTRA_DIST): Add
3874 grub-core/tests/boot/linux.init-mips.S,
3875 grub-core/tests/boot/linux.init-ppc.S, and
3876 grub-core/tests/boot/linux-ppc.cfg.
3877
f2c2503e
CW
38782012-09-04 Colin Watson <cjwatson@ubuntu.com>
3879
3880 * grub-core/mmap/mips/loongson: Remove empty directory.
3881
38822012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3883
3884 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3885 gone.
3886
ab2163d5
CW
38872012-09-04 Colin Watson <cjwatson@ubuntu.com>
3888
3889 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3890 grub-sparc64-setup.
3891
ce938140
GS
38922012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3893
3894 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3895
529f58a5
GS
38962012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3897
3898 * po/POTFILES.in: Regenerated.
3899
16cf79e9
GS
39002012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3901
3902 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3903 (NetBSD): New subsection.
3904
39b27f1e 39052012-07-22 Ales Nesrsta <starous@volny.cz>
3906
3907 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3908 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3909
a885261b
VS
39102012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3913 * util/grub.d/10_hurd.in: Add missing quoting.
3914 * util/grub.d/10_illumos.in: Likewise.
3915 * util/grub.d/10_kfreebsd.in: Likewise.
3916 * util/grub.d/10_linux.in: Likewise.
3917 * util/grub.d/20_linux_xen.in: Likewise.
3918
7bd29c01
VS
39192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 New command `lsefi'.
3922
3923 * grub-core/Makefile.core.def (lsefi): New module.
3924 * grub-core/commands/efi/lsefi.c: New file.
3925 * include/grub/efi/api.h: Add more GUIDs.
3926
ac625d8f
VS
39272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3930 (grub_bsd_elf32_hook): Likewise.
3931 (grub_bsd_elf64_size_hook): Likewise.
3932 (grub_bsd_elf64_hook): Likewise.
3933 (grub_bsd_load_elf): Likewise.
3934
e73bb801
VS
39352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3938 if hash function is unavailable.
3939 (dec_stream_header): Likewise.
3940
e81db8b5
VS
39412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3944 filter state.
3945
d187a1c3
VS
39462012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 Fix coreboot compilation.
3949
3950 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3951 (grub_vga_text_init_real): ... this.
3952 (grub_vga_text_fini): Rename to ...
3953 (grub_vga_text_fini_real): ... this.
3954
91a05f64
VS
39552012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3958
6af96df7
VS
39592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/lib/legacy_parse.c: Support clear and testload.
3962
4d569e12
VS
39632012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3966
073b57bb
VS
39672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3970
a706f4cc
VS
39712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/net/tftp.c (ack): Fix endianness problem.
3974 (tftp_receive): Likewise.
3975 Reported by: Michael Davidsaver.
3976
e7850aa9
VS
39772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3980
39812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3984 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3985 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3986
35692881
VS
39872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3990 efi_mmap_size.
3991 Reported by: Stuart Hayes.
3992
c35fc5bd
VS
39932012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3996
3997 * grub-core/Makefile.core.def (mda_text): New module.
3998 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3999 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4000 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4001 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4002 here.
4003 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4004 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4005 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4006 here.
4007 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4008 to ..
4009 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4010 ... here
4011 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4012 here.
4013 * grub-core/term/i386/vga_common.c: Removed.
4014 * include/grub/i386/vga_common.h: Likewise.
4015 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4016 (grub_vga_cr_bw_read): Likewise.
4017 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4018 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4019 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4020 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4021 grub_vga_cr_read/grub_vga_cr_write.
4022 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4023
5f91f701
VS
40242012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * configure.ac: Bump version to 2.00.
4027 * grub-core/normal/main.c (features): Add feature_200_final.
4028
0c4f85f6
VS
40292012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
40302012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4031
4032 * NEWS: Fix unclarity and language mistakes.
4033
f923ad22
VS
40342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4037 additional size to 3 pages.
4038 Reported by: Stuart Hayes.
4039
d22029ba
VS
40402012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * NEWS: Add 2.00 entry.
4043
58eee08f
VS
40442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4047 put explicit "/" for empty path.
4048 (wildcard_expand): Improve dprintf.
4049
c59bdff7
VS
40502012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4053 it's equal to currnode. This can happen with "" symlink.
4054
5e6a440a
YB
40552012-06-27 Yves Blusseau <blusseau@zetam.org>
4056
4057 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4058 echo shell command by printf command.
4059
73a68bcb
VS
40602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4063 the value returned by firmware is the maximal position, not diumension.
4064 (grub_terminfo_output_state): Use a more sane fallback.
4065
392a603b
VS
40662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4069
42d0867f
VS
40702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4073 frequency to 150 MHz.
4074
489509f4
VS
40752012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Apple fixes.
4078
4079 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4080 __APPLE_
4081 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4082 definition.
4083 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4084
9f3fc883
VS
40852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Handle slash in HFS label.
4088
4089 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4090 (grub_hfs_dir): Tanslate slash.
4091 (grub_hfs_label): Don't translate slash.
4092
54853fd7
VS
40932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4096 network protocol listing since it introduces problematic dependency on
4097 net module.
4098
4dc02ddf
VS
40992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4102
c50c867d
VS
41032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Init video early on yeeloong to avoid being rebooted by watchdog.
4106
4107 * grub-core/Makefile.am (gensm712): New target.
4108 (sm712_start.S): Likewise.
4109 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4110 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4111 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4112 description.
4113 * include/grub/vga.h: Move registry definitions to...
4114 * include/grub/vgaregs.h: ... here.
4115
5f92c8a1
VS
41162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4119 signedness.
4120
e9e6f111
VS
41212012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4124 platforms with firmware disk drivers in the core.
4125
754ad9eb
VS
41262012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4129 informative verbose message.
4130 (read_lv): Handle 64-bit segment size.
4131
315654c2
VS
41322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4135
fb022c79
VS
41362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4139 character but still remove trainling spaces.
4140 (grub_fat_label): Ignore archive flag.
4141
8645f72c
VS
41422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4145 cast between linux_kernel_header and linux_kernel_params.
4146
36498496
VS
41472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4150 type for size.
4151 (grub_raid6_recover_func_t): Likewise.
4152 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4153 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4154
0b5ea6b8
VS
41552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4158
650cfcfe
GS
41592012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4160
4161 Fix overflow.
4162
4163 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4164 [__NetBSD__]: Add explicit cast before bitshift.
4165
8a4d6a44
VS
41662012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * configure.ac: Bump to 2.00~rc1.
4169
2fb97ed3
VS
41702012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4173 half of $a0.
4174
1fa097dc
VS
41752012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
41762012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4177
4178 * docs/grub.texi: Fix search syntax.
4179 (Multi-boot manual config): Put msdos rather than GPT example.
4180 Grammar corrections.
4181
c890ba78
VS
41822012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4185
0f92dca7
VS
41862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4189
3988c4a0
VS
41902012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4193 message on double free. Put the value of magic in case of mismatch.
4194
9e86d4c5
VS
41952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 Speed-up video on yeeloong.
4198
4199 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4200 add cached_ptr.
4201 (grub_video_sm712_video_fini): Unmap cached_ptr.
4202 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4203 (grub_video_sm712_set_active_render_target): Removed.
4204 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4205 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4206 sync caches.
4207
ed24c312
VS
42082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 Avoid flushing the same line multiple times on loongson.
4211
4212 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4213 Step in 32 bytes and not 1 byte.
4214 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4215 Likewise.
4216
d1718e7d
VS
42172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4220 subvolumes.
4221
982f1909
VS
42222012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 Implement flow control for http.
4225
4226 * grub-core/net/http.c (parse_line): Handle response 206.
4227 (http_receive): Stall if too many packets are in the queue.
4228 (http_establish): Fix range header.
4229 (http_seek): Fix double free.
4230 (http_close): Likewise.
4231 (http_packets_pulled): New function.
4232 (grub_http_protocol): Set http_seek
4233 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4234 (ack_real): Set window depending on i_stall.
4235 (grub_net_send_tcp_packet): Likewise.
4236 (grub_net_tcp_stall): New function.
4237 (grub_net_tcp_unstall): Likewise.
4238 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4239 (grub_net_tcp_unstall): Likewise.
4240
bd407d6e
VS
42412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4244
c7564b8e
VS
42452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4248
a3706162
VS
42492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * tests/util/grub-shell.in: Fix a typo.
4252
b27069e0
VS
42532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 Implement flow control for tftp.
4256
4257 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4258 packets but stop only if stop condition is satisfied.
4259 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4260 `stall' instead of `eof' as stop condition.
4261 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4262 (http_err): Likewise.
4263 * grub-core/net/tftp.c (ack): Replace the first argument with data
4264 instead of socket.
4265 (tftp_receive): Stall if too many packets are in wait queue.
4266 (tftp_packets_pulled): New function.
4267 (grub_tftp_protocol): Set packets_pulled.
4268 * include/grub/net.h (grub_net_packets): New field count.
4269 (grub_net_put_packet): Increment count.
4270 (grub_net_remove_packet): Likewise.
4271 (grub_net_app_protocol): New field `packets_pulled'.
4272 (grub_net): New field `stall'.
4273
6b9cfac6
VS
42742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4277 sync part to handle them.
4278
f35abd81
VS
42792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4282 * grub-core/net/drivers/ieee1275/ofnet.c
4283 (grub_ieee1275_net_config_real): Likewise.
4284
0e7ec820
VS
42852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4288 the direct route for server/gateway.
4289
9d611a31
VS
42902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4293 IP address to server name since we may not hame the DNS.
4294
418f45ab
VS
42952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4298 freeing random buffer on failure.
4299 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4300
44a0efc1
VS
43012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4304
531e2241
VS
43052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4308 reserved bytes.
4309 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4310 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4311 Handle malloc error correctly.
4312
cde393c9
VS
43132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4316 blocks.
4317
538478d0
VS
43182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4321 increment.
4322
9b55efe0
VS
43232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4326 none is explicitly specified.
4327
9eb832c3
VS
43282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4331 while reallocating.
4332
d6b7c7c9
VS
43332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 Respect netmask from bootp/dhcp.
4336
4337 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4338 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4339 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4340 into ...
4341 (grub_net_add_ipv4_local): ... this.
4342 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4343 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4344 (grub_net_add_ipv4_local): New proto.
4345
67caf9eb
VS
43462012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4349 determining EFI memory map size.
4350
43657558
VS
43512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4354
eb6d0dd3
VS
43552012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4358 when looking for partition separator.
4359
31230544
VS
43602012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4363 Escape commas.
4364
918a2517
VS
43652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Restructure FAT driver to avoid hook in label reading as it hits a
4368 GCC bug.
4369
4370 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4371 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4372 (grub_fat_iterate_dir): Split into ...
4373 (grub_fat_iterate_init): ... this, ...
4374 (grub_fat_iterate_fini): ... this, ...
4375 (grub_fat_iterate_dir_next): ... and this. All users updated.
4376
9f1d654e
VS
43772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4380 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4381 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4382 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4383 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4384 New fields last_key and last_key_time.
4385 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4386 extended key-esc into extended key-extended key.
4387
52f0f643
VS
43882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Avoid unnecessary memcpy of whole video buffer.
4391
4392 * grub-core/video/fb/video_fb.c (dirty): New struct.
4393 (framebuffer): Add members current_dirty and previous_dirty.
4394 (dirty): New function.
4395 (grub_video_fb_fill_rect): Update dirty.
4396 (common_blitter): Likewise.
4397 (grub_video_fb_scroll): Likewise.
4398 (doublebuf_blit_update_screen): Copy only dirty part.
4399 (doublebuf_pageflipping_update_screen): Likewise.
4400 (grub_video_fb_doublebuf_blit_init): Init dirty.
4401 (doublebuf_pageflipping_init): Likewise.
4402 (grub_video_fb_setup): Likewise.
4403
e169a180
VS
44042012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4407 poll rate.
4408
48556879
VS
44092012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Fix wildcard regexp dot and other special characters handling.
4412 Reported by: Robert Mabee.
4413
4414 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4415 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4416 (split_path): Trigger expansion on '?'.
4417 (unescape): New function.
4418 (wildcard_expand): Unescape parts copied without globbing.
4419 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4420 (grub_script_arglist_to_argv): Don't unescape expansions.
4421
0494408e
VS
44222012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * include/grub/net.h (grub_net_card): New member txbufsize.
4425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4426 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4427 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4428 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4429 txbufsize.
4430 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4431 compatible property to check for macs. Set
4432 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4433 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4434 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4435 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4436 (send_card_buffer): Use txbuf.
4437 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4438 nested function out of the parent while on it.
4439
cc35fe8f
VS
44402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4443 presence check.
4444 (grub_ieee1275_net_config_real): Fix config pointer.
4445
970a0a09
VS
44462012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4449 filename parsing to non-block devices.
4450
3e19bf87
VS
44512012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4454
c62d1a0c
VS
44552012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4458 All users updated.
4459
ef76bec3
VS
44602012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4463 UUID search command even if hints probing failed.
4464
44652012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4466
4467 * po/POTFILES.in: Regenerated.
4468
70aaf305
VS
44692012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 Speed-up video on fuloong.
4472
4473 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4474 New function.
4475 (grub_pci_device_unmap_range): Handle non-cached address.
4476 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4477 add direct_ptr.
4478 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4479 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4480 (grub_video_sis315pro_set_active_render_target): Removed.
4481 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4482 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4483 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4484 sync caches.
4485 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4486 New proto.
4487
10400f0b
VS
44882012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * docs/grub.texi (Multi-boot manual config): New section.
4491
ba67e2c6
VS
44922012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Avoid slow read-back from VRAM.
4495
4496 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4497 Move from here ...
4498 * grub-core/video/fb/video_fb.c
4499 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4500 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4501 (front_target): Remove front_target. Add pages.
4502 (grub_video_fb_init): Skip setting front_pages.
4503 (grub_video_fb_fini): Likewise.
4504 (doublebuf_blit_update_screen): Use pages.
4505 (grub_video_fb_doublebuf_blit_init): Likewise.
4506 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4507 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4508 (grub_video_fb_setup): Prefer doublebuffing.
4509
377c98cb
VS
45102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4513 gzio.
4514
eac49cff
VS
45152012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Add loongson tests.
4518
4519 * tests/util/grub-shell.in: Handle loongson.
4520 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4521 drivers.
4522 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4523 Reboot instead of shutdown if REBOOT is defined.
4524
0321415e
VS
45252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4528 sized ports since unlike on real hardware qemu supports only 32-bit
4529 regs.
4530
3f2bdd8f
VS
45312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4534 * util/grub-mkrescue.in: Handle loongson.
4535
29a049c9
VS
45362012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4539 Set is_part appropriately.
4540 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4541 names. Canonicalize partition without full disk.
4542
4abde346
VS
45432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Revert usb-quiesce since it's wrong.
4546
4547 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4548 (grub_ofdisk_init): Don't do quiesce.
4549
61f1d93b
VS
45502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4553 PowerMac workaround to Xserves as well.
4554 Information supplied by: Benjamin Herrenschmidt.
4555
a09eb541
VS
45562012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Don't assume that beginning address is also the entry point on ppc.
4559
4560 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4561 (grub_linux_boot): Use linux_entry.
4562 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4563 (grub_linux_load64): Likewise.
4564
505b3c9b
VS
45652012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4568
cbe0b4ef
VS
45692012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4572 needlessly lose the console.
4573
3006e981
VS
45742012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4577 space.
4578
4e5a96b0
VS
45792012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4580
7da036bb
VS
4581 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4582 than current grub_get_rtc() not implemented when booted with
4583 coreboot without TSC.
4584
4585 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4586 Add machine/time.h to kernel headers on loongson.
4587 * grub-core/Makefile.core.def (kernel): Remove
4588 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4589 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4590 (grub_get_rtc): Likewise.
4591 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4592 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4593 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4594 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4595 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4596 rather than installing known non-working time source.
4597 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4598 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4599 * include/grub/time.h: Don't include machine/time.h.
4600 * include/grub/efi/time.h: Removed.
4601 * include/grub/i386/efi/time.h: Likewise.
4602 * include/grub/i386/ieee1275/time.h: Likewise.
4603 * include/grub/powerpc/ieee1275/time.h: Likewise.
4604 * include/grub/sparc64/ieee1275/time.h: Likewise.
4605 * include/grub/x86_64/efi/time.h: Likewise.
4606
46072012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4610
4611 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4612 value.
4613 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4614 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4615 with dotless variants when any combining above is present.
4616
5561c22d
VS
46172012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4620 text and not binary.
4621
96f7e60e
VS
46222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 Stop polling as soon as we have the packet we were waiting for.
4625
4626 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4627 All users updated.
4628 * grub-core/net/arp.c (have_pending): New var.
4629 (pending_req): Likewise.
4630 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4631 stop indicator.
4632 (grub_net_arp_receive): Set have_pending.
4633 * grub-core/net/dns.c (recv_data): New field stop.
4634 (recv_hook): Set stop.
4635 (grub_net_dns_lookup): Init stop and use as stop condition.
4636 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4637 condition.
4638 * grub-core/net/net.c (grub_net_poll_cards): New argument
4639 stop_condition. Stop when it goes true.
4640 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4641 indicator.
4642 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4643
3e747239
VS
46442012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Keep TX and RX buffers on EFI rather than always allocate new ones.
4647
4648 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4649 card. All users updated.
4650 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4651 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4652 (get_card_packet): Likewise.
4653 (grub_efinet_findcards): Init new fields.
4654
f695e99a
VS
46552012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4658 compilation error on sparc64.
4659
9e5e66d1
VS
46602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 Use ITC on IA64 rather than broken routine based on daytime.
4663
4664 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4665 ia64.
4666 (grub_get_rtc) [__ia64__]: Likewise.
4667 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4668 (get_itc): New function.
4669 (grub_rtc_get_time_ms): Likewise.
4670 (grub_machine_init): Calibrate ITC.
4671 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4672 Keep only on non-ia64. Don't export since it's broken and used only
4673 if TSC is unavailable.
4674
a1767404
VS
46752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4678 even if it's used.
4679 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4680 Skip if parent is unused.
4681
34b2bced
VS
46822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4685
5e619f40
VS
46862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Fix wildcard escaping.
4689
4690 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4691 * grub-core/script/execute.c (wildcard_escape): .. to here.
4692 Don't escape dot.
4693 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4694 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4695 Don't escape dot.
4696 * grub-core/script/execute.c (gettext_append): Always escape.
4697 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4698 * grub-core/script/yylex.l: Don't cut away the escaping.
4699 * tests/grub_script_echo1.in: Add tests with wildcard.
4700
c8ca5855
VS
47012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4704 (ftdi_hw_configure): Likewise.
4705 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4706 define.
4707 (real_config): Handle 1.5 stop bits.
4708 (pl2303_hw_configure): Likewise.
4709
7183452c
VS
47102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * Makefile.am: Add ppc linux bootcheck.
4713 * grub-core/tests/boot/linux-ppc.cfg: New file.
4714 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4715
f57c84cd
VS
47162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * tests/grub_script_expansion.in: Skip network protocols.
4719
ecfc6207
VS
47202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4723
8d03d284
VS
47242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4727 --rom-directory.
4728 Add -graft-points.
4729
61c42af0
VS
47302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 ESCC serial driver for conducting sautomated tests in qemu.
4733 Not tested on real hardware.
4734
4735 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4736 * grub-core/term/ieee1275/escc.c: New file.
4737 * grub-core/Makefile.core.def (escc): New module.
4738
08fd1291
VS
47392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4742 invalid on error.
4743 (serial_hw_fetch): Don't read invalid handle.
4744 (serial_hw_put): Don't write into invalid handle.
4745
08dafeea
VS
47462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Add a 1.5 stop bits value.
4749
4750 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4751 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4752 GRUB_SERIAL_STOP_BITS_1_5.
4753
9068fdcf
VS
47542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4757 value rather than let it uninited.
4758
f4d5820f
VS
47592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/commands/wildcard.c (+check_file): New function.
4762 (wildcard_expand): Don't expand to non-existing files, expand with
4763 suffix and not attempt to expand if not needed.
4764
3d2de9a7
VS
47652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4768 out of partitions containing other partitions.
4769
c5c81ff9
VS
47702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4773 on some qemu versions with GRUB.
4774
4775 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4776 define.
4777 (grub_openbsd_bootarg_pcibios): New struct.
4778 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4779 Add PCIINFO.
4780
08a14e0b
VS
47812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * tests/util/grub-shell.in: Trim firmware output on EFI.
4784
cede3ca3
VS
47852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4788 and coreboot since it's already in kernel.
4789
558d3a60
VS
47902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4793 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4794 to here. New return value start. All users updated.
4795 Recursively scan linear mappings.
4796 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4797 proto.
4798 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4799 Use grub_util_get_dm_node_linear_info.
4800 * util/getroot.c (convert_system_partition_to_system_disk): Use
4801 grub_util_info rather than grub_dprintf.
4802 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4803
60fde14d
VS
48042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4807
4808 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4809 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4810
24bd8838
VS
48112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * include/grub/types.h (grub_set_unaligned64): New function.
4814 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4815 (setup): Likewise.
4816
7bc06a49
VS
48172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4820 (grub_ofdisk_fini): Quiesce USB devices.
4821
49cea015
VS
48222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4825 caches.
4826
8dcbe03b
VS
48272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4830
5b258735
VS
48312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/disk/pata.c (grub_pata_pio_read)
4834 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4835 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4836
37ba07eb
VS
48372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 Extend automated tests to qemu-mips.
4840
4841 * Makefile.am: reorganise tests and enable qemu-mips.
4842 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4843 * grub-core/tests/boot/linux.init-mips.S: New file.
4844 * tests/partmap_test.in: Handle ata0 disks.
4845 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4846 non-pc i386.
4847
070038f8
VS
48482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4851 ia64.
4852 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4853 quotes while on it.
4854
004be2cd
VS
48552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4858 (grub_halt): Likewise.
4859 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4860
b1622487
VS
48612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/term/serial.c (grub_serial_register)
4864 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4865 the behaviour in line with x86 platforms.
4866
b7b4ab33
VS
48672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4870 (grub_ata_strncpy): Likewise.
4871 (grub_ata_identify): Add missing byteswaps.
4872
5e3535ae
VS
48732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4876 byte-swap.
4877 (screen_read_char): Likewise.
4878 (grub_vga_text_cls): Likewise.
4879
c21b17e6
VS
48802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4883 filenames.
4884 (make_file_path): Likewise.
4885
bf293dec
VS
48862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4889 machines.
4890 Tested by: Paulo Flabiano Smorigo.
4891 Crucial information about API supplied by: Coleen <Last name unknown>.
4892 Reviewed by: Coleen <Last name unknown>.
4893
81f6ef0e
VS
48942012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * util/grub-mkimage.c: Disable -Wcast-align.
4897
7284143a
VS
48982012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4901 as they are fatal.
4902
b99f3e00
VS
49032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4906
944f752d
VS
49072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * util/grub-probe.c (escape_of_path): Fix double free.
4910
6cce6f38
VS
49112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/commands/videoinfo.c (hook): Show pitch.
4914
1e1eb50e
VS
49152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4918
1c715b5a
VS
49192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4922 (probe): Add ieee1275 to OFW devices.
4923
007ae52d
VS
49242012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4927
4557a36d
VS
49282012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 Handle IBM OFW path.
4931
4932 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4933 available.
4934 (of_path_of_scsi): Handle vdevice.
4935
efbeefe9
VS
49362012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4939 Allocate in multiples of 16 to avoid adding a few bytes free region the
4940 windows bugs upon.
4941
15a940bb
VS
49422012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4945 Allocate in multiples of 16 to avoid adding a few bytes free region the
4946 windows bugs upon.
4947 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4948
6e5efd60
VS
49492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4952 resolutions.
4953 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4954 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4955
0d3d137e
IS
49562012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4957
4958 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4959
45dbe300
VS
49602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4963 resulted in \\ at the end of the line.
4964
6d8db947
VS
49652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4968 (grub_parser_cmdline_state): Likewise.
4969 (grub_parser_split_cmdline): Likewise.
4970
de89d338
VS
49712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4974 /dev/root and /dev/dm-*.
4975
00d41dee
VS
49762012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4979 fix partially stale display.
4980
f95d1f11
VS
49812012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4984 substraction.
4985
6297e197
VS
49862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4989 Fix MBR remapping workaround.
4990 (grub_util_biosdisk_read) [__linux__]: Likewise.
4991
8a7ecad3
VS
49922012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4995
2b34f944
VS
49962012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * configure.ac: Bump to beta6.
4999
684aef11
CW
50002012-05-31 Christer Weinigel <christer@weinigel.se>
5001
5002 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5003
05b0bb91
VS
50042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5007 (grub_cmd_linux): Likewise.
5008
bda36bfa
CW
50092012-05-31 Christer Weinigel <christer@weinigel.se>
5010
5011 Fix EHCI low-speed.
5012
5013 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5014 (GRUB_EHCI_MULT_TWO): Likewise.
5015 (GRUB_EHCI_MULT_THREE): Likewise.
5016 (GRUB_EHCI_CMASK_MASK): New enum value.
5017 (GRUB_EHCI_SMASK_MASK): Likewise.
5018 (GRUB_EHCI_CMASK_OFF): Likewise.
5019 (GRUB_EHCI_SMASK_OFF): Likewise.
5020 (grub_ehci_pci_iter): Enable periodic schedule.
5021 (grub_ehci_parse_notrun): Likewise.
5022 (grub_ehci_restore_hw): Likewise.
5023 (grub_ehci_setup_qh): Set flags for low speed transfers.
5024 (grub_ehci_find_qh): Use periodic list for low speed.
5025 (grub_ehci_setup_transfer): Check periodic queue as well.
5026 (grub_ehci_check_transfer): Likewise.
5027 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5028
e12bcb1c
PFS
50292012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5030
5031 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5032 parameter is used.
5033
bcc75fb3
PJ
50342012-05-31 Peter Jones <pjones@redhat.com>
5035
5036 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5037 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5038 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5039
f19cb95e
VS
50402012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5043 uninited variable. Allocate at least setup_sects.
5044
a4e5ca80
VS
50452012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 Fix handling of EFI with big memory maps.
5048
5049 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5050 (real_mode_mem): Likewise.
5051 (real_mode_target): Likewise.
5052 (real_mode_pages): Likewise.
5053 (prot_mode_pages): Likewise.
5054 (linux_params): New var.
5055 (linux_cmdline): Likewise.
5056 (free_pages): Don't set real mode variables.
5057 (allocate_pages): Don't allocate real mode memory.
5058 (grub_e820_add_region): Remove the limit.
5059 (grub_linux_boot): Allocate and copy real mode memory.
5060 (grub_linux_unload): Free linux_cmdline.
5061 (grub_cmd_linux): Use temporary storage for parameters.
5062 (grub_cmd_initrd): Likewise.
5063 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5064 (linux_kernel_params): Make it 1K big.
5065
ddb73558
VS
50662012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * Makefile.util.def: Remove -Wno-format.
5069 * grub-core/Makefile.core.def: Likewise.
5070
1c4afb60
VS
50712012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * tests/cmp_unit_test.c: Add missing failure message.
5074 * tests/example_unit_test.c: Likewise.
5075 * tests/printf_unit_test.c: Likewise.
5076
941e3a6d
VS
50772012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5080 relaxation of protective MBR requirements.
5081
b105df76
VS
50822012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * configure.ac: Add condition for COND_HOST_XNU.
5085 * Makefile.util.def (10_xnu): New script.
5086 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5087
84e1569e
VS
50882012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5091 objconv bug.
5092
130c0f77
VS
50932012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5096 Binary on other platforms stays identical.
5097
6fd0b143
VS
50982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5101 Apple.
5102
0af1751d
VS
51032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5106
176d5f7d
VS
51072012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5110 rather than defining size_t ourselves to avoid conflict.
5111
7de5e20a
VS
51122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5115 initialisation to avoid __bzero reference.
5116
f7143efe
VS
51172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5120 version.
5121 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5122 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5123 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5124 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5125 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5126
e6ad0555
VS
51272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5130 * grub-core/kern/misc.c: Likewise.
5131 * grub-core/loader/i386/xnu.c: Likewise.
5132 * include/grub/i386/tsc.h: Likewise.
5133 * include/grub/symbol.h: Likewise.
5134
4a5a3c4a
VS
51352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5138 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5139 on older compiler.
5140
037f6d90
VS
51412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5144 Implement Apple flavour.
5145 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5146
f7194551
VS
51472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5150 (memmove) [__APPLE__]: Likewise.
5151 (memcpy) [__APPLE__]: Likewise.
5152 (memset) [__APPLE__]: Likewise.
5153 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5154 (memmove) [__APPLE__]: Likewise.
5155 (memcpy) [__APPLE__]: Likewise.
5156 (memset) [__APPLE__]: Likewise.
5157
85a730ca
VS
51582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5161 dependency discard.
5162
40e80b94
VS
51632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/normal/main.c (read_config_file): Provide config_file and
5166 config_directory.
5167 * util/grub.d/41_custom.in: Use config_directoy when available.
5168
9da59c32
VS
51692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5172 (grub_bfs_dir): Likewise.
5173
2787ae53
PJ
51742012-05-27 Peter Jones <pjones@redhat.com>
5175
5176 The old code gives arguments to a printf function which can't work
5177 correctly, and the compiler complains.
5178
5179 * grub-core/tests/example_functional_test.c (example_test): Add
5180 missing text.
5181 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5182 * include/grub/test.h (grub_test_assert_helper): New declaration.
5183 (grub_test_assert): Use grub_test_assert_helper.
5184
526ef13d
VS
51852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5188 (exfctest): ... this to avoid overlong filenames.
5189 All users updated.
5190
20dd511c
VS
51912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 Handle "." and ".." on squashfs.
5194
5195 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5196 Make inode numbers into stack.
5197 (grub_squash_read_symlink): Use stack.
5198 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5199 (make_root_node): Fill stack.
5200 (grub_squash_open): Use stack.
5201
1d80c62a
VS
52022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5205 freeing.
5206
d336f652
VS
52072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5210 stderr on test calls.
5211
8b43f587
VS
52122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5215
80a3dc3f
VS
52162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5219
47e297d4
VS
52202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5223 "..".
5224
df042ccb
VS
52252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5228 (grub_hfsplus_iterate_dir): Add "." and "..".
5229
fc977f48
VS
52302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5233 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5234
f3250e5f
VS
52352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5238 (find_path): Handle "." and "..".
5239
fd8ed4c5
VS
52402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5243 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5244 (grub_affs_iterate_dir): Handle hardlinks.
5245
4ce776d2
MG
52462012-05-26 Matthew Garrett <mjg@redhat.com>
5247
5248 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5249 (grub_efi_console_fini): Likewise.
5250 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5251 (grub_video_gop_fill_mode_info): Rename to ...
5252 (grub_video_gop_fill_real_mode_info): ... this.
5253 (grub_video_gop_fill_mode_info): New function.
5254 (grub_video_gop_setup): Setup double framebuffer.
5255 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5256 Free offscreen.
5257 (grub_video_gop_swap_buffers): Copy framebuffer.
5258 (grub_video_gop_fini): Free offscreen buffer.
5259 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5260 New enum.
5261 (grub_efi_gop_blt_pixel): New struct.
5262
683031ba
VS
52632012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * gentpl.py: Remove error disabling for objconv.
5266
c2deb798
VS
52672012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * configure.ac: Remove -Wunitialized as it's not available on older
5270 compilers.
5271
52722012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5273
5274 Fix extent overflow comparator.
5275
5276 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5277 (grub_hfsplus_read_block): Set type.
5278 (grub_hfsplus_cmp_extkey): Compare type.
5279
d6b1fd36
VS
52802012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5283
0a9aa0f6
VS
52842012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5287 than 0.
5288
8360e159
VS
52892012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5292 (dejavu_bold_14.pf2): New target.
5293
501b9e4b
VS
52942012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * configure.ac: Fix djvu font detection.
5297
7026b0e2
VS
52982012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5301 ext* instead of ext2.
5302
c2a51ade
VS
53032012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5306 name with \0.
5307
8f803a5d
JU
53082012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5309
5310 * docs/grub-dev.texi: Remove dot from .png.
5311
13c6353f
VS
53122012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5315 protective entry in any slot.
5316 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5317 if protective entry is found in any slot.
5318
5319 Protective entry in non-first slot make no sense but is a widespread
5320 brain damage.
5321
4cf6be1b
VS
53222012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5325
937d1c44
VS
53262012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5329 with old reiserfs.
5330 (grub_reiserfs_open): Don't free root.
5331
021d90ec
VS
53322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5335 after freeing for safety.
5336
967b2b64
VS
53372012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5340 Reported by: Jordan Uggla.
5341
34274d02
JU
53422012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5343
967b2b64
VS
5344 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5345 actual implementation. Specifically, clarify that the grub menu will
5346 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5347 passed.
34274d02 5348
dcaaae9d
BH
53492012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5350
5351 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5352 of r0.
5353
7086ad52
VS
53542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Remove unjustified hard dependency of normal.mod on gfxterm.
5357
5358 * include/grub/term.h (grub_term_output): New member fullscreen.
5359 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5360 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5361 (grub_gfxterm): Set .fullscreen.
5362 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5363 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5364
37ed2c9b
VS
53652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5368 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5369 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5370
a4469c88
VS
53712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5374
4e461486
VS
53752012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5378 a bad FS.
5379
aa78f5c4
VS
53802012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5383 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5384
197626b5
VS
53852012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5388 (grub_jfs_mount): Fill caseins.
5389 (grub_jfs_find_file): Respect caseins.
5390
8ad3f28c
VS
53912012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5394 through UTF-16.
5395
0c6c324e
VS
53962012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5399 New argument origpath. All users updated.
5400
c6666ba6
VS
54012012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5404 (read_attr): Ensure that we read start of possibly compressed block.
5405
e28e5fe5
VS
54062012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5409 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5410 All users updated.
5411
5fc23ab2
VS
54122012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5415 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5416 (dejavu.pf2): Replace with ...
5417 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5418 this.
5419
79dbc21c
VS
54202012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * util/grub.d/20_linux_xen.in: Add missing line.
5423
d2fcfb0c
VS
54242012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5427 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5428 (grub_utf16_to_utf8): Likewise.
5429
5560e9d6
VS
54302012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5433 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5434 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5435 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5436 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5437 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5438
54392012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5440
5441 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5442 a bad FS.
5443
5560e9d6 54442012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5445
5446 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5447 (grub_udf_read_symlink): Handle read_string failure.
5448
5eae3175
VS
54492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5452 comment.
5453
c1ad82db
VS
54542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Fix handling of UDF symlinks.
5457
5458 * grub-core/fs/udf.c (read_string): New argument outbuf.
5459 All users updated.
5460 (grub_ufs_read_symlink): Rename to ...
5461 (grub_udf_read_symlink): ... this. All users updated.
5462 Handle symlinks with more than one component.
5463
33eca6e0
VS
54642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5467 symlinks. Replace leading colon with a slash.
5468
57f4a70b
VS
54692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5472 filename.
5473
38c8ee20
VS
54742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5477 match in inner node.
5478
2e57f28f
VS
54792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5482 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5483 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5484 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5485 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5486 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5487 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5488 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5489 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5490
fe8c2f11
VS
54912012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 Use grub-probe and not cmp to check that disk is empty.
5494
5495 * util/grub-install.in: Use grub-probe for zero-check.
5496 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5497 (probe): Handle PRINT_ZERO_CHECK.
5498 (argp_parser): Handle -t zero_check.
5499
55002012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5501
5502 Flush block cache on adding disk to device map.
5503
5504 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5505 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5506 adding.
5507 (read_device_map): Likewise.
5508 (open_device): Flush on opening.
5509
690434e8
VS
55102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5513 (handle_symlink): Fix off-by-one error.
5514 Canonicalize the target.
5515 (grub_cpio_dir): Canonicalize the name.
5516 Fix memory leak.
5517 Set directory.
5518 (grub_cpio_open): Canonicalize the name.
5519
742d2be6
VS
55202012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5523 handling.
5524
3244fe96
VS
55252012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5528 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5529
8aeb1837
VS
55302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5533 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5534 All users updated.
8aeb1837 5535
9133fd05
VS
55362012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5539 counterpart.
5540
6d521c5b
VS
55412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 Fix UFS1 big file support.
5544
5545 * grub-core/fs/ufs.c (INODE): Removed.
5546 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5547 64-bit.
5548 (INODE_MODE): Simplify.
5549 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5550 (grub_ufs_lookup_symlink): Don't use INODE.
5551
21b82e17
VS
55522012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5555
5556 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5557 (grub_minix_data): Replace log_block_size with block_size.
5558 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5559 (grub_minix_mount): Fill block_size.
5560
55612012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5562
5563 * configure.ac: Bump to beta5.
5564
f417ed04
VS
55652012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 Fix wrapped HFS+ handling.
5568
5569 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5570 blocks_start. All users updated.
5571 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5572 wrapping offset.
5573 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5574
607d282b
VS
55752012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Fix long symlinks on reiserfs.
5578
5579 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5580 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5581 (grub_reiserfs_iterate_dir): Save size for non-directories.
5582 (grub_reiserfs_open): Don't reread stat block as we already know the
5583 size.
5584 (grub_reiserfs_read): Split into...
5585 (grub_reiserfs_read_real): ... and ...
5586 (grub_reiserfs_read): ...this.
5587
ae16024d
VS
55882012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Fix non-indexed JFS.
5591
5592 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5593 (grub_jfs_data): New field namecomponentlen.
5594 (grub_jfs_mount): Fill namecomponentlen.
5595 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5596
eea1e26e
VS
55972012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5600 * tests/grub_script_echo1.in: Add tests.
5601
df760f77
VS
56022012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * util/grub-install.in: Ignore empty devicetree directory.
5605
5efb817d
B
56062012-05-08 Bean <bean123ch@gmail.com>
5607
5608 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5609 All users updated.
5610 (free_rsm): Free header as well.
5611 (free_old_fragments): Fix memory leak.
5612 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5613 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5614 (destroy_pq): Likewise.
5615 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5616
668ea6d2
VS
56172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5620 resulting hash as a precaution.
5621
1739b1fe
VS
56222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5625 '_' in variable names.
5626 * grub-core/net/net.c (grub_net_network_level_interface_register):
5627 Likewise.
5628
6ae485aa
VS
56292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Fix AFFS with non-512B blocks.
5632
5633 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5634 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5635 (grub_affs_data): Replace blocksize with log_blocksize.
5636 (grub_affs_read_block): Fix non-512B blocks.
5637 (grub_affs_read_symlink): Likewise.
5638 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5639 (grub_affs_read): Fix non-512B blocks.
5640 (grub_affs_label): Likewise.
5641 (grub_affs_mtime): Likewise.
5642 (grub_affs_mount): Fix block detection routine.
5643
d20fab84
VS
56442012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 Add filesystem mtime to AFFS.
5647
5648 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5649 (aftime2ctime): New function.
5650 (grub_affs_dir): Use aftime2ctime.
5651 (grub_affs_label): Fix return value.
5652 (grub_affs_mtime): New function.
5653 (grub_affs_fs): Add mtime.
5654
e87b10f5
VS
56552012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5658 UTF-8.
5659
7dceec9b
VS
56602012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5663 UTF-8.
5664
2f48221f
VS
56652012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5668
dacd85cf
VS
56692012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5672 flags.
5673 (FLAGS_CASE_SENSITIVE): New enum value.
5674 (cache_entry): New struct.
5675 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5676 cache_size and cache.
5677 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5678 Add log_blocksize and fshelp_flags.
5679 (grub_sfs_read_extent): Handle non-512 blocks.
5680 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5681 (grub_sfs_read_file): Handle non-512 blocks.
5682 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5683 fshelp_flags.
5684 (grub_sfs_read_symlink): Handle non-512 blocks.
5685 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5686 (grub_sfs_dir): Free cache.
5687 (grub_sfs_close): Likewise.
5688
24e9a854
VS
56892012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5692 filesystems.
5693
62ace64d
VS
56942012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5697
83b2e89c
VS
56982012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5701
75ccaea3
VS
57022012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5705 (grub_sfs_read_extent): Likewise.
5706 (grub_sfs_read_block): Likewise.
5707 (grub_sfs_mount): Likewise.
5708 (grub_sfs_iterate_dir): Likewise.
5709 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5710 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5711
1b8463f2
VS
57122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 Fix errors on compressed NTFS with 512B clusters.
5715
5716 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5717 types.
5718 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5719 not 0.
5720 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5721 Relax check for inline extents.
5722 (ntfscomp): Return correct -1 on error and not 0.
5723
4f8e368f
VS
57242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * util/grub-install.in: Fix handling of prefix containing spaces.
5727
6f5d5ee8
VS
57282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5731 (grub_squash_read_data): Fix offset byte-swapping.
5732
ce41ab7a
VS
57332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5736 per common usage and preffered in several parts of code.
5737 (grub_memcmp): Likewise.
5738 (grub_strncmp): Likewise.
5739 * include/grub/misc.h (grub_strcasecmp): Likewise.
5740 (grub_strncasecmp): Likewise.
5741 * Makefile.util.def (cmp_test): New test.
5742 (grub_script_strcmp): Likewise.
5743 * tests/cmp_unit_test.c: New file.
5744 * tests/grub_script_strcmp.in: Likewise.
5745 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5746
49717bf4
VS
57472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * include/grub/pci.h: Move enums into no-asm part.
5750
0a308f64
VS
57512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5754
1796965f
ST
57552012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5756
5757 * util/getroot.c (find_hurd_root_device): Try to make error message
5758 and comments to translators clearer.
5759
4e9b2819
VS
57602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5763
076aeb50
VS
57642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5767 btrfs.
5768
19424d94
VS
57692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * docs/grub.cfg: Update.
5772
ebb73076
VS
57732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * docs/grub.texi (PXE): Remove not present variables.
5776
9a1b669c
VS
57772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/net/net.c (defserver_set_env): New function.
5780 (defserver_get_env): Likewise.
5781 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5782
d38bf7d3
VS
57832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5786 entries.
5787
57882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5789
5790 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5791 * grub-core/kern/emu/hostdisk.c: Likewise.
5792
e5e4ca48
ST
57932012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5794
5795 Handle hurd userspace partitions.
5796
5797 * util/getroot.c (find_hurd_root_device): New function.
5798 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5799
56bb5dd5
VS
58002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5803 names.
5804 Reported by: Bastian Blank.
5805
9e8bc27a
VS
58062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5809 crossing page boundary.
5810
aa01499d
VS
58112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Fix B-tree search in BFS, especially in presence of non-ASCII
5814 characters.
5815
5816 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5817 (find_in_b_tree): Use standard bsearch + btree algorithm.
5818
57006035
VS
58192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5822 and so on.
5823
9d34bb85
MG
58242012-05-03 Matthew Garrett <mjg@redhat.com>
58252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Suspend broadcom cards in order to stop their DMA.
5828
5829 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5830 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5831 (pci): Don't build on x86 EFI.
5832 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5833 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5834 New function.
5835 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5836 stop_broadcom if running on EFI.
5837 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5838 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5839 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5840 (grub_pci_find_capability): New proto.
5841
01aab997
VS
58422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * docs/grub.texi: Remove dot from the extension as it apparently
5845 doesn't work with some makeinfo versions.
5846
fbd8dca6
VS
58472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5850 with GRUB expectance.
5851
dab797f4
VS
58522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5855
1516bfb4
VS
58562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5859 zero after directory block since last entry may be not 0-terminated if
5860 it ends on block boundary. Use continue instead of if spanning whole
5861 loop.
5862
a3a0eace
VS
58632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Support 4K sectors UDF inline files.
5866
5867 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5868 (grub_udf_extended_file_entry): Likewise.
5869 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5870 All users updated.
5871 (get_fshelp_size): New function.
5872 (grub_udf_read_icb): Read whole block.
5873 (grub_udf_iterate_dir): Likewise.
5874 (grub_udf_dir): Likewise.
5875 (grub_udf_open): Likewise.
5876
c82f16c1
VS
58772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5880
59fd2aac
VS
58812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5884 inline symlinks in addition to workaround.
5885
3b4afb4d
VS
58862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5889
f45c794a
VS
58902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5893
f25cecbd
VS
58942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5897
bb9a34e8
VS
58982012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 Fix reiserfs big seek times.
5901
5902 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5903 exact. All users updated.
5904 (grub_reiserfs_read): Use nearest btree search for seeking.
5905 Fix return value on error.
5906
dc478aea
VS
59072012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5910 entries.
5911 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5912 * docs/grub.texi: Update menuentry description.
5913
8db10f47
VS
59142012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5917 crash when embedding onto filesystem.
5918
bcb288ed
VS
59192012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5922 name.
5923
a626fdd7
VS
59242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5927
b2f68477
VS
59282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5931 commit.
5932
ba15b2af
B
59332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
59342012-05-01 Bean <bean123ch@gmail.com>
5935
5936 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5937
a188012e
VS
59382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5941 Special behaviour for len = 0 to read whole file isn't used anywhere and
5942 can cause buffer ovewrflows in several places.
5943
f0a53ed2
VS
59442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5947
5ed554f0
VS
59482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Handle RAIDZ on non-512B sectors.
5951
5952 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5953 max_children_ashift.
5954 (fill_vdev_info_real): Fill max_children_ashift.
5955 (read_device): Use max_children_ashift.
5956
ddc58357
VS
59572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5960
e3282399
VS
59612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5964 disk names.
5965 * docs/grub.texi: Update device.map parts.
5966
ee618bd4
VS
59672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Don't scan into non-diskfilter devices having diskfilter names.
5970
5971 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5972 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5973 handling.
5974 (scan_disk_hook): New function.
5975
bdf88864
B
59762012-04-29 Bean <bean123ch@gmail.com>
5977
5978 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5979 allocation.
5980
32745f51
MK
59812012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5982
5983 * configure.ac: Detect starfield theme font path
5984 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5985
bc95c8c0
VS
59862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5989 geometry on serial consoles.
5990
147fbcab
VS
59912012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5994 because of network consoles.
5995
0f42c889
VS
59962012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5999 handling.
6000
4a3594c9
VS
60012012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6004 falls on Q syndrom.
6005
5cb53879
VS
60062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6009 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6010
b282dfe5
VS
60112012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6014 Allocate at lest 8192 for temporary buffer as required for lzo.
6015
daa59f47
VS
60162012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6019 to cluster_bits, since it's already added in.
6020 (grub_fat_read_data): Likewise.
6021
986748ce
VS
60222012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6025 as long as cluster size is multiple of 512 bytes.
6026
a20f6ad0
VS
60272012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * util/grub-mkrescue.in: Fix locale directory.
6030
385f9abb
VS
60312012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/kern/emu/hostdisk.c (map): Make static.
6034
1c557d30
B
60352012-04-23 Bean <bean123ch@gmail.com>
6036
6037 * util/grub-fstest.c (fstest): Add missing break.
6038
524b5d3a
ST
60392012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6040
6041 Fix hurd build.
6042
6043 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6044 not define nr variable.
fe4824e9 6045 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6046 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6047 grub_find_device): Do not define.
524b5d3a 6048
9a06490c
VS
60492012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 Fix kfreebsd compile and behaviour.
6052
6053 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6054 format-security.
6055 * util/getroot.c: Fix wait.h include.
6056 (grub_guess_root_devices): Error if grub_find_device fails.
6057 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6058 (grub_util_get_dev_abstraction): Likewise.
6059 (grub_util_pull_device): Likewise.
6060 (grub_util_get_grub_dev): Likewise.
6061 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6062
48143d96
VS
60632012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 Fix and unify wholedisk detection.
6066
6067 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6068 is_part. All users updated.
6069 (device_is_wholedisk): Removed.
6070 (grub_util_biosdisk_get_grub_dev): Use is_part.
6071
ebbd24f3
VS
60722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6075 mode.
6076
56f7aa1e
VS
60772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * configure.ac: Bump to beta4.
6080
9c815e01
VS
60812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6084 --fs-uuid --set UUID syntax.
6085
59e2651a
VS
60862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6089 disunification.
6090
54e03cfc
VS
60912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6094
81092a75
MK
60952012-04-18 Mads Kiilerich <mads@kiilerich.com>
6096
6097 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6098
f8315e14
MG
60992012-04-18 Mike Gilbert <floppym@gentoo.org>
6100
6101 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6102
1501ac21
B
61032012-04-18 Bean <bean123ch@gmail.com>
6104
6105 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6106 place.
6107
cb7f944e
VS
61082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6111 users updated.
6112 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6113 corresponding to GRUB partitions.
6114 (grub_util_biosdisk_write): Likewise.
6115
b72d44a1
VS
61162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Scan mdraid before LVM.
6119
6120 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6121 (grub_diskfilter_register_front): ... this.
6122 (grub_diskfilter_register_back): New function.
6123 All users of grub_diskfilter_register updated.
6124
33d918b8
VS
61252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub-install.in: Fix an automatic target detection bug.
6128
c6ca973d
VS
61292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * util/grub-install.in: New option --efi-directory.
6132
b41be562
VS
61332012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6136 boot services if we have no other choice.
6137
61382012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6141 document it.
6142 * tests/util/grub-shell.in: Update to --directory.
6143
e0595a73
VS
61442012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6147
4ed80652
VS
61482012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6151 (grub_minix_read_file): Likewise.
6152 (grub_minix_read_inode): Likewise.
6153 (grub_minix_find_file): Likewise.
6154 (grub_minix_dir): Likewise.
6155
56008077
VS
61562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * util/grub-setup.c (setup): Fix partition handling and blocklist
6159 check.
6160
ee520775
VS
61612012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6164 redundant buggy overlap check.
6165
16fc9293
VS
61662012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6169 and grub-mknetdir.
6170
9bab65c4
VS
61712012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6174 kh.loadflags on pre-2.00 kernels.
6175
3c491b47
VS
61762012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 Terminate UNDI and PXE before launching the payload to avoid problems
6179 with DMA.
6180
6181 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6182 (grub_loader_flags): ... this. All users updated.
6183 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6184 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6185 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6186 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6187 function.
6188 (grub_pxe_restore): Likewise.
6189 (fini_hnd): New var.
6190 (GRUB_MOD_INIT): Register shutdown hook.
6191 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6192 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6193 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6194 (grub_loader_set): Rename second argument to flags.
6195
851ffada
VS
61962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6199 written bytes.
6200 (grub_get_num_of_utf8_bytes): New function.
6201 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6202 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6203 executing it.
6204 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6205 (grub_ucs4_to_utf8): Change return type.
6206
491c57a8
VS
62072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6210 warning.
851ffada
VS
6211 * grub-core/fs/bfs.c (hop_level): Likewise.
6212 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6213
756773df
VS
62142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/lib/adler32.c: Recode due to license unclearness.
6217
fd556a96
VS
62182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6221 (test_header): Likewise.
6222
9f9d3f69
VS
62232012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix --help formatting.
6226
6227 * util/grub-mkconfig_lib.in (print_option_help): New function.
6228 (grub_fmt): Likewise.
6229 * util/grub-install.in: Use print_option_help and grub_fmt.
6230 * util/grub-kbdcomp.in: Likewise.
6231 * util/grub-mkconfig.in: Likewise.
6232 * util/grub-mknetdir.in: Likewise.
6233 * util/grub-mkrescue.in: Likewise.
6234 * util/grub-mkstandalone.in: Likewise.
6235 * util/grub-reboot.in: Likewise.
6236 * util/grub-set-default.in: Likewise.
6237 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6238
561ec77e
VS
62392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * linguas.sh: Remove autogenerated *.po.
6242
7ec2b021
VS
62432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * po/README: Move language fetcing to ...
6246 * linguas.sh: ... here.
6247 * po/README: Point to linguas.sh.
6248
a88f3270
VS
62492012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * po/README: Exclude ko.po due to disclaimer problems.
6252
d61357ce
VS
62532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6256 len = 0.
6257 (grub_gettext_translate_real): Handle 0th string.
6258 (grub_gettext_translate): Ensure that "" isn't translated.
6259
505e41dc
VS
62602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6263 TRANSLATORS comment.
6264 (grub_diskfilter_print_partmap): Propagate changing of error into
6265 warning.
6266
e44092db
VS
62672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6270 to uint64_t to prevent overflow.
6271 (grub_diskfilter_lv): Increase start_extent and extent_count
6272 to uint64_t to prevent overflow.
6273
9b83956a
VS
62742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * configure.ac: Increase version.
6277
da0d5b3f
VS
62782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6281
6282 * po/Rules-translit: New file.
6283 * po/arabic.sed: Likewise.
6284 * po/cyrillic.sed: Likewise.
6285 * po/greek.sed: Likewise.
6286 * po/hebrew.sed: Likewise.
6287 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6288 * po/Makefile.in.in: Add extra_dist4.
6289
ac66b453
VS
62902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6293
6294 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6295 modify names. Introduce MODE_BIGENDIAN.
6296 * grub-core/fs/minix_be.c: New file.
6297 * grub-core/fs/minix2_be.c: Likewise
6298 * grub-core/fs/minix3_be.c: Likewise.
6299 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6300 minix3_be.
6301 * grub-core/Makefile.core.def (minix_be): New module.
6302 (minix2_be): Likewise.
6303 (minix3_be): Likewise.
6304
63052012-04-01 Felix <email@hamburg.de>
6306
6307 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6308 (devs): Add MBP 2011.
6309
0a2d5a82
VS
63102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6313
d1625889
VS
63142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/normal/cmdline.c (print_completion): New field
6317 prompt_len.
6318 (grub_cmdline_get): Handle width properly.
6319
6d36a236
VS
63202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6323
9576977e
VS
63242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6327 after 29th of February.
9576977e 6328
d73ff15d
VS
63292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 Fix exfat endianness handling.
6332
6333 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6334 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6335 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6336 Byte-swap utf16 when necessary.
6337 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6338
bbb39a45
AB
63392012-03-31 Anton Blanchard <anton@samba.org>
63402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 Fix btrfs endianness handling.
6343
6344 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6345 (lower_bound): Make root uint64_t. Use root in le.
6346 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6347 (find_path): Fix template key init.
6348 (grub_btrfs_dir): Fix mtime byteswap.
6349 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6350
354e0af7
VS
63512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6354 recursion_depth. Break infinite resursions. All users updated.
6355
4e75f21c
VS
63562012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6359 after free.
6360 Reported by: Peter Jones.
6361
25581802
AB
63622012-03-31 Anton Blanchard <anton@samba.org>
6363
6364 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6365 8 bit values.
6366
08fbf92e
VS
63672012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * util/grub-install.in: Fix nvram call for PreP.
6370
5d1182a6
VS
63712012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6374 the error when some elements are missing into a warning.
6375
3f8cdd90
VS
63762012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6379
51006716
CW
63802012-03-28 Colin Watson <cjwatson@ubuntu.com>
6381
6382 * docs/grub.texi (Invoking grub-probe): New section.
6383 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6384
e1bd676b
VS
63852012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 Fix tab and wide character handling in editor and menu.
6388
6389 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6390 agglomerate control characters with combining marks.
6391 (bidi_line_wrap): Allow break on tab.
6392 (grub_unicode_get_comb_start): New function.
6393 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6394 and tab correctly.
6395 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6396 with a space.
6397 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6398 fixed_tab_size. All users updated.
6399 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6400 (grub_term_getcharwidth): Handle \t.
6401 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6402 and copy.
6403
22e6a774
VS
64042012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Handle big-endian mdraid.
6407
6408 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6409 * grub-core/Makefile.core.def (mdraid09_be): New module.
6410 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6411 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6412 * grub-core/disk/mdraid_linux_be.c: New file.
6413
3c0eae66
VS
64142012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6417
b6cf74c9
VS
64182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6421 missing quotes which caused confusion among translators.
6422
83c93b9c
VS
64232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/grub-mkconfig_lib.in: Fix typo.
6426
ac6fd218
VS
64272012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6430 spaces.
6431 * tests/grub_script_leading_whitespace.in: New file.
6432 * Makefile.util.def (grub_script_leading_whitespace): New test.
6433
ba287dd8
VS
64342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6437 to work.
6438
d2d58d0a
VS
64392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6442 starts with control character.
6443
0382d9bb
VS
64442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6447 overflow.
6448 (grub_gdb_outbuf): Likewise.
6449
d83ff9f9
VS
64502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6453 zero terminator. Fixes a crash.
6454
2282da4a
VS
64552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6458 beyond 4 GiB.
6459 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6460 images independently of preffered adderss field.
6461
0ae4f0bd
VS
64622012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6465 * grub-core/commands/regexp.c: Likewise.
6466 * grub-core/loader/i386/linux.c: Likewise.
6467 * grub-core/partmap/msdos.c: Likewise.
6468 * grub-core/script/execute.c: Likewise.
6469 * grub-core/term/gfxterm.c: Likewise.
6470
546fbe9b
VS
64712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 Add variable parsing in $"..." and fix several mismatches with bash.
6474
6475 * Makefile.util.def (grub_script_gettext): New test.
6476 * grub-core/script/execute.c (parse_string): New function.
6477 (gettext_append): Likewise.
6478 (grub_script_arglist_to_argv): Use gettext_append.
6479 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6480 * tests/grub_script_gettext.in: New file.
6481
9fdb2d7b
VS
64822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Fix handling of leading spaces in scripts.
6485
6486 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6487 spaces.
6488 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6489 other than skipping \r. All users updated.
6490 * tests/grub_script_echo1.in: Add space-related tests.
6491 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6492
1a1ac4f6
VS
64932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6496
b63d89b6
VS
64972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * configure.ac: Bump up the version to beta2.
6500
17f38c0f
VS
65012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix gettext reload bugs (e.g. inability to disable gettext
6504 once enabled).
6505
6506 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6507 main_context and secondary_context. All functions updated.
6508 (grub_gettext_translate): Rename to ...
6509 (grub_gettext_translate_real): ... this. Return NULL on failed
6510 translate.
6511 (grub_gettext_translate): Handle secondary context.
6512 (grub_gettext_delete_list): Close file and zero-out the context.
6513 (grub_mofile_open): Don't call grub_gettext_delete_list.
6514 Don't close file.
6515 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6516 if locale="" to avoid pointless error message.
6517 (grub_gettext_env_write_lang): Update lang even if load fails.
6518 Handle secondary context.
6519 (grub_gettext_reread_prefix): New function.
6520 (read_main): Likewise.
6521 (read_secondary): Likewise.
6522 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6523 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6524 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6525 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6526
8e56f870
VS
65272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * configure.ac: Decrease warning level to avoid spurious warnings and
6530 to be able to compile with GCC 4.2.
6531 * Makefile.util.def: Remove -Wno-error=logical-op.
6532
82f6d455
WB
65332012-03-10 William Bittner <william.bittner@gmail.com>
6534
6535 * util/import_unicode.py: Add missing brackets around string for
6536 python 3 support.
6537
1ecd61a4
VS
65382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Fix efi chainloader on network root.
6541
6542 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6543 network devices.
6544 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6545 New function.
6546
14361ee8
VS
65472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6550 unused show_text member.
6551 * docs/grub.texi: Document "text" property.
6552
922aabf3
VS
65532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6556 in dprintf.
6557
ec316771
VS
65582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 Fix IMSM handling on Fedora.
6561
6562 * util/getroot.c (grub_util_is_imsm): New function.
6563 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6564
0f021838
VS
65652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * Makefile.am: Strip gold section.
6568 * conf/Makefile.common: Likewise.
6569 * gentpl.py: Likewise.
6570 * grub-core/Makefile.core.def: Likewise.
6571 * grub-core/genmod.sh.in: Likewise.
6572
1039c8eb
VS
65732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6576 * util/grub.d/20_linux_xen.in: Likewise.
6577 Based on Debian patch.
6578
6dd412cd
VS
65792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * util/grub.d/10_linux.in: Fix syntax error resulting in
6582 Richard Laager's patch.
6583 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6584
3fd8bae5
VS
65852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6588 dependencies.
6589
7eea1671
RL
65902012-03-10 Richard Laager <rlaager@wiktel.com>
6591
6592 * util/grub.d/10_linux.in: Fix ZFS root passing.
6593
e8e0566b
VS
65942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6597 * grub-core/commands/xnu_uuid.c: Likewise.
6598 * grub-core/loader/efi/appleloader.c: Likewise.
6599 * grub-core/script/execute.c: Likewise.
6600 * grub-core/script/main.c: Likewise.
6601 * util/grub-mkfont.c: Likewise.
6602
1acc5b1f
VS
66032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * util/grub-mkfont.c (options): Use more appropriate "select" that
6606 "set" for face index.
6607
35d70620
VS
66082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * util/grub-editenv.c (options): Gettextize command summaries.
6611
c9eb96b5
VS
66122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6615 "out of memory" error messagge.
6616
1f493136
VS
66172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6620 of diskfilter for diskfilter on diskfilter support.
6621
6d790129
VS
66222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6625
005f46c9
VS
66262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6629 themes/starfield.
6630
c8f778a0
VS
66312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6634
de1e64eb
VS
66352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6638
c6d54211
VS
66392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6642 of error message.
6643
dd390777
VS
66442012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6647
5fd1c522
VS
66482012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6651 message.
c6d54211 6652 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6653
fae01f6c
VS
66542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6657 Gettextize.
6658 * util/grub-mount.c (options): Likewise.
6659
292fdaff
VS
66602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6663 gettextize.
6664 * grub-core/commands/search_wrap.c (options): Likewise.
6665
ecdbae77
VS
66662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6669
52bfedfa
VS
66702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6673 size calculation.
6674 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6675 none is known.
6676
55b20e58
VS
66772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6680 "temporary" since it's used in identifier and is limited in space.
6681
fda9d101
VS
66822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * po/POTFILES.in: Regenerate. Include *.h since they contain
6685 translatable strings as well.
6686
6a0295e2
VS
66872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6690 byte-swap on big-endian.
6691 Reported by: Lennart Sorensen
6692
807fb77c
VS
66932012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6696 (allocate_pages): Improve dprintf.
6697 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6698 code32_start. Fill code32_start and kernel_alignment in params.
6699 (grub_cmd_initrd): Use prot_init_space.
6700
61ac50ba
VS
67012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6704
abdd26dd
VS
67052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * util/grub-install.in: Add missing dot at the end of sentence.
6708
6e69da9c
VS
67092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6712 * grub-core/commands/videotest.c: Likewise.
6713 * grub-core/loader/i386/linux.c: Likewise.
6714
4a929343
VS
67152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6718 sentence.
6719 Reported by: Milo Casagrande.
6720
bb51c6c6
VS
67212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6724 * grub-core/commands/gptsync.c: Likewise.
6725 * grub-core/commands/hashsum.c: Likewise.
6726 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6727 * grub-core/commands/legacycfg.c: Likewise.
6728 * grub-core/io/gzio.c: Likewise.
6729 * grub-core/net/net.c: Likewise.
6730 * grub-core/term/gfxterm.c: Likewise.
6731 * grub-core/term/terminfo.c: Likewise.
6732 * grub-core/tests/test_blockarg.c: Likewise.
6733 * grub-core/video/video.c: Likewise.
6734 * util/grub-install.in: Likewise.
6735 * util/grub-mkfont.c: Likewise.
6736
b2b149cb
VS
67372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6740
c7c080ad
VS
67412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6744 Reported by: David Prévot.
c7c080ad 6745
f2e243c0
VS
67462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6749 description.
6750
09963c76
VS
67512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * util/grub-script-check.c (main): Fix a syntax error message which was
6754 unclear.
6755
a50514a8
VS
67562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6759
4650daec
VS
67602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6763 messages.
6764
67652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6766
6767 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6768 without argument.
6769 * util/grub-mount.c (options): Likewise.
6770
bbc5a342
VS
67712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6774
ef292a87
VS
67752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/net/http.c: Add TRANSLATORS comments.
6778 * grub-core/normal/cmdline.c: Likewise.
6779 * grub-core/normal/misc.c: Likewise.
6780 * grub-core/partmap/msdos.c: Likewise.
6781 * grub-core/parttool/msdospart.c: Likewise.
6782 * grub-core/script/execute.c: Likewise.
6783 * grub-core/script/main.c: Likewise.
6784 * grub-core/term/terminfo.c: Likewise.
6785 * grub-core/video/bitmap.c: Likewise.
6786 * util/grub-install.in: Likewise.
6787 * util/grub-mkimage.c: Likewise.
6788 * util/grub-mklayout.c: Likewise.
6789 * util/grub-setup.c: Likewise.
6790
0fc19bd0
VS
67912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6794 with similar messages in grub-fstest.
6795
d95862ef
VS
67962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/grub-install.in: Unify "option requires an argument" message
6799 with similar messages in other files.
6800 * util/grub-mkconfig.in: Likewise.
6801
b7308f90
VS
68022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * util/grub-set-default.in: Replace printf with gettext_printf (the
6805 string in in question is already translated from grub-reboot)
6806
559dc587
VS
68072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * configure.ac: Bump up the version to beta1.
6810
1a11761f
VS
68112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6814 case when min_align = 0.
6815
24539abd
VS
68162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6819 and fix a case when line_start overflows.
6820
32bd735b
VS
68212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * util/grub-reboot.in (usage): Mention id posibility.
6824 * util/grub-set-default.in (usage): Likewise.
6825
1a2fd1e6
VS
68262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6829 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6830 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6831 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6832 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6833 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6834 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6835
90eeab76
VS
68362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/commands/menuentry.c (options): Remove
6839 GRUB_ARG_OPTION_REPEATABLE.
6840 Reported by: Andreas Vogel
6841
5ad1be82
AV
68422012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6843
6844 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6845
cb055286
HE
68462012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6847
6848 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6849 error.
6850
93b1cd79
VS
68512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 Use sort -V by the idea of Georgi Georgiev.
6854
6855 * util/grub-mkconfig_lib.in (version_sort): New function.
6856 (version_test_numeric): Use version_sort.
6857
0cdc126c
VS
68582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Use submenus in grub-mkconfig.
6861
6862 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6863 * util/grub-mkconfig_lib.in (grub_quote): New function.
6864 (gettext_printf): Use gettext and not gettext_quoted to fix several
6865 messages.
6866 * util/grub.d/10_hurd.in: Use submenus.
6867 * util/grub.d/10_kfreebsd.in: Likewise.
6868 * util/grub.d/10_linux.in: Likewise.
6869 * util/grub.d/10_netbsd.in: Likewise.
6870 * util/grub.d/20_linux_xen.in: Likewise.
6871 * util/grub.d/30_os-prober.in: Likewise.
6872 * util/grub.d/10_illumos.in: Add missing quoting.
6873 * util/grub.d/10_windows.in: Likewise.
6874
d9bef9bc
VS
68752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 Fix menu title instability bug.
6878
6879 * grub-core/commands/menuentry.c (options): New option --id.
6880 (grub_normal_add_menu_entry): New argument id. All users updated.
6881 (grub_cmd_menuentry): Handle --id.
6882 (grub_menu_init): Accept unknown arguments.
6883 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6884 feature_menuentry_options.
6885 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6886 saved_entry.
6887 (get_entry_number): Match with id as well.
6888 * include/grub/menu.h (grub_menu_entry): New member id.
6889 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6890 * util/grub.d/00_header.in: Define menuentry_id_option.
6891 * util/grub.d/10_hurd.in: Define id.
6892 * util/grub.d/10_illumos.in: Likewise.
6893 * util/grub.d/10_kfreebsd.in: Likewise.
6894 * util/grub.d/10_linux.in: Likewise.
6895 * util/grub.d/10_netbsd.in: Likewise.
6896 * util/grub.d/10_windows.in: Likewise.
6897 * util/grub.d/20_linux_xen.in: Likewise.
6898 * util/grub.d/30_os-prober.in: Likewise.
6899
69002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6901
6902 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6903 "scope" with "body".
6904
7c8d0ce7
VS
69052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6908 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6909 prot_size and prot_file_size.
6910
49de079b
VS
69112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6914 All users updated. If easily=1 require raid-5/-6 to be full.
6915 (is_node_readable): Likewise.
6916 (scan_devices): Scan incomplete but readable LVs at the end.
6917 (grub_diskfilter_memberlist): Pull missing devices.
6918 (insert_array): Skip scanning until device is complete or scan is
6919 done otherwise.
6920 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6921 check.
6922 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6923 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6924
aff05d45
MG
69252012-03-03 Matthew Garrett <mjg@redhat.com>
69262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Avoid EFI boot services when loading Linux.
6929
6930 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6931 avoid_efi_bootservices. All users updated.
6932 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6933 argument avoid_efi_bootservices. All users updated.
6934 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6935 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6936 align, min_align, relocatable, prefered_address. All users updated.
6937 Allocate avoiding boot services if kernel is relocatable.
6938 (grub_cmd_linux): Check if kernel is relocatable.
6939 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6940 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6941 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6942 avoid_efi_boot_services.
6943 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6944 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6945 (linux_kernel_params): Likewise.
6946
3935dde2
MG
69472012-03-03 Matthew Garrett <mjg@redhat.com>
69482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Use EDID on EFI.
6951
6952 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6953 datasize_out.
6954 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6955 modes. Set gop_handle.
6956 (grub_video_gop_get_edid): New function.
6957 (grub_gop_get_preferred_mode): Likewise.
6958 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6959 (grub_video_efi_gop_adapter): Set .get_edid.
6960 * include/grub/efi/edid.h: New file.
6961 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6962
32107ec0
VS
69632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * util/grub-install.in: Load efivars unconditionally.
6966
e70a2c50
VS
69672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * po/Rules-piglatin: Change suffix from .po-update-en to
6970 .po-update-en-piglatin.
6971
8f9cace1
VS
69722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 Add a pig farm.
6975
6976 * po/piglatin.sed: New file.
6977 * po/en@piglatin.header: Likewise.
6978 * po/Rules-piglatin: Likewise.
6979 * po/README: Add en@piglatin to autogenerated languages.
6980
8f95d002
VS
69812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6984 "Command for ...".
6985 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6986 "Check" since we don't check anything.
6987 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6988 is 64-bit one.
6989 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6990 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6991 (grub_md_sha512_real): Likewise.
6992
805a8dcc
VS
69932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/commands/gptsync.c: Fix typographic quoting.
6996 * grub-core/commands/ieee1275/suspend.c: Likewise.
6997 * grub-core/commands/parttool.c: Likewise.
6998 * grub-core/commands/search_wrap.c: Likewise.
6999 * grub-core/commands/videoinfo.c: Likewise.
7000 * grub-core/gfxmenu/gui_label.c: Likewise.
7001 * grub-core/hello/hello.c: Likewise.
7002 * grub-core/kern/emu/main.c: Likewise.
7003 * grub-core/net/net.c: Likewise.
7004 * grub-core/normal/menu.c: Likewise.
7005 * grub-core/normal/menu_text.c: Likewise.
7006 * grub-core/normal/misc.c: Likewise.
7007 * util/grub-editenv.c: Likewise.
7008 * util/grub-install.in: Likewise.
7009 * util/grub-kbdcomp.in: Likewise.
7010 * util/grub-mkconfig.in: Likewise.
7011 * util/grub-mknetdir.in: Likewise.
7012 * util/grub-mkrescue.in: Likewise.
7013 * util/grub-mkstandalone.in: Likewise.
7014 * util/grub-reboot.in: Likewise.
7015 * util/grub-set-default.in: Likewise.
7016 * util/grub-setup.c: Likewise.
7017 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7018
40211ab8
VS
70192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7022 * grub-core/commands/keystatus.c: Likewise.
7023 * grub-core/commands/loadenv.c: Likewise.
7024 * grub-core/commands/probe.c: Likewise.
7025 * grub-core/commands/regexp.c: Likewise.
7026 * grub-core/commands/true.c: Likewise.
7027 * grub-core/commands/videoinfo.c: Likewise.
7028 * grub-core/disk/cryptodisk.c: Likewise.
7029 * grub-core/disk/ldm.c: Likewise.
7030 * grub-core/disk/loopback.c: Likewise.
7031 * grub-core/disk/luks.c: Likewise.
7032 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7033 * grub-core/kern/disk.c: Likewise.
7034 * grub-core/kern/emu/hostdisk.c: Likewise.
7035
0c7d99c7
VS
70362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7039 * util/grub-install.in: Add missing quote in the comment.
7040
e7d2559b
VS
70412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7044 * grub-core/commands/lsmmap.c: Likewise.
7045 * grub-core/commands/minicmd.c: Likewise.
7046 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7047 * grub-core/commands/regexp.c: Likewise.
7048 * grub-core/gdb/gdb.c: Likewise.
7049 * grub-core/term/gfxterm.c: Likewise.
7050 * util/grub-mkconfig.in: Likewise.
7051 * util/grub-mkfont.c: Likewise.
7052 * util/grub-mklayout.c: Likewise.
7053 * util/grub-mknetdir.in: Likewise.
7054 * util/grub-mkrescue.in: Likewise.
7055 * util/grub.d/30_os-prober.in: Likewise.
7056
49ce9e50
VS
70572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7060 with "Direct color" and "Packed" with "Packed pixel".
7061 (grub_cmd_videoinfo): Simplify legend.
7062
e4b791fa
VS
70632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7066 absolutely unclear error message.
7067
fd1265cb
VS
70682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * util/grub-mkstandalone.in: Remove confusing leftover print.
7071
8822a8a0
VS
70722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7075 comments.
7076 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7077 (GRUB_MOD_INIT): Likewise.
7078 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7079 VGA mode.
7080 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7081 comments.
7082 * util/grub-install.in (usage): Likewise.
7083 Spell ID in whole letters.
7084 Add missing ending dot.
7085 Quote variables.
7086 * util/grub-reboot.in: Fix capitalisation.
7087 * util/grub-set-default.in: Likewise.
7088
937fd0cc
VS
70892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7092 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7093 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7094 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7095 Disable -Werror for -Wdeprecated-declarations.
7096 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7097 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7098 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7099 (grub_util_get_grub_dev): Make luks handling dependent on
7100 HAVE_DEVICE_MAPPER and not __linux__.
7101 (get_win32_path): Fix format security.
7102 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7103 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7104 Don't try grub_find_zpool_from_dir.
7105 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7106 #ifdef-out paresdir.
7107
1bab1ae3
VS
71082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * util/grub-pe2elf.c (usage): Add missing noreturn.
7111 (write_section_data): Rename name to shname to avoid shadowing.
7112 (write_symbol_table): Rename name to symname to avoid shadowing.
7113 Fix write_reloc_section call.
7114
ef023e42
VS
71152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7118 to ensure that it's after the last byte of .text.
7119
48afcb75
VS
71202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * util/ieee1275/ofpath.c (my_isdigit): New function.
7123 (trailing_digits): Use my_isdigit.
7124 (strip_trailing_digits): Likewise.
7125
88d51eff
VS
71262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7129 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7130
17edc2ba
VS
71312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/kern/i386/pc/startup.S: Define __start.
7134
ad5518d7
VS
71352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7138 strip already transforms he format.
7139
9e95e1bf
VS
71402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7143
9cc3ee5c
VS
71442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * util/grub-install.in: Add missing gettext init.
7147 * util/grub-kbdcomp.in: Likewise.
7148 * util/grub-mkconfig.in: Likewise.
7149 * util/grub-mknetdir.in: Likewise.
7150 * util/grub-mkrescue.in: Likewise.
7151 * util/grub-mkstandalone.in: Likewise.
7152 * util/grub-reboot.in: Likewise.
7153 * util/grub-set-default.in: Likewise.
7154 * util/grub.d/00_header.in: Likewise.
7155 * util/grub.d/10_hurd.in: Likewise.
7156 * util/grub.d/10_windows.in: Likewise.
7157 * util/grub.d/30_os-prober.in: Likewise.
7158 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7159
49e08a06
VS
71602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * po/Rules-swiss: Fix header comment.
7163
3809cb41
AV
71642012-02-29 Andreas Vogel <anvoit>
7165
7166 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7167 resulted in leak of arguments.
7168
fa6ec573
VS
71692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7172 reed_solomon_size const definition instead of computing it since
7173 Apple assembler doesn't support the later.
7174
22899b9c
VS
71752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * gentpl.py (kernel): Rewrite Apple part.
7178
a132afc3
VS
71792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7182
9d742bd4
VS
71832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7186 ELF section gap.
7187 (load_image): Likewise.
7188
f04a9a21
VS
71892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * configure.ac: Fix a typo in previous commit.
7192
46cf439c
VS
71932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Don't add -Wl,-N on Apple platform.
7196
7197 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7198 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7199
c4c48c54
VS
72002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * grub-core/Makefile.core.def (lzma_decompress): Use
7203 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7204
31a12124
VS
72052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/genmod.sh.in: Rewrite the Apple part.
7208
4f3aa1af
VS
72092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7212 comparison.
7213
7bd8b0c7
VS
72142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * acinclude.m4 (grub_CHECK_PIC): New test.
7217 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7218
97304d7c
VS
72192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7222 to avoid the warning.
7223
fb883812
VS
72242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7227 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7228 after. All users updated.
7229
a121c964
VS
72302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Use the common size routine in hostfs so we can read disks as well.
7233
7234 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7235 (grub_util_get_fd_size): ... this. Return size in bytes.
7236 All users updated.
7237 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7238 grub_util_get_fd_size.
7239
c66d6410
VS
72402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7243 Add blocksize retrieval.
7244
dfc8aeb0
VS
72452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * configure.ac: Restore CFLAGS after efiemu check.
7248
403e25a5
VS
72492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7252 Apple bug.
7253
382775d1
VS
72542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7257
6fd4e6e4
VS
72582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7261 (grub_cmd_halt): Likewise.
7262
bea359d6
VS
72632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7266 for local arithmetics.
7267 Break %sp init into 2 instructions.
7268 Add 0 byte at the end.
7269
32eb6ee1
VS
72702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7273 before loops.
7274
e8377389
VS
72752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7278 for context.
7279
8cb17de7
VS
72802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/disk/ldm.c (make_vg): Init part.name.
7283 (grub_ldm_detect): Silence spurious warning.
7284 (grub_util_is_ldm): Likewise.
7285
595717e6
VS
72862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7289 sane value to avoid a spurious warning.
7290
c4b7e588
VS
72912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7294 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7295
59824957
VS
72962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7299 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7300
70115b99
VS
73012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7304 hardcoding the relevant info.
7305
56733740
VS
73062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7309 missing const qualifiers.
7310 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7311
43481481
VS
73122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * util/getroot.c [__APPLE__]: Add missing includes.
7315 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7316
3cb38f01
VS
73172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7320
d9dbf11e
VS
73212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7324 avoid conflicts.
7325
0c42a45d
VS
73262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7329
46c34eb0
VS
73302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7333 and grub_file_close call.
7334
99ce1597
VS
73352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Add LZSS Mach-O support (needed for new xnu kernelcache).
7338
7339 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7340 * grub-core/loader/lzss.c: New file.
7341 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7342 on Mach-O open failure.
7343 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7344 Don't free cmdsXX in uncompressedXX is set.
7345 (grub_macho_file): Init new fields.
7346 New argument is_64bit. All users updated.
7347 Handle compressed. Error out if no suitable architecture is found.
7348 Don't close file.
7349 (grub_macho_open): New argument is_64bit. All users updated.
7350 * grub-core/loader/macho32.c: Add defines for new fields.
7351 * grub-core/loader/macho64.c: Likewise.
7352 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7353 (grub_macho_parse): Handle compressed.
7354 Defer actual processing if compressed.
7355 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7356 "filename". All users updated.
7357 (grub_macho_size): New argument "filename". All users updated.
7358 (grub_macho_get_entry_point): Likewise.
7359 (grub_macho_load): Handle compressed.
7360 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7361 (GRUB_MACHO_LZSS_OFFSET): New define.
7362 (grub_decompress_lzss): New proto.
7363 * include/grub/machoload.h (grub_macho_file): New fields to handle
7364 compressed.
7365 (grub_macho_contains_macho64): Remove proto.
7366 (grub_macho_contains_macho32): Likewise.
7367 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7368
ebd17d6f
VS
73692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7372
2702b4e4
VS
73732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 Fix make dist.
7376
7377 * Makefile.am (starfield_theme_files): New var.
7378 (starfield_DATA): Use starfield_theme_files.
7379 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7380 Add bootcheck-related files.
7381 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7382 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7383 and font_char_metrics.txt.
7384 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7385 (setjmp): Add lib/ia64/longjmp.S.
7386 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7387 * po/POTFILES.in: Regenerate.
7388 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7389 DISTFILES.common.extra1.
7390 * util/devicemap.c: Removed.
7391 * grub-core/lib/i386/relocator_backward.S: Likewise.
7392 * util/import_gcry.py: Remove unused files. Add extra_dist for
7393 ChangeLog.
7394
cf1adfdf
VS
73952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7398 grub_gettext_delete_list before changing grub_gettext_max to avoid
7399 running out of array bounds.
7400
74012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7402
7403 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7404 grub_vga_text_init/grub_vga_text_fini.
7405
cf1adfdf 74062012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7407
7408 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7409
541d92e9
VS
74102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * configure.ac: Bump to 2.00~beta0.
7413
7931dddf
VS
74142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7417 missing initialisation.
7418
f1b16fa3
VS
74192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7422
83ddae23
VS
74232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 Support v2 xnu boot arguments.
7426
7427 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7428 New argument fsbfreq_out.
7429 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7430 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7431 be used.
7432 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7433 darwin_version.
7434 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7435 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7436 (grub_xnu_boot_params): Rename to ...
7437 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7438 (grub_xnu_boot_params_v2): New struct.
7439
dc693fe6
VS
74402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7443 zeroing of CRC field before computing CRC.
7444
5a6e39c2
VS
74452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7448 Change order of allocations to decrease fragmentation.
7449
6c21f5d7
VS
74502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7453
cfe456dc
CW
74542012-02-27 Colin Watson <cjwatson@ubuntu.com>
7455
7456 Use write-combining MTRR to speed up video with buggy BIOSes.
7457
7458 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7459 (cpuid): New define.
7460 (rdmsr): Likewise.
7461 (wrmsr): Likewise.
7462 (mtrr_base): Likewise.
7463 (mtrr_mask): Likewise.
7464 (grub_vbe_enable_mtrr_entry): New function.
7465 (grub_vbe_enable_mtrr): Likewise.
7466 (grub_vbe_disable_mtrr): Likewise.
7467 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7468 control off to BIOS.
7469 (grub_video_vbe_init): Fill mtrr.
7470 (grub_video_vbe_fini): Disable mtrr.
7471 (grub_video_vbe_get_info_and_fini): Likewise.
7472 (grub_video_vbe_setup): Enable mtrr.
7473
e3c78337
CW
74742012-02-27 Colin Watson <cjwatson@ubuntu.com>
7475
7476 * include/grub/partition.h (grub_partition_map): Change prototype of
7477 embed to take a maximum value for nsectors.
7478 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7479 * include/grub/fs.h (grub_fs): Likewise.
7480 * grub-core/partmap/msdos.c (embed_signatures): New array.
7481 (pc_partition_map_embed): Check for and avoid sectors matching any
7482 of the signatures in embed_signatures, up to max_nsectors.
7483 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7484 returned sector map to max_nsectors.
7485 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7486 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7487 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7488 * util/grub-setup.c (setup): Allow for the embedding area being
7489 split into multiple blocklists. Tell dest_partmap->embed the
7490 maximum number of sectors we care about.
7491
74922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7495 Specify blocklist_install and reserver_first_sector for all fs.
7496 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7497 blocklists.
7498
984b973f
VS
74992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * util/grub-install.in: Clarify strings.
7502 Fix source dir check.
7503
f122e0d6
RL
75042012-02-27 Richard Laager <rlaager@wiktel.com>
7505
7506 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7507 "zfs" and "fuse.zfs" as synonyms.
7508
071114bb
VS
75092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * configure.ac: Put platform and target_cpu substitutions back since
7512 they are used for directories.
7513
817e6abc
RL
75142012-02-27 Richard Laager <rlaager@wiktel.com>
75152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7518 * util/grub.d/20_linux_xen.in: Likewise.
7519
897b7419
RL
75202012-02-27 Richard Laager <rlaager@wiktel.com>
7521
7522 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7523 with full paths.
7524
a414bd15
RL
75252012-02-27 Richard Laager <rlaager@wiktel.com>
7526
7527 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7528 unescape.
7529
30ac48c4
VS
75302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 Don't use insecure popen in getroot.
7533
7534 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7535 (exec_pipe): ... here.
7536 (find_root_devices_from_poolname): Use exec_pipe.
7537
53f13848
VS
75382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 Remove platform and target_cpu replacement.
7541
7542 * configure.ac: Remove platform and target_cpu substitutions.
7543 * tests/util/grub-shell.in: Use modinfo.
7544 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7545 explicitly.
7546
90cb2803
VS
75472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Autodetect platform in grub-install but allow override.
7550
7551 * util/grub-install.in: Autodetect platform. Support --target and
7552 --directory. Read platform from modinfo.sh.
7553
b9136427
VS
75542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 Support btrfs multi-volume probe.
7557
7558 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7559 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7560 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7561 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7562 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7563 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7564 grub_find_root_devices_from_btrfs if on btrfs.
7565
c36e5cd1
VS
75662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 Remove any awareness of *.c util files about target.
7569
7570 * Makefile.util.def (grub-setup): Split to ...
7571 (grub-bios-setup): ... and this.
7572 (grub-sparc64-setup): ... and this.
7573 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7574 * docs/man/grub-setup.h2m: Split into ...
7575 * docs/man/grub-sparc64-setup.h2m: ... this.
7576 * docs/man/grub-bios-setup.h2m: ... and this.
7577 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7578 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7579 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7580 (grub_target_addr_t): Remove.
7581 (grub_target_size_t): Remove.
7582 (grub_target_ssize_t): Remove.
7583 * util/grub-install.in: Use new grub-*-setup.
7584 * util/grub-mkimagexx.c (Elf_Word): New define.
7585 (Elf_Half): Likewise.
7586 (Elf_Section): Likewise.
7587 (ELF_ST_TYPE): Likewise.
7588 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7589 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7590
584b2f8a
VS
75912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Replace grub_target_addr with more appropriate types.
7594
7595 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7596 grub_target_addr with grub_addr.
7597 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7598 grub_target_addr with grub_port.
7599 (grub_cmd_write): Likewise.
7600 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7601 grub_target_addr with grub_addr.
7602 (grub_cmd_write): Likewise.
7603 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7604
5a0dc6fb
VS
76052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7608 const qualifier for vendor_guid.
7609
786aff6e
VS
76102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7613 const qualifier.
7614 (efiemu_memequal): Likewise.
7615 (find_variable): Likewise.
7616
49017b17
VS
76172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 Fix missing console prototype on qemu-mips.
7620
7621 * include/grub/mips/qemu_mips/console.h: New file.
7622
c5988629
MG
76232012-02-27 Matthew Garrett <mjg@redhat.com>
76242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7627 * include/grub/efi/efi.h: Likewise.
7628 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7629 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7630 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7631 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7632 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7633 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7634
e33f8d69
MG
76352012-02-27 Matthew Garrett <mjg@redhat.com>
7636
7637 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7638
fb312cd9
VS
76392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7642 error.
7643
7134247c
VS
76442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * configure.ac: Remove inappropriate use of program_transform_name
7647 on grubdir and bootdir but allow explicit specification of those
7648 variables.
7649
6a313124
VS
76502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * util/grub-mknetdir.in (grub_prefix): Removed.
7653 (subdir): Use @bootdirname@ and @grubdirname@.
7654
2311c5ca
VS
76552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7658
7d5d60f7
VS
76592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * po/POTFILES.in: Regenerated.
7662
8151bc82
VS
76632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 Remove improper use of program_transform_name on pkglibrootdir.
7666
7667 * configure.ac (pkglibrootdir): Removed.
7668 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7669 * util/grub-mkimage.c: Likewise.
7670
b4a6a533
VS
76712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7674 warning.
7675
668f304f
VS
76762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * util/grub-install.in: Use file identifier if no UUID is available
7679 or user explicitly prompted for it.
7680
665f2341
NP
76812012-02-27 Navdeep Parhar <nparhar@gmail.com>
7682
7683 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7684 (freebsd_get_zfs): New function.
7685 (grub_freebsd_boot): Pass zfs UUID.
7686 (grub_cmd_freebsd): Set zfs UUID.
7687
8151bc82 76882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7689
7690 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7691 pkglibrootdir.
7692
e4c498a1
MG
76932012-02-27 Mike Gilbert <floppym@gentoo.org>
7694
7695 Add configure flag to control libzfs integration.
7696
7697 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7698
1e9a9a3f
VS
76992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7702 device.
7703 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7704 small devices.
7705
036985b8
VS
77062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7709 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7710 be used on non-modules.
7711
7712 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7713 Rename to grub_boot_init.
7714 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7715 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7716 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7717 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7718 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7719 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7720 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7721 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7722 includes.
7723 (grub_machine_init): Remove empty inits.
7724 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7725 includes.
7726 (grub_machine_init): Remove empty inits.
7727 * grub-core/term/arc/console.c: Remove explicit proto.
7728 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7729 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7730 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7731 grub_at_keyboard_fini.
7732 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7733 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7734 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7735 grub_gfxterm_fini.
7736 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7737 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7738 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7739 grub_vgatext_fini.
7740 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7741 * grub-core/term/serial.c (GRUB_MOD_INIT)
7742 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7743 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7744 grub_serial_fini.
7745 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7746 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7747 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7748 grub_terminfo_fini.
7749 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7750 (GRUB_MOD_FINI): Likewise.
7751 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7752 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7753 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7754 grub_video_radeon_fuloong2e_fini.
7755 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7756 [LOONGSON]: Rename to grub_video_sis315pro_init.
7757 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7758 grub_video_sis315pro_fini.
7759 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7760 [LOONGSON]: Rename to grub_video_sm712_init.
7761 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7762 grub_video_sm712_fini.
7763 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7764 (grub_at_keyboard_fini): Likewise.
7765 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7766 Don't declare grub_{modname}_init.
7767 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7768 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7769 New proto.
7770 (grub_keylayouts_fini) [!EMU]: Likewise.
7771 * include/grub/serial.h (grub_serial_init) [!EMU]:
7772 New proto.
7773 (grub_serial_fini) [!EMU]: Likewise.
7774 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7775 New proto.
7776 (grub_terminfo_fini) [!EMU]: Likewise.
7777 * include/grub/video.h (grub_font_init) [!EMU]:
7778 New proto.
7779 (grub_font_fini) [!EMU]: Likewise.
7780 (grub_gfxterm_init) [!EMU]: Likewise.
7781 (grub_gfxterm_fini) [!EMU]: Likewise.
7782 (grub_video_sm712_init) [!EMU]: Likewise.
7783 (grub_video_sm712_fini) [!EMU]: Likewise.
7784 (grub_video_sis315pro_init) [!EMU]: Likewise.
7785 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7786 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7787 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7788
d5534665
VS
77892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 Make nand a prefix for nand devices.
7792
7793 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7794
10133b5f
VS
77952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7798 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7799
8e307a62
VS
78002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * include/grub/env.h (grub_env_find): Remove prototype.
7803 * grub-core/kern/env.c (grub_env_find): Make static.
7804 (grub_env_set): Remove useless set.
7805
a4c65f34
VS
78062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * grub-core/kern/i386/realmode.S: Remove useless align.
7809
d87893d5
VS
78102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * include/grub/dl.h (grub_dl_load_file): Don't export.
7813
50159add
VS
78142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7817 grub_dprintf.
7818
b2582b84
VS
78192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7822 grub_errors.
7823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7824 not reloading whole superblock but only the part which is really needed.
7825 Remove useless grub_errors.
7826 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7827 grub_errors.
7828
e2a83395
VS
78292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Don't export grub_get_rtc.
7832
7833 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7834 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7835
e7d2a906
VS
78362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7839
6cf1363b
VS
78402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7843 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7844
eece3349
VS
78452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Remove prio_list.
7848
7849 * include/grub/list.h (grub_prio_list): Removed.
7850 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7851 GRUB_COMMAND_PRIO_MASK.
7852 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7853 GRUB_COMMAND_FLAG_ACTIVE.
7854 (grub_prio_list_insert): Removed.
7855 (grub_prio_list_remove): Likewise.
7856 (GRUB_AS_PRIO_LIST): Likewise.
7857 (GRUB_AS_PRIO_LIST_P): Likewise.
7858 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7859 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7860 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7861 * grub-core/kern/command.c (grub_register_command_prio): Inline
7862 the prio_list code.
7863 (grub_unregister_command): Likewise.
7864
94f064b4
VS
78652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Fix interrupt mixup from previous commit.
7868
7869 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7870 (grub_realidt): New var.
7871 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7872 Load idt.
7873 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7874 New declaration.
7875 (grub_relocator16_boot): Set grub_relocator16_idt.
7876 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7877 (LOCAL(realidt)): ... this.
7878 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7879 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7880 (grub_realidt): New variable.
7881
27317084
VS
78822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7885 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7886 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7887 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7888 Gettextize.
7889 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7890 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7891 * po/POTFILES.in: Regenerate.
7892
47b40053
VS
78932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7896 errors.
7897
2b343101
VS
78982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7901 \0.
7902 (add_length): Likewise.
7903
ff27c3dd
LK
79042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
79052012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7906
7907 GDB serial and backtrace support.
7908
7909 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7910 (prot_to_real): Likewise.
7911 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7912 * grub-core/Makefile.core.def (backtrace): New module.
7913 (gdb): Likewise.
7914 * grub-core/gdb/cstub.c: New file.
7915 * grub-core/gdb/gdb.c: Likewise.
7916 * grub-core/gdb/i386/idt.c: Likewise.
7917 * grub-core/gdb/i386/machdep.S: Likewise.
7918 * grub-core/gdb/i386/signal.c: Likewise.
7919 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7920 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7921 * include/grub/backtrace.h: Likewise.
7922 * include/grub/gdb.h: Likewise.
7923 * include/grub/i386/gdb.h: Likewise.
7924
79252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7926
7927 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7928 New function.
7929 (add_length): Likewise.
7930 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7931 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7932 proto.
7933 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7934 __argp_get_display_len.
7935
ff27c3dd 79362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7937
7938 $"..." support in scripts.
7939
7940 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7941 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7942 * grub-core/script/yylex.l: Likewise.
7943 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7944 value.
7945
ff27c3dd 79462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7947
7948 * gentpl.py: Remove obsolete pkglib_DATA handling.
7949
ff27c3dd 79502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7951
7952 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7953 mailing list.
7954
7955 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7956 * util/grub-kbdcomp.in: Likewise.
7957 * util/grub-mkconfig.in: Likewise.
7958 * util/grub-mkconfig_lib.in: Likewise.
7959 * util/grub-mknetdir.in: Likewise.
7960 * util/grub-mkrescue.in: Likewise.
7961 * util/grub-mkstandalone.in: Likewise.
7962 * util/grub-reboot.in: Likewise.
7963 * util/grub-set-default.in: Likewise.
7964 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7965
ff27c3dd 79662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7967
7968 Remove GRUB_PREFIX.
7969
7970 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7971 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7972 used for backward compatibility.
7973
ff27c3dd 79742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7975
7976 Add new all_video module.
7977
7978 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7979 * grub-core/Makefile.core.def (all_video): New module.
7980 * grub-core/genmoddep.awk: Generate dependency of all_video from
7981 video.lst.
7982 * grub-core/lib/fake_module.c: New file.
7983 * grub-core/normal/main.c (features): Add feature_all_video_module.
7984 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7985 don't do explicit search again.
47454da5 7986 insmod all_video in load_video if available.
22c7ce85 7987
ff27c3dd 79882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7989
7990 Another round of string clarification and adding TRANSLATORS comments.
7991
ff27c3dd 79922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7993
7994 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7995
ff27c3dd 79962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7997
7998 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7999 to grub_ssize_t.
8000 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8001 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8002
ff27c3dd 80032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8004
8005 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8006 trailing newline implicitly. All users updated.
8007
ff27c3dd 80082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8009
8010 Implement serial on IEEE1275 and EFI.
8011
8012 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8013 on emu. Mention arc and emu as the only platforms without serial
8014 support.
8015 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8016 ieee1275 platforms.
8017 * grub-core/term/efi/serial.c: New file.
8018 * grub-core/term/ieee1275/serial.c: Likewise.
8019 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8020 specification if no ns8250 driver is available.
8021 (grub_cmd_serial): Likewise.
8022 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8023 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8024 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8025 (grub_efi_parity_type_t): New type.
8026 (grub_efi_stop_bits_t): Likewise.
8027 (grub_efi_serial_io_interface): New struct.
8028 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8029 available for all interfaces.
8030 Add EFI and IEEE1275 fields.
8031 (grub_ofserial_init): New proto.
8032 (grub_efiserial_init): Likeiwse.
8033 * util/grub.d/00_header.in: Don't check for the presence of serial
8034 module.
8035
ff27c3dd 80362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8037
8038 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8039 name as if it was an alias.
8040
114076ef
VS
80412012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/commands/lsacpi.c (options): Fix typo.
8044
6a656b0e
VS
80452012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Convert grub-emu to argp.
8048
8049 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8050 emu.
8051 * util/argp_common.c: Rename to ...
8052 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8053 Add missing includes.
8054 * grub-core/kern/emu/main.c: Convert to argp.
8055 * po/POTFILES.in: Regenerate.
8056 * util/grub-install.in (usage): Make first letter lowcase in messages
8057 for uniformity.
8058 * util/grub-setup.c (options): Likewise.
8059
1e3f8ae8
VS
80602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8063 Put back accidently commented-out code.
8064
ed167a80
VS
80652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8068 loop check using Brent algorithm.
8069 (grub_hfsplus_btree_search): Likewise.
8070
6753c0ec
VS
80712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * util/grub-install.in: Fix usage of wrong device for PreP install.
8074
4e27343f
VS
80752012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * conf/Makefile.common (CFLAGS_GNULIB): Add
8078 -Wno-unsafe-loop-optimizations.
8079 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8080 on tools.
8081 * grub-core/commands/legacycfg.c: Add pragma to skip
8082 -Wunsafe-loop-optimizations.
8083 (check_password_md5_real): Fix loop counter type.
8084 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8085 reading.
8086 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8087 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8088 loop condition.
8089 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8090 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8091 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8092 condition.
8093 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8094 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8095 avoid possible infinite loops.
8096 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8097 and -Wunsafe-loop-optimizations.
8098 * grub-core/script/yylex.l: Likewise.
8099 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8100 (print_glyphs): Avoid infinite loops.
8101 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8102
697f18b0
GS
81032012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8104
8105 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8106 to avoid infinite loop.
8107 (disp_acpi_rsdt_table): Likewise.
8108
274416e8
VS
81092012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * grub-core/font/font.c (grub_font_load): Add support for default
8112 path for fonts ($prefix/fonts).
8113 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8114 for checking if string is a path.
8115 * grub-core/normal/main.c (features): Add feature_default_font_path.
8116 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8117 * util/grub.d/00_header.in: Use default directory if possible.
8118 * util/grub-install.in: Install unicode.pf2.
8119
b3e08622
VS
81202012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8123 * po/Rules-swiss: New file.
8124 * po/swiss.sed: Likewise.
8125
fe42ce09
VS
81262012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/fs/btrfs.c (find_device): Fix typos.
8129 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8130 * util/grub-mkrelpath.c (argp_parser): Likewise.
8131 Reported by: Yuri Chornoivan.
8132
72f1d065
DO
81332012-02-23 Dalet Omega <daletomega@gmail.com>
8134
8135 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8136 for usual informative messages.
8137
c5884973
DO
81382012-02-23 Dalet Omega <daletomega@gmail.com>
8139
8140 Starfield theme.
8141
8142 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8143 * conf/Makefile.common: Define starfielddir.
8144 * configure.ac: Configure starfield.
8145 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8146 * themes/starfield/README: Likewise.
8147 * themes/starfield/blob_w.png: Likewise.
8148 * themes/starfield/boot_menu_c.png: Likewise.
8149 * themes/starfield/boot_menu_e.png: Likewise.
8150 * themes/starfield/boot_menu_n.png: Likewise.
8151 * themes/starfield/boot_menu_ne.png: Likewise.
8152 * themes/starfield/boot_menu_nw.png: Likewise.
8153 * themes/starfield/boot_menu_s.png: Likewise.
8154 * themes/starfield/boot_menu_se.png: Likewise.
8155 * themes/starfield/boot_menu_sw.png: Likewise.
8156 * themes/starfield/boot_menu_w.png: Likewise.
8157 * themes/starfield/slider_c.png: Likewise.
8158 * themes/starfield/slider_n.png: Likewise.
8159 * themes/starfield/slider_s.png: Likewise.
8160 * themes/starfield/src/blob_nw.xcf: Likewise.
8161 * themes/starfield/src/bootmenu/: Likewise.
8162 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8163 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8164 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8165 * themes/starfield/src/slider_c.xcf: Likewise.
8166 * themes/starfield/src/slider_n.xcf: Likewise.
8167 * themes/starfield/src/slider_s.xcf: Likewise.
8168 * themes/starfield/src/terminalbox/: Likewise.
8169 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8170 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8171 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8172 * themes/starfield/starfield.png: Likewise.
8173 * themes/starfield/terminal_box_c.png: Likewise.
8174 * themes/starfield/terminal_box_e.png: Likewise.
8175 * themes/starfield/terminal_box_n.png: Likewise.
8176 * themes/starfield/terminal_box_ne.png: Likewise.
8177 * themes/starfield/terminal_box_nw.png: Likewise.
8178 * themes/starfield/terminal_box_s.png: Likewise.
8179 * themes/starfield/terminal_box_se.png: Likewise.
8180 * themes/starfield/terminal_box_sw.png: Likewise.
8181 * themes/starfield/terminal_box_w.png: Likewise.
8182 * themes/starfield/theme.txt: Likewise.
8183
17d73325
VS
81842012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * util/grub.d/00_header.in: Add missing export theme.
8187
dbebaf92
VS
81882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8191 already included.
8192 Reported by: Eren D.
8193
3d68bffb
VS
81942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * conf/Makefile.common (grubdatadir): Removed.
8197 (Makefile.am): Move eveything grubdata to pkgdata.
8198
4b59234d
VS
81992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/commands/acpihalt.c (get_sleep_type):
8202 Remove unused variable.
8203
463dcadc
VS
82042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8207 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8208 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8209 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8210 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8211 i18n with gettext no-op.
8212 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8213 GRUB_ACPI_OPCODE_STRING_CONST.
8214 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8215 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8216
e5b90c82
VS
82172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * po/POTFILES.in: Regenerate.
8220
2a704ca9
VS
82212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8224 -Wno-error=missing-noreturn.
8225
84f9d341
VS
82262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8229 condition to avoid possibly infinite loops.
8230 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8231 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8232
d46683f9
VS
82332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8236 condition to avoid possibly infinite loops.
8237
c44866b2
VS
82382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8241 on show_error.
8242
96790539
VS
82432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8246
1ba7e295
VS
82472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8250
21ffe8f1
VS
82512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * util/bin2h.c (usage): Add missing attribute noreturn.
8254
0ccb6b3c
VS
82552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8258 if the size isn't divisible by 512.
8259
b00d7fb6
VS
82602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 Make list_push and list_remove functions rather than inline functions
8263 to decrease size and avoid aliasing violations.
8264
8265 * include/grub/list.h (grub_list_push): Move to ...
8266 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8267 * include/grub/list.h (grub_list_remove): Move to ...
8268 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8269
9d369087
VS
82702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8273 and -Wunused-result.
8274
af0250d9
VS
82752012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8278 Reported by: Seth Goldberg
8279
aad32b14
VS
82802012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8283
ac96441c
ST
82842012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8285
8286 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8287 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8288 command line.
8289 * docs/grub.texi (Simple configuration): Document
8290 GRUB_CMDLINE_GNUMACH.
8291
82922012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8293
8294 * conf/Makefile.common (platform_SCRIPTS): New variable.
8295 (platform_PROGRAMS): Likewise.
8296 * gentpl.py: Mark *,module and *.image for install.
8297 * grub-core/gdb_grub.in: Add a notice of expected environment.
8298 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8299 (gmodule.pl): Likewise.
8300
ac96441c 83012012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8302
8303 Replace grub_checkkey with grub_getkey_noblock.
8304
8305 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8306 (grub_getkey_noblock): ... this. All users updated.
8307
ac96441c 83082012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8309
8310 * grub-core/kern/emu/console.c: Move to ...
8311 * grub-core/term/emu/console.c: ...here.
8312 (grub_ncurses_getkey): Fix return value if no key is detected.
8313
e51b5666
VS
83142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8317 (grub_unit_test_fini): Likewise.
8318 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8319
83202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * include/grub/test.h (GRUB_UNIT_TEST)
8323
d9a62292
VS
83242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8327 Better error handling.
8328 (grub_script_return): Likewise.
8329 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8330
77c9182f
VS
83312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8334 rimplicit redifinition.
8335
edb13cf9
VS
83362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8339 GRUB.
8340
a9e9dc7c
VS
83412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8344 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8345 prompt here.
8346
b4ba8e02
VS
83472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8350 as GRUB_ERR_BUG. Don't malloc if no device is available.
8351
dded5540
VS
83522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8355 Mark calling with invalid term as GRUB_ERR_BUG.
8356
0cf69874
VS
83572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8360 packets rather than raising an error.
8361
59bfe502
VS
83622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8365 in if.
8366
db5fc596
VS
83672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8370 diagnostic to dprintf.
8371 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8372
e4b7f404
VS
83732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8376 device name.
8377
e7b02f9e
VS
83782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8381 (grub_ntfs_iterate_dir): Likewise.
8382
0331e102
VS
83832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 Efiemu stylistic fixes and gettext.
8386
8387 * grub-core/efiemu/i386/loadcore32.c
8388 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8389 * grub-core/efiemu/i386/loadcore64.c
8390 (grub_arch_efiemu_relocate_symbols64): Likewise.
8391 * grub-core/efiemu/i386/pc/cfgtables.c
8392 (grub_machine_efiemu_init_tables): Likewise.
8393 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8394 (grub_efiemu_loadcore_initXX): Add a filename argument.
8395 All users updated.
8396 Improved error message.
8397 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8398 Add a filename argument.
8399 All users updated.
8400 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8401 Reclassify double relocation as GRUB_ERR_BUG.
8402
306fc074
VS
84032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8406 handling.
8407
794d8ef2
VS
84082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8411 on partition.
8412
84132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8414
8415 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8416
794d8ef2 84172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8418
8419 Improve string. Gettextize.
8420
78dde88e
VS
84212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8424 utils.
8425 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8426
4786a90f
VS
84272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8430 [GRUB_UTIL]: New function.
8431 (insert_array) [GRUB_UTIL]: Store partmaps.
8432 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8433 partmaps.
8434 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8435 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8436 (probe_abstraction): Print diskfilter and not raid.
8437 Reported by: Lennart Sorensen
8438
0b6225bd
VS
84392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8442 * util/grub-mkimagexx.c (MASK3): New define.
8443 (add_value_to_slot_20b): Use MASK3.
8444 (add_value_to_slot_21): Likewise.
8445 (relocate_addresses): Fix format specification.
8446 (load_image): Explicitly init symtab_section.
8447
b055f8f6
VS
84482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8451 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8452
b77c2fb7
VS
84532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8456 on powerpc.
8457 Reported by: Lennart Sorensen
8458
e3ec28ab
VS
84592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * gentpl.py: Add missing license header.
8462 * docs/grub.texi: Update copyright year.
8463
c8d9ead6
GS
84642012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8465
8466 Source grub-mkconfig_lib from the build directory at build time.
8467 Suggested by: Vladimir Serbinenko.
8468
8469 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8470 * util/grub-install.in: Define pkgdatadir if not already set, and source
8471 grub-mkconfig_lib from there.
8472 * util/grub-kbdcomp.in: Likewise.
8473 * util/grub-mkconfig.in: Likewise.
8474 * util/grub-mknetdir.in: Likewise.
8475 * util/grub-mkrescue.in: Likewise.
8476 * util/grub-mkstandalone.in: Likewise.
8477 * util/grub-reboot.in: Likewise.
8478 * util/grub-set-default.in: Likewise.
8479 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8480
ebcecdf1
VS
84812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 Increase warning level.
8484
8485 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8486 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8487 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8488 (TARGET_CFLAGS): Likewise.
8489 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8490 * grub-core/Makefile.core.def (decompressor_xz): Add
8491 -Wno-unreachable-code.
8492 (normal): Add -Wno-redundant-decls.
8493 (xzio): Add -Wno-unreachable-code.
8494 (lzopio): Add -Wno-redundant-decls -Wno-error.
8495 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8496 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8497 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8498 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8499 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8500 * grub-core/kern/i386/coreboot/init.c: Add exception to
8501 -Wsuggest-attribute=noreturn.
8502 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8503 * grub-core/kern/ia64/dl_helper.c: Likewise.
8504 * grub-core/kern/mips/dl.c: Likewise.
8505 * grub-core/kern/sparc64/dl.c: Likewise.
8506 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8507 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8508 (memcmp): Likewise.
8509 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8510 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8511 * grub-core/loader/mips/linux.c: Likewise.
8512 * grub-core/loader/multiboot_elfxx.c: Likewise.
8513 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8514 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8515 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8516 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8517 fixme.
8518 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8519 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8520 Fix prototype.
8521
37bb97fe
VS
85222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8525 address.
8526
29a3550b
VS
85272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8530 Avoid improper use of strings.
8531 (grub_cmd_legacy_initrdnounzip): Likewise.
8532
dfdffd0d
VS
85332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8536 attribute.
8537 (grub_util_info): Likewise.
8538 (grub_util_error): Likewise.
8539
102fae4a
VS
85402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8543 * util/grub-fstest.c (fstest): Likewise.
8544
7e94d044
VS
85452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8548 (grub_md_sha512_real): Likewise.
8549 (grub_util_get_geli_uuid): Likewise.
8550 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8551 (grub_util_biosdisk_open): Fix format specification.
8552 Respect format security.
8553 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8554 (xrealloc): Likewise.
8555 (xasprintf): Likewise.
8556
5ebd9769
VS
85572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * util/import_gcry.py: Include grub/crypto.h in init.c.
8560
495fc8c1
VS
85612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8564 (generate_image): Make prefix a const char *.
8565 Fix format specifications. Respect format security.
8566 Avoid void * arithmetics.
8567 Avoid shadowing.
8568 (argp_parser): Remove unused variable. Respect format security.
8569 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8570 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8571 (count_funcs): Remove unused variable.
8572 (relocate_addresses): Fix format specification.
8573 Disable x86-64 with elf32. Remove unused variables.
8574 (add_fixup_entry): Avoid shadowing.
8575 (make_reloc_section): Fix format specification.
8576 Use assert.
8577 (locate_sections): Fix format specifications.
8578 (load_image): Avoid shadowing.
8579
043c2ea3
VS
85802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8583 Fix format specifications. Respect format security.
8584 Don't translate already translated grub_errmsg.
8585 (argp_parser): Remove unused variable
8586
3ec65a81
VS
85872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8590
a4d9fe4a
VS
85912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8594 (main): Likewise. Use xmalloc. Respect format security.
8595
15b81d49
VS
85962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8599 a const char *.
8600 (argp_parser): Remove unused variable.
8601
31731fc0
VS
86022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8605 (add_pixel): Make static.
8606 (add_font): Likewise.
8607 (write_string_section): Make name and str a const char *.
8608 (write_be16_section): Make name a const char *.
8609 (print_glyphs): Make static.
8610 (write_font_ascii_bitmap): Likewise.
8611 (write_font_width_spec): Likewise.
8612 (write_font_pf2): Likewise.
8613 (argp_parser): Remove unused variable.
8614 Respect format security.
8615 (main): Avoid shadowing. Respect format security.
8616
0809527b
VS
86172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * util/grub-editenv.c (argp_parser): Make static.
8620 (create_envblk_file): Use xmalloc.
8621 (open_envblk_file): Likewise.
8622 Resepect format security.
8623 (set_variables): Respect format security.
8624
45b0c8b7
VS
86252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * util/getroot.c (grub_find_device): Respect format security.
8628 (get_mdadm_uuid): Remove unused variable.
8629 (grub_util_pull_device): Dont call gettext on already translated
8630 grub_errmsg.
8631 (find_system_device): Remove unused variable.
8632 (grub_util_get_grub_dev): Likewise.
8633 (grub_make_system_path_relative_to_its_root): Respect format security.
8634
1b024b4e
VS
86352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-fstest.c (execute_command): Make first argument
8638 a const char *.
8639 (read_file): Avoid shadowing.
8640 Reuse underlying error message if device open fails.
8641 (cmd_cmp): Respect format security.
8642 (root): Make const char *.
8643 (fstest): Remove args argument and use global copy.
8644 Respect format security.
8645 (argp_parser): Make static.
8646 (main): Make default_root const char *.
8647
5d1d4e28
VS
86482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * util/grub-mount.c (root): Make const char *.
8651 (execute_command): Make first argument a const char *.
8652 (fuse_init): Respect format security.
8653 (argp_parser): Make static. Remove unused variable.
8654 (main): Make default_root a const char *.
8655 Respect format security.
8656
36eb7379
VS
86572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * util/grub-probe.c (probe): Don't call gettext on already translated
8660 grub_errmsg.
8661 Remove unused variables.
8662 (argp_parser): Remove unused variable.
8663
76fb2ea9
VS
86642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * util/grub-script-check.c (argp_parser): Remove unused variable.
8667 (main): Rename read to curread to avoid shadowing.
8668
56c98584
VS
86692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * util/misc.c (grub_util_write_image_at): Fix format specification.
8672 (grub_util_write_image): Likewise.
8673 (grub_script_execute_argument_to_string): Removed (unused).
8674 (grub_script_execute_menuentry): Likewise.
8675 (grub_putchar): Likewise.
8676
164ebb48
VS
86772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8680 (FUNCTION) [GRUB_UTIL]: Likewise.
8681 (VARIABLE) [GRUB_UTIL]: Likewise.
8682
44318d61
VS
86832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8686 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8687
31a26002
VS
86882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8691 buffer.
8692
86932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8696 (LzmaEnc_SaveState): Removed (unused).
8697 (LzmaEnc_RestoreState): Likewise.
8698 (LzmaEnc_InitPriceTables): Made static.
8699 (LzmaEnc_Construct): Likewise.
8700 (LzmaEnc_FreeLits): Likewise.
8701 (LzmaEnc_Destruct): Likewise.
8702 (LzmaEnc_Init): Likewise.
8703 (LzmaEnc_InitPrices): Likewise.
8704 (LzmaEnc_Finish): Likewise.
8705 (LzmaEnc_PrepareForLzma2): Removed (unused).
8706 (LzmaEnc_MemPrepare): Likewise.
8707 (LzmaEnc_GetNumAvailableBytes): Likewise.
8708 (LzmaEnc_GetCurBuf): Likewise.
8709 (LzmaEnc_CodeOneMemBlock): Likewise.
8710
6fa67967
VS
87112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8714 (grub_util_ldm_embed): Likewise.
8715
9a7428e6
VS
87162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * util/grub-editenv.c (print_var): Rename name to varname to
8719 avoid shadowing.
8720 (main): Rename index to curindex to avoid shadowing.
31a26002 8721 Make filename a const char *.
9a7428e6 8722
4f96abd1
VS
87232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8726 to arg_getline to avoid shadowing.
8727
44d10dad
VS
87282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8731 disk_ to avoid shadowing.
8732
340ba63e
VS
87332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8736 curindex to avoid shadowing.
8737 Make static.
8738 (MatchFinder_GetNumAvailableBytes): Make static.
8739
22965bce
VS
87402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8743 avoid shadowing.
8744
7b5784d4
VS
87452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8748 argument from encrypt to do_encrypt to avoid shadowing.
8749
6f48ca01
VS
87502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8753 incorrect nesting of #if's.
8754
a4ea2dff
VS
87552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8758 checks which are always false on some platforms.
8759 (grub_cmd_lsacpi): Likewise.
8760 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8761 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8762 Likewise.
8763
def9fc1b
VS
87642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8767 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8768
a67b2a04
VS
87692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8772 re_dfa_t to avoid breaking alignment invariants.
8773 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8774 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8775
44c6828d
VS
87762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8779 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8780
bebe0dd0
VS
87812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8784 Fix declaration.
8785
a9cdb3cf
VS
87862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8789 conserve alignment invariants.
8790 (grub_ehci_ehcc_read16): Likewise.
8791 (grub_ehci_oper_read32): Likewise.
8792 (grub_ehci_oper_write32): Likewise.
8793 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8794 Conserve alignment invariants.
8795
ccc3b1b8
VS
87962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8799 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8800 declarations.
8801
987fbd95
VS
88022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8805 Remove unused variable.
8806
0df363f3
VS
88072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8810 Remove set in if.
8811
b2c0c4a6
VS
88122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * include/grub/net.h: Remove double declarations.
8815
690c531f
VS
88162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 Remove "payload" command in ia64 Linux loader since I couldn't
8819 find any evidence of it being used for anything.
8820 Replace "relocate" command with an environment variable
8821
8822 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8823 fields.
8824 (ia64_boot_payload): Removed.
8825 (last_payload): Likewise.
8826 (RELOCATE_OFF): Likewise.
8827 (RELOCATE_ON): Likewise.
8828 (RELOCATE_FORCE): Likewise.
8829 (relocate): Likewise.
8830 (free_pages): Don't free payloads.
8831 (grub_load_elf64): Use common error messages.
8832 Use "linux_relocate" variable.
8833 Increase the space after boot_params.
8834 (grub_cmd_payload): Removed.
8835 (grub_cmd_relocate): Likewise.
8836 (grub_cmd_fpswa): Improve messages.
8837 (cmd_payload): Removed.
8838 (cmd_relocate): Likewise.
8839 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8840 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8841
01783768
VS
88422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 Convert UHCI to DMA framework.
8845
8846 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8847 (grub_uhci_pci_iter): Fill new members
8848 (grub_alloc_td): Use P2V and V2P functions.
8849 (grub_free_queue): Likewise.
8850 (grub_alloc_qh): Likewise.
8851 (grub_uhci_setup_transfer): Likewise.
8852 (grub_uhci_check_transfer): Likewise.
8853
43206939
VS
88542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8857 Remove assignment in if while on it.
8858
571e140e
VS
88592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * util/grub-mkstandalone.in: Fix modules directory.
8862
a9d96eeb
VS
88632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8866 on i386-pc target.
8867 (argp_parser): Accept "auto" as compression specification.
8868
e4e37e8d
VS
88692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 Fix `help' with unloaded modules.
8872
8873 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8874 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8875 (grub_dyncmd_dispatcher): Small stylistic fix.
8876 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8877 explicit help is requested.
8878
e1ea3ade
VS
88792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8882 Explicitly init restart while on it.
8883
27556881
VS
88842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8887 uninited variable.
8888
d65f6b36
VS
88892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * util/grub-mknetdir.in: Use . rather than source for POSIX
8892 compatibility.
8893
0a1e473c
VS
88942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8897
ce6647c8
VS
88982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8901 variable.
8902
66747894
VS
89032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8906 without quotes.
8907
71645f6e
VS
89082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8911
0e1c1f61
VS
89122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8915 iteration of partitions.
8916
9c4b5c13
VS
89172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 Improve gettext support. Stylistic fixes and error handling fixes while
8920 on it.
8921
215c90cb
VS
89222012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8925 part. Instead setup the correct stack in RM.
8926 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8927 for stack.
8928 * include/grub/i386/relocator_private.h: New file.
8929
b5c1f9bf
VS
89302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8933 argument.
8934 * util/grub-fstest.c (options): Add missing DEVICE part.
8935
b525fd83
VS
89362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Clarify and unify messages.
8939
8940 * grub-core/commands/hashsum.c (options): Unify messages.
8941 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8942 literal-only message as translatable.
8943 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8944 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8945 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8946 commands.
8947 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8948 key, not the key used to unlock. Clarify what it's used for.
8949 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8950 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8951 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8952 * util/grub-editenv.c (options): Unify "verbose" message.
8953 * util/grub-fstest.c (read_file): Unify error message.
8954 (fstest): Add quotes around commands.
8955 (options): Unify "verbose" message.
8956 * util/grub-install.in: Add quotes around variable name.
8957 * util/grub-kbdcomp.in: Unify error message.
8958 * util/grub-mkfont.c (main): Likewise.
8959 * util/grub-mkrescue.in: Likewise.
8960 * util/grub-mklayout.c (options): Unify "verbose" message.
8961 * util/grub-mkstandalone.in: Unify help and verbose messages.
8962 * util/grub-mount.c (options): Unify "verbose" message.
8963 * util/grub-probe.c (options): Likewise.
8964 * util/grub-script-check.c (options): Likewise.
8965 * util/grub-setup.c (setup): Unify no-terminator message.
8966 (options): Use DEVICE and not DEV.
8967 Unify "verbose" message.
8968 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8969
0ae70393
VS
89702012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 Improve and unify messages.
8973
8974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8975 name. All users updated.
8976 Print filename in error.
8977 (read_device_map): Print filename in error.
8978 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8979 (grub_util_get_os_disk): Likewise.
8980 (grub_util_biosdisk_get_grub_dev): Likewise.
8981 (grub_util_check_block_device): Likewise.
8982 (grub_util_check_char_device): Likewise.
8983 (grub_make_system_path_relative_to_its_root): Likewise.
8984 * util/grub-editenv.c (create_envblk_file): Likewise.
8985 (open_envblk_file): Likewise.
8986 (write_envblk): Likewise.
8987 * util/grub-fstest.c (cmd_cp): Likewise.
8988 (cmd_cat): Likewise.
8989 (cmd_cmp): Likewise.
8990 * util/grub-menulst2cfg.c (main): Likewise.
8991 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8992 (write_font_width_spec): Likewise.
8993 (write_font_pf2): Likewise.
8994 * util/grub-mkimage.c (generate_image): New argument outname.
8995 All users updated.
8996 Remove unreacheable message.
8997 (options): Unify messages.
8998 (help_filter): Likewise.
8999 * util/grub-mklayout.c (usage): Removed (unused).
9000 (main): Print filename in error.
9001 * util/grub-mkrescue.in: Fix wrong quoting.
9002 * util/grub-setup.c (setup): Print filename in error.
9003 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9004 (check_sas): Likewise.
9005 * util/misc.c (grub_util_get_fp_size): Removed.
9006 (grub_util_get_image_size): Print filename in error.
9007 (grub_util_read_at): Removed.
9008 (grub_util_read_image): Print filename in error.
9009 (grub_util_load_image): Likewise.
9010 (grub_util_write_image_at): New argument filename. All users updated.
9011 Print filename in error.
9012 (grub_util_write_image): New argument filename. All users updated.
9013 Print filename in error.
9014 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9015 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9016
0a96117d
VS
90172012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/Makefile.core.def (pxechain): New module.
9020 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9021 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9022 function.
9023 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9024 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9025
aca002f7
VS
90262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9029 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9030 * include/grub/err.h (grub_error_saved): New struct.
9031 (grub_errmsg): Make array size explicit.
9032 * include/grub/misc.h (grub_error_save): New function.
9033 (grub_error_load): Likewise.
9034 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9035 (grub_error_push): Update `errno' member name.
9036 (grub_error_pop): Likewise
9037 * grub-core/net/tftp.c (tftp_data): New member save_err.
9038 (tftp_receive): Save error.
9039 (tftp_open): Restore error.
9040
a51dab13
VS
90412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9044 to real mode down to execute A20-related code in protected mode as
9045 intended.
9046
eb6e6649
GS
90472012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9048
9049 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9050 NULL when the argument `level' has an unexpected value.
9051
92cd0f6e
VS
90522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Move platform-dependent files from $prefix to $prefix/$platform.
9055
9056 * config.h.in (GRUB_TARGET_CPU): New definition.
9057 (GRUB_PLATFORM): Likewise.
9058 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9059 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9060 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9061 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9062 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9063 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9064 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9065 * grub-core/normal/term.c (read_terminal_list): Likewise.
9066 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9067 $prefix/locale.
9068 (grub_gettext_init_ext): Likewise.
9069 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9070 grub_platform.
9071 * util/grub-install.in: Update directories.
9072 * util/grub-mknetdir.in: Likewise.
9073 * util/grub-mkrescue.in: Likewise.
9074
db606889
VS
90752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9078 grub_error framework. All users updated.
9079
c39992a4
VS
90802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9083 lists (by always binsearching), improve caching (cache strings
9084 used for binsearch, not only results), improve
9085 maintainability (by using more structured binary search) and correct
9086 error handling.
9087
1e5ec32f
VS
90882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/script/execute.c (grub_script_return): Fix warning.
9091
ac576cde
VS
90922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/script/execute.c (grub_script_return): Fix potential
9095 NULL-dereference.
9096 Reported by: Jim Meyering.
9097
498453f6
VS
90982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * po/POTFILES.in: Regenerate.
9101 * util/grub-install.in: Gettextize the strings missed in first pass.
9102
8be63f2e
VS
91032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * Makefile.util.def (grub-mkdevicemap): Removed.
9106 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9107 * include/grub/util/deviceiter.h: Removed.
9108 * util/deviceiter.c: Likewise.
9109 * util/getroot.c (grub_util_get_os_disk): New function.
9110 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9111 replacement for EFI.
9112 * util/grub-mkdevicemap.c: Removed.
9113 * util/grub-probe.c (probe): Handle PRINT_DISK.
9114 (argp_parser): Handle -t disk.
9115
8e1e4e39
VS
91162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * util/grub-mkfont.c: Migrate to argp.
9119 * util/grub-mklayout.c: Likewise.
9120 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9121 * util/grub-mkrelpath.c: Likewise.
9122 * util/grub-probe.c: Likewise.
9123 * util/grub-script-check.c: Likewise.
9124
4459819a
VS
91252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * util/grub-reboot.in: Add missing datarootdir.
9128 Add missing newline.
9129 * util/grub-set-default.in: Add missing datarootdir.
9130 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9131 * util/grub-mkrescue.in: Likewise.
9132
f65741c7
VS
91332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9136
c1a33466
VS
91372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * util/grub-kbdcomp.in: Add decent help and gettextize.
9140 * docs/man/grub-kbdcomp.h2m: New file.
9141
c76899a0
VS
91422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 Migrate grub-mkimage.c to argp.
9145
9146 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9147 (grub-setup): Likewise.
9148 * util/grub-setup.c (print_version): Move to ...
9149 * util/argp_common.c (print_version): ... here.
9150 * util/grub-setup.c (argp_program_version_hook): Move to ...
9151 * util/argp_common.c (argp_program_version_hook): ... here.
9152 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9153 safety.
9154 * util/grub-mkimage.c (main): Migrate to argp.
9155
57db0757
VS
91562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * util/grub-mkrescue.in: Use same message as
9159 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9160 for better translations.
9161
18534ad9
VS
91622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9165 options with generic grub-mkrescue.in with the goal of future
9166 merge.
9167
c84ba308
VS
91682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/kern/mm.c: Add missing include of i18n.h
9171 * grub-core/lib/relocator.c: Likewise.
9172
347998c2
VS
91732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9176 error.
9177 (allocate_pages): Check return value.
9178 Replace fatal with error.
9179 (grub_linux_boot): Replace printf with dprintf.
9180 Check find_mmap_size return value.
9181 Replace fatal with error.
9182 Don't call grub_machine_fini.
9183 (grub_load_elf64): Replace printf with dprintf.
9184 (grub_cmd_linux): Likewise.
9185 (grub_cmd_initrd): Likewise.
9186 (grub_cmd_payload): Likewise.
9187
c779226e
VS
91882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9191 message.
9192 * grub-core/video/radeon_fuloong2e.c
9193 (grub_video_radeon_fuloong2e_setup): Likewise.
9194 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9195 * grub-core/video/video.c (grub_video_set_mode): Don't override
9196 standard out of memory message.
9197
dc87d45a
GS
91982012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9199
9200 NetBSD disk wedge support.
9201
9202 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9203 [__NetBSD__]: Handle NetBSD disk wedges.
9204 * util/getroot.c (convert_system_partition_to_system_disk)
9205 [__NetBSD__]: Likewise.
9206
055f856f
MW
92072012-02-03 Mark Wooding <mdw@distorted.org.uk>
9208
9209 * util/grub-mkconfig.in: Use umask rather than chmod to create
9210 grub.cfg.new to avoid insecure grub.cfg.
9211
4a9f8346
VS
92122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * grub-core/commands/ls.c: Gettextize.
9215 * grub-core/commands/setpci.c: Likewise.
9216 * grub-core/commands/videotest.c: Likewise.
9217 * grub-core/disk/geli.c: Likewise.
9218 * grub-core/kern/mm.c: Likewise.
9219 * grub-core/lib/relocator.c: Likewise.
9220 * grub-core/loader/efi/appleloader.c: Likewise.
9221 * grub-core/loader/i386/xnu.c: Likewise.
9222 * grub-core/loader/ia64/efi/linux.c: Likewise.
9223 * grub-core/loader/xnu.c: Likewise.
9224 * grub-core/net/dns.c: Likewise.
9225 * grub-core/net/net.c: Likewise.
9226 * grub-core/script/lexer.c: Likewise.
9227 * grub-core/script/parser.y: Likewise.
9228 * grub-core/script/yylex.l: Likewise.
9229 * util/getroot.c: Likewise.
9230 * util/grub-setup.c: Likewise.
9231
a646a366
VS
92322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9235 number.
9236
54e2be26
VS
92372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9240
f7c71e68
VS
92412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9244 macro.
9245 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9246 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9247
a32d5c71
VS
92482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9251 * util/grub-install.in: Gettextize.
9252 * util/grub-mkconfig.in: Likewise.
9253 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9254 if not available.
9255 (grub_warn): Gettextize.
9256 * util/grub-mknetdir.in: Gettextize.
9257 * util/grub-mkrescue.in: Likewise.
9258 * util/grub-mkstandalone.in: Likewise.
9259 * util/grub-reboot.in: Likewise.
9260 * util/grub-set-default.in: Likewise.
9261 * util/grub.d/00_header.in: Likewise.
9262 * util/grub.d/10_hurd.in: Likewise.
9263 * util/grub.d/10_kfreebsd.in: Likewise.
9264 * util/grub.d/10_linux.in: Likewise.
9265 * util/grub.d/10_netbsd.in: Likewise.
9266 * util/grub.d/10_windows.in: Likewise.
9267 * util/grub.d/20_linux_xen.in: Likewise.
9268 * util/grub.d/30_os-prober.in: Likewise.
9269 * po/POTFILES-shell.in: Regenerate.
9270
69edd81a
RL
92712012-02-03 Richard Laager <rlaager@wiktel.com>
9272
9273 * util/grub-mkimage.c (main): Fix format-security warning.
9274 * util/grub-mkrelpath.c (main): Likewise.
9275 * util/grub-probe.c (main): Likewise.
9276
65f08dbf
RL
92772012-02-03 Richard Laager <rlaager@wiktel.com>
9278
9279 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9280 failure.
9281 Put back lost PRINT_DRIVE.
9282
e9084abe
RL
92832012-02-03 Richard Laager <rlaager@wiktel.com>
9284
9285 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9286 (grub_guess_root_devices): Replace strlen with sizeof.
9287 Avoid crash.
9288 (find_root_devices_from_poolname): Remove unused variable.
9289 Handle raidzN.
9290
cf5f7ee7
VS
92912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Support install on multi-device filesystems.
9294
9295 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9296 (grub_guess_root_devices): ...this. Return char **. All users updated.
9297 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9298 Removed.
9299 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9300 (find_root_devices_from_poolname): ... here.
9301 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9302 Support zfs-fuse.
9303 (grub_guess_root_device): Rename to ...
9304 (grub_guess_root_devices): ... this. Return char **. All users updated.
9305 * util/grub-install.in: Handle multi-device filesystems.
9306 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9307 argument. All users updated.
9308 Handle multi-device filesystems.
9309 Use 'delim' as separator.
9310 Remove device check to allow filesystems on file.
9311 (main): Support -0 argument. Handle multi-device.
9312 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9313 Fix a cross-device check while on it.
9314 (arguments): Remove root_dev.
9315 (argp_parser): Remove -r.
9316 (main): Remove root_dev.
9317
2f53a9ed
VS
93182012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9321
17e1d934
VS
93222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9325 symbol.
9326 Reported by: NODA, Kai <nodakai>.
9327
d3e3fab5
VS
93282012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 Fix ehci on amd64.
9331
9332 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9333 pointers.
9334 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9335 (grub_ehci_setup_qh): Likewise.
9336 (grub_ehci_find_qh): Likewise.
9337 (grub_ehci_transaction): Likewise.
9338 (grub_ehci_setup_transfer): Likewise.
9339 (grub_ehci_check_transfer): Likewise.
9340 (grub_ehci_portstatus): Likewise.
9341 (grub_ehci_detect_dev): Likewise.
9342 (grub_ehci_transfer_controller_data): New field td_last_phys.
9343 (grub_ehci_setup_transfer): Fill td_last_phys.
9344 (grub_ehci_check_transfer): Use td_last_phys.
9345
3008675b
SG
93462012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9347
9348 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9349 if no submenu is present.
9350
fc9b5652
AN
93512012-02-01 Aleš Nesrsta <starous@volny.cz>
9352
9353 CBI support.
9354
9355 * include/grub/usb.h (grub_usbms_protocol_t): New values
9356 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9357 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9358 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9359 (grub_usbms_dev): Add subclass, protocol and intrpt.
9360 Remove in_maxsz and out_maxsz.
9361 (grub_usbms_reset): Rename to ...
9362 (grub_usbms_bo_reset): .. this.
9363 (grub_usbms_cbi_cmd): New function.
9364 (grub_usbms_cbi_reset): Likewise.
9365 (grub_usbms_reset): Likewise.
9366 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9367 (grub_usbms_transfer): Rename to ...
9368 (grub_usbms_transfer_bo): ... this.
9369 (grub_usbms_transfer_cbi): Likewise.
9370 (grub_usbms_transfer): Likewise.
9371
a2b81d53
AN
93722012-02-01 Aleš Nesrsta <starous@volny.cz>
93732012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9376 the support for the CS5536 modification thereos and few bugfixes.
9377
9378 * grub-core/Makefile.core.def (ehci): New module.
9379 * grub-core/bus/usb/ehci.c: New file.
9380 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9381 port and hubaddr. All users updated.
9382 Save port and hubaddr into dev structure.
9383 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9384 define.
9385 * include/grub/pci.h (grub_dma_phys2virt): New function.
9386 (grub_dma_virt2phys): Likewise.
9387 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9388
b1d51f02
VS
93892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9392 check as some mkfs implementations omit it.
9393
fc694106
VS
93942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9397
6c0920e3
VS
93982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9401 Add new member volname2.
9402 (grub_jfs_label): Use volname2 if available.
9403
d1a46f9a
VS
94042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9407 over last_mounted as seen in image generated by mkfs.nilfs2.
9408 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9409
dec8ed14
VS
94102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9413 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9414 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9415
7397c69b
VS
94162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9419 over the sector.
9420
b3fe42ad
VS
94212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9424 subvolume name (by removing a bogus and useless check).
9425
10476bb0
VS
94262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9429 sizeof while on it.
9430
9c08ad87
VS
94312012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9434 (grub_scsi_read_capacity10): ... this.
9435 (grub_scsi_read_capacity16): New function.
9436 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9437 0xffffffff.
9438 Fix off-by-one error.
9439 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9440 64-bit unsigned.
9441 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9442 (grub_scsi_read_capacity10): ... this.
9443 (grub_scsi_read_capacity_data): Rename to ...
9444 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9445 (grub_scsi_read_capacity16): New struct.
9446 (grub_scsi_read_capacity16_data): Likewise.
9447 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9448 grub_scsi_cmd_read_capacity10.
9449 New command grub_scsi_cmd_read_capacity16.
9450
bc8d0f45
VS
94512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 SCSI >2TiB support.
9454
9455 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9456 (grub_scsi_write16): Likewise.
9457 (grub_scsi_read): Use read16 when necessary.
9458 (grub_scsi_write): Likewise.
9459 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9460 (grub_scsi_write16): Likewise.
9461 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9462
cc774926
VS
94632012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 SCSI write support (for usbms mainly).
9466
9467 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9468 a const pointer.
9469 (grub_scsi_write): Implement.
9470 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9471
67639fd7
VS
94722012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9475 variable.
9476
9079d3ed
VS
94772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9480
c6a6f204
VS
94812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * po/POTFILES.in: Regenerate.
9484
ecbf8cd1
VS
94852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9488 with grub_printf to avoid unnecessary fatal failure.
9489
0b3b3b38
VS
94902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9493 (INT_MAX): Likewise.
9494 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9495 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9496 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9497 (strcpy): Likewise.
9498 (strstr): Likewise.
9499 (strchr): Likewise.
9500 (strncpy): Likewise.
9501 (strcat): Likewise.
9502 (strncat): Likewise.
9503 (strcoll): Likewise.
9504 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9505 (GRUB_INT_MAX): Likewise.
9506
db7337a3
VS
95072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9510 unexpected error.
9511 (optimize_utf8): Likewise.
9512 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9513
f37c87e1
VS
95142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * grub-core/boot/i386/pc/lnxboot.S: Use
9517 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9518 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9519 location.
9520 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9521 definition.
9522 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9523
63fe43f3
VS
95242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9527 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9528 now to avoid double free.
9529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9530 hostdisk.
9531 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9532 * util/grub-probe.c (escape_of_path): Always return a new copy.
9533 (print_full_name): Escape path.
9534 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9535 Fix hints on abstractions.
9536
ebe2c961
VS
95372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9540 Don't add "root" line if no compatibility hont is available.
9541 Suggested by: Seth Goldberg.
9542
2b5336a2
VS
95432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9546 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9547 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9548 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9549
74310bd8
VS
95502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9553
c30582ba
VS
95542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * util/grub-pe2elf.c (ehdr): Make static.
9557 (shdr): Likewise.
9558 (num_sections): Likewise.
9559 (offset): Likewise.
9560
5f47782c
VS
95612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Eliminate ofpath limits and possible overflows.
9564
9565 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9566 (OF_PATH_MAX): Removed.
9567 (MAX_DISK_CAT): New const.
9568 (find_obppath): Use allocated rather than preallocated buffer.
9569 Return result. Argument of_path removed. All users updated.
9570 Add missing fdstat.
9571 (xrealpath): New function.
9572 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9573 Allocate rather than use preallocated buffer. All users updated.
9574 (__of_path_common): Use allocated rather than preallocatecd buffer.
9575 Return result. Argument of_path removed. All users updated.
9576 (vendor_is_ATA): Read only needed part form the file.
9577 (check_sas): Allocate depending on contents rather than fixed.
9578 (main) [STANDALONE]: Handle NULL result.
9579
f990cbf9
VS
95802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9583
9c6e84b8
VS
95842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 Cryptodisk write support.
9587
9588 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9589 (grub_cryptodisk_decrypt): Moved logic to ...
9590 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9591 (grub_cryptodisk_write): Implement.
9592 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9593 (grub_util_fd_write): ... this. Make global.
9594 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9595
87cf9744
VS
95962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * include/grub/list.h (grub_list_remove): Don't crash if element is
9599 removed twice.
9600
ca8c0baf
VS
96012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Rename ofconsole to console.
9604
9605 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9606 as sysnonym to console.
9607 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9608 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9609 Rename grub_ofconsole_ to grub_console_. All users updated
9610 (grub_console_term_output): Rename "ofconsole" to "console".
9611 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9612 as "console".
9613
64c8b8f6
VS
96142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9617 handling.
9618 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9619 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9620 GRUB_DISK_DEVICE_FILE_ID.
9621
f6c434d5
VS
96222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9625 and improve performance.
9626
5858b42d
VS
96272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9630 missing ieee1275/ prefix on whole disk.
9631
4ed3c26b
VS
96322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9635 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9636
df71143e
VS
96372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9640
076e7c0f
VS
96412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 Merge common RAID and LVM logic to an abstract diskfilter.
9644 Add LDM support using the same framework.
9645
9646 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9647 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9648 (libgrubmods): Remove grub-core/disk/raid.c and
9649 grub-core/partmap/gpt.c.
9650 * grub-core/Makefile.core.def (ldm): New module.
9651 (raid): Renamed to diskfilter. All users updated.
9652 * grub-core/disk/raid.c: Moved to ...
9653 * grub-core/disk/diskfilter.c: ... here.
9654 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9655 (lv_num): New var.
9656 (find_array): Renamed to ...
9657 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9658 (grub_is_array_readable): Renamed to ...
9659 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9660 (insert_array): New argument id.
9661 (is_node_readable): New function.
9662 (scan_device): Rename to ...
9663 (scan_disk): .. this. Restrict to one disk.
9664 (scan_devices): New function.
9665 (grub_diskfilter_iterate): Support multi-LV.
9666 Skip invisible and nameless LVs.
9667 (grub_diskfilter_memberlist): Support multi-LV.
9668 (grub_diskfilter_read_node): New function.
9669 (grub_raid_read): Most of logic moved to ...
9670 (read_segment): ... here
9671 (read_lv): New function.
9672 (grub_diskfilter_get_vg_by_uuid): New function.
9673 (grub_diskfilter_make_raid): Likewise.
9674 * grub-core/disk/ldm.c: New file.
9675 * grub-core/disk/lvm.c (vg_list): Removed.
9676 (lv_count): Likewise.
9677 (scan_depth): Likewise.
9678 (is_lv_readable): Likewise.
9679 (grub_lvm_getvalue): Advance pointer past the number.
9680 (find_lv): Removed.
9681 (do_lvm_scan): Refactored into ...
9682 (grub_lvm_detect): ... this. Support raid.
9683 (grub_lvm_iterate): Removed.
9684 (grub_lvm_memberlist): Likewise.
9685 (grub_lvm_open): Likewise.
9686 (grub_lvm_close): Likewise.
9687 (read_lv): Likewise.
9688 (read_node): Likewise.
9689 (is_node_readable): Likewise.
9690 (is_lv_readable): Likewise.
9691 (grub_lvm_read): Likewise.
9692 (grub_lvm_write): Likewise.
9693 (grub_lvm_dev): Use diskfilter
9694 (GRUB_MOD_INIT): Likewise.
9695 (GRUB_MOD_FINI): Likewise.
9696 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9697 new interface.
9698 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9699 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9700 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9701 grub_diskfilter_read_node.
9702 Fix a bug with xor.
9703 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9704 grub_diskfilter_read_node.
9705 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9706 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9707 (grub_disk_dev_iterate): Move from here...
9708 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9709 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9710 Make global.
9711 (grub_hostdisk_find_partition_start): Likewise.
9712 (grub_hostdisk_os_dev_to_grub_drive): New function.
9713 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9714 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9715 * util/getroot.c (make_device_name): ... here.
9716 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9717 Move to ...
9718 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9719 * grub-core/kern/emu/hostdisk.c
9720 (convert_system_partition_to_system_disk): Move to ...
9721 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9722 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9723 * util/getroot.c (device_is_wholedisk): ... here.
9724 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9725 * util/getroot.c (find_system_device): ... here.
9726 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9727 Move to ...
9728 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9730 Move to ...
9731 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9732 Handle LDM.
9733 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9734 Move to ...
9735 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9736 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9737 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9738 DISKFILTER.
9739 * include/grub/raid.h: Renamed to ...
9740 * include/grub/diskfilter.h: ... this.
9741 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9742 (GRUB_RAID_LAYOUT_*): Make into array.
9743 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9744 (grub_diskfilter_vg): New struct.
9745 (grub_diskfilter_pv_id): Likewise.
9746 (grub_raid_member): Removed.
9747 (grub_raid_array): Likewise.
9748 (grub_diskfilter_pv): New struct.
9749 (grub_diskfilter_lv): Likewise.
9750 (grub_diskfilter_segment): Likewise.
9751 (grub_diskfilter_node): Likewise.
9752 (grub_diskfilter_get_vg_by_uuid): New proto.
9753 (grub_raid_register): Inline.
9754 (grub_diskfilter_unregister): Likewise.
9755 (grub_diskfilter_make_raid): New proto.
9756 (grub_diskfilter_vg_register): Likewise.
9757 (grub_diskfilter_read_node): Likewise.
9758 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9759 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9760 (grub_util_is_ldm): Likewise.
9761 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9762 (grub_hostdisk_find_partition_start): Likewise.
9763 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9764 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9765 New definition.
9766 (grub_gpt_partition_map_iterate): New proto.
9767 * include/grub/lvm.h (grub_lvm_vg): Removed.
9768 (grub_lvm_pv): Likewise.
9769 (grub_lvm_lv): Likewise.
9770 (grub_lvm_segment): Likewise.
9771 (grub_lvm_node): Likewise.
9772 * util/getroot.c [...]
9773 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9774 (probe_abstraction): Likewise.
9775 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9776 (main): Remove dead logic.
9777
8a7f9b9c
VS
97782012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 Simplify root device discover and don't fail when trying to open
9781 incorrect devices.
9782
9783 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9784 function.
9785 (get_diskname_from_path): Likewise.
9786 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9787 of iterating.
9788
30545b85
VS
97892012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9792
28ea58cf
VS
97932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9796 pastthe end.
9797
692dabca
VS
97982012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * util/grub-install.in: Add missing \.
9801 Reported by: gentoofan
9802
f6e4ea70
VS
98032012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9806 (direct_read): Use correct compressed size.
9807 (grub_squash_read_data): Likewise.
9808
98092012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9810
9811 * docs/grub.texi (Platform limitations): New section.
9812 (Platform-specific operations): Likewise.
9813 * docs/grub-dev.texi (Porting): Likewise.
9814
76261110
VS
98152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 IEEE1275 disk write support.
9818
9819 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9820 const void *.
9821 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9822 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9823 and seek loginc to ...
9824 (grub_ofdisk_prepare): ... here.
9825 (grub_ofdisk_write): Implement.
9826
fc36d603
VS
98272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 ARC disk write support.
9830
9831 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9832 (reopen): New argument writable. All users updated.
9833 Handle required access mode.
9834 (grub_arcdisk_write): Implement.
9835 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9836 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9837
e06c2e7a
VS
98382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9841 (read_sblock): Don't attempt to read superblocks outside the disk size.
9842
ff447958
VS
98432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9846 first superblock to find the second one when possible.
9847
9e88df39
VS
98482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * util/grub-install.in: Fix an ARC bug.
9851 Print a warning if no platform-specific setup is available.
9852
bb26e4ff
VS
98532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 Use static allocation rather than scratch pointer in reed_solomon.
9856 It decreases its size significantly and avoids a variable in .text.
9857
9858 * grub-core/lib/reed_solomon.c (scratch): Removed.
9859 (chosenstat): New const or static array.
9860 (sigma): Likewise.
9861 (errpot): Likewise.
9862 (errpos): Likewise.
9863 (sy): Likewise.
9864 (mstat): Likewise.
9865 (errvals): Likewise.
9866 (eqstat): Likewise.
9867 (pol_evaluate): Replace x with log_x argument. All users updated.
9868 (syndroms): Removed.
9869 (gauss_solve): Use statically allocated arrays.
9870 (rs_recover): Likewise.
9871 Calculate syndroms directly.
9872 (decode_block): Use statically allocated arrays.
9873 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9874 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9875
2e13ede5
VS
98762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 Eliminate fixed limit on reed solomon decoder length.
9879
9880 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9881 rather than hardcoding the address.
9882 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9883 no_reed_solomon_length.
9884 Move gate_a20 to no-reed-solomon part.
9885 Don't force a particular size of no reed-solomon part.
9886 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9887 Removed.
9888 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9889 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9890
f8a9ab12
VS
98912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * grub-core/commands/wildcard.c (match_files): Handle filenames
9894 without explicit device.
9895 (wildcard_expand): Don't add explicit device if not already present.
9896 * tests/grub_script_echo1.in: Add a new expansion test.
9897
87edb894
VS
98982012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 Replace single-linked with double-linked lists. It results in more
9901 compact and more efficient code.
9902
9903 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9904 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9905 (grub_list_remove): Moved from here ...
9906 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9907 (grub_prio_list_insert): Set prev.
9908 * include/grub/list.h (grub_list): Add prev. All users updated.
9909
48b391e9
VS
99102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 Handle newer autotools. Add some missing quotes while on it.
9913
9914 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9915 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9916 (pkgdata_DATA): ... here.
9917 * Makefile.util.def (update-grub_lib): Removed.
9918 * conf/Makefile.common (pkglib_DATA): Removed.
9919 (pkglib_SCRIPTS): Likewise.
9920 (pkgdata_DATA): New variable.
9921 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9922 needed.
9923 Add missing quotes.
9924 Remove unused variable while on it.
9925 * tests/util/grub-shell.in: Likewise.
9926 * util/grub-install.in: Likewise.
9927 * util/grub-mkconfig.in: Likewise.
9928 * util/grub-mknetdir.in: Likewise.
9929 * util/grub-mkrescue.in: Likewise.
9930 * util/grub-mkstandalone.in: Likewise.
9931 * util/grub.d/00_header.in: Likewise.
9932 * util/grub.d/10_hurd.in: Likewise.
9933 * util/grub.d/10_illumos.in: Likewise.
9934 * util/grub.d/10_kfreebsd.in: Likewise.
9935 * util/grub.d/10_linux.in: Likewise.
9936 * util/grub.d/10_netbsd.in: Likewise.
9937 * util/grub.d/10_windows.in: Likewise.
9938 * util/grub.d/20_linux_xen.in: Likewise.
9939 * util/grub.d/30_os-prober.in: Likewise.
9940 * util/update-grub_lib.in: Removed.
9941
99422012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9943
9944 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9945 a workaround for intel problem.
9946
66832792
PRP
99472012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
99482012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
99492012-01-23 pfsmorigo
9950
9951 * util/grub-install.in: Support dd'in into PreP partition.
9952 * util/grub-probe.c (probe): Support discovering partition type.
9953 (main): Support -t msdos_parttype.
9954
7816a17e
VS
99552012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9958 infinite recursion using counter.
9959 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9960 init to skip it if the magic check fails.
9961 (dec_stream_header): Init s->crc32.
9962
8f9d3a8c
ZB
99632012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
99642012-01-22 Zachary Bedell <pendorbound@gmail.com>
99652012-01-22 Richard Laager <rlaager@wiktel.com>
9966
9967 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9968 All users updated.
9969 (find_bestub): Determine correct size.
9970 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9971 (scan_disk): Align the size down.
9972 Call check pool before find_bestub to have ashift.
9973
b055dd32
VS
99742012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9977 dprintf in no-malloc zone.
9978
d779e9bd
ML
99792012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9980
9981 * configure.ac: Add back in test for limits.h.
9982
b508af69
VS
99832012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 Support 4K-sector NTFS.
9986
9987 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9988 (grub_ntfs_data): Remove blocksize.
9989 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9990 Remove data argument. All users updated.
9991
dad9c8b5
VS
99922012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9995 being in .text to avoid dprel references.
9996 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9997 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9998 (grub_arch_highmemsize): Likewise.
9999 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10000 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10001 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10002
d43a777e
VS
100032012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10006
10007 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10008 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10009
34e4208f
VS
100102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10013 GRUB_UTIL.
10014 (grub_set_datetime_cmos): Likewise.
10015
3ec0fc1c
VS
100162012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 Make XZ compression parameters dependent on target and not host CPU.
10019
10020 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10021 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10022
22489834
VS
100232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10026 set but not used variable.
10027
8502fbca
VS
100282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10031 created when no uuid support is compiled into mkfs.reiser.
10032
76df2068
VS
100332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10036 (utf8_to_macroman): Do the opposite.
10037 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10038
64e3f8f6
VS
100392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * configure.ac: Refise build qemu_mips w/o unifont.
10042
9c271078
VS
100432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 Eliminate grub_min/grub_max prone to overflow usage.
10046
10047 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10048 (poll_nonroot_hub): Likewise.
10049 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10050 (grub_affs_label): Likewise.
10051 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10052 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10053 (grub_hfs_label): Likewise.
10054 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10055 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10056 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10057 (zap_leaf_array_get): Likewise.
10058 (dnode_get_path): Likewise.
10059 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10060 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10061 * grub-core/script/execute.c (grub_script_break): Likewise.
10062 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10063 grub_max.
10064 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10065 * include/grub/misc.h (grub_min): Removed.
10066 (grub_max): Likewise.
10067
80662dbc
VS
100682012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10069
10070 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10071 direct.inode = 0.
10072
e6da1467
VS
100732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10076
b1ac4cb1
VS
100772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10080
b4bf7c3b
VS
100812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10084 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10085
8ee1101a
VS
100862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10089 rather than a hack for grub_strncasemap.
10090
100912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 Support multiple initrds
10094 Note: part of this was accidently committed in r3739.
10095
10096 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10097 initrd.
10098 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10099 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10100 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10101 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10102 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10103
4d1e2bc9
VS
101042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10107 disks with unknown size.
10108 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10109
75b49ebe
VS
101102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 Remove defines pertaining to arbitrary limits not affecting GRUB
10113 anymore.
10114
10115 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10116 (EXT2_MAX_SYMLINKCNT): Likewise.
10117 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10118 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10119 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10120 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10121 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10122 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10123 (DN_MAX_OBJECT_SHIFT): Likewise.
10124 (DN_MAX_OFFSET_SHIFT): Likewise.
10125 (DN_MAX_OBJECT): Likewise.
10126 (DNODES_PER_LEVEL_SHIFT): Likewise.
10127 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10128 (SPA_MAXBLOCKSIZE): Likewise.
10129 (SPA_BLOCKSIZES): Likewise.
10130 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10131 (MZAP_MAX_BLKSZ): Likewise.
10132
74a1dce7
VS
101332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10136 handle NULL appropriately.
10137 Remove MIN.
10138
30c7d3ce
VS
101392012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Fix efiemu.
10142
10143 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10144 cpu/types.h.
10145 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10146 * configure.ac: Fix efiemu check.
10147
3c76ea0c
VS
101482012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10151 grub_probe.
10152 Reported by: adamwill
10153
7e532280
SG
101542012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10155
10156 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10157
30492374
VS
101582012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Fix handling of wide characters in gfxterm.
10161
10162 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10163 (clear_char): Likewise.
10164 (paint_char): Skip code == NULL chars.
10165 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10166
e70cb72f
VS
101672012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/normal/charset.c: Move comment to right place.
10170
5c827cf9
VS
101712012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10174 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10175 (grub_affs_mount): Revert the correct version checking.
10176
53603892
VS
101772012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * docs/grub.texi (Unicode): Mention several other unsupported features.
10180
ff094b9b
VS
101812011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10184 case statements as compile-time one.
10185 (direct_read): Prevent spurious warnings.
10186 (grub_squash_read_data): Likewise.
10187
c029da8a
VS
101882011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Various squash4 fixes and LZO and XZ support.
10191
10192 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10193 Add xzembed source files.
10194 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10195 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10196 (grub_squash_inode): New subtype long_dir.
10197 (SQUASH_TYPE_LONG_DIR): New inode type.
10198 (COMPRESSION): New enum.
10199 (XZBUFSIZ): New const.
10200 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10201 (read_chunk): Use data->decompress.
10202 (zlib_decompress): New function.
10203 (lzo_decompress): Likewise.
10204 (xz_decompress): Likewise.
10205 (squash_mount): Set new data fields.
10206 (grub_squash_iterate_dir): Handle long dir.
10207 (squash_unmount): Free xzdec and xzbuf.
10208 (grub_squash_open): Check ino type.
10209 (direct_read): Stylistic fixes. Use data->decompress.
10210 (grub_squash_read_data): Likewise.
10211 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10212 (get_byte): Likewise.
10213 (grub_zlib_disk_read): Removed.
10214 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10215 (GRUB_POSIX_BOOL_DEFINED): New define.
10216 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10217 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10218 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10219 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10220
7a45a539
VS
102212011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Don't override more informative errors.
10224
10225 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10226 * grub-core/font/font.c (open_section): Likewise.
10227 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10228 filename. Don't override errors.
10229 (grub_cmd_openbsd_ramdisk): Don't override errors.
10230 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10231 (grub_cmd_initrd): Likewise.
10232 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10233 (grub_cmd_initrd): Likewise.
10234 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10235 (grub_cmd_linux): Likewise.
10236 (grub_cmd_initrd): Likewise.
10237 (grub_cmd_payload): Likewise.
10238 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10239 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10240 (grub_cmd_module): Likewise.
10241 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10242 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10243 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10244 (grub_cmd_xnu_mkext): Likewise.
10245 (grub_cmd_xnu_ramdisk): Likewise.
10246 (grub_xnu_check_os_bundle_required): Likewise.
10247 (grub_xnu_load_kext_from_dir): Likewise.
10248 (grub_cmd_xnu_kextdir): Likewise.
10249 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10250
b2d004db
VS
102512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10254 as 1024 in block size field. Found on one of my test images.
10255 Small optimisation while on it.
10256
ec000eac
VS
102572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10260 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10261 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10262 performance fixes while on it.
10263 (grub_sfs_close): Fix memory leak while on it.
10264 (grub_sfs_label): Convert Latin1 to UTF-8.
10265
f50e1165
VS
102662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10269 space to avoid overflows.
10270 (grub_hfs_label): Convert from macroman to UTF-8.
10271
2ae254de
VS
102722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10275
0108f491
VS
102762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10279
f45f5f89
VS
102802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * unicode: Import Unicode 6.0 data.
10283
4d8c4765
VS
102842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10285
63fa8ef9
VS
10286 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10287 outside of range.
10288
102892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10292
10293 * include/grub/charset.h (grub_getend): New function.
10294 * grub-core/script/function.c (grub_script_function_find): Use
10295 grub_getend.
10296 * grub-core/normal/completion.c (add_completion): Likewise.
10297
f3cb4a4e
VS
102982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10301 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10302 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10303 (GRUB_UNICODE_TAG_END): Likewise.
10304 (GRUB_UNICODE_LAST_VALID): Likewise.
10305
5da8dbc5
VS
103062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10309 len and make it smaller. All users updated.
10310 * util/import_unicode.py: Put length and not end character.
10311 Check length.
10312
8569f13d
VS
103132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 Make better Unicode-compliant and unify some UTF-8 code pathes.
10316
10317 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10318 valid character.
10319 (grub_is_valid_utf8): Use grub_utf8_process.
10320 Check resulting code range.
10321 (grub_utf8_to_ucs4): Use grub_utf8_process.
10322 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10323 valid character.
10324
cc4fddf5
VS
103252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10328
bbc47747
VS
103292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * docs/grub.texi (Filesystems): Mention AFS.
10332
f63d6bf4
VS
103332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * docs/grub.texi (Filesystems): Clarify restrictions.
10336 (Regexp): Mention non-Unicode regexp behaviour.
10337 (Other): Mention non-Unicode matching behaviour.
10338
74bbf0db
VS
103392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10340
f63d6bf4 10341 Make HFS implementation use MacRoman.
74bbf0db
VS
10342
10343 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10344 (macroman): New const array.
10345 (macroman_to_utf8): New function.
10346 (utf8_to_macroman): Likewise.
10347 (grub_hfs_find_dir): Use utf8_to_macroman.
10348 (grub_hfs_dir): Use macroman_to_utf8.
10349 Set case_insensitive.
10350
4ea0316e
VS
103512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10354
d3c13cbd
VS
103552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 Integrate hints into autogeneration scripts.
10358
10359 * docs/grub.texi (Filesystems): Add a hostdisk example.
10360 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10361 (grub-probe): Add ofpath.
10362 * gentpl.py: Remove group nosparc64.
10363 * grub-core/commands/search.c (cache_entry): New struct.
10364 (cache): New var.
10365 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10366 * grub-core/commands/search_wrap.c (options): Add platform-specific
10367 hint options.
10368 (grub_cmd_search): Handle platform-specific hints.
10369 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10370 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10371 (grub_util_biosdisk_data): Likewise.
10372 (grub_util_biosdisk_open): Set device_map.
10373 (read_device_map): Handle "" as indication of no map.
10374 Set device_map.
10375 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10376 (grub_util_biosdisk_get_compatibility_hint): New function.
10377 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10378 * include/grub/emu/hostdisk.h
10379 (grub_util_biosdisk_get_compatibility_hint): New proto.
10380 * util/grub-install.in: Don't call grub-mkdevicemap.
10381 Add platform-specific hint to load.cfg.
10382 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10383 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10384 hints. Set root preliminary to compatibility hint, not to OS name.
10385 * util/grub-probe.c (PRINT_*): Add hints.
10386 (print): Make static.
10387 (escape_of_path): New function.
10388 (guess_bios_drive): Likewise.
10389 (guess_efi_drive): Likewise.
10390 (guess_baremetal_drive): Likewise.
10391 (print_full_name): Likewise.
10392 (probe): Handle hints.
10393 (main): Likewise.
10394 * util/ieee1275/devicemap.c: Removed.
10395 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10396 updated.
10397 (grub_util_devname_to_ofpath): Return NULL on failure.
10398
10399 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10400 resource leak.
10401 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10402
10403 * po/POTFILES.in: Regenerated.
10404
10405 Allow purely long options
10406
10407 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10408 (SHORT_ARG_USAGE): Likewise.
10409 (grub_arg_show_help): Compare opt with help_options.
10410 (parse_option): Receive opt as argument. If makes big simplificatons.
10411 All users updated
10412
00ce2df3
VS
104132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10416 Restructure to avoid warning.
10417
e77e325f
VS
104182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * util/grub-install.in: Account for possible escaped comma in device
10421 name.
10422
165099ea
VS
104232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10426 channel.
10427
ce4a999d
VS
104282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10431 allocation and zero-setting.
10432 (grub_ieee1275_get_devname): Check that alias is complete.
10433
379586ad
VS
104342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10437 unaligned segments.
10438
9197b0ad
VS
104392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10442 prefix.
10443 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10444 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10445 Add ieee1275 prefix.
10446
edddb7f9
VS
104472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * docs/grub.texi (Filesystems): Update.
10450
a1a8b1b9
VS
104512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Support odc, newc and bigendian cpio formats.
10454
10455 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10456 * grub-core/Makefile.core.def (newc): New module.
10457 (odc): Likewise.
10458 (cpio_be): Likewise.
10459 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10460 (MAGIC): Likewise.
10461 (MAGIC2): Likewise.
10462 (head) [MODE_ODC]: Adapt for the format.
10463 (head) [MODE_NEWC]: Likewise.
10464 (head) [!MODE_*]: Write fields of interest as arrays.
10465 (MAGIC_USTAR): Removed.
10466 (read_number) [MODE_NEWC]: Change to hex.
10467 (read_number) [!MODE_*]: Parse binary arrays.
10468 (grub_cpio_find_file): Factor out the code for better structure and
10469 always use read_number.
10470 (grub_cpio_mount): Use MAGIC and MAGIC2.
10471 (grub_cpio_dir): Exit on first hook non-0 return.
10472 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10473 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10474 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10475 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10476 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10477 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10478 * grub-core/fs/newc.c: New file.
10479 * grub-core/fs/odc.c: Likewise.
10480 * grub-core/fs/cpio_be.c: Likewise.
10481
58eba9ee
VS
104822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 Fix handling of tar numbers occupying the whole field.
10485
10486 * grub-core/fs/cpio.c (read_number): New function.
10487 (grub_cpio_find_file): Use read_number instead of strtoull.
10488
a54a0e12
VS
104892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10492 occupying the whole field size.
10493
a6120aca
LA
104942011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10495
10496 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10497
a93964ce
VS
104982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10501
3ea1ca46
SG
105022011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10503
10504 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10505 TARGET_IMG_LDFLAGS.
10506
b87f7ef2
VS
105072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10510 (mountinfo_entry): Increase the field size to take escaping into
10511 account.
10512 (find_root_device_from_libzfs): Add one byte to size of strings for
10513 security.
10514
62092395
VS
105152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10518 an assert.
10519 * util/grub-setup.c (setup): Likewise.
10520
1f0b1a77
VS
105212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10524 _LzmaDecodeA.
10525
8eba9997
VS
105262011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * docs/grub.texi (Internationalisation): New section.
10529
dd0c91e9
VS
105302011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * docs/grub.texi (Loopback booting): New section.
10533
105342011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10535
10536 * util/grub-mkstandalone.in: Fix minor typo errors.
10537
198e150a
VS
105382011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10541
10542 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10543 net/icmp.c and net/icmp6.c.
10544 (http): New module.
10545 (priority_queue): Likewise.
10546 * grub-core/io/bufio.c: Rewritten.
10547 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10548 TYPE_WITH_CONFIGFILE_OPTION.
10549 (legacy_commands): Add bootp and dhcp.
10550 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10551 (grub_legacy_parse): Likewise.
10552 * grub-core/lib/priority_queue.c: New file.
10553 * grub-core/net/arp.c: Add missing license header.
10554 (arp_find_entry): Removed.
10555 (arp_find_entry): Likewise.
10556 (grub_net_arp_resolve): Rename to ...
10557 (grub_net_arp_send_request): ...this.
10558 (grub_net_arp_receive): New card argument.
10559 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10560 Set router and DNS server.
10561 (grub_net_configure_by_dhcp_ack): Handle routing information.
10562 (grub_cmd_bootp): Set checksum.
10563 (grub_bootp_init): Remove net_dhcp.
10564 * grub-core/net/dns.c: New file.
10565 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10566 completion.
10567 (get_card_packet): Handle allocation.
10568 (grub_efinet_findcards): Set mtu.
10569 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10570 (get_card_packet): Handle allocation.
10571 (emucard): Set mtu.
10572 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10573 (GRUB_MOD_INIT): Set mtu.
10574 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10575 mtu.
10576 (get_card_packet): Handle allocation.
10577 (grub_ofnet_findcards): Set mtu.
10578 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10579 assert.
10580 (grub_net_recv_ethernet_packet): Handle IPv6.
10581 * grub-core/net/http.c: New file.
10582 * grub-core/net/icmp.c: Likewise.
10583 * grub-core/net/icmp6.c: Likewise.
10584 * grub-core/net/ip.c (ip6addr): New type.
10585 (ip6hdr): Likewise.
10586 (reassemble): Likewise.
10587 (cmp): New function.
10588 (reassembles): New variable.
10589 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10590 (id): New variable.
10591 (send_fragmented): New function.
10592 (grub_net_send_ip_packet): Rename to ...
10593 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10594 Handle non-UDP.
10595 (grub_net_recv_ip_packets): Rename to ...
10596 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10597 (free_rsm): New function.
10598 (free_old_fragments): Likewise.
10599 (grub_net_recv_ip4_packets): New function.
10600 (grub_net_send_ip6_packet): Likewise.
10601 (grub_net_send_ip_packet): Likewise.
10602 (grub_net_recv_ip6_packets): Likewise.
10603 (grub_net_recv_ip_packets): Likewise.
10604 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10605 (LINK_LAYER_CACHE_SIZE): New const.
10606 (link_layer_find_entry): New function.
10607 (grub_net_link_layer_add_address): Likewise.
10608 (grub_net_link_layer_resolve_check): Likewise.
10609 (grub_net_link_layer_resolve): Likewise.
10610 (grub_net_ipv6_get_slaac): Likewise.
10611 (grub_net_ipv6_get_link_local): Likewise.
10612 (grub_cmd_ipv6_autoconf): Likewise.
10613 (parse_ip): Handle one number representation.
10614 (parse_ip6): New functoion.
10615 (match_net): Handle IPv6.
10616 (grub_net_resolve_address): Handle IPv6 and DNS.
10617 (grub_net_resolve_net_address): Handle IPv6.
10618 (route_cmp): New function.
10619 (grub_net_route_address): Find best route.
10620 (grub_net_addr_to_str): Handle IPv6.
10621 (grub_net_addr_cmp): New function.
10622 (grub_net_add_addr): Register local route.
10623 (print_net_address): Handle net address.
10624 (grub_net_poll_cards): Retransmit TCP.
10625 (grub_net_poll_cards_idle_real): Likewise.
10626 (have_ahead): New function.
10627 (grub_net_seek_real): Use underlying seek.
10628 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10629 * grub-core/net/tcp.c: New file.
10630 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10631 (cmp): New function.
10632 (ack): Likewise.
10633 (tftp_receive): Handle unordered input.
10634 (destroy_pq): New function.
10635 (tftp_close): Close pq.
10636 * grub-core/net/udp.c: Put missing license header.
10637 (grub_net_udp_socket): New function.
10638 (udp_socket_register): Likewise.
10639 (grub_net_udp_close): Likewise.
10640 (grub_net_recv_udp_packet): Check checksum.
10641 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10642 * include/grub/misc.h (grub_memchr): New function.
10643 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10644 (grub_net_card_driver): Return buf in recv.
10645 (grub_net_slaac_mac_list): New struct.
10646 (grub_network_level_protocol_id): Add ipv6.
10647 (grub_net_network_level_addr): Likewise.
10648 (grub_net_network_level_net_addr): Likewise.
10649 (grub_net_app_protocol): Add seek.
10650 (grub_net_socket): Removed.
10651 (grub_net_sockets): Likewise.
10652 (grub_net_socket_register): Likewise.
10653 (grub_net_socket_unregister): Likewise.
10654 (FOR_NET_SOCKETS): Likewise.
10655 (grub_net_add_addr): Add const.
10656 (GRUB_NET_BOOTP_*): New enum.
10657 (grub_net_addr_cmp): New proto.
10658 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10659 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10660 (grub_net_hwaddr_to_str): NEw proto.
10661 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10662 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10663 (grub_dns_init): New proto.
10664 (grub_dns_fini): Likewise.
10665 (grub_net_tcp_retransmit): Likewise.
10666 (grub_net_link_layer_add_address): Likewise.
10667 (grub_net_link_layer_resolve_check): Likewise.
10668 (grub_net_link_layer_resolve): Likewise.
10669 (grub_net_dns_lookup): Likewise.
10670 (grub_net_add_dns_server): Likewise.
10671 (grub_net_remove_dns_server): Likewise.
10672 (GRUB_NET_TRIES): New const.
10673 (GRUB_NET_INTERVAL): Likewise.
10674 * include/grub/net/arp.h: Mostly rewritten.
10675 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10676 * include/grub/net/ip.h: Mostly rewritten.
10677 * include/grub/net/netbuff.h: Indent.
10678 * include/grub/net/tcp.h: New file.
10679 * include/grub/net/udp.h: Mostly rewritten.
10680 * include/grub/priority_queue.h: New file.
10681 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10682 (grub_swap_bytes64_compile_time): Likewise.
10683 (grub_cpu_to_be16_compile_time): Likewise.
10684 (grub_cpu_to_be32_compile_time): Likewise.
10685 (grub_cpu_to_be64_compile_time): Likewise.
10686 (grub_be_to_cpu64_compile_time): Likewise.
10687
215c1800
VS
106882011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10691 UINT_TO_PTR with cast.
10692
c17e546c
VS
106932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10696 don't use them.
10697
ff6b18b6
VS
106982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10701 already there.
10702
70ffcc93
VS
107032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10706 confusing ipxe.
10707
e5f4d260
VS
107082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10711 Add missing const attribute.
10712 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10713 Likewise.
10714 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10715 Likewise.
10716
8e54b4b7
VS
107172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10720 misaligned access.
10721 (serpent_setkey): Likewise.
10722 (serpent_encrypt_internal): Likewise.
10723 (serpent_decrypt_internal): Likewise.
10724 (serpent_encrypt): Don't put an alignment-increasing cast.
10725 (serpent_decrypt): Likewise.
10726 (serpent_test): Likewise.
10727
813c0a2b
VS
107282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10731
f2b60fbd
VS
107322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10735
10736 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10737 grub_addr_t casts.
10738 (PTR_TO_UINT64): Likewise.
10739 (PTR_TO_UINT32): Likewise.
10740
5ef5c511
VS
107412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10744 because of stack.
10745 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10746 limit.
10747
c476e6df
VS
107482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10751 text_width > available width a bit more gracefully.
10752
384ad7cc
VS
107532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10756 current address calculation.
10757
96f8caf8
VS
107582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10761 stack.
10762 (encode_block): Likewise.
10763
276b7a8b
VS
107642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10767 certainety.
10768
e3fd394a
VS
107692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10772 non-RS part to avoid RS messing with GDT.
10773 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10774 Increase to suit in realmode routines.
10775
107762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * grub-core/kern/i386/realmode.S: Increase alignment.
10779 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10780
ee9c2e7a
VS
107812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10784 be deterministic.
10785 (syndroms): Compute 0 syndrom.
10786 (rs_recover): Use 0 syndrom.
10787
7a7f7cc9
VS
107882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10791
a14b16d1
VS
107922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10795 brackets.
10796
9f59e9fc
VS
107972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10798
ca1b552c
VS
10799 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10800 account.
10801 (get_top_pad): Likewise.
10802 (get_right_pad): Likewise.
10803 (get_bottom_pad): Likewise.
10804
108052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10808
e739d698
VS
108092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10812 attribute as the structure isn't guaranteed to be properly aligned.
10813 (grub_efi_pci_device_path): Likewise.
10814 (grub_efi_pccard_device_path): Likewise.
10815 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10816 specify the size of `memory_type'.
10817 (grub_efi_vendor_device_path): Likewise.
10818 (grub_efi_controller_device_path): Likewise.
10819 (grub_efi_acpi_device_path): Likewise.
10820 (grub_efi_expanded_acpi_device_path): Likewise.
10821 (grub_efi_atapi_device_path): Likewise.
10822 (grub_efi_scsi_device_path): Likewise.
10823 (grub_efi_fibre_channel_device_path): Likewise.
10824 (grub_efi_1394_device_path): Likewise.
10825 (grub_efi_usb_device_path): Likewise.
10826 (grub_efi_usb_class_device_path): Likewise.
10827 (grub_efi_i2o_device_path): Likewise.
10828 (grub_efi_mac_address_device_path): Likewise.
10829 (grub_efi_ipv4_device_path): Likewise.
10830 (grub_efi_ipv6_device_path): Likewise.
10831 (grub_efi_infiniband_device_path): Likewise.
10832 (grub_efi_uart_device_path): Likewise.
10833 (grub_efi_vendor_messaging_device_path): Likewise.
10834 (grub_efi_hard_drive_device_path): Likewise.
10835 (grub_efi_cdrom_device_path): Likewise.
10836 (grub_efi_vendor_media_device_path): Likewise.
10837 (grub_efi_file_path_device_path): Likewise.
10838 (grub_efi_protocol_device_path): Likewise.
10839 (grub_efi_piwg_device_path): Likewise.
10840 (grub_efi_bios_device_path): Likewise.
10841
cb8f88ea
VS
108422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10845 (grub_ucs4_to_utf8_alloc): Likewise.
10846 (grub_ucs4_to_utf8): Likewise.
10847 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10848 (grub_ucs4_to_utf8_alloc): Likewise.
10849
309e5352
VS
108502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 AFFS never uses unicode.
10853
10854 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10855 (grub_latin1_to_utf8): New inline function.
10856 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10857
e7987e1b
VS
108582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10861 overflow.
10862
efc2616e
VS
108632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10866 (grub_squash_dirent_header): Likewise.
10867 (read_chunk): Don't double swap.
10868 (grub_squash_iterate_dir): Fix swap sizes.
10869
3c349f5a
VS
108702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10873
b453412d
VS
108742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10877 (grub_hfs_iterate_dir): Likewise.
10878
12e9d4d1
VS
108792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Fix video on platforms where unaligned access is forbidden.
10882 Make several optimisations while on it.
10883
10884 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10885 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10886 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10887 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10888 Disable.
10889 (grub_video_fbblit_replace_16bit_1bit):
10890 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10892 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10893 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10894 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10895 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10896 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10897 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10898 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10899 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10900 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10901 (grub_video_fbblit_replace_index_RGB888): Likewise.
10902 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10903 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10904 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10905 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10906 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10907 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10908 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10909 Disable.
10910 (grub_video_fbblit_blend_XXX565_1bit):
10911 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10912 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10913 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10914 void *.
10915 * grub-core/video/fb/video_fb.c (common_blitter)
10916 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10917 (grub_video_fb_create_render_target_from_pointer)
10918 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10919 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10920 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10921 definition.
10922 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10923
ace96609
VS
109242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10927 HH22 and HM10 relocations.
10928
fd261d73
VS
109292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10932
e59b7857
VS
109332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10936 allocation succeeded.
10937
9b4baaa4
VS
109382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10941 argument a u8 pointer. All users updated.
10942 Handle unaligned buffers.
10943
dc713193
VS
109442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10947 add_part to workaround compiler bug.
10948
30dd48c2
VS
109492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10952
0c6087a8
VS
109532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10956 Reserve alignment invariants.
10957 (grub_multiboot_load): Likewise.
10958 (retrieve_video_parameters): Likewise.
10959 (grub_multiboot_make_mbi): Likewise.
10960
c2e77777
VS
109612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10964 incorrect pointer.
10965
b70b6d11
VS
109662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10969 (grub_pata_pio_write): Likewise.
10970
02a2bf83
VS
109712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 Add noreturn attributes and remove unreachable code.
10974
10975 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10976 code.
10977 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10978 code. Mark as noreturn.
10979 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10980 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10981 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10982 unreachable code.
10983 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10984 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10985 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10986 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10987 * include/grub/kernel.h (grub_main): Mark as noreturn.
10988 * include/grub/reader.h (grub_rescue_run): Likewise.
10989
2019d09e
VS
109902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10993 redundant declaration.
10994
d1c501ee
VS
109952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10998 redundant declaration.
10999 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11000
61664420
VS
110012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11004 to ensure alignment.
11005 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11006 alignment. Ensure tmp alignment.
11007 (grub_cmd_hdparm): Ensure buf alignment.
11008 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11009 to ensure alignment.
11010 (grub_ata_dumpinfo): Ensure text alignment.
11011 (grub_atapi_identify): Preserve alignment invariant.
11012 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11013
0d51ee20
VS
110142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11017 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11018 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11019 * include/grub/misc.h (grub_reboot)
11020 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11021 (grub_halt) [__mips__]: Likewise.
11022
753ef8c1
VS
110232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11026 Remove redundant declaration.
11027 (grub_mmap_get_post64): Likewise.
11028 (grub_mmap_get_upper): Likewise.
11029 (grub_mmap_get_lower): Likewise.
11030
85c85365
VS
110312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11034 uint32_t * to ensure alignment.
11035 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11036
a23f2cc4
VS
110372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11038
93018f64
VS
11039 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11040 uint16_t * to ensure alignment.
11041 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11042 alignment.
11043
110442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11047 to ensure alignment.
11048 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11049
58acccd6
VS
110502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11053 Handle unaligned pointers.
11054 (u32at): Likewise.
11055 (u64at): Likewise.
11056 (fixup): Use byte access instead of v16at.
11057 (find_attr): Fix imporper usage of v32at.
11058 (read_data): Likewise.
11059 (list_file): Handle byte-swapping and unaligned strings.
11060 (grub_ntfs_label): Likewise.
11061
9b05cad7
VS
110622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11065 as it's not necessarily aligned.
11066
b3950b84
VS
110672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11070 redundant declaration.
11071 (grub_serial_init): Likewise.
11072 (grub_terminfo_init): Likewise.
11073
fcd232b7
VS
110742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11077 function.
11078 (ZAP_HASH_IDX): Likewise.
11079 (ZAP_LEAF_HASH_SHIFT): Likewise.
11080 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11081 (LEAF_HASH): Likewise.
11082 (ZAP_LEAF_NUMCHUNKS): Likewise.
11083 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11084 alignment invariants. Return pointer. All users updated.
11085 (ZAP_LEAF_ENTRY): Make into inline function.
11086 (NBBY): Removed.
11087 (xor): LIkewise.
11088 (xor_out): Use grub_crypto_xor.
11089 (dnode_get_path): Use grub_get_unaligned.
11090 (nvlist_find_value): Likewise.
11091 (grub_zfs_nvlist_lookup_uint64): Likewise.
11092 (grub_zfs_nvlist_lookup_string): Likewise.
11093 (get_nvlist_size): Likewise.
11094 (grub_zfs_open): Likewise.
11095 (fill_fs_info): Likewise.
11096 (grub_zfs_dir): Likewise.
11097 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11098 alignment invariants.
11099 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11100 necessarily aligned.
11101
f138623a
VS
111022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11105
564840dc
VS
111062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11109 arithmetic to conserve alignment invariants.
11110
9b40df20
VS
111112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11114 redundant declaration.
11115 (grub_efiemu_mm_obtain_request): Likewise.
11116 (grub_efiemu_prepare): Likewise.
11117
d1c930f9
VS
111182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11121 to match types.
11122
4c5f3056
VS
111232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11126 case of aunaligned recptr.
11127 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11128 alignment.
11129 (grub_hfsplus_btree_search): Handle unaligned index.
11130
728cba91
VS
111312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11134 to get freetag and skip.
11135
eb561f31
VS
111362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11139 array.
11140 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11141 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11142
20993fbb
VS
111432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11146 name for checksum and fix allocation algorithm.
11147
1f313b94
VS
111482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * include/grub/types.h (grub_properly_aligned_t): New type.
11151 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11152 (grub_get_unaligned16): Add explicit casts.
11153 (grub_get_unaligned32): Likewise.
11154 (grub_get_unaligned64): Likewise.
11155 (grub_set_unaligned16): New function.
11156 (grub_set_unaligned32): Likewise.
11157
47ae27ec
VS
111582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11161
78c2cd1c
VS
111622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11165 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11166 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11167
53072f9b
VS
111682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11171 conditionals.
11172
055dc239
VS
111732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11176 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11177
496bd074
VS
111782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 Unify and improve RAID and crypto xor.
11181
11182 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11183 changed to grub_crypto_xor
11184 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11185 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11186 Use bigger types when possible.
11187
ef6e4335
VS
111882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * grub-core/disk/raid.c (scan_devices): Fix condition.
11191
5d048bf2
VS
111922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11195 Make name a const ptr.
11196
ee533335
VS
111972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11200 first argument a const pointer.
11201 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11203 proto.
11204 (grub_children_iterate): Likewise.
11205 (grub_machine_mmap_iterate): Remove redundant declaration.
11206
cc8f3668
VS
112072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11210 (grub_cmd_acpi) [!x86]: Disable EBDA.
11211
c5fc563a
VS
112122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Enable UTF8 in gnulib regexp.
11215
11216 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11217 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11218 (isupper): Use grub_isupper.
11219 (isascii): New inline function.
11220 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11221 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11222 * grub-core/normal/charset.c (grub_utf8_process): New function.
11223 (grub_utf8_to_utf16): Use grub_utf8_process.
11224 (grub_encode_utf8_character): New function.
11225 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11226 * include/grub/charset.h (grub_utf8_process): New declaration.
11227 (grub_encode_utf8_character): Likewise.
11228 * include/grub/misc.h (grub_islower): New inline function.
11229 (grub_isupper): Likewise.
11230 (grub_strchrsub): Moved down to fix the definitions.
11231
0af2346f
VS
112322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11235 specification.
11236
74dbd244
VS
112372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * include/grub/loader.h (grub_loader_register_preboot_hook):
11240 Use struct preboot * and not void * for handle. All users updated.
11241 (grub_loader_unregister_preboot_hook): Likewise.
11242
1bc8f60d
VS
112432011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11246 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11247 UTF-16-BE. All users updated.
11248 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11249 (grub_hfsplus_iterate_dir): Likewise.
11250 (grub_hfsplus_label): Likewise.
11251
48d6e456
VS
112522011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11255
bf3a3857
VS
112562011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Add missing const qualifiers.
11259
11260 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11261 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11262 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11263 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11264 (grub_lvm_check_flag): Likewise.
11265 * grub-core/efiemu/i386/coredetect.c
11266 (grub_efiemu_get_default_core_name): Likewise
11267 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11268 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11269 * grub-core/fs/ntfs.c (fixup): Likewise.
11270 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11271 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11272 (fzap_lookup): Likewise.
11273 (zap_lookup): Likewise.
11274 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11275 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11276 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11277 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11278 (grub_freebsd_add_meta_module): Likewise.
11279 (grub_cmd_freebsd_module): Likewise.
11280 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11281 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11282 (grub_xnu_writetree_get_size): Likewise.
11283 (grub_xnu_writetree_toheap_real): Likewise.
11284 (grub_xnu_find_key): Likewise.
11285 (grub_xnu_create_key): Likewise.
11286 (grub_xnu_create_value): Likewise.
11287 (grub_xnu_register_memory): Likewise.
11288 (grub_xnu_check_os_bundle_required): Likewise.
11289 (grub_xnu_scan_dir_for_kexts): Likewise.
11290 (grub_xnu_load_kext_from_dir): Likewise.
11291 * grub-core/normal/color.c (color_list): Likewise.
11292 * grub-core/normal/completion.c (current_word): Likewise.
11293 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11294 * grub-core/term/serial.c (grub_serial_find): Likewise.
11295 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11296 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11297 Likewise.
11298 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11299 (grub_freebsd_add_meta_module): Likewise.
11300 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11301 * include/grub/net.h (grub_net_card_driver): Likewise.
11302 (grub_net_card): Likewise.
11303 (grub_net_app_protocol): Likewise.
11304 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11305 * include/grub/serial.h (grub_serial_find): Likewise.
11306 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11307 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11308 (grub_xnu_create_value): Likewise.
11309 (grub_xnu_find_key): Likewise.
11310 (grub_xnu_scan_dir_for_kexts): Likewise.
11311 (grub_xnu_load_kext_from_dir): Likewise.
11312
11313 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11314 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11315 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11316 Moved from here ...
11317 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11318
112b4837
CW
113192011-11-28 Colin Watson <cjwatson@ubuntu.com>
11320
11321 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11322
49e891ac
VS
113232011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11326 (read_device): Fix size calculation.
11327
fd258e5c
RM
113282011-11-25 Robert Millan <rmh@gnu.org>
11329
11330 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11331 (find_root_device_from_libzfs): Add zpool output parser to be used
11332 as fallback when libzfs isn't available.
11333
78845dc2
SG
113342011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11335
11336 * po/Makefile.in.in: Add missing escape-continuation.
11337
adac5211
VS
113382011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11341
10b64f1c
VS
113422011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11345
bb416954
VS
113462011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11349
bdfe9eeb
VS
113502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11353
581ffa8a
VS
113542011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * grub-core/lib/adler32.c: Add missing license specification.
11357 * grub-core/lib/crc64.c: Likewise.
11358 * grub-core/loader/i386/pc/plan9.c: Likewise.
11359 * grub-core/partmap/plan.c: Likewise.
11360
2536cf64
LK
113612011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11362
11363 Add facility to debug GRUB with gdb under qemu.
11364
11365 * grub-core/gdb_grub.in: New file.
11366 * grub-core/gmodule.pl.in: Likewise.
11367 * grub-core/Makefile.core.def (gmodule.pl): New script.
11368 (gdb_grub): Likewise.
11369
bc108a4a
VS
113702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * util/grub-mount.c (argp_parser): Accept relative pathes.
11373 * util/grub-fstest.c (argp_parser): Likewise.
11374
111c1778
VS
113752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Plan9 support.
11378
11379 * Makefile.util.def (libgrubmods): Add
11380 grub-core/partmap/plan.c.
11381 * docs/grub.texi: Notice Plan9 support.
11382 * grub-core/Makefile.core.def (plan9): New module.
11383 (part_plan): Likewise.
11384 * grub-core/loader/i386/pc/plan9.c: New file.
11385 * grub-core/partmap/plan.c: Likewise.
11386 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11387 define.
11388 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11389 * include/grub/mm.h (grub_extend_alloc): New inline function.
11390
c30be3b6
VS
113912011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 Make Reed-Solomon faster by using power of generator representation of
11394 GF(256)*.
11395
11396 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11397 (gf_double_t): Likewise.
11398 (gf_invert): Removed.
11399 (gf_powx): New array.
11400 (gf_powx_inv): Likewise.
11401 (scratch): Move higher.
11402 (gf_reduce): Removed.
11403 (gf_mul): Use powx.
11404 (gf_invert): Likewise.
11405 (init_inverts): Replaced with ...
11406 (init_powx): ...this. All users updated.
11407 (pol_evaluate): Replace multiplications with additions.
11408 (rs_encode): Likewise.
11409 (gauss_eliminate): Call gf_invert.
11410 (grub_reed_solomon_add_redundancy): Call init_powx.
11411 (grub_reed_solomon_recover): Call init_powx unconditionally.
11412
fa5aeffc
VS
114132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11416
a346b81c
VS
114172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11420 disk->partiton for safety.
11421
d89ee414
VS
114222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11425 Fix a memory leak.
11426 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11427
91ee7b6d
VS
114282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11431
91e5a33d
VS
114322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11435
9edd7be2
VS
114362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 Fix spaces handling in proc/self/mountinfo.
11439
11440 * util/getroot.c (unescape): New function.
11441 (grub_find_root_device_from_mountinfo): Use unescape.
11442
ba102053
VS
114432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 Support ZFS embedding.
11446
11447 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11448 (grub_zfs_fs): Register grub_zfs_embed.
11449
aa94b870
VS
114502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 Fix MIPS compilation.
11453
11454 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11455 * include/grub/offsets.h: Rename decompressor fields from
11456 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11457 * util/grub-mkimage.c (image_targets): Use new names.
11458
5fbdac14
VS
114592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Defer multiboot device parsing until we're in compressed part.
11462
11463 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11464 bsd_part. setdevice has fallen into disuse.
11465 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11466 (bsd_part): Likewise.
11467 (boot_dev): New variable.
11468 (multiboot_trampoline): Don't parse multiboot device.
11469 Pass multiboot device in %edx.
11470 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11471 grub_boot_device.
11472 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11473 Likewise.
11474 * grub-core/kern/i386/pc/startup.S: Save edx.
11475 (grub_boot_drive): Removed.
11476 (grub_install_dos_part): Likewise.
11477 (grub_install_bsd_part): Likewise.
11478 (grub_boot_device): New variable.
11479 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11480 (grub_install_bsd_part): Likewise.
11481 (grub_boot_drive): Likewise.
11482 (grub_boot_device): New variable.
11483 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11484 Removed.
11485 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11486 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11487 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11488 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11489 * util/grub-install.in: Remove redundant condition.
11490
691cbb58
VS
114912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 Fix bug introduced by previous commit.
11494
11495 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11496
60240b8b
VS
114972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 Use decompressors framework on i386-pc. It increases core size
11500 by 46 bytes but improves compatibility and maintainability.
11501
11502 * grub-core/Makefile.core.def (lzma_decompress): New image.
11503 (kernel): Add i386_pc_ldflags.
11504 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11505 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11506 to real_to_prot, prot_to_real and device info.
11507 * include/grub/offsets.h: Renamed decompressor offsets.
11508 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11509 (image_target_desc): Remove raw_size and rename decompressor fields.
11510 (compress_kernel): Handle lzma.
11511 (generate_image): Handle decompressors on i386-pc.
11512
e9d3421c
VS
115132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * configure.ac: Add -fno-asynchronous-unwind-tables.
11516
2b23074a
VS
115172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 Move assembly code to C by using intwrap. It increases core size
11520 by 88 bytes but improves compatibility and maintainability.
11521
11522 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11523 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11524 ... here. Translated to C.
11525 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11526 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11527 ... here. Translated to C.
11528 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11529 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11530 ... here. Translated to C.
11531 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11532 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11533 ... here. Translated to C.
11534 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11535 * grub-core/term/i386/pc/console.c (grub_console_cls):
11536 ... here. Translated to C.
11537 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11538 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11539 ... here. Translated to C.
11540 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11541 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11542 Translated to C.
11543 * grub-core/term/i386/pc/console.c (int10_9): New function.
11544 (grub_console_putchar): Likewise.
11545 * include/grub/i386/pc/console.h: Removed the not anymore shared
11546 functions.
11547
678f4b67
VS
115482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 Move grub_chainloader_real_boot out of the kernel.
11551
11552 * grub-core/Makefile.am: Remove machine/loader.h.
11553 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11554 Removed.
11555 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11556 variable.
11557 (grub_relocator16_keep_a20_enabled): Likewise.
11558 (grub_relocator16_boot): Fill new variables.
11559 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11560 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11561 relocator.
11562 (grub_chainloader_unload): Likewise.
11563 (grub_chainloader_cmd): Likewise.
11564 * include/grub/i386/pc/loader.h: Removed.
11565 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11566 and esi. All initialisers updated.
11567
4626edf6
VS
115682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
115692011-11-12 Colin Watson <cjwatson@ubuntu.com>
11570
11571 * Makefile.util.def (grub-mount): New util.
11572 * .bzrignore: Add grub-mount.
11573 * configure.ac: Check for fuse and enable grub-mount if available.
11574 * docs/man/grub-mount.h2m: New file.
11575 * util/grub-mount.c: Likewise.
11576
10f0117b
VS
115772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/commands/efi/fixvideo.c: Gettextize.
11580 * grub-core/commands/hashsum.c: Likewise.
11581 * grub-core/commands/i386/cmostest.c: Likewise.
11582 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11583 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11584 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11585 * grub-core/commands/lsmmap.c: Likewise.
11586 * grub-core/commands/menuentry.c: Likewise.
11587 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11588 * grub-core/commands/setpci.c: Likewise.
11589 * grub-core/loader/i386/bsd.c: Likewise.
11590 * grub-core/loader/i386/linux.c: Likewise.
11591 * util/getroot.c: Likewise.
11592 * util/grub-editenv.c: Likewise.
11593 * util/grub-fstest.c: Likewise.
11594 * util/grub-mkfont.c: Likewise.
11595 * util/grub-mkimage.c: Likewise.
11596 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11597 * util/grub-pe2elf.c: Likewise.
11598 * util/grub-probe.c: Likewise.
11599 * util/grub-setup.c: Likewise.
11600 * util/ieee1275/ofpath.c: Likewise.
11601 * util/misc.c: Likewise.
11602 * util/raid.c: Likewise.
11603
566f779b
RM
116042011-11-11 Robert Millan <rmh@gnu.org>
11605
11606 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11607 __attribute__((unused)) from `os_dev', which *is* being used.
11608
b50787de
VS
116092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11612 forgotten define.
11613 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11614 GRUB_IA64_DL_GOT_ALIGN.
11615 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11616 GRUB_IA64_DL_TRAMP_ALIGN.
11617
119d11c8
VS
116182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Replace grub_fatal with normal errors in i386 linux loader.
11621
11622 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11623 (allocate_pages): Check find_efi_mmap_size return value.
11624 (grub_e820_add_region): Return error.
11625 (grub_linux_boot): Check mmap return value.
11626
6e0632e2
VS
116272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * grub-core/commands/acpihalt.c: Gettextized.
11630 * grub-core/commands/cacheinfo.c: Likewise.
11631 * grub-core/commands/cmp.c: Likewise.
11632 * grub-core/commands/efi/loadbios.c: Likewise.
11633 * grub-core/commands/gptsync.c: Likewise.
11634 * grub-core/commands/ieee1275/suspend.c: Likewise.
11635 * grub-core/commands/legacycfg.c: Likewise.
11636 * grub-core/commands/memrw.c: Likewise.
11637 * grub-core/commands/minicmd.c: Likewise.
11638 * grub-core/commands/parttool.c: Likewise.
11639 * grub-core/commands/time.c: Likewise.
11640 * grub-core/commands/videoinfo.c: Likewise.
11641 * grub-core/disk/geli.c: Likewise.
11642 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11643 * grub-core/disk/luks.c: Likewise.
11644 * grub-core/disk/lvm.c: Likewise.
11645 * grub-core/font/font_cmd.c: Likewise.
11646 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11647 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11648 * grub-core/gfxmenu/view.c: Likewise.
11649 * grub-core/kern/emu/hostdisk.c: Likewise.
11650 * grub-core/kern/emu/main.c: Likewise.
11651 * grub-core/kern/emu/misc.c: Likewise.
11652 * grub-core/kern/emu/mm.c: Likewise.
11653 * grub-core/kern/mips/arc/init.c: Likewise.
11654 * grub-core/kern/mips/loongson/init.c: Likewise.
11655 * grub-core/kern/partition.c: Likewise.
11656 * grub-core/lib/i386/halt.c: Likewise.
11657 * grub-core/lib/mips/arc/reboot.c: Likewise.
11658 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11659 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11660 * grub-core/loader/i386/xnu.c: Likewise.
11661 * grub-core/loader/multiboot.c: Likewise.
11662 * grub-core/net/bootp.c: Likewise.
11663 * grub-core/net/net.c: Likewise.
11664 * grub-core/normal/term.c: Likewise.
11665 * grub-core/partmap/bsdlabel.c: Likewise.
11666 * grub-core/parttool/msdospart.c: Likewise.
11667 * grub-core/term/gfxterm.c: Likewise.
11668 * grub-core/term/terminfo.c: Likewise.
11669 * grub-core/video/i386/pc/vbe.c: Likewise.
11670 * util/grub-menulst2cfg.c: Likewise.
11671 * util/grub-mkdevicemap.c: Likewise.
11672 * util/grub-mklayout.c: Likewise.
11673 * util/grub-mkrelpath.c: Likewise.
11674 * util/grub-script-check.c: Likewise.
11675 * util/ieee1275/grub-ofpathname.c: Likewise.
11676 * util/resolve.c: Likewise.
11677
073aa7a9
VS
116782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 Support %1$d syntax.
11681
11682 * tests/printf_unit_test.c: New file.
11683 * Makefile.util.def (printf_test): New test.
11684 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11685
c76b5417
VS
116862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11689 fix.
11690
df067ad1
VS
116912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11694 dprintf.
11695 * grub-core/font/font.c (grub_font_load): Likewise.
11696
5b289bc5
VS
116972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * util/grub-macho2img.c: Add comment concerning gettext.
11700 * grub-core/lib/legacy_parse.c: Likewise.
11701
c1860f87
VS
117022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11705 (grub_xvasprintf): Likewise.
11706
d35d0d37
VS
117072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 Add const keyword to grub_env_get and gettextize week days.
11710
11711 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11712 (grub_read_hook_datetime): Return const char *.
11713 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11714 updated.
11715 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11716 Mark for gettext.
11717 (grub_get_weekday_name): Return const char *. Call gettext.
11718 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11719 char * and len as the argument. All users updated.
11720 (grub_script_argv_split_append): Receive const char *.
11721 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11722 * include/grub/env.h (grub_env_get): Likewise.
11723 (grub_env_read_hook_t): Return const char *.
11724 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11725 (grub_script_argv_split_append): Likewise.
11726
9aed8a71
VS
117272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11730
067fdf00
VS
117312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11734 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11735
a8bd9d39
VS
117362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11739 Fix prototype.
11740
f7ce5baf
VS
117412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 Fix mips compilation.
11744
11745 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11746 normal decoder.
11747 (hashes): Use in embed decoder as well (for sizes).
11748 (dec_stream_header): Fix embed decompressor logic.
11749 (dec_stream_footer): Likewise.
11750
9bb182f3
VS
117512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11754 an error and not a fatal on unrecognised relocation types.
11755
63a9e6f6
VS
117562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11759 Issue error rather than printf on unknown arguments.
11760
4c458569
VS
117612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11764 Make buf a const.
11765
e2d22baf
VS
117662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11769 Fix module name.
11770
53dc8590
VS
117712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11774 leftover debug printf.
11775
6c189294
VS
117762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11779
f7688369
VS
117802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11783 A stylistic fix.
11784
11a775a3
VS
117852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11788
33f784e8
SL
117892011-11-10 Shea Levy <slevy@tieronedesign.com>
11790
11791 Allow all modules to perform serial IO
11792
11793 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11794 * include/grub/serial.h (grub_serial_port_configure): New inline
11795 function.
11796 (grub_serial_port_fetch): Likewise.
11797 (grub_serial_port_put): Likewise.
11798 (grub_serial_port_fini): Likewise.
11799 (grub_serial_find): New proto.
11800
f6276525
VS
118012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 Put symlink at the end of the node and fix a potential
11804 memory corruption.
11805
11806 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11807 Make symlink into an array.
11808 (set_rockridge): Set have_symlink and alloc_dirents.
11809 (grub_iso9660_read_symlink): Use new layout.
11810 (grub_iso9660_iterate_dir): Fix memory corruption.
11811 Use new layout.
11812 (grub_iso9660_dir): Set have_symlink.
11813 (grub_iso9660_open): Likewise.
11814
c3591189
VS
118152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 Remove local keyword.
11818
11819 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11820 (version_test_gt): Likewise.
11821 (version_find_latest): Likewise.
11822 (gettext_printf): Likewise.
11823 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11824
cb544caa
VS
118252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11828
45bd824d
VS
118292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 Fix ZFS memory and resource leaks.
11832
11833 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11834 All users updated.
11835 Free type on exit.
11836 (fill_vdev_info): New parameter inserted. All users updated.
11837 (check_pool_label): Likewise.
11838 (scan_disk): Likewise.
11839 (scan_devices): Close non-inserted disks.
11840 (fzap_iterate): Free l.
11841 (unmount_device): Free children descripto memory.
11842
ad9a2f44
VS
118432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11846 argument (access out of bounds).
11847
6b68db81
VS
118482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11851 >= 6 drives.
11852
28840fda
VS
118532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11856 Fix declaration.
11857
8a5a3a5b
VS
118582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 Fix several memory leaks.
11861
11862 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11863 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11864 (grub_cpio_dir): Likewise.
11865 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11866 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11867 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11868 (grub_romfs_label): Likewise.
11869 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11870 (squash_unmount): New function.
11871 (grub_squash_dir): Fix memory leak.
11872 (grub_squash_open): Likewise.
11873 (grub_squash_read): Likewise.
11874 (grub_squash_mtime): Likewise.
11875 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11876 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11877 * util/grub-fstest.c (fstest): Likewise.
11878
57b01250
VS
118792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11882 avoid accessing beyond the array.
11883
19e81ba7
VS
118842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11887
52b656c0
VS
118882011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 Several AFFS fixes.
11891
11892 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11893 (GRUB_AFFS_FLAG_FFS): Removed.
11894 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11895 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11896 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11897 (grub_fshelp_node): Make block 32-bit.
11898 Add block_cache and last_block_cache.
11899 (grub_affs_read_block): Fill and use block cache.
11900 (grub_affs_read_file): Removed.
11901 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11902 boot block.
11903 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11904 safety.
11905 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11906 space.
11907 (grub_affs_close): Free block cache.
11908 (grub_affs_read): Use grub_fshelp_read_file directly.
11909
438a746a
VS
119102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11913 with no error set.
11914
49a45021
VS
119152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11918 used variable.
11919 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11920 Likewise.
11921
3ae17eb8
VS
119222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11925
11926 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11927 byteswap when needed.
11928
27610c38
VS
119292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Fix FreeBSD compilation.
11932
11933 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11934 to avoid circular dependency.
11935 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11936 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11937 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11938
4a19b601
VS
119392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 Fix ZFS crypto error types.
11942
11943 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11944 (grub_gcm_decrypt): Likewise.
11945 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11946 from PBKDF2.
11947
958ee221
VS
119482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 Illumos support.
11951
11952 * Makefile.util.def (10_illumos): New script.
11953 * configure.ac: Set COND_HOST_ILLUMOS.
11954 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11955 Support Illumos calls.
11956 (find_partition_start) [__sun__]: Likewise.
11957 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11958 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11959 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11960 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11961 device.
11962 * util/grub-probe.c (probe) [__sun__]: Do character check.
11963 * util/grub.d/10_illumos.in: New file.
11964
cac14fb6
VS
119652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 Support escaped commas in hostdisk.
11968
11969 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11970 (find_grub_drive): Use unescape_cmp.
11971 (make_device_name): Escape commas.
11972
78e08dc3
VS
119732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11976
9f421dd1
VS
119772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11980 variable.
11981
ed64e9e2
VS
119822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 Support trampoline jumps on powerpc.
11985
11986 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11987 __ia64__ path.
11988 (grub_dl_load_segments): Set mod->sz.
11989 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11990 segments.
11991 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11992 (jump): Likewise.
11993 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11994 function.
11995 (trampoline): New struct.
11996 (trampoline_template): New const.
11997 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11998 * include/grub/dl.h (grub_dl): Add sz element.
11999 [__powerpc__]: Follow __ia64__.
12000 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12001 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12002 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12003 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12004
3084ede4
VS
120052011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 ZFS crypto support.
12008
12009 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12010 * grub-core/Makefile.core.def (zfscrypt): New module.
12011 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12012 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12013 it. All users updated.
12014 (grub_zfs_decrypt): New var.
12015 (grub_zfs_load_key): Likewise.
12016 (zio_checksum_functions): Add SHA256+MAC.
12017 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12018 (zio_read): Handle encrypted blocks.
12019 (zap_verify): Remove incorrect check.
12020 (fzap_iterate): Handle non-standard fzap.
12021 (zap_iterate): Likewise.
12022 (zap_iterate_u64): New function.
12023 (dnode_get_fullpath): Load keys.
12024 * grub-core/fs/zfs/zfscrypt.c: New file.
12025 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12026 (grub_crypto_ecb_encrypt): Make input const.
12027 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12028 (grub_crypto_ecb_encrypt): Make input const.
12029 (GRUB_CIPHER_AES): New macro.
12030 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12031 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12032 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12033 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12034 prefix. All users updated.
12035 (grub_zfs_add_key): New proto.
12036 (grub_zfs_decrypt): Likewise.
12037 (grub_zfs_load_key): Likewise.
12038 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12039 * util/grub-fstest.c (options): Add -K option.
12040 (argp_parser): Likewise.
12041
b632b404
VS
120422011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 Support zle compression on ZFS.
12045
12046 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12047 (decomp_table): Add zle.
12048 * include/grub/zfs/zio.h (zio_compress): Add zle.
12049
c7ba4f69
VS
120502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Support BtrFS embedding.
12053
12054 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12055 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12056 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12057 * util/grub-setup.c (setup): Use fs embedding if available.
12058 Add additional sanity check.
12059
455377d9
VS
120602011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * util/grub-install.in: Fix condition for config_opt.
12063
c2fd16ca
VS
120642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 Support third redundancy strip on raidz3.
12067
12068 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12069 Return error on singularity. All users updated.
12070 (read_device): Don't stop on 3rd failure on raidz3.
12071
8622923b
VS
120722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Support case-insensitive ZFS subvolumes.
12075
12076 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12077 All users updated.
12078 (zap_hash): Likewise.
12079 (name_cmp): New function.
12080 (zap_leaf_array_equal): New parameter case_insensitive.
12081 All users updated.
12082 (zap_leaf_lookup): Likewise.
12083 (fzap_lookup): Likewise.
12084 (zap_lookup): Likewise.
12085 (dnode_get_path): New parameter case_insensitive. Retrieve case
12086 sensitiviness of a volume. All users updated.
12087 (dnode_get_fullpath): New parameter case_insensitive.
12088 All users updated.
12089 (grub_zfs_dir): Set info.case_insensitiveness.
12090
95f2e860
VS
120912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 Support second redundancy strip on raidz(2,3).
12094
12095 * grub-core/fs/zfs/zfs.c (powx): New array.
12096 (powx_inv): Likewise.
12097 (poly): New const.
12098 (xor_out): New function.
12099 (gf_mul): Likewise.
12100 (recovery): Likewise.
12101 (read_device): Use second redundancy strip.
12102
11ee4389
VS
121032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Use a power of generator representation of GF(256) multiplication group
12106 to save space time and complexity.
12107
12108 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12109 (raid6_table2): Likewise.
12110 (powx): New array.
12111 (powx_inv): Likewise.
12112 (poly): New const.
12113 (grub_raid_block_mul): Replace with ...
12114 (grub_raid_block_mulx): ...this.
12115 (grub_raid6_init_table): Rewritten.
12116 (grub_raid6_recover): Use power of generator representation.
12117
09e2763f
VS
121182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12121 for the right device.
12122
8bec9a28
VS
121232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12126 expected by grub-mkimage and it's more clear since there is no implicit
12127 padding.
12128
dbd3a32e
VS
121292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12132 disk.
12133 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12134
182c872a
PMH
121352011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12136
12137 * util/grub-mkrescue.in: Fix handling xorriso option.
12138
1e51cabd
VS
121392011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12142 NULL.
12143
9cc3581d 121442011-11-03 crocket <crockabiscuit@gmail.com>
12145
12146 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12147
158dc1ea
VS
121482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 XZ CRC64 and SHA256 support.
12151
12152 * Makefile.util.def (libgrubmods): Add crc64.c.
12153 * grub-core/Makefile.core.def (crc64): New module.
12154 * grub-core/lib/crc64.c: New file.
12155 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12156 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12157 Fix the type.
12158 (MAX_HASH_SIZE): New define.
12159 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12160 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12161 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12162 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12163 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12164 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12165 Handle non-crc32 hashes.
12166 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12167 (dec_stream_header): Handle non-crc32 hashes.
12168 (dec_stream_footer): Likewise.
12169 (dec_block_header): Likewise.
12170 (dec_main): Likewise.
12171 (xz_dec_init): Likewise.
12172 (xz_dec_reset): Likewise.
12173 (xz_dec_end): Likewise.
12174 * util/import_gcry.py: Add CRC64 line.
12175
9d9b3d2f
VS
121762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12179 as well.
12180
7d0ac931
VS
121812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Make reiserfs label retrieval similar to other *_label functions.
12184
12185 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12186 (REISERFS_MAX_LABEL_LENGTH): Removed.
12187 (REISERFS_LABEL_OFFSET): Likewise.
12188 (grub_reiserfs_label): Rewritten.
12189
121902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12193 field.
12194
cf5ba824
VS
121952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12198
17744004
VS
121992011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12202 drive failure on both raidz and raidz2.
12203
aca5aefc
VS
122042011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 Fix RAIDZ(2) for >= 5 devices.
12207
12208 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12209 asize argument. All users updated.
12210
ce8ca56e
VS
122112011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Fix RAIDZ(2).
12214
12215 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12216 (fill_vdev_info_real): Set ashift.
12217 (read_device): Rewrite RAIDZ part based on reverse engineering.
12218
7c01e783
VS
122192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12222 don't report potentially unavialiable fields in debug output.
12223 (find_path): Fix double-free and memory leak.
12224
ce109e84
VS
122252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 Read label on UFS1.
12228
12229 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12230 (grub_ufs_fs): Always set .label.
12231
87661123
VS
122322011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 Use shifts in UFS.
12235
12236 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12237 (grub_ufs_data): New field log2_blksz.
12238 (grub_ufs_read_file): Use shifts.
12239 (grub_ufs_mount): Check block size and logarithm it.
12240
46bc1dc2
VS
122412011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12244 long symlinks.
12245
19ee2987
VS
122462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 Handle symlinks and long names on tar and cpio.
12249
12250 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12251 (ATTR_FILE): Likewise.
12252 (ATTR_DIR): Likewise.
12253 (ATTR_LNK): Likewise.
12254 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12255 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12256 L and K entries.
12257 (grub_cpio_mount): Zero-fill data.
12258 (handle_symlink): New function.
46bc1dc2
VS
12259 (grub_cpio_dir): Handle symlinks.
12260 (grub_cpio_open): Likewise.
12261 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12262
c83a08d8
VS
122632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 Fix iso9660 filename limitations and fix memory leaks.
12266
12267 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12268 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12269
45cdd3ea
VS
122702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 Fix JFS file name length limitations.
12273
12274 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12275 (grub_jfs_diropen): Fix maximum filename length.
12276 (grub_jfs_getent): Fix filename length.
12277 (grub_jfs_lookup_symlink): Fix size checks.
12278
94ef05c2
VS
122792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12282 string.
12283
785ab8c7
VS
122842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12285
eb0b6b45
VS
12286 Leverage BFS implementation to read AFS.
12287
12288 * Makefile.util.def (libgrubmods): Add afs.c.
12289 * grub-core/Makefile.core.def (afs): New module
12290 * grub-core/fs/afs.c: New file.
12291 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12292
122932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12296
c4a1628f
VS
122972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/fs/bfs.c: Run indent.
12300
5825b379
VS
123012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 BFS implementation based on the specification.
12304
12305 * grub-core/fs/bfs.c: New file.
12306 * Makefile.util.def (libgrubmods): Add bfs.c.
12307 * grub-core/Makefile.core.def (bfs): New module.
12308
42b2a706
VS
123092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * util/grub-fstest.c (cmd_cp): Clarify error message.
12312 (cmd_cmp): Likewise.
12313
61b99bfc
YB
123142011-10-30 Yves Blusseau <blusseau@zetam.org>
12315
12316 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12317 and befs_be.
12318
faba3d16
VS
123192011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 Remove afs and befs because of copyright problem.
12322
12323 * grub-core/fs/afs.c: Removed.
12324 * grub-core/fs/afs_be.c: Removed.
12325 * grub-core/fs/befs.c: Removed.
12326 * grub-core/fs/befs_be.c: Removed.
12327 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12328 * grub-core/Makefile.core.def (afs): Removed.
12329 (afs_be): Likewise.
12330 (befs): Likewise.
12331 (befs_be): Likewise.
12332
c39224b0
VS
123332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Prefer rockridge over Joliet.
12336
12337 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12338 to ...
12339 (set_rockridge): ... here.
12340 (grub_iso9660_mount): Check rockridge on the primary label when
12341 discovering. Ignore Joliet if Rockridge is present.
12342
e551115a
VS
123432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 Use shifts in nilfs2.
12346
12347 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12348 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12349 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12350 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12351 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12352 (grub_nilfs2_entries_per_block): Replaced with ...
12353 (grub_nilfs2_log_entries_per_block_log): ... this.
12354 (grub_nilfs2_blocks_per_group): Replaced with ...
12355 (grub_nilfs2_blocks_per_group_log): ... this.
12356 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12357 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12358 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12359 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12360 (grub_nilfs2_palloc_entry_offset): Replaced ...
12361 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12362 (grub_nilfs2_dat_translate): Use shifts.
12363 (grub_nilfs2_read_inode): Likewise.
12364 (GRUB_MOD_INIT): Ensure that logs are correct.
12365
564dd58c
VS
123662011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 Use shifts in minix filesystem.
12369
12370 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12371 (GRUB_MINIX_ZONE2SECT): Likewise.
12372 (grub_minix_data): Replace block_size with log_block_size.
12373 (grub_minix_read_file): Use shifts.
12374 (grub_minix_mount): Check block size and take a logarithm.
12375
ed9ba06d
VS
123762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Use shifts in squash4.
12379
12380 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12381 (squash_mount): Check block size and take logarithm.
12382 (direct_read): Use shifts.
12383
ad03fe76
VS
123842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 Correct befs block counting logic.
12387
12388 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12389 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12390 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12391 (grub_afs_read_inode): Use block_shift.
12392 (RANGE_SHIFT): New definition.
12393 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12394 unexpected conditions, use shifts and appropriate types.
12395 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12396
6563f63d
VS
123972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * grub-core/disk/raid.c (scan_devices): Check partition.
12400 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12401
5b1ae25f
VS
124022011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 Support BFS (befs) UUID.
12405
12406 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12407 (grub_afs_small_data_element_header): New struct.
12408 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12409 (grub_afs_read_attribute) [MODE_BFS]: New function.
12410 (grub_afs_iterate_dir): Allocate for complete inode.
12411 (grub_afs_mount): Likewise.
12412 (grub_afs_uuid) [MODE_BFS]: New function.
12413 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12414
f8d82408
VS
124152011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12418 (zfs_unmount): Fix memory leak.
12419
5773fb64
VS
124202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 Support NTFS reparse points.
12423
12424 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12425 (symlink_descriptor): New struct.
12426 (grub_ntfs_read_symlink): New function.
12427 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12428 (grub_ntfs_open): Likewise.
12429
91c3fdde
VS
124302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12433
3be82e10
VS
124342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 fstest xnu_uuid subcommand.
12437
12438 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12439 grub-core/commands/xnu_uuid.c.
12440 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12441 (fstest): Handle xnu_uuid.
12442 (options): Document xnu_uuid.
12443 (argp_parser): Parse xnu_uuid.
12444
8e32442e
VS
124452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12448 -l argument. Add newline at the end if printing.
12449 (GRUB_MOD_INIT): Document -l.
12450
52a05075
VS
124512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12454
1869edb5
VS
124552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 ZFS multi-device and version 33 support.
12458
12459 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12460 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12461 (grub_zfs_data): Add multidev-ice-related fields.
12462 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12463 (dva_get_offset): Make dva const.
12464 (zfs_fetch_nvlist): New function.
12465 (fill_vdev_info_real): Likewise.
12466 (fill_vdev_info): Likewise.
12467 (check_pool_label): Likewise.
12468 (scan_disk): Likewise.
12469 (scan_devices): Likewise.
12470 (read_device): Likewise.
12471 (read_dva): Likewise.
12472 (zio_read_gang): Use read_dva.
12473 (zio_read_data): Likewise.
12474 (zap_leaf_lookup): Add missing endian conversion.
12475 (zap_verify): Add missing endian conversion. All users updated.
12476 (fzap_lookup): Likewise.
12477 (fzap_iterate): Likewise.
12478 (dnode_get_path): Handle SA bonus.
12479 (nvlist_find_value): Make input const. All users updated.
12480 (unmount_device): New function.
12481 (zfs_unmount): Use unmount_device.
12482 (zfs_mount): Use scan_disk.
12483 (zfs_mtime): New function.
12484 (grub_zfs_open): Handle system attributes.
12485 (fill_fs_info): Likewise.
12486 (grub_zfs_dir): Likewise.
12487 (grub_zfs_fs): Add mtime.
12488 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12489 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12490 (SA_MTIME_OFFSET): Likewise.
12491 (SA_SYMLINK_OFFSET): Likewise.
12492 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12493 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12494 (fstest): Support zfsinfo.
12495 (argp_parser): Likewise.
12496
186b4028
VS
124972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12500 error.
12501
125022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12503
12504 ZFS fixes.
12505
12506 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12507 sharing the same block. Iterate over correct number of indices.
12508 (dnode_get_path): Handle symlinks correctly.
12509
c0584900
VS
125102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12513
67e2bd71
VS
125142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 Read label on HFS+.
12517
12518 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12519 (grub_hfsplus_btree_search): Fix types.
12520 (grub_hfsplus_label): Implement.
12521
e9cc6b7b
VS
125222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12525
19832ddb
VS
125262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12529
66b40850
VS
125302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Fix symlink handling on iso9660.
12533
12534 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12535 All users updated.
12536 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12537 (grub_iso9660_read_symlink): Moved most of code ...
12538 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12539
db821363
VS
125402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12543 Use union to avoid breaking strict-aliasing rules.
12544
e1211949
VS
125452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Support multi-extent iso files.
12548
12549 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12550 Add node.
12551 (grub_fshelp_node): Revamp. All users updated.
12552 (FLAG_*): New enum.
12553 (read_node): New function.
12554 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12555 All users updated.
12556 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12557 (get_node_size): New function.
12558 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12559 entries.
12560 Fix memory leak on . and ..
12561 (grub_iso9660_read): Use read_node.
12562 (grub_iso9660_close): Free node.
12563
d4888031
VS
125642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Fix tar 4G limit and handle paths containing dot.
12567
12568 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12569 (canonicalize): New function.
12570 (grub_cpio_find_file): Use canonicalize. Store offs in
12571 grub_disk_addr_t.
12572 (grub_cpio_dir): Use grub_disk_addr_t.
12573 (grub_cpio_open): Likewise.
12574
9f12e664
VS
125752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12578
12579 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12580 unused flags.
12581 (grub_squash_inode): Add long_file and block_size.
12582 (grub_squash_cache_inode): New struct.
12583 (grub_squash_dirent): Make types into enum.
12584 (SQUASH_TYPE_LONG_REGULAR): New type.
12585 (grub_squash_frag_desc): Add field size.
12586 (SQUASH_BLOCK_FLAGS): New enum.
12587 (grub_squash_data): Use grub_squash_cache_inode.
12588 (grub_fshelp_node): Make ino_chunk 64-bit.
12589 (read_chunk): Minor argument change. All users updated.
12590 (squash_mount): Use correct le_to_cpu.
12591 (grub_squash_open): Handle LONG_REGULAR.
12592 (direct_read): New function.
12593 (grub_squash_read_data): Handle blocks correctly.
12594
9f326fba
VS
125952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12598
f4d9b64b
VS
125992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12602
5bbd28b8
VS
126032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Fix 2G limit on ZFS.
12606
12607 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12608 types.
12609 (uberblock_verify): Likewise.
12610 (dmu_read): Likewise.
12611 (grub_zfs_read): Likewise. Remove invalid cast.
12612
68c72069
VS
126132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12616 (grub_jfs_blkno): Fix incorrect shift.
12617 (grub_jfs_read_file): Use more appropriate types.
12618
6e536dc8
VS
126192011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 Support triple indirect on minix2 and minix3.
12622
12623 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12624 Declare triple_indir_zone.
12625 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12626 indirect.
12627
e0864e7a
VS
126282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Minix FS fixes.
12631
12632 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12633 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12634 Rename ctime to mtime. All users updated.
12635 (grub_minix_get_file_block): Fix types and double indirect computations.
12636
89481cab
VS
126372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12640 if no label is found.
12641 (grub_fat_iterate_dir): Fix file size type.
12642 (grub_fat_iterate_dir): Likewise.
12643
f646e143
VS
126442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12647 save some space.
12648 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12649 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12650
534d769e
VS
126512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12654
e084ba18
VS
126552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * util/import_gcry.py: Accept space between # and include.
12658
3471ecdf
VS
126592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12662
124df5f6
VS
126632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12666
12667 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12668 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12669 yylex_strncpy.
12670 * grub-core/script/yylex.l: Add fine-grained #pragma.
12671
4defb8d5
VS
126722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12675 New inline function.
12676 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12677 Likewise.
12678 (memset) [GRUB_UTIL]: Likewise.
12679 (memcmp) [GRUB_UTIL]: Likewise.
12680
4e94ae65
VS
126812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12684 inline function rather than a define.
12685
18c575e5
VS
126862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * util/grub-setup.c: Add missing include.
12689
f8bc22a8
VS
126902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/ieee1275/grub-ofpathname.c: Add missing include.
12693
3ce69fc9
VS
126942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12697 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12698 Likewise.
12699
d1e293bb
VS
127002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12703 grub_memcmp usage.
12704
7a5c54a4
VS
127052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-install.in: Add datarootdir as per automake manual
12708 suggestion.
12709 * util/grub-mknetdir.in: Likewise.
12710
127112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12712
12713 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12714 suggestion.
12715 * util/grub.d/10_kfreebsd.in: Likewise.
12716 * util/grub.d/10_linux.in: Likewise.
12717 * util/grub.d/10_netbsd.in: Likewise.
12718 * util/grub.d/10_windows.in: Likewise.
12719 * util/grub.d/20_linux_xen.in: Likewise.
12720
766f7d08
VS
127212011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Remove redundant grub_kernel_image_size.
12724
12725 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12726 _edata and _start.
12727 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12728 the small code. It moves it only by few bytes but simplifies the code.
12729 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12730 _start.
12731 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12732 (grub_kernel_image_size): Removed.
12733 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12734 (grub_kernel_image_size): Removed.
12735 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12736 compiled with Apple toolchain.
12737 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12738 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12739 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12740 (grub_total_module_size): Likewise.
12741 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12742 Removed.
12743 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12744 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12745 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12746 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12747 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12748 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12749 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12750 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12751 Removed.
12752 (grub_total_module_size): Removed.
12753 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12754 (image_targets): Likewise.
12755 Set .compressed_size to no field on sparc.
12756 (generate_image): Remove kernel_image_size handling.
12757
fcf1d672
SJ
127582011-10-19 Szymon Janc <szymon@janc.net.pl>
12759
12760 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12761 NULL pointer dereference.
12762
de9c615e
VS
127632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12766 done with a dedicated section.
12767
12768 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12769 Ensure the correct position of boot_path.
12770 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12771 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12772 other fields.
12773 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12774 * include/grub/boot.h: Removed. All references removed.
12775 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12776 Removed.
12777 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12778
e55599dc
VS
127792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12782 name.
12783
36dd20ad
VS
127842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12787
f8f72eb8
VS
127882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12791 Don't add the bogus brackets.
12792
a374751b
VS
127932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 ExFAT support.
12796
12797 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12798 * grub-core/Makefile.core.def (exfat): New module.
12799 * grub-core/fs/exfat.c: New file.
12800 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12801 (GRUB_FAT_ATTR_*): Make into an enum.
12802 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12803 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12804 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12805 (GRUB_FAT_MAXFILE): Removed.
12806 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12807 (grub_current_fat_bpb_t): New type.
12808 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12809 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12810 (grub_fat_dir_node_t): New type.
12811 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12812 (fat_log2) [MODE_EXFAT]: Removed.
12813 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12814 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12815 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12816 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12817 (grub_fat_label) [MODE_EXFAT]: New function.
12818 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12819 reserved_first_sector to 0.
12820
544c2487
VS
128212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 Move grub_reboot out of the kernel.
12824
12825 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12826 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12827 * grub-core/lib/efi/reboot.c: ... here.
12828 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12829 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12830 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12831 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12832 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12833 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12834 * grub-core/lib/ieee1275/reboot.c: ... here.
12835 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12836 * grub-core/lib/mips/arc/reboot.c: ... here.
12837 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12838 * grub-core/lib/mips/loongson/reboot.c: ...here.
12839 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12840 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12841 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12842 * include/grub/i386/reboot.h: New file.
12843 * include/grub/mips/loongson/ec.h: Fix includes.
12844 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12845 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12846 * grub-core/lib/i386/reboot.c: New file.
12847
a97501d2
VS
128482011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 Make grub_prefix into module to fix the arbitrary limit and save
12851 some space.
12852
12853 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12854 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12855 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12856 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12857 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12858 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12859 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12860 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12861 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12862 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12863 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12864 * include/grub/ia64/efi/kernel.h: Removed.
12865 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12866 (grub_prefix): Removed.
12867 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12868 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12869 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12870 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12871 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12872 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12873 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12874 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12875 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12876 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12877 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12878 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12879 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12880 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12881 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12882 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12883 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12884 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12885 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12886 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12887 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12888 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12889 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12890 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12891 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12892 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12893 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12894 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12895 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12896 from module.
12897 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12898 prefix_end.
12899 (image_targets): Likewise.
12900 (generate_image): Put prefix as a module.
12901
39705fad
VS
129022011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 Replace grub_module_iterate with FOR_MODULES.
12905
12906 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12907 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12908 (grub_efi_modules_addr): ...this.
12909 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12910 (grub_efi_init): Set grub_modbase.
12911 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12912 (grub_modbase): New variable.
12913 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12914 (grub_modbase): New variable.
12915 (grub_machine_init): Set grub_modbase.
12916 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12917 (grub_modbase): New variable.
12918 (grub_machine_init): Set grub_modbase.
12919 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12920 (grub_modbase): New variable.
12921 (grub_machine_init): Set grub_modbase.
12922 * grub-core/kern/main.c (grub_module_iterate): Remove.
12923 (grub_modules_get_end): Use grub_modbase.
12924 (grub_load_modules): Use FOR_MODULES.
12925 (grub_load_config): Likewise.
12926 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12927 (grub_modbase): New variable.
12928 (grub_machine_init): Set grub_modbase.
12929 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12930 (grub_modbase): New variable.
12931 (grub_machine_init): Set grub_modbase.
12932 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12933 Removed.
12934 (grub_modbase): New variable.
12935 (grub_machine_init): Set grub_modbase.
12936 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12937 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12938 (grub_module_iterate): Likewise.
12939 (grub_modbase): New variable declaration.
12940 (FOR_MODULES): New macro.
12941
2afb7f6c
VS
129422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12945 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12946
366e34fa
VS
129472011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 Fix few obvious type discrepancies.
12950
12951 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12952 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12953 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12954 variable.
12955 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12956 and connected types.
12957 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12958 offset.
12959 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12960 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12961 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12962 and connected types.
12963
177b960e
VS
129642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Fix python 3.x incompatibilities.
12967
12968 * gentpl.py: Put brackets around print strings.
12969 * util/import_gcry.py: Open explicitly as utf-8.
12970 Use in instead of has_key.
12971
3b619ae1
VS
129722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12975 (GRUB_XFS_INO_AGBITS): Make into inline function.
12976 (GRUB_XFS_INO_INOINAG): Likewise.
12977 (GRUB_XFS_INO_AG): Likewise.
12978 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12979 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12980 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12981 (GRUB_XFS_EXTENT_SIZE): Likewise.
12982 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12983 (GRUB_XFS_NEXT_DIRENT): Likewise.
12984 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12985 (grub_xfs_read_file): Fix offset type.
12986
8bcebcb8
RM
129872011-10-15 Robert Millan <rmh@gnu.org>
12988
12989 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12990
0017e5ef
RM
129912011-10-15 Robert Millan <rmh@gnu.org>
12992
12993 Fix build problem on FreeBSD and GNU/kFreeBSD.
12994
12995 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12996
d8919552
VS
129972011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13000
13001 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13002 types.
13003 (grub_hfsplus_btree_recoffset): Likewise.
13004 (grub_hfsplus_btree_recptr): Likewise.
13005 (grub_hfsplus_find_block): Likewise.
13006 (grub_hfsplus_btree_search): Likewise.
13007 (grub_hfsplus_read_block): Likewise.
13008 (grub_hfsplus_read_file): Likewise.
13009 (grub_hfsplus_mount): Likewise.
13010 (grub_hfsplus_btree_iterate_node): Likewise.
13011 (grub_hfsplus_btree_search): Likewise.
13012 (grub_hfsplus_iterate_dir): Likewise.
13013 (grub_hfsplus_read): A small code simplification.
13014
c81296b6
VS
130152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/kern/emu/hostdisk.c
13018 (convert_system_partition_to_system_disk): Don't assume that children
13019 of mapper nodes are mapper nodes.
13020
0eb8ffb1
VS
130212011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13024 * include/grub/misc.h (grub_isxdigit): New function.
13025 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13026 switched to grub_isxdigit.
13027 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13028 number starting with a letter.
13029
a98f4a08
RM
130302011-10-09 Robert Millan <rmh@gnu.org>
13031
13032 LVM support for FreeBSD and GNU/kFreeBSD.
13033
13034 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13035 GNU/kFreeBSD.
13036 (LVM_DEV_MAPPER_STRING): Move from here ...
13037 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13038 * util/getroot.c: Include `<grub/util/lvm.h>'.
13039 (grub_util_get_dev_abstraction): Enable
13040 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13041 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13042 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13043 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13044 support it.
13045 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13046 GNU/kFreeBSD.
13047 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13048 when LVM abstraction is required for ${GRUB_DEVICE}.
13049
050e8e90
SJ
130502011-10-06 Szymon Janc <szymon@janc.net.pl>
13051
13052 Add support for LZO compression in GRUB:
13053 - import of minilzo library,
13054 - LZO decompression for btrfs,
13055 - lzop files decompression.
13056
13057 * grub-core/io/lzopio.c: New file.
13058 * grub-core/lib/adler32.c: Likewise.
13059 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13060 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13061 * grub-core/lib/minilzo/minilzo.c: Likewise.
13062 * grub-core/lib/minilzo/minilzo.h: Likewise.
13063 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13064 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13065 grub-core/lib/minilzo/minilzo.c to common.
13066 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13067 cflags in cppflags.
13068 * grub-core/Makefile.core.def (btrfs): Likewise.
13069 * grub-core/Makefile.core.def (lzopio): New module.
13070 (adler32): Likewise.
13071 * grub-core/fs/btrfs.c: Include minilzo.h.
13072 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13073 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13074 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13075 (grub_btrfs_lzo_decompress): New function.
13076 (grub_btrfs_extent_read): Add support for LZO compression type.
13077 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13078 (GRUB_USHRT_MAX): Likewise.
13079 (GRUB_UINT_MAX): Likewise.
13080 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13081 (UINT_MAX): Likewise.
13082 (CHAR_BIT): Likewise.
13083 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13084 grub-core/lib/posix_wrap/limits.h
13085 (UCHAR_MAX): Likewise.
13086 * include/grub/file.h (grub_file_filter_id): New compression filter
13087 GRUB_FILE_FILTER_LZOPIO.
13088 * include/grub/file.h (grub_file_filter_id): Set
13089 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13090 * include/grub/types.h (grub_get_unaligned16): New function.
13091 (grub_get_unaligned32): Likewise.
13092 (grub_get_unaligned64): Likewise.
13093 * util/import_gcry.py (cryptolist): Add adler32.
13094
0eb8ffb1
VS
130952011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13098 in perspective decreases the complexity of build system and fixes
13099 compilation right now.
13100
ce79cc99 131012011-10-01 Ales Nesrsta <starous@volny.cz>
13102
13103 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13104 (fixed problem related to using UHCI with coreboot).
13105
8667a314
BC
131062011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13107
13108 * gentpl.py: Use Autogen macros so that the output template file
13109 (Makefile.tpl) size is reduced.
13110
fc5efcc0
MK
131112011-09-29 Mads Kiilerich <mads@kiilerich.com>
13112
13113 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13114 extra_dist.
13115
d1ab689d
ML
131162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13117
13118 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13119 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13120
c05de032
ML
131212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13122
13123 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13124 _fullpath.
13125
cca7ccd8
ML
131262011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13127
13128 Remove extra declaration of sleep for mingw32.
13129
13130 * util/misc.c (sleep) [__MINGW32__]: Removed.
13131 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13132
e0b0dc83
GS
131332011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13134
13135 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13136 type and packname.
13137 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13138 Resurrected.
13139 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13140 (grub_netbsd_btinfo_bootwedge): New struct.
13141 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13142 New function.
13143 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13144
91a1a164
TH
131452011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13146
13147 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13148 loader.
13149
2ded951e
AB
131502011-09-28 Andreas Born <futur.andy@googlemail.com>
13151
13152 Fix incorrect identifiers in bash-completion.
13153
13154 * util/bash-completion.d/grub-completion.bash.in
13155 (_grub_mkpasswd-pbkdf2): Rename to ...
13156 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13157 (_grub_script-check): Rename to ...
13158 (_grub_script_check): ... this. All users updated.
13159
69915030
VS
131602011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13163 Return 0 if disk isn't biosdisk.
13164
20fd15f9
GS
131652011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13166
13167 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13168 on NetBSD.
13169 * Makefile.util.def (grub-fstest): Likewise.
13170
1a7d7db9
GS
131712011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13172
13173 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13174 Get sector size from disk label.
13175
2221ab6c
CW
131762011-09-05 Colin Watson <cjwatson@ubuntu.com>
13177
13178 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13179 */README* as well as README*.
13180 Reported by: Axel Beckert.
13181
ca51c4a0
VS
131822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13185 case of less than 256 MiB of RAM.
13186
ab80f326
VS
131872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * grub-core/commands/wildcard.c (make_regex): Handle @.
13190
4155e697
VS
131912011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13194
ab178c08
SJ
131952011-08-21 Szymon Janc <szymon@janc.net.pl>
13196
13197 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13198 AC_LANG_CONFTEST macros.
13199
7dc3c686
SJ
132002011-08-20 Szymon Janc <szymon@janc.net.pl>
13201
13202 Add grub-fstest option to uncompress data for commands.
13203
13204 * util/grub-fstest.c (uncompress): New var.
13205 (options): New option -u.
13206
fe8d4a7b
SJ
132072011-08-20 Szymon Janc <szymon@janc.net.pl>
13208
13209 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13210 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13211
a5219af1
SJ
132122011-08-20 Szymon Janc <szymon@janc.net.pl>
13213
13214 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13215 file type was not recognized correctly (not gzip or corrupted).
13216
f87abff5
VS
132172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13220 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13221
d94497ea
VS
132222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13225 loongson.
13226 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13227 video_radeon_fuloong2e.
13228 * grub-core/video/radeon_fuloong2e.c: New file.
13229 * include/grub/video.h (grub_video_id_t): Add new ID
13230 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13231
0d1fd011
VS
132322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13235 define.
13236 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13237 that PRID matches the detected subplatform and reset the subplatform
13238 if it doesn't.
13239
84beb0ee
VS
132402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13243
1227c133
VS
132442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 Fix PCI iterating on functions >= 4.
13247
13248 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13249 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13250 Removed.
13251 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13252 (grub_pci_read): Fix bitmask.
13253 (grub_pci_read_word): Likewise.
13254 (grub_pci_read_byte): Likewise.
13255 (grub_pci_write): Likewise.
13256 (grub_pci_write_word): Likewise.
13257 (grub_pci_write_byte): Likewise.
13258
9594c689
VS
132592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13262 can still be specified in TARGET_CFLAGS)
13263
14a2562c
VS
132642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13267
13268 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13269 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13270 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13271 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13272 (FULOONG): Rename to ...
13273 (FULOONG2F): ... this. All users updated.
13274 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13275 (machtype_fuloong2f_str): ... this.
13276 (machtype_fuloong2e_str): New string.
13277 Check for machtype_fuloong2e_str.
13278 * grub-core/loader/mips/linux.c (loongson_machtypes)
13279 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13280 * grub-core/term/serial.c (loongson_defserial)
13281 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13282 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13283 loongson_defserial.
13284 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13285 Rename to ...
13286 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13287 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13288 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13289 to IMAGE_FULOONG2F_FLASH. All users updated.
13290 (image_targets): Rename images.
13291 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13292
b526cbb6
SJ
132932011-08-19 Szymon Janc <szymon@janc.net.pl>
13294
13295 Make enable of disk cache statistics code configurable.
13296
13297 * configure.ac: --enable-cache-stats added.
13298 * config.h.in (DISK_CACHE_STATS): New define.
13299 * grub-core/Makefile.core.def (cacheinfo): New command.
13300 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13301 * grub-core/commands/cacheinfo.c: New file.
13302 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13303 moved to cacheinfo.c.
13304 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13305 debug code.
13306 * include/grub/disk.h: Likewise.
13307
fb739ccd
SJ
133082011-08-19 Szymon Janc <szymon@janc.net.pl>
13309
13310 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13311 * grub-core/Makefile.am: Likewise.
13312
2bba8cfd
VS
133132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13316 non-zero pull.
13317
43526629
VS
133182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13321 All users updated.
13322 (grub_jfs_lookup_symlink): Use correct starting inode.
13323
5c144cc8
VS
133242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * util/grub-setup.c (main): Add missing gcry initialisation.
13327
b1257f65
VS
133282011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 Don't accept text modes on EFI when booting Linux.
13331
13332 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13333 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13334
828bc390
ML
133352011-08-15 Mario Limonciello <mario_limonciello@dell.com>
133362011-08-15 Colin Watson <cjwatson@ubuntu.com>
13337
13338 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13339 use of "/path/.." as in grub-install for EFI as well as handling
13340 symlinks correctly.
13341 Fixes Debian bug #637768.
13342
5f60ccac
CW
133432011-08-15 Colin Watson <cjwatson@ubuntu.com>
13344
13345 * util/grub-probe.c: Remove duplicate #include.
13346
6dc212f9
RM
133472011-08-10 Robert Millan <rmh@gnu.org>
13348
13349 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13350
13351 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13352 function.
13353 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13354 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13355
66816d85
RM
133562011-08-03 Robert Millan <rmh@gnu.org>
13357
13358 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13359 la_array as packed.
13360 Reported by: Zachary Bedell
13361
20168fca
CW
133622011-07-26 Colin Watson <cjwatson@ubuntu.com>
13363
13364 * configure.ac: The Loongson port requires grub-mkfont due to its
13365 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13366 be built.
13367
303b6246
CW
133682011-07-26 Colin Watson <cjwatson@ubuntu.com>
13369
13370 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13371 processing arguments (otherwise help2man fails when GRUB has not yet
13372 been installed).
13373
6795300e
VS
133742011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13375
41aa28ea
VS
13376 New script grub-mkstandalone.
13377
13378 * Makefile.util.def (grub-mkstandalone): New script.
13379 * docs/man/grub-mkstandalone.h2m: New file.
13380 * util/grub-mkstandalone.in: Likewise.
13381
133822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 Support ATA disks with 4K sectors.
6795300e
VS
13385
13386 * include/grub/ata.h (grub_ata): New member log_sector_size.
13387 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13388 (grub_ata_identify): Read sector size.
13389 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13390
92227597
VS
133912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * util/grub-install.in: Don't use uhci outside of x86.
13394
c77069f5
VS
133952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * util/grub-mkrescue.in: Add missing quotes.
13398
133992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13400
13401 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13402 dereference.
13403
583168a2
VS
134042011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13407
6be1c01f
VS
134082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * include/grub/video.h: add missing EXPORT_FUND on
13411 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13412
a1167439
VS
134132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * include/grub/mips/kernel.h: Fix define conflict.
13416
bf66054f
VS
134172011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13420 all four ways.
13421
8fc4fa45
CW
134222011-07-21 Colin Watson <cjwatson@ubuntu.com>
13423
13424 Preferred resolution detection for VBE.
13425
13426 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13427 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13428 the Flat Panel extension, in line with the X.org VESA driver.
13429 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13430 New function.
13431 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13432 (grub_vbe_bios_read_edid): Likewise.
13433 (grub_vbe_get_preferred_mode): Likewise.
13434 (grub_video_vbe_setup): When the mode is "auto", try to get the
13435 preferred mode from VBE, and use the largest mode that is no larger
13436 than the preferred mode (some BIOSes expose a preferred mode that is
13437 not in their mode list!). If this fails, fall back to 640x480 as a
13438 safe conservative choice.
13439 (grub_video_vbe_get_edid): New function.
13440 (grub_video_vbe_adapter): Add get_edid.
13441 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13442 (struct grub_video_adapter): Add get_edid.
13443 (grub_video_edid_checksum): Add prototype.
13444 (grub_video_edid_preferred_mode): Likewise.
13445 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13446 structure.
13447
13448 * grub-core/commands/videoinfo.c (print_edid): New function.
13449 (grub_cmd_videoinfo): Print EDID if available.
13450
13451 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13452 is more appropriate on a wider range of platforms than 640x480.
13453 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13454 documentation.
13455
ca5572a9
VS
134562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13459
e4bcf625
VS
134602011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * po/POTFILES.in: Regenerate.
13463
c4edd548
VS
134642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13467 incorrect memory usage.
13468
16a2bab0
VS
134692011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * util/grub-install.in: Source grub-mkconfig_lib.
13472
2e418de6
VS
134732011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Remove getroot.c from core on emu platform.
13476
13477 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13478 kern/emu/raid.c.
13479 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13480 useless.
13481 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13482 * util/getroot.c (get_win32_path): ... here.
13483 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13484 * util/getroot.c (fini_libzfs): ... here.
13485 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13486 * util/getroot.c (grub_get_libzfs_handle): ... here.
13487 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13488 Moved from here...
13489 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13490 * grub-core/kern/emu/misc.c
13491 (grub_make_system_path_relative_to_its_root): Moved from here...
13492 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13493 * grub-core/kern/emu/getroot.c: Moved from here ...
13494 * util/getroot.c: ... here. All users updated.
13495 * grub-core/kern/emu/raid.c: Moved from here ...
13496 * util/raid.c: ... here. All users updated.
13497
def9832a
VS
134982011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * po/POTFILES.in: Regenerate.
13501
cd8fe79a
VS
135022011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Fix compilation on GNU/Linux.
13505
13506 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13507 Disable geli.
13508 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13509 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13510 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13511
a251b719
VS
135122011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
135132011-07-07 Michael Gorven <michael@gorven.za.net>
135142011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13515
13516 LUKS and GELI support.
13517
13518 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13519 grub-core/disk/luks.c, grub-core/disk/geli.c,
13520 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13521 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13522 grub-core/lib/arg.c.
13523 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13524 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13525 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13526 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13527 (grub-bin2h): Add libgcry.a.
13528 (grub-mkimage): Likewise.
13529 (grub-mkrelpath): Likewise.
13530 (grub-script-check): Likewise.
13531 (grub-editenv): Likewise.
13532 (grub-mkpasswd-pbkdf2): Likewise.
13533 (grub-pe2elf): Likewise.
13534 (grub-fstest): Likewise.
13535 (grub-mkfont): Likewise.
13536 (grub-mkdevicemap): Likewise.
13537 (grub-probe): Likewise.
13538 (grub-ofpath): Likewise.
13539 (grub-mklayout): Likewise.
13540 (example_unit_test): Likewise.
13541 (grub-menulst2cfg): Likewise.
13542 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13543 * grub-core/Makefile.core.def (cryptodisk): New module.
13544 (luks): Likewise.
13545 (geli): Likewise.
13546 * grub-core/disk/AFSplitter.c: New file.
13547 * grub-core/disk/cryptodisk.c: Likewise.
13548 * grub-core/disk/geli.c: Likewise.
13549 * grub-core/disk/luks.c: Likewise.
13550 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13551 grub_util_is_lvm.
13552 (grub_util_get_dm_abstraction): New function.
13553 (grub_util_follow_gpart_up): Likewise.
13554 (grub_util_get_geom_abstraction): Likewise.
13555 (grub_util_get_dev_abstraction): Use new functions.
13556 (grub_util_pull_device): Pull GELI and LUKS.
13557 (grub_util_get_grub_dev): Handle LUKS and GELI.
13558 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13559 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13560 (follow_geom_up): Removed.
13561 (grub_util_fd_seek): New function.
13562 (open_device): Use grub_util_fd_seek.
13563 (nread): Rename to ..
13564 (grub_util_fd_read): ... this. All users updated.
13565 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13566 (grub_crypto_cbc_decrypt): Likewise.
13567 (grub_crypto_hmac_write): Likewise.
13568 (grub_crypto_hmac_buffer): Likewise.
13569 (grub_password_get): Extend to util.
13570 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13571 New member modname.
13572 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13573 * include/grub/cryptodisk.h: New file.
13574 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13575 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13576 LUKS and GELI.
13577 (grub_util_follow_gpart_up): New proto.
13578 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13579 (grub_util_fd_read): Likewise.
13580 (grub_cryptodisk_cheat_mount): Likewise.
13581 (grub_util_cryptodisk_print_uuid): Likewise.
13582 (grub_util_get_fd_sectors): Likewise.
13583 * util/grub-fstest.c (mount_crypt): New var.
13584 (fstest): Mount crypto if requested.
13585 (options): New option -C.
13586 (argp_parser): Parse -C.
13587 (main): Init and fini gcry.
13588 * util/grub-install.in: Support cryptodisk install.
13589 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13590 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13591 cryptodisk.
13592 (prepare_grub_to_access_device): Likewise.
13593 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13594 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13595 (probe_cryptodisk_uuid): New function.
13596 (probe_abstraction): Likewise.
13597 (probe): Use new functions.
13598 * util/import_gcry.py: Create Makefile.utilgcry.def.
13599 Add modname member.
13600
9bfdcbbc
VS
136012011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Lazy device scanning.
13604
13605 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13606 (grub-setup): Remove util/raid.c.
13607 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13608 * grub-core/disk/lvm.c (scan_depth): New variable.
13609 (grub_lvm_iterate): Rescan if necessary.
13610 (find_lv): New function based on grub_lvm_open.
13611 (grub_lvm_open): Use find_lv. Rescan on error.
13612 (is_node_readable): New function.
13613 (is_lv_readable): Likewise.
13614 (grub_lvm_scan_device): Skip already found disks.
13615 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13616 Stop if searched device is found and readable.
13617 * grub-core/disk/raid.c (inscnt): New variable.
13618 (scan_depth): Likewise.
13619 (scan_devices): New function based on grub_raid_register. Abort if
13620 looked for device is found.
13621 (grub_raid_iterate): Rescan if needed.
13622 (find_array): NEw function based on -grub_raid_open.
13623 (grub_raid_open): Use find_array and rescan.
13624 (insert_array): Set became_readable_at.
13625 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13626 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13627 New function.
13628 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13629 (grub_util_pull_device): New function.
13630 (grub_util_get_grub_dev): Call grub_util_pull_device.
13631 * util/raid.c: Moved to ..
13632 * grub-core/kern/emu/raid.c: ... here.
13633 (grub_util_raid_getmembers): New parameter "bootable".
13634 All users updated. Support 1.x.
13635 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13636 All users updated.
13637 * include/grub/disk.h (grub_disk_pull_t): New enum.
13638 (grub_disk_dev): Change iterate prototype.
13639 All users updated.
13640 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13641 New proto.
13642 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13643 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13644 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13645 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13646 All users updated.
13647 * include/grub/util/raid.h: Removed.
13648
1c358e59
VS
136492011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * po/POTFILES.in: Regenerate.
13652
abee94ed
VS
136532011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 Unify sparc init with other ieee1275.
13656
13657 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13658 instead of kern/sparc64/ieee1275/init.c.
13659 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13660 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13661 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13662 grub/machine/kernel.h.
13663 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13664 (grub_claim_heap) [__sparc__]: Use sparc version.
13665 (grub_machine_init): Moved args parsing to
13666 (grub_parse_cmdline): ...this.
13667 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13668 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13669 New definition.
13670 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13671
13672 Move BOOTP to separate file.
13673
13674 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13675 * grub-core/net/net.c: Move all BOOTP functions to
13676 * grub-core/net/bootp.c: ... here.
13677
13678 Use frame interface on PXE.
13679
13680 * grub-core/Makefile.core.def (pxecmd): Removed.
13681 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13682 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13683 * grub-core/i386/pc/pxe.c: Moved from here ...
13684 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13685 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13686 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13687
13688 EFI network support.
13689
13690 * grub-core/Makefile.core.def (efinet): New module.
13691 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13692 here...
13693 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13694 All users updated.
13695 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13696 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13697 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13698 * grub-core/net/drivers/efi/efinet.c: New file.
13699 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13700 (grub_efi_net_config): New extern var.
13701
13702 Various cleanups and bugfixes.
13703
13704 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13705 error.
13706 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13707 disk declared as partition.
13708 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13709 leak on failure.
13710 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13711 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13712 (grub_debug_zalloc): Likewise.
13713 (grub_debug_realloc): Likewise.
13714 (grub_debug_memalign): Likewise.
13715 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13716 Check that target is IPv4.
13717 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13718 local-mac-address as fallback.
13719 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13720 memory leak.
13721 * grub-core/net/ip.c (ipchksum): Rename to ...
13722 (grub_net_ip_chksum): ... this. All users updated.
13723 (grub_net_recv_ip_packets): Special handling for DHCP.
13724 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13725
13726 Unify prefix handling
13727
13728 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13729 (grub_machine_get_bootlocation): ... this.
13730 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13731 (grub_machine_get_bootlocation): ... this.
13732 (grub_prefix): New variable.
13733 (prefix): Removed.
13734 (root_dev): New variable.
13735 (dir): Likewise.
13736 (main): Use new variables.
13737 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13738 Revamped into ...
13739 (grub_machine_get_bootlocation): ... this.
13740 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13741 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13742 (grub_machine_get_bootlocation): ... this.
13743 (grub_machine_set_prefix): Removed.
13744 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13745 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13746 Revamped into ...
13747 (grub_machine_get_bootlocation): ... this.
13748 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13749 (grub_set_prefix_and_root): ... this. All users updated.
13750 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13751 Revamped into ...
13752 (grub_machine_get_bootlocation): ... this.
13753 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13754 (grub_machine_get_bootlocation): New proto.
13755 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13756
13757 Less intrusive and more reliable seek on network implementation.
13758
13759 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13760 (grub_file_seek): Don't call grub_file_net_seek.
13761 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13762 (grub_net_fs_read_real): .. this.
13763 (grub_net_seek_real): Use net->offset.
13764 (grub_net_fs_read): Seek if necessary.
13765
13766 Unify IEEE1275 netwotk config with the other platforms.
13767
13768 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13769 New variable.
13770 (grub_machine_get_bootlocation): Support network.
13771 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13772 Support type and device parsing.
13773 (grub_ieee1275_get_device_type): New function.
13774 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13775 into ...
13776 (grub_ieee1275_net_config_real): ... this.
13777 (grub_ofnet_probecards): Removed.
13778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13779 * include/grub/ieee1275/ofnet.h: Removed.
13780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13781 extern var.
13782 (grub_ieee1275_get_device_type): New function.
13783
13784 Unify network device closing across platforms and make more robust.
13785
13786 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13787 grub_grubnet_fini.
13788 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13789 already.
13790 * grub-core/net/net.c (grub_net_network_level_interface_register):
13791 Update num_ifaces.
13792 (grub_net_card_unregister): Close all interfaces.
13793 (receive_packets): Don't poll if no iterfaces are registered.
13794 Open if necessary.
13795 (grub_net_fini_hw): New function.
13796 (grub_net_restore_hw): Likewise.
13797 (fini_hnd): New variable.
13798 (GRUB_MOD_INIT): Register preboot hook.
13799 (GRUB_MOD_FINI): Run and unregister preboot hook.
13800
13801 Poll network cards when idle.
13802
13803 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13804 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13805 * grub-core/net/net.c (receive_packets): Save last poll time.
13806 (grub_net_poll_cards_idle_real): New function.
13807 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13808 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13809 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13810
13811 Rename ofnet interfaces.
13812
13813 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13814 (grub_ofnet_findcards): Use ofnet_%s names.
13815
13816 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13817
13818 Cleanup socket opening.
13819
13820 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13821 (grub_net_fs_close): Likewise.
13822 (grub_net_fs_read_real): Use eof member.
13823 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13824 (+grub_net_udp_close): New inline function.
13825
13826 * include/grub/net/tftp.h: Moved to the top of ...
13827 * grub-core/net/tftp.c: ... here.
13828 * include/grub/net/ip.h: Moved mostly to the top of ...
13829 * grub-core/net/ip.c: ... here.
13830 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13831 * grub-core/net/ethernet.c: ... here.
13832
13833 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13834
13835 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13836 FS name.
13837
13838 * include/grub/net/ip.h (ipv4_ini): Removed.
13839 (ipv4_fini): Likewise.
13840
13841 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13842 (grub_net_send_ip_packets): Likewise.
13843
cf1337aa
VS
138442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13847 grub_read_cmos prototype.
13848
93c06ff9
VS
138492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 VGA text support in qemu-mips
13852
13853 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13854 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13855 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13856 text.
13857 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13858 * grub-core/kern/vga_init.c: ... this.
13859 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13860 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13861 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13862 Adjust.
13863 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13864 GRUB_MACHINE_PCI_IO_BASE.
13865
748ccabe
VS
138662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 MIPS qemu flash support.
13869
13870 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13871 magic.
13872 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13873 (grub_machine_init): Probe memory if its size isn't known.
13874 * util/grub-mkimage.c (image_targets): Add flash targets.
13875 (generate_image): Handle flash targets.
13876
d7345994
VS
138772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 MIPS qemu at_keyboard support.
13880
13881 * gentpl.py (videoinkernel): Add qemu-mips.
13882 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13883 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13884 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13885 modules.
13886 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13887 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13888 * grub-core/term/serial.c (grub_serial_register)
13889 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13890
a07a81b3
VS
138912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 CMOS support on sparc.
13894
13895 * gentpl.py (cmos): Add powerpc and sparc.
13896 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13897 powerpc and sparc.
13898 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13899 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13900 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13901 grub_set_datetime_cmos.
13902 * grub-core/lib/ieee1275/cmos.c: New file.
13903 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13904 (find_rtc): Set no_ieee1275_rtc on error.
13905 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13906 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13907 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13908 fail. Move value to argument. All users updated
13909 (grub_cmos_write): Likewise.
13910 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13911 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13912 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13913 grub_get_datetime_cmos and grub_set_datetime_cmos.
13914
77546584
GS
139152011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13916
13917 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13918 sourcing grub-mkconfig_lib.
13919 * util/update-grub_lib.in: Likewise.
13920 * util/grub.d/00_header.in: Likewise.
13921 * util/grub.d/10_hurd.in: Likewise.
13922 * util/grub.d/10_kfreebsd.in: Likewise.
13923 * util/grub.d/10_linux.in: Likewise.
13924 * util/grub.d/10_netbsd.in: Likewise.
13925 * util/grub.d/10_windows.in: Likewise.
13926 * util/grub.d/20_linux_xen.in: Likewise.
13927 * util/grub.d/30_os-prober.in: Likewise.
13928
54894791
CW
139292011-06-28 Colin Watson <cjwatson@ubuntu.com>
13930
13931 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13932 default_bg_color rather than black.
13933 (grub_gfxterm_fullscreen): Likewise.
13934 (grub_gfxterm_background_color_cmd): Save new background color in
13935 default_bg_color.
13936
8d5d8444
VS
139372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13940
5afeb5bd
VS
139412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13944 mismerge.
13945
ba7df45e
VS
139462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Chainloading on coreboot support.
13949
13950 * grub-core/Makefile.core.def (chain): Add coreboot.
13951 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13952
d0b526b2
VS
139532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13956 if it happens.
13957
5ff1d945
VS
139582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 Implement time command.
13961
13962 * grub-core/Makefile.core.def (time): New module.
13963 * grub-core/commands/time.c: New file.
13964 * grub-core/script/parser.y: Remove "time" keyword.
13965 * grub-core/script/yylex.l: Likewise.
13966
5ebaad7e
VS
139672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13970
bdea3798
VS
139712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13974 when handling leftovers.
13975
b28c5655
VS
139762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13979 so that help2man doesn't fail.
13980
b6f945dc
VS
139812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13984 type in pointers on sparc64.
13985 (get_card_packet): Likewise.
13986
f9b75e8a
CW
139872011-06-27 Colin Watson <cjwatson@ubuntu.com>
13988
13989 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13990 with `*'.
13991 (grub_cmd_videoinfo): Fetch current video mode.
13992
1e3d9b86
VS
139932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13996 because of underlying system restrictions.
13997
efff4b1c
VS
139982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14001 necessary.
14002
9fc9ce37
VS
140032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 Coreboot video support.
14006
14007 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14008 (vbe): Likewise.
14009 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14010 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14011 here ...
14012 * grub-core/kern/i386/int.S: ... here.
14013 * grub-core/video/i386/pc/vbe.c: Updated includes.
14014 * grub-core/video/i386/pc/vga.c: Likewise.
14015 * include/grub/i386/coreboot/memory.h
14016 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14017 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14018 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14019 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14020 Disable interrupts.
14021 * include/grub/i386/pc/vga.h: Removed. All users updated.
14022
41bec7fe
VS
140232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14026 definitions for dprintf.
14027 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14028
ca80309d
VS
140292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14032 prototype.
14033 (get_card_packet): Likewise.
14034
9e322ce8
YB
140352011-06-26 Yves Blusseau <blusseau@zetam.org>
14036
14037 Display the path of the file when file is not found
14038
14039 * grub-core/fs/fat.c: Display the filename when file is not found.
14040 * grub-core/fs/fshelp.c: Likewise.
14041 * grub-core/fs/hfs.c: Likewise.
14042 * grub-core/fs/jfs.c: Likewise.
14043 * grub-core/fs/minix.c: Likewise.
14044 * grub-core/fs/ufs.c: Likewise.
14045 * grub-core/fs/btrfs.c: Likewise.
14046 * grub-core/commands/i386/pc/play.c: Likewise.
14047
cbf597af
SJ
140482011-06-26 Szymon Janc <szymon@janc.net.pl>
14049
14050 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14051 pointer checks before calling grub_free().
14052 * grub-core/commands/wildcard.c (match_devices): Likewise.
14053 * grub-core/commands/wildcard.c (match_files): Likewise.
14054 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14055 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14056 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14057 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14058 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14059 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14060 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14061 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14062 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14063
6295b32f
P
140642011-06-25 Patrick <p55@mailinator.com>
14065
14066 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14067
77c0840b
VS
140682011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14071 (grub_pxe_send): Likewise.
14072 (GRUB_MOD_INIT): Fix types.
14073
40ea05de
SJ
140742011-06-24 Szymon Janc <szymon@janc.net.pl>
14075
14076 * grub-core/io/xzio.c: Fix code style issues
14077
90162423
MRA
140782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
140792011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14080
14081 Network infrastructure.
14082 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14083
14084 * include/grub/net/arp.h: New file.
90162423
MRA
14085 * include/grub/net/device.h: Likewise.
14086 * include/grub/net/ethernet.h: Likewise.
14087 * include/grub/net/ip.h: Likewise.
14088 * include/grub/net/netbuff.h: Likewise.
14089 * include/grub/net/tftp.h: Likewise.
14090 * include/grub/net/udp.h: Likewise.
14091 * include/grub/ieee1275/ofnet.h: Likewise.
14092 * include/grub/emu/export.h: Likewise.
14093 * include/grub/net.h: Likewise.
14094 * grub-core/net/arp.c: Likewise.
14095 * grub-core/net/ethernet.c: Likewise.
14096 * grub-core/net/ip.c: Likewise.
14097 * grub-core/net/udp.c: Likewise.
14098 * grub-core/net/tftp.c: Likewise.
14099 * grub-core/net/netbuff.c: Likewise.
14100 * grub-core/net/net.c: Likewise.
14101 * grub-core/net/drivers/emu/emunet.c: Likewise.
14102 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14103 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14104 export.h.
14105 * grub-core/Makefile.core.def (net): New module.
14106 (tftp): Likewise.
14107 (ofnet): Likewise.
14108 (emunet): Likewise.
14109 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14110 network protocols.
14111 * grub-core/kern/device.c (grub_net_open) : New variable.
14112 (grub_device_open): Handle network device.
14113 (grub_device_close): Likewise.
14114 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14115 (grub_grubnet_fini): Likewise.
14116 (grub_file_seek): Seek in network device.
14117 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14118 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14119 network root.
14120 (grub_machine_fini): Call grub_grubnet_fini.
14121 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14122 network.
14123 (grub_ieee1275_get_aliasdevname): New function.
14124 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14125 Add unofficial Solaris network info.
14126 (grub_multiboot_make_mbi): Likewise.
14127 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14128 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14129 * include/grub/device.h (grub_fs): Removed.
14130 * include/grub/err.h (grub_err_t): Add network-related values.
14131 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14132 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14133 (grub_ieee1275_get_aliasdevname): New proto.
14134 * include/grub/net.h: Rewritten.
423a1849 14135
031f22a0
VS
141362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14137
14138 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14139 names.
14140
4388ca72
VS
141412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14144 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14145 it truncates the output.
14146 Reported by: Ximin Luo.
14147
98e2f506
VS
141482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14151
2a5e94d8
VS
141522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14155 partmap before abstraction.
14156
535c1910
AK
141572011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14158
14159 * util/grub-mkconfig_lib.in: Add missing quotes.
14160
bc09e1a2
VS
141612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14164 old method if mountinfo would return /dev/root and /dev/root doesn't
14165 exist.
14166
290766fb
VS
141672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 ZFS zlib support
14170
14171 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14172 (decomp_table): Add zlib entries.
14173 (zio_read): USe 8 bits for compression function rather than 3.
14174 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14175
141762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/disk/ahci.c: Add missing license statements.
14179 * grub-core/fs/romfs.c: Likewise.
14180 * grub-core/lib/ia64/setjmp.S: Likewise.
14181 * grub-core/loader/i386/pc/freedos.c: Likewise.
14182 * grub-core/loader/ia64/efi/linux.c: Likewise.
14183 * grub-core/video/colors.c: Likewise.
14184 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14185
5ab3f48a
VS
141862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 AHCI support.
14189
14190 * grub-core/Makefile.core.def (ata_pthru): Removed.
14191 (ahci): New module.
14192 (pata): Likewise.
14193 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14194 on unload.
14195 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14196 readwrite.
14197 (grub_hdparm_do_check_powermode_cmd): Likewise.
14198 (grub_hdparm_do_smart_cmd): Likewise.
14199 (grub_hdparm_set_val_cmd): Likewise.
14200 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14201 * grub-core/disk/ahci.c: New file.
14202 * grub-core/disk/ata.c: Factor out the low-level part into ...
14203 * grub-core/disk/pata.c: ... here.
14204 * grub-core/disk/ata_pthru.c: Contents moved to ...
14205 * grub-core/disk/pata.c: ... here.
14206 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14207 (grub_scsi_iterate): Use grub_scsi_names.
14208 (grub_scsi_open): Likewise.
14209 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14210 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14211 (grub_ata_regs_t): New struct.
14212 (grub_disk_ata_pass_through_parms): Likewise.
14213 (grub_ata_device): Renamed to ...
14214 (grub_ata): ... this.
14215 (grub_ata_dev): New struct.
14216 Removed all low-level inline functions.
14217 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14218 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14219 iterate hooks and open. All users updated.
14220 * util/grub-install.in: Handle AHCI disk module.
14221
c31dc5f5
SJ
142222011-06-23 Szymon Janc <szymon@janc.net.pl>
14223
14224 Add support for DRI and RSTn markers in JPEG files.
14225
14226 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14227 (JPEG_MARKER_RST0): Likewise.
14228 (JPEG_MARKER_RST1): Likewise.
14229 (JPEG_MARKER_RST2): Likewise.
14230 (JPEG_MARKER_RST3): Likewise.
14231 (JPEG_MARKER_RST4): Likewise.
14232 (JPEG_MARKER_RST5): Likewise.
14233 (JPEG_MARKER_RST6): Likewise.
14234 (JPEG_MARKER_RST7): Likewise.
14235 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14236 (grub_jpeg_decode_dri): New function.
14237 (grub_jpeg_decode_sos): Move image data related part into
14238 grub_jpeg_decode_data function.
14239 (grub_jpeg_decode_data): New function.
14240 (grub_jpeg_reset): New function.
14241 (grub_jpeg_decode_jpeg): Handle new markers.
14242
fe12fd5b
VS
142432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * util/ieee1275/ofpath.c (check_sas): Close fd.
14246 (main): Free of_path.
14247 Reported by: David Volgyes <dvolgyes>.
14248
03147f46
VS
142492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14252 Reported by: David Volgyes <dvolgyes>.
14253
cad3237f
VS
142542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14257 file after stat.
14258 Reported by: David Volgyes <dvolgyes>.
14259
13548d26
VS
142602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14263
14264 Reported by: David Volgyes <dvolgyes>.
14265
e061a1b5
VS
142662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14269 Prevent memory leak.
14270
1abe47dc
VS
142712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14274 (main): Close file.
e061a1b5 14275 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14276
fbc62666
VS
142772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14280 to continue if allocation is failed.
14281
14282 Reported by: David Volgyes <dvolgyes>.
14283
e98c83e9
DV
142842011-06-23 David Volgyes <dvolgyes>
14285
14286 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14287 dereference.
14288
a199a8cd
VS
142892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 Fix spurious warning.
14292
14293 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14294 (acorn_partition_map_find): Use .bin member.
14295
e2d1dba0
VS
142962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14299 /dev/root as a valid device.
14300
8a5d6919
JM
143012011-06-23 Jim Meyering <meyering@redhat.com>
14302
e2d1dba0
VS
14303 Avoid NULL deref in grub_device_open.
14304
8a5d6919
JM
14305 * grub-core/kern/device.c (grub_device_open): Don't dereference
14306 a NULL pointer upon failed grub_env_get.
14307
f7db6f4a
VS
143082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 Support non-512B sectors and agglomerate reads.
14311
14312 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14313 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14314 (disk_io_guid): Removed.
14315 (make_devices): Locate solely by BlockIO.
14316 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14317 (grub_efidisk_read): Use read_blocks.
14318 (grub_efidisk_write): Use write_blocks.
14319 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14320 log_sector_size.
14321 (get_safe_sectors): Handle non-512B sectors.
14322 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14323 sectors.
14324 (grub_biosdisk_write): Handle non-512B sectors.
14325 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14326 (grub_scsi_read): Remove special non-512B block handling (now handled
14327 one level up).
14328 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14329 and do sanity checks.
14330 (grub_disk_adjust_range): Handle non-512B sectors.
14331 (transform_sector): New function.
14332 (grub_disk_read_small): Likewise.
14333 (grub_disk_read): Rewritten.
14334 (grub_disk_write): Handle non-512B sectors.
14335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14336 log_sector_size.
14337 (open_device): Use log_sector_size.
14338 (grub_util_biosdisk_read): Likewise.
14339 (grub_util_biosdisk_write): Likewise.
14340 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14341 non-512B sectors.
14342 (pc_partition_map_embed): Likewise.
14343 * include/grub/disk.h (grub_disk): New field log_sector_size.
14344 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14345 (GRUB_DISK_CACHE_BITS): Increased to 6.
14346 * util/grub-fstest.c (fstest): New command testload.
14347 (argp_parser): Likewise.
14348
881ac815
RM
143492011-06-16 Robert Millan <rmh@gnu.org>
14350
14351 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14352 `ata' driver on kernel of FreeBSD 9.
14353
14354 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14355 (get_ataraid_disk_name): New functions.
14356 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14357 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14358 get_ataraid_disk_name() and get_ada_disk_name().
14359
1e9aef7d
CW
143602011-06-13 Colin Watson <cjwatson@ubuntu.com>
14361
14362 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14363 input format.
14364
351c7c8a
CW
143652011-05-29 Colin Watson <cjwatson@ubuntu.com>
14366
14367 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14368 `ftp.gnu.org' for `alpha.gnu.org'.
14369
6b4e6430
CW
143702011-05-27 Colin Watson <cjwatson@ubuntu.com>
14371
14372 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14373 partitions under /dev/disk/by-id/.
14374
c64db050
CW
143752011-05-27 Colin Watson <cjwatson@ubuntu.com>
14376
14377 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14378 after ten consecutive open failures. Scanning all the way up to
14379 10000 is excessive and can cause serious performance problems in
14380 some configurations.
14381 Fixes Ubuntu bug #787461.
14382
245f4aba
VS
143832011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14386 opening new one.
14387
f767c929
VS
143882011-05-21 Colin Watson <cjwatson@ubuntu.com>
143892011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 Don't stat devices unless we have to.
14392
14393 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14394 dir == /dev/mapper.
14395 (grub_guess_root_device): Use already known os_dev if possible.
14396 * grub-core/kern/emu/hostdisk.c
14397 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14398 if device is known to be a dm one.
14399
f35fa3a6
CW
144002011-05-20 Colin Watson <cjwatson@ubuntu.com>
14401
14402 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14403 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14404 Reported by: Pawel Tecza.
14405
9a79fcf2
VS
144062011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14407
14408 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14409 (lsefisystab): Likewise.
14410 (lssal): Likewise.
14411 (lsefimmap): Likewise.
14412 (hdparm): Enable on qemu-mips.
14413 (setjmp): Add ia64 nodist.
14414 (serial): Simplify tags.
14415
63e3eea9
CW
144162011-05-18 Colin Watson <cjwatson@ubuntu.com>
14417
14418 * Makefile.util.def (grub-ofpathname): Install manual page.
14419
09728256
CW
144202011-05-18 Colin Watson <cjwatson@ubuntu.com>
14421
14422 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14423
8b63a142
CW
144242011-05-18 Colin Watson <cjwatson@ubuntu.com>
14425
14426 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14427
e775d8ed
VS
144282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14431 into dprintf.
14432
bf947d36
VS
144332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 Use full 64-bit division.
14436
14437 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14438 (grub_divmod64): ... this.
14439 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14440 version.
14441
b84f26c5
CW
144422011-05-18 Colin Watson <cjwatson@ubuntu.com>
14443
14444 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14445 `source'.
14446
5626056f
CW
144472011-05-18 Colin Watson <cjwatson@ubuntu.com>
14448
14449 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14450 to avoid accidents when debugging with 'sh -x'.
14451 * grub-core/gensyminfo.sh.in: Likewise.
14452 * tests/example_scripted_test.in: Likewise.
14453 * tests/grub_cmd_regexp.in: Likewise.
14454 * tests/grub_script_blanklines.in: Likewise.
14455 * tests/grub_script_dollar.in: Likewise.
14456 * tests/grub_script_expansion.in: Likewise.
14457 * tests/grub_script_final_semicolon.in: Likewise.
14458 * tests/partmap_test.in: Likewise.
14459 * tests/util/grub-shell-tester.in: Likewise.
14460 * tests/util/grub-shell.in: Likewise.
14461
e2965f4a
CW
144622011-05-18 Colin Watson <cjwatson@ubuntu.com>
14463
14464 Move gfxmenu color handling to video, so that gfxterm can use it
14465 too.
14466
14467 * grub-core/gfxmenu/named_colors.c: Move to ...
14468 * grub-core/video/colors.c: ... here. Rename
14469 grub_gui_get_named_color to grub_video_get_named_color.
14470 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14471 * grub-core/video/colors.c (my_isxdigit): ... here.
14472 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14473 Move to ...
14474 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14475 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14476 to ...
14477 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14478
14479 * include/grub/gui.h (grub_gui_color_t): Move to ...
14480 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14481 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14482 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14483 * include/grub/gui.h (grub_gui_map_color): Move to ...
14484 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14485 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14486 to ...
14487 * include/grub/video.h (grub_video_get_named_color): ... here.
14488 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14489 * include/grub/video.h (grub_video_parse_color): ... here.
14490
14491 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14492 video/colors.c.
14493 (gfxmenu): Remove gfxmenu/named_colors.c.
14494 (video) [videomodules]: Add video/colors.c.
14495
14496 Add a background_color command.
14497
14498 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14499 function.
14500 (GRUB_MOD_INIT): Register background_color command.
14501 (GRUB_MOD_FINI): Unregister background_color command.
14502 (redraw_screen_rect): Allow blend/replace of text layer to be
14503 controlled independently from whether there is a background bitmap.
14504 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14505 changing bitmap.
14506
1e4b4390
VS
145072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14508
26618ff0
VS
14509 Patch BPB in ntldr and chainloader --bpb.
14510
1e4b4390
VS
14511 * grub-core/fs/fat.c: Include grub/fat.h.
14512 (grub_fat_bpb): Moved to ...
14513 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14514 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14515 grub/ntfs.h.
14516 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14517 Moved from here...
14518 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14519 here.
14520 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14521 New function.
14522 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14523 (GRUB_MOD_INIT): Show --bpb.
14524 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14525 * grub-core/normal/main.c (features): New variable.
14526 (GRUB_MOD_INIT): Set feature_* variables.
14527 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14528 proto.
14529 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14530
cf02731e
VS
145312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14534 for cleanness.
14535
e3a1073f
VS
145362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 FreeDOS direct loading support.
14539
14540 * docs/grub.texi (Supported OS): Add FreeDOS.
14541 * grub-core/Makefile.core.def (freedos): New module.
14542 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14543 variable.
14544 (grub_relocator16_boot): Handle %ebx.
14545 * grub-core/lib/i386/relocator16.S: Likewise.
14546 * grub-core/loader/i386/pc/freedos.c: New file.
14547
05caa461
VS
145482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 Long Linux command line support.
14551
14552 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14553 (maximal_cmdline_size): New variable.
14554 (allocate_pages): Use maximal_cmdline_size.
14555 (grub_cmd_linux): Set and use maximal_cmdline_size.
14556 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14557 (allocate_pages): Use maximal_cmdline_size.
14558 (grub_cmd_linux): Set and use maximal_cmdline_size.
14559 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14560 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14561 and cmdline_size.
14562
a2491e23
VS
145632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
145642011-05-18 Colin Watson <cjwatson@ubuntu.com>
14565
14566 Improve devmapper support
14567
14568 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14569 (grub_util_is_lvm): New function.
14570 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14571 than lvm if not dmraid.
14572 Handle mapped md nodes.
14573 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14574 (grub_util_device_is_mapped): ... this. Make always available. All users
14575 updated.
14576 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14577 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14578 dmraid nodes.
14579 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14580
6ad6223e
VS
145812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14584
14585 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14586 * grub-core/modinfo.sh.in: New file.
14587 * grub-core/Makefile.core.def (modinfo.sh): New script.
14588 * util/grub-mknetdir.in: Use modinfo.sh.
14589 * util/grub-mkrescue.in: Likewise.
14590
543a8f6e
VS
145912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14594 Fix potential usage of Elf32 instead of Elf64 when compiling on
14595 32-bit architecture. Add endianness macros while on it.
14596
4959e111
VS
145972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 Use mipsel- rather than mips- in directories involving mipsel ports to
14600 allow both endiannesses coexist.
14601
14602 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14603 mips. All conditions adjusted.
14604 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14605 variable.
14606 * util/grub-install.in: Adjust conditions to take renaming into account.
14607 * util/grub-mkimage.c (image_targets): Likewise. New target
14608 mips-qemu_mips-elf for bigendian mips.
14609
35341bbc
VS
146102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 Avoid unnecessary copying on MIPS.
14613
14614 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14615 early if src == dest.
14616 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14617 compression is none.
14618
b772baed
VS
146192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Reduce memory footprint on SGI by putting modules before the kernel
14622 as opposed to after.
14623
14624 * grub-core/Makefile.core.def (kernel): Increase linking address.
14625 (none_decompress): Likewise.
14626 (xz_decompress): Likewise.
14627 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14628 address.
14629 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14630 layout change.
14631 (grub_arch_modules_addr): New function.
14632 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14633 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14634 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14635 here.
14636 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14637 (grub_total_modules_size): ... this. Make global.
14638 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14639 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14640 New definition.
14641 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14642 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14643 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14644 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14645 * util/grub-mkimage.c (image_target_desc): New flag
14646 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14647 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14648 (generate_image): Handle images with modules before kernel.
14649
566a1917
VS
146502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 Prevent potential loss of memory map by overwrite on qemu-mips.
14653
14654 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14655 Save ram size in $s4.
14656 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14657 All users changed to grub_arch_memsize.
14658 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14659 Loongson.
14660 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14661 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14662 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14663 external variable.
14664
5d420cd9
CW
146652011-05-17 Colin Watson <cjwatson@ubuntu.com>
14666
14667 * .bzrignore: Remove grub-dumpbios.
14668
d064b830
CW
146692011-05-17 Colin Watson <cjwatson@ubuntu.com>
14670
14671 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14672 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14673 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14674 existing options which append).
14675 * docs/grub.texi (Simple configuration): Document new options.
14676 Reported by: Ian Jackson. Fixes Debian bug #617538.
14677
3ca2b466
CW
146782011-05-17 Colin Watson <cjwatson@ubuntu.com>
14679
14680 * util/grub-fstest.c (cmd_cat): New function.
14681 (fstest): Handle CMD_CAT.
14682 (options): Add cat.
14683 (argp_parser): Handle cat.
14684
24c9143a
CW
146852011-05-17 Colin Watson <cjwatson@ubuntu.com>
14686
14687 * Makefile.util.def (grub-bin2h): Don't install.
14688 * docs/man/grub-bin2h.h2m: Remove.
14689
90f7ac19
VS
146902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14693 place.
14694
8d4a5178
VS
146952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 Reenable qemu-mips port.
14698
14699 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14700 Fix small arc bug while on it.
14701 * gentpl.py: Handle qemu_mips.
14702 * grub-core/Makefile.am: Likewise.
14703 * grub-core/Makefile.core.def: Likewise.
14704 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14705 inappropriate includes.
14706 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14707 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14708 * grub-core/kern/main.c (grub_modules_get_end)
14709 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14710 * grub-core/kern/mips/qemu-mips: Moved to ..
14711 * grub-core/kern/mips/qemu_mips: ... this.
14712 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14713 (grub_machine_init): Call terminfo_init and serial_init.
14714 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14715 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14716 New variable.
14717 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14718 parameter passing.
14719 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14720 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14721 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14722 * include/grub/mips/qemu_mips/cmos.h: New file.
14723 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14724 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14725 Removed.
14726 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14727 Use correct mips-style address.
14728 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14729 (GRUB_TICKS_PER_SECOND): Removed.
14730 (grub_get_rtc): Likewise.
14731 (grub_cpu_idle): Likewise.
14732 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14733 New definition.
14734 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14735 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14736 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14737 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14738 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14739 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14740 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14741 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14742
400b9371
VS
147432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 SGI ARCS port.
14746
14747 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14748 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14749 platforms.
14750 * configure.ac: New target mips-arc.
14751 * gentpl.py: Likewise.
14752 * grub-core/Makefile.am: Likewise.
14753 * grub-core/Makefile.core.def: Likewise.
14754 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14755 (none_decompress): Likewise.
14756 (lsdev): New module.
14757 (datetime): Use lib/arc/datetime.c on ARC.
14758 (part_dvh): New module.
14759 * grub-core/commands/arc/lsdev.c: New file.
14760 * grub-core/disk/arc/arcdisk.c: Likewise.
14761 * grub-core/kern/mips/arc/init.c: Likewise.
14762 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14763 aligned addresses.
14764 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14765 support.
14766 (grub_arch_dl_relocate_symbols): Likewise.
14767 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14768 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14769 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14770 platforms.
14771 * grub-core/lib/arc/datetime.c: New file.
14772 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14773 pci.h on non-loongson.
14774 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14775 (grub_linux_boot): Set unused registers to 0.
14776 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14777 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14778 * grub-core/mmap/mips/uppermem.c: ...here.
14779 * grub-core/partmap/dvh.c: New file.
14780 * grub-core/term/arc/console.c: Likewise.
14781 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14782 (grub_terminfo_set_current): Add terminal "arc".
14783 (grub_terminfo_readkey): Support ARC sequences.
14784 * include/grub/arc/arc.h: New file.
14785 * include/grub/arc/console.h: Likewise.
14786 * include/grub/disk.h (grub_disk_dev_id): Add
14787 GRUB_DISK_DEVICE_ARCDISK_ID.
14788 * include/grub/mips/arc/kernel.h: New file.
14789 * include/grub/mips/arc/memory.h: Likewise.
14790 * include/grub/mips/arc/time.h: Likewise.
14791 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14792 * include/grub/mips/kernel.h (grub_halt): ... here.
14793 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14794 here...
14795 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14796 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14797 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14798 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14799 proto.
14800 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14801 from here ...
14802 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14803 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14804 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14805 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14806 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14807 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14808 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14809 (grub_phys_addr_t): Moved from here ...
14810 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14811 (grub_vtop): Moved from here ...
14812 * include/grub/mips/memory.h (grub_vtop): ... here.
14813 (grub_map_memory): Moved from here ...
14814 * include/grub/mips/memory.h (grub_map_memory): ... here.
14815 (grub_unmap_memory): Moved from here ...
14816 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14817 (grub_machine_mmap_iterate): Moved from here ...
14818 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14819 (grub_mmap_get_lower): Moved from here ...
14820 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14821 (grub_mmap_get_upper): Moved from here ...
14822 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14823 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14824 here ...
14825 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14826 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14827 here ...
14828 * include/grub/mips/time.h (grub_get_rtc): ... here.
14829 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14830 here ...
14831 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14832 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14833 here ...
14834 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14835 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14836 definition.
14837 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14838 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14839 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14840 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14841 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14842 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14843 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14844 (GRUB_MACHINE_LINK_ADDR): Likewise.
14845 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14846 to 6.
14847 * util/grub-install.in: Run dvhtool on ARC.
14848 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14849 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14850
c8ecc840
VS
148512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14854 blocks.
14855
153a4b55
VS
148562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14859 after enabling port.
14860
ff44d107
VS
148612011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 Skip incorrect USB devices.
14864
14865 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14866 configcnt == 0.
14867 * include/grub/usb.h (grub_usb_err_t): New enum value
14868 GRUB_USB_ERR_BADDEVICE.
14869
638dbe4f
VS
148702011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 Fuloong video init support.
14873
14874 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14875 well.
14876 (grub_vga_read_arx): New function.
14877 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14878 definition.
14879 (framebuffer): New members io, mmioptr and mmiobase.
14880 (read_sis_cmd): New function.
14881 (write_sis_cmd): Likewise.
14882 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14883 rather than 640x400.
14884 * grub-core/video/sis315_init.c: New file.
14885
c3fc520c
VS
148862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14889 non-loongson.
14890 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14891 to grub_dl_register_symbol.
14892
67b1e5c9
VS
148932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 Fix compilation errors.
14896
14897 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14898 potentially unused.
14899 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14900 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14901 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14902 to loongson machines.
14903
b756f75f
VS
149042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 Several FS mtime support.
14907
14908 * grub-core/fs/affs.c (grub_affs_time): New struct.
14909 (grub_affs_file): New field mtime.
14910 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14911 type. Removed 'size'. New field 'di'. All users updated.
14912 (grub_affs_mount): Simplify checsum checking.
14913 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14914 (grub_affs_dir): Handle mtime.
14915 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14916 (grub_cpio_dir): Likewise.
14917 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14918 (grub_hfs_filerec): New field mtime.
14919 (grub_hfs_dir): Handle mtime.
14920 (grub_hfs_mtime): New function.
14921 (grub_hfs_fs): Register grub_hfs_mtime.
14922 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14923 (grub_iso9660_dir): New field mtime.
14924 (grub_fshelp_node): New field dirent.
14925 (iso9660_to_unixtime): New function.
14926 (iso9660_to_unixtime2): Likewise.
14927 (grub_iso9660_read_symlink): Use node->dirent.
14928 (grub_iso9660_iterate_dir): Likewise.
14929 (grub_iso9660_dir): Set mtime.
14930 (grub_iso9660_mtime): New function.
14931 (grub_iso9660_fs): Register grub_iso9660_mtime.
14932 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14933 (grub_jfs_inode): New fields atime, ctime and mtime.
14934 (grub_jfs_dir): Set mtime.
14935 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14936 * grub-core/fs/ntfs.c (list_file): Set mtime.
14937 (grub_ntfs_dir): Likewise.
14938 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14939 (grub_reiserfs_iterate_dir): Set mtime.
14940 (grub_reiserfs_dir): Likewise.
14941 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14942 (grub_fshelp_node): Likewise.
14943 (grub_sfs_iterate_dir): Set mtime.
14944 (grub_sfs_dir): Likewise.
14945 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14946 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14947 (grub_xfs_inode): New fields atime, mtime, ctime.
14948 (grub_xfs_dir): Set mtime.
14949 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14950 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14951 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14952
14953 Support UDF symlinks.
14954
14955 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14956 (grub_ufs_read_symlink): New function. All users updated.
14957
14958 Check amiga partmap checksum.
14959
14960 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14961 (grub_amiga_partition): Likewise.
14962 (amiga_partition_map_checksum): New function.
14963 (amiga_partition_map_iterate): Check checksum.
14964
5470225d
VS
149652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 ROMFS support.
14968
14969 * Makefile.util.def (libgrubmods.a): Add romfs.
14970 * grub-core/Makefile.core.def (romfs): New module.
14971 * grub-core/fs/romfs.c: New file.
14972
d4680a35
VS
149732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 Squashfs v4 support.
14976
14977 * Makefile.util.def (libgrubmods.a): Add squash4.
14978 * grub-core/Makefile.core.def (squash4): New module.
14979 * grub-core/fs/squash4.c: New file.
14980 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14981 disk_input_start, disk_input.
14982 (get_byte): Handle disk_input.
14983 (grub_zlib_disk_read): New function.
14984 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14985
bcb18e74
FZ
149862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
149872011-05-15 Feiran Zheng <famcool@gmail.com>
14988
14989 * Makefile.util.def (libgrubmods.a): Add minix3.
14990 * grub-core/Makefile.core.def (minix3): New module.
14991 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14992 (GRUB_MINIX_BSIZE): Removed.
14993 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14994 (grub_minix_ino_t): New type.
14995 (grub_minix_le_to_cpu_ino): New macro.
14996 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14997 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14998 (grub_minix_data): New field block_size.
14999 (grub_minix_read_file): Handle 64-bit correctly.
15000 * grub-core/fs/minix3.c: New file.
15001
32297d5f
TG
150022011-05-15 Tristan Gingold <gingold@free.fr>
150032011-05-15 Robert Millan <rmh.grub@aybabtu.com>
150042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 IA64 support.
15007
15008 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15009 * configure.ac: Add ia64-efi target.
15010 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15011 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15012 * gentpl.py: Add ia64_efi platform.
15013 Rename x86_efi to efi and Add ia64-efi. All users updated.
15014 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15015 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15016 Remove kern/generic/rtc_get_time_ms.c on EFI.
15017 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15018 kern/ia64/dl_helper.c on ia64-efi.
15019 Add kern/emu/cache.c on emu.
15020 (linux): Use on loader/ia64/efi/linux.c on ia64.
15021 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15022 whether symbol is a function.
15023 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15024 (grub_symbol): New field 'isfunc'.
15025 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15026 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15027 (grub_dl_load_segments): Place all sections into the same region.
15028 [__ia64__]: Create trampolines and got.
15029 [GRUB_MACHINE_EMU]: Call mprotect.
15030 (grub_dl_resolve_symbols): Resolve symbol type as well.
15031 [__ia64__]: Create function descriptors.
15032 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15033 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15034 (grub_get_rtc): New function.
15035 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15036 * grub-core/kern/emu/cache.S: Renamed to ...
15037 * grub-core/kern/emu/cache_s.S: ... this.
15038 [__ia64__]: Add a nop.
15039 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15040 [__ia64__]: New function.
15041 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15042 * grub-core/kern/ia64/dl.c: New file.
15043 * grub-core/kern/ia64/dl_helper.c: Likewise.
15044 * grub-core/kern/ia64/efi/init.c: New file.
15045 * grub-core/kern/ia64/efi/startup.S: Likewise.
15046 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15047 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15048 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15049 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15050 * grub-core/loader/ia64/efi/linux.c: New file.
15051 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15052 (GRUB_MOD_DEP): Likewise.
15053 (grub_dl) [__ia64__]: New fields got and tramp.
15054 (grub_dl): New field 'base'.
15055 (grub_dl_register_symbol): New argument isfunc. All users updated.
15056 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15057 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15058 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15059 (grub_ia64_dl_get_tramp_got_size): New proto.
15060 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15061 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15062 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15063 * include/grub/efi/api.h: Skip call wrappers on ia64.
15064 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15065 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15066 * include/grub/elf.h (ELF_ST_INFO): New definition.
15067 * include/grub/ia64/efi/kernel.h: New file.
15068 * include/grub/ia64/efi/memory.h: Likewise.
15069 * include/grub/ia64/efi/time.h: Likewise.
15070 * include/grub/ia64/kernel.h: Likewise.
15071 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15072 * include/grub/ia64/time.h: New file.
15073 * include/grub/ia64/types.h: Likewise.
15074 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15075 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15076 New protos.
15077 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15078 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15079 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15080 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15081 All users updated.
15082 (EFI64_HEADER_SIZE): New definition. All users updated.
15083 (image_targets): Add ia64-efi.
15084 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15085 jumpers_addr. All users updated.
15086 Create function descriptors.
15087 (count_funcs): New function.
15088 (unaligned_uint32): New struct.
15089 (MASK20): New definition.
15090 (MASK19): Likewise.
15091 (MASKF21): Likewise.
15092 (add_value_to_slot_20b): New function.
15093 (add_value_to_slot_21_real): Likewise.
15094 (add_value_to_slot_21): Likewise.
15095 (ia64_kernel_trampoline): New struct.
15096 (nopm): New variable.
15097 (jump): Likewise.
15098 (make_trampoline): New function.
15099 (relocate_addresses): Handle ia64.
15100 (make_reloc_section): Likewise.
15101 (load_image): Likewise.
15102
983b414d
VS
151032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15106 warning. Move variables before code while on it.
15107
5d063cdc
VS
151082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 Fuloong support.
15111
15112 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15113 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15114 * grub-core/boot/mips/loongson/fuloong.S: New file.
15115 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15116 Explicitly init CS5536.
15117 [FULOONG]: Don't use serial until CS5536 is available.
15118 Set GPIO based on dumps.
15119 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15120 [FULOONG]: Handle GPIO and memory controller differences.
15121 Parse machine type in $a2.
15122 * grub-core/boot/mips/startup_raw.S: Determine and save the
15123 architecture.
15124 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15125 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15126 init on architecture type.
15127 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15128 SIS315E. Don't init at_keyboard on fuloong.
15129 (grub_halt): Support Fuloong.
15130 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15131 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15132 (loongson_machtypes): New array.
15133 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15134 type.
15135 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15136 config. All users updated. Handle CS5536 serial.
15137 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15138 default port on machine type. Register serial as inactive.
15139 * grub-core/video/sis315pro.c: New file.
15140 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15141 definition.
15142 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15143 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15144 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15145 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15146 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15147 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15148 to ...
15149 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15150 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15151 definition.
15152 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15153 (grub_arch_machine): New extern var.
15154 * include/grub/mips/loongson/serial.h
15155 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15156 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15157 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15158 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15159 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15160 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15161 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15162 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15163 * include/grub/term.h (grub_term_register_input_inactive): New inline
15164 function.
15165 (grub_term_register_output_inactive): Likewise.
15166 * include/grub/video.h (grub_video_driver_id): New value
15167 GRUB_VIDEO_DRIVER_SIS315PRO.
15168 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15169 New field "names". All users updated.
15170 New field value IMAGE_FULOONG_FLASH.
15171 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15172
6ada82d1
JU
151732011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15174
15175 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15176 and add some clarification.
15177
90c571a4
VS
151782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15181 platforms if kernel is compressed.
15182
de04eecf
VS
151832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15186 unused modules since currently referrence counter isn't reliable and
15187 there isn't much memory to recover there anyway.
15188
57688121
VS
151892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15192 rather than resetting it to allow modules to reference themselves
15193 in init.
15194
3d2c7e35
VS
151952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15198 counter on dependencies since grub_dl_unref already handles this.
15199
b25db218
VS
152002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15203 on error if not already done.
15204
25a45338
VS
152052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 Fix few potential memory misusage.
15208
15209 * grub-core/font/font.c (load_font_index): Don't free char_index to
15210 avoid double free.
b25db218
VS
15211 (grub_font_load): Zero-fill font at alloc for safety.
15212 Close file on error.
15213 (free_font): Free bmp_idx.
25a45338 15214
0cac83df
VS
152152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * docs/grub.texi (Installation): Fix several outdated claims.
15218
2217a143
VS
152192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 Handle module_license on windows.
15222
15223 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15224 sections shifted.
15225 (insert_string): Make argument const char * instead of char *.
15226 (write_section_data): Handle long section names.
15227 Handle module_license.
15228
d4de6b01
VS
152292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15232 handle class-free menuentries.
15233 (grub_normal_add_menu_entry): Add a check to be sure.
15234
4c2a3b43
VS
152352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15238 PgUp and PgDown.
15239
85c6210f
VS
152402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * configure.ac: Bump version to 1.99.
15243
36084912
VS
152442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 Give ATA device a bit more time on first try in order to allow disks
15247 to spin up.
15248
15249 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15250 if dev->present is 1. Reset dev->present on failure.
15251 (grub_ata_device_initialize): Set dev->present to 1.
15252 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15253 (grub_ata_device): New member 'present'.
15254
bda0e219
VS
152552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * util/grub-mkimage.c (generate_image): Update hash.
15258
19e1c41b
VS
152592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 Flush caches on DMA memory.
15262
15263 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15264 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15265 (grub_dma_free): Likewise.
15266 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15267
91bbcc0c
VS
152682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15271 to avoid asm treating ld and sd as macros.
15272
60ddfad3
VS
152732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15276 decompressor.
15277
a298aa04
VS
152782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15281 grub_decompress_core since later would fail if grub_decompress_core
15282 is too far.
15283
9b44feca
VS
152842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15287 R_MIPS_JALR since it's used by newer compiler.
15288
56dbe7b4
VS
152892011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15292
52856af2
VS
152932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15296 file_path to 0 for surety.
15297 (grub_chainloader_boot): Set exit_data to NULL.
15298 Unset the loader once done.
15299 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15300
9c9bfc6d
VS
153012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15304 unknown key into a dprintf.
15305
dd94a3df
VS
153062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15309 on first non-existant partition.
15310
fa68d99c
VS
153112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15314 openning fails.
15315 Reported by: Mark Korenberg.
15316
157effb7
VS
153172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15320 overflow.
15321
ea75312f
VS
153222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15325 before closing to ensure that it will be readable by grub-setup.
15326
072b5d31
VS
153272011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15330 (devpath_1): Use MAKE_PIWG_PATH.
15331 (devpath_2): Likewise.
15332 (devpath_3): Likewise.
15333 (devpath_4): Likewise.
15334 (devpath_5): Likewise.
15335 (devpath_6): Likewise.
15336
15337 The appleldr.mod was checked that to be binary identical to previous
15338 version.
15339
7fae0051
Z
153402011-05-05 Zach <mikezackles>
15341
15342 Support 2010 Macbooks.
15343
15344 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15345 (devs): Add devpath_6.
15346
7c515bee
VS
153472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15350 /dev/random. /dev/urandom is good enough for our purposes (salting).
15351
ed660bd8
VS
153522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15355
ee5614b7
VS
153562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15359 hexadecimal.
15360
664889a6
VS
153612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15364 and not 0 on failure.
15365
bd405bbc
CW
153662011-05-03 Colin Watson <cjwatson@ubuntu.com>
15367
15368 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15369 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15370 disk; otherwise grub_fs_probe will not fall back to the next
15371 filesystem.
15372 (grub_pxefs_open): Likewise, for consistency.
15373 Reported and tested by: Ezekiel Grave.
15374
4ebff753
CW
153752011-05-03 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * tests/partmap_test.in: Don't hardcode path to parted.
15378 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15379
8f942553
CW
153802011-05-01 Colin Watson <cjwatson@ubuntu.com>
15381
15382 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15383 of `ls' to find out which devices are available.
15384
3c62402d
VS
153852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15388 than source address for efi mmap buffer.
15389
723f63f2
VS
153902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15393 wrong action on non-detecting the magic.
15394
68797f92
VS
153952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15398 already supplied by another part of the module (fixes compilation on
15399 FreeBSD).
15400
6be8715d
VS
154012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15404 match the one used by mdadm.
15405
e91dba5b
CW
154062011-04-21 Colin Watson <cjwatson@ubuntu.com>
15407
15408 * po/README: Add instructions for creating po/LINGUAS.
15409
c85140b3
CW
154102011-04-21 Colin Watson <cjwatson@ubuntu.com>
15411
15412 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15413 #551428.
15414
15415 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15416 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15417 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15418 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15419 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15420 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15421 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15422 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15423 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15424 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15425 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15426 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15427 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15428 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15429 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15430 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15431 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15432 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15433 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15434 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15435 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15436 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15437
92051871
CW
154382011-04-21 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * grub-core/kern/emu/getroot.c
15441 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15442 test that was incorrectly reintroduced in r3214.
15443 Reported by: Ian Dall. Fixes Savannah bug #33133.
15444
b13f79a4
CW
154452011-04-21 Colin Watson <cjwatson@ubuntu.com>
15446
15447 Fix stack pointer handling in 16-bit relocator.
15448
15449 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15450 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15451 Fixes Ubuntu bug #683904.
15452
9b710a88
VS
154532011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * configure.ac: Bump version to 1.99~rc2.
15456
d97e7b59
VS
154572011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15460 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15461 * grub-core/lib/x86_64/setjmp.S: Likewise.
15462 * grub-core/lib/mips/setjmp.S: Likewise.
15463 * grub-core/lib/powerpc/setjmp.S: Likewise.
15464 * grub-core/lib/sparc64/setjmp.S: Likewise.
15465
0624551c
VS
154662011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15469 * grub-core/lib/efi/datetime.c: Likewise.
15470
e8f28d4c
VS
154712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15474 New function.
15475 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15476 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15477 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15478
bba79a15
VS
154792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15482 bitmap.
15483 (grub_gfxterm_term_init): Likewise.
15484
abc474ef
VS
154852011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 Take into account the decorations the computing menu entry width.
15488
15489 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15490 (grub_gfxmenu_create_box): Register get_border_width.
15491 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15492 if available.
15493 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15494 get_border_width.
15495
e74b3947
EP
154962011-04-18 Endres Puschner <code@e7p.de>
15497
15498 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15499 Don't skip first class.
15500
34faa595
VS
155012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15504 chunks.
15505 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15506
93a777e3
VS
155072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 Complete 64-bit division support.
15510
15511 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15512 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15513 * include/grub/misc.h (grub_divmod64): Rename to ...
15514 (grub_divmod64_full): ... this.
15515 (grub_divmod64): New inline function.
15516
a5102d94
VS
155172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15520
f3fb7b36
VS
155212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15524 performing the necessary test.
15525
9ac718b0
VS
155262011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15529 (kfreebsd.elf): Likewise.
15530 (pc-chainloader.elf): Likewise.
15531 (ntldr.elf): Likewise.
15532
50d2cc5a
VS
155332011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 Identify RAID by its UUID rather than (guessed) name.
15536
15537 * grub-core/disk/raid.c (ascii2hex): New function.
15538 (grub_raid_open): Accept mduuid/%s specification.
15539 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15540 (get_mdadm_uuid): ... this.
15541 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15542
e03f7bea
VS
155432011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15546 to negative size.
15547
e74c3112
CW
155482011-04-13 Colin Watson <cjwatson@ubuntu.com>
15549
15550 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15551 btrfs subvolume.
15552 * util/grub.d/20_linux_xen.in: Likewise.
15553
78fa584f
CW
155542011-04-13 Colin Watson <cjwatson@ubuntu.com>
15555
15556 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15557 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15558
15559 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15560 Build a list of relevant visible mounts using the mnt_id and
15561 parent_mnt_id fields, and then scan that list at the end.
15562
9d5f8162
CW
155632011-04-12 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * docs/grub.texi (normal): New section.
15566 (normal_exit): New section.
15567 (Embedded configuration): Add reference to normal.
15568 (GRUB only offers a rescue shell): Likewise.
15569 * docs/grub-dev.texi (Error Handling): Fix typo.
15570
09a9d66f
CW
155712011-04-12 Colin Watson <cjwatson@ubuntu.com>
15572
15573 * NEWS: Drop obsolete entry about probe-only btrfs support.
15574
0c676933
CW
155752011-04-12 Colin Watson <cjwatson@ubuntu.com>
15576
15577 * util/import_gcry.py: Fix typo.
15578
ec9f5e0d
VS
155792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * NEWS: Add btrfs support.
15582
fe6b2cba
VS
155832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
155842011-04-11 Colin Watson <cjwatson@ubuntu.com>
15585
15586 BtrFS support. Written by me (Vladimir) with important bugfixes and
15587 even more important testing by Colin.
15588
15589 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15590 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15591 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15592 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15593 mem_input_off and mem_input. All users updated to accept in-RAM input.
15594 (gzio_seek): New function.
15595 (test_zlib_header): Likewise.
15596 (grub_gzio_read): Likewise.
15597 (grub_zlib_decompress): Likewise.
15598 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15599 Accept partial and non-virtual mounts.
15600 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15601 avoid receiving /dev/dm-X as device.
15602 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15603 Handle bind and partial mounts.
15604 * grub-core/lib/crc.c: New file.
15605 * include/grub/deflate.h: Likewise.
15606 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15607 proto.
15608 * include/grub/lib/crc.h: New file.
15609
e745cf0c
VS
156102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 Implement automatic module license checking according to new GNU
15613 guidelines.
15614
15615 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15616 (grub_dl_load_core): Use grub_dl_check_license.
15617 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15618 (GRUB_MOD_LICENSE): Likewise.
15619 (GRUB_MOD_DUAL_LICENSE): Likewise.
15620 All modules updated.
15621
2a9bc016
CW
156222011-04-11 Colin Watson <cjwatson@ubuntu.com>
15623
15624 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15625 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15626 loaders.
15627 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15628
8a3bc88e
VS
156292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15632
af869a4a
VS
156332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15636 failed.
15637
9ee8d94f
VS
156382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15641 parenthesis in the middle of the filename.
15642
b01abe3e
VS
156432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15646 rather than trying to put initrd way too high.
15647 Reported by: Ryan Lortie <desrt@desrt.ca>
15648
335bda1e
VS
156492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15652 improperly removed string.
15653
5ca1a64d
VS
156542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15657 is_disk.
15658 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15659 (open_device) Likewise.
15660 (grub_util_biosdisk_close): Likewise.
d8ce9995 15661 Reported by: Mark Korenberg.
5ca1a64d 15662
cbac5b1e
AK
156632011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15664
15665 * util/grub-mkconfig_lib.in: Add missing quotes.
15666
088cdb65
CW
156672011-04-10 Colin Watson <cjwatson@ubuntu.com>
15668
15669 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15670 is NULL.
15671
8b8a81fa
VS
156722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Dynamically count the number of lines for the lower banner.
15675
15676 * grub-core/normal/menu_entry.c (per_term_screen): New member
15677 num_entries.
15678 (print_down): Use num_entries.
15679 (update_screen): Likewise.
15680 (grub_menu_entry_run): Set num_entries.
15681 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15682 num_entries.
15683 (grub_print_message_indented): Move real part to ...
15684 (grub_print_message_indented_real): ... here. Additional argument
15685 dry_run.
15686 (draw_border): Additional argument num_entries.
15687 (print_message): Additional argument dry_run.
15688 (print_entries): Receive menu viewer data.
15689 (grub_menu_init_page): New argment num_entries.
15690 (menu_text_set_chosen_entry): Use num_entries.
15691 (grub_menu_try_text): Likewise.
15692 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15693 All users updated.
15694 (grub_ucs4_count_lines): New function.
15695 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15696 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15697 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15698 (grub_term_border_height): Likewise.
15699 (grub_term_num_entries): Likewise.
15700
277f955b
VS
157012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15704 Remove now unused string.
15705
536ce85a
CW
157062011-04-09 Colin Watson <cjwatson@ubuntu.com>
15707
15708 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15709 build system.
15710 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15711
15712 (Comment): Fix typo.
15713 (Getting started): General copy-editing.
15714 (Typical Development Experience): Likewise.
15715 (Error Handling): Likewise.
15716 (Video API): Likewise.
15717
2cf09e32
CW
157182011-04-09 Colin Watson <cjwatson@ubuntu.com>
15719
15720 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15721 throughout.
15722
1ec652f4
VS
157232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15726 directory.
15727
2c583728
CW
157282011-04-08 Colin Watson <cjwatson@ubuntu.com>
15729
15730 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15731 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15732 "development".
15733
d7a565e9
VS
157342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15737 grub_strcpy since the lines aren't necessarily 0-terminated.
15738
7c2e4909
VS
157392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15742 root on legacy.
15743
34c09785
VS
157442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15747 (GRUB_MOD_INIT): DEVICE isn't optional.
15748
6a6f8058
VS
157492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15752 word on new line if it's too long anyway. Fixes a hang.
15753
2e335e90
VS
157542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15757 const.
15758 * util/grub-setup.c (main): Reuse md device name if available.
15759 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15760 not GRUB name as argument.
15761 Based on patch by: Florian Wagner <fwagner>.
15762
10a7a867
VS
157632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15766 Place mbi on low memory for better compatibility.
15767
7a3d6cd9
VS
157682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15771
18dd6b47
VS
157722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
157732011-04-08 Colin Watson <cjwatson@ubuntu.com>
15774
15775 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15776 * conf/Makefile.common: Likewise.
18dd6b47 15777
3c0e3f14
VS
157782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15779
f7148863
VS
15780 * grub-core/normal/menu.c: Add missing include.
15781
157822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15785
6d1fa41f
MZ
157862011-04-08 Martin Zuther <mzuther@mzuther.de>
15787
15788 * util/grub-mkconfig.in: Ignore emacsen backup.
15789
478182a8
VS
157902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15793 on open.
15794 (grub_util_biosdisk_close): Likewise.
15795
72a89a54
VS
157962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15799 const attribute and use grub_isdigit.
15800
b5ebecfa
A
158012011-04-06 Andrey <dev_null@ukr.net>
15802
15803 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15804 gcc warning.
15805
7755f66e
VS
158062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15809 useful grub_dprintf's.
15810
461121ff
VS
158112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15814
2a961775
VS
158152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15818
adf594cc
VS
158192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 Output errors if theme loading failed.
15822
15823 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15824 grub_gfxterm_fullscreen on error paths to ...
15825 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15826 theme loading error.
15827
665900a3
VS
158282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15831 space for older compilers.
15832 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15833
a562b479
VS
158342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15837 and report them as not RAID members since they are useless for GRUB.
15838 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15839
850e9373
VS
158402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Increase LVM implementation robustness in order not to crash on
15843 configurations like pvmove. Previously code assumed that in some places
15844 only lvs or only pvs are used whereas it seems that they are used
15845 interchangeably.
15846
15847 * grub-core/disk/lvm.c (read_node): New function.
15848 (read_lv): Use read_node.
15849 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15850 Match volumes only at the end when all lvs are found. Take both
15851 pvs (first) and lvs (second) into account.
15852 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15853 mirror_* into node_*. All users updated.
15854 (grub_lvm_stripe): Merge this ...
15855 (grub_lvm_mirror): ... and this ...
15856 (grub_lvm_node): ... into this. All users updated.
15857
6f332153
VS
158582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15861 of function to allow further scanning for LVMs.
15862
829ea451
VS
158632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15866 on failed seek as it breaks open fd reusage.
15867
09ceb9a5
VS
158682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * util/grub-install.in: Add a recommendation to use --recheck before
15871 reporting bugs.
15872
67e11623
VS
158732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15876 are obtained.
15877
caee5efd
VS
158782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 GRUB developper manual based on existing Internals section and
15881 contributions by the various authors with active copyright assignment.
15882
15883 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15884 * docs/font_char_metrics.png: New file.
15885 * docs/font_char_metrics.txt: Likewise.
15886 * docs/grub-dev.texi: Likewise.
15887 * docs/grub.texi (Internals): Move from here ...
15888 * docs/grub-dev.texi: ... here.
15889
2cccc747
CW
158902011-04-01 Colin Watson <cjwatson@ubuntu.com>
15891
15892 Store the loopback device as data on loopback grub_disk structures,
15893 rather than the file it points to. This fixes use of freed memory
15894 if an existing loopback device is replaced.
15895
15896 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15897 disk->data, not dev->file.
15898 (grub_loopback_read): Adjust file assignment to match.
15899 Fixes Ubuntu bug #742967.
15900
186ae367
CW
159012011-04-01 Colin Watson <cjwatson@ubuntu.com>
15902
15903 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15904 when replacing an existing device.
15905
cfed2ad0
VS
159062011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15909 memory corruptions.
15910
15911 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15912 unsigned.
15913 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15914 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15915 (grub_jfs_read_inode): Likewise.
15916 (grub_jfs_opendir): Likewise. Remove now useless casts.
15917 (grub_jfs_getent): Likewise.
15918 Make ino a grub_uint32_t rather than int.
15919 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15920 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15921 division and module with bit operations.
15922 (grub_jfs_find_file): Make ino a grub_uint32_t.
15923 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15924
05d2ed32
CW
159252011-04-01 Colin Watson <cjwatson@ubuntu.com>
15926
15927 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15928 warning. (This was in fact always initialised before use, but GCC
15929 wasn't smart enough to prove that.)
15930 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15931
91dc6073
VS
159322011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15935 stack alignment.
15936 (efi_wrap_1): Likewise.
15937 (efi_wrap_2): Likewise.
15938 (efi_wrap_3): Likewise.
15939 (efi_wrap_4): Likewise.
15940 (efi_wrap_5): Likewise.
15941 (efi_wrap_6): Likewise.
15942 (efi_wrap_10): Likewise.
15943 Based on information by: Red Hat/Peter Jones.
15944
a8afc1d1
CW
159452011-03-31 Colin Watson <cjwatson@ubuntu.com>
15946
15947 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15948 set-but-not-used variable.
15949
a826cc7d
CW
159502011-03-31 Colin Watson <cjwatson@ubuntu.com>
15951
15952 * docs/grub.texi (Simple configuration): Be more explicit about
15953 GRUB_DEFAULT, and add an example.
15954 Reported by: Leslie Rhorer.
15955
875b67ba
CW
159562011-03-30 Colin Watson <cjwatson@ubuntu.com>
15957
15958 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15959 shell".
15960
fd7cd914
AS
159612011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15962
15963 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15964 * util/grub.d/20_linux_xen.in: Likewise.
15965
090b1b6a
VS
159662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * util/grub.d/10_linux.in: Try alternative config filenames where
15969 we parse config file.
15970 * util/grub.d/20_linux_xen.in: Likewise.
15971
baad885c
AS
159722011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15973
15974 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15975 * util/grub.d/20_linux_xen.in: Likewise.
15976
241e41f5
VS
159772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/disk/raid.c (insert_array): Add few potentially
15980 useful grub_util_info.
15981 (grub_raid_register): Likewise.
15982
56445fb2
VS
159832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15986 Preserve partition number in mdadm code path.
15987
c871b1c6
VS
159882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15991 few potentially useful grub_util_info.
15992
5e631b4f
CW
159932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15996
2d5d0333
CW
159972011-03-30 Colin Watson <cjwatson@ubuntu.com>
15998
15999 * docs/grub.texi (default): Use @example rather than nested
16000 itemized lists to avoid breaking gendocs.
16001
3d7ed04e
CW
160022011-03-30 Colin Watson <cjwatson@ubuntu.com>
16003
16004 * docs/grub.texi (Future): Update.
16005
abf04200 160062011-03-30 Colin Watson <cjwatson@ubuntu.com>
16007
16008 * docs/grub.texi (Environment): New chapter.
16009 (Changes from GRUB Legacy): Link to "Environment block" section for
16010 details of limitations.
16011 (Simple configuration): Likewise. Link to documentation of gfxmode
16012 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16013 respectively.
16014 (Shell-like scripting): Note that normal variables are stored in the
16015 environment.
16016 (gettext): Link to documentation of lang and locale_dir.
16017 (list_env): New section.
16018 (load_env): New section.
16019 (save_env): New section.
16020
16021 (Reporting bugs): Fix typo.
16022
e1ad0edd
VS
160232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16026 the example.
16027
5d803174
VS
160282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * grub-core/term/at_keyboard.c (set_scancodes)
16031 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16032
2a2da1d0
CW
160332011-03-30 Colin Watson <cjwatson@ubuntu.com>
16034
16035 * docs/grub.texi (Menu-specific commands): Remove some semantics
16036 that were true in GRUB Legacy but not in GRUB 2.
16037 (submenu): New section.
16038 (false): New section.
16039 (read): New section.
16040 (true): New section.
16041
a7527639
CW
160422011-03-30 Colin Watson <cjwatson@ubuntu.com>
16043
16044 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16045
160462011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16047
16048 * docs/grub.texi (Simple configuration): Explain some of the
16049 current limitations of grub-mkconfig.
8a748df2 16050 Reported by: Leslie Rhorer.
e30af029 16051
fc858482
VS
160522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Old macs search for boot.efi rather than for bootia32.efi.
16055
16056 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16057 * util/grub-mkrescue.in: Likewise.
16058 Suggested by: Peter Jones.
16059
e1eb511d
VS
160602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16063
70e75364
VS
160642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16067 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16068 (grub_lvm_mirror): New struct.
16069 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16070 (grub_lvm_iterate): Iterate only visible volumes.
16071 (grub_lvm_read): Factor out to ..
16072 (read_lv): ... this. Support mirrors.
16073 (grub_lvm_read): New wrapper function.
16074 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16075 stripped or mirrored.
16076
fc18f6a3
VS
160772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16080
5c650f4c
CW
160812011-03-29 Colin Watson <cjwatson@ubuntu.com>
16082
16083 * docs/grub.texi (loopback): New section.
16084
61d7156b
CW
160852011-03-29 Colin Watson <cjwatson@ubuntu.com>
16086
16087 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16088 removed -p option.
16089
994b8264
CW
160902011-03-29 Colin Watson <cjwatson@ubuntu.com>
16091
16092 * docs/grub.texi (BIOS installation): New section, partly based on
16093 previous text in other sections.
16094 (Installing GRUB using grub-install): Replace BIOS discussion with a
16095 cross-reference.
16096 (Images): Likewise.
16097
9e4d19e0
VS
160982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16101 [HAVE_DIOCGDINFO]: Add safety checks.
16102
a307c0b2
VS
161032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16106 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16107
b4db4f39
CW
161082011-03-29 Colin Watson <cjwatson@ubuntu.com>
16109
16110 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16111 real_sb->size is zero (e.g. RAID-0), get the disk size from
16112 real_sb->data_size instead.
16113 Fixes Ubuntu bug #743136.
16114
35e5f84c
VS
161152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16118 printf clauses for printing size and start.
16119
d2e29d81
VS
161202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16123 Reported and tested by: Timothy Nikkel.
16124
ed5587af
VS
161252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16128 (dirty_region_add_real): ... this.
16129 (dirty_region_add): Don't discard margin refresh when performing
16130 scheduled repaint.
16131
a1dc717c
VS
161322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * grub-core/lib/relocator.c (allocate_regstart)
16135 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16136 terminals are capabple of malloc-free operation.
16137 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16138 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16139
9f3677d3
VS
161402011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16141
16142 * util/grub-setup.c: Copy the partition table zone if floppy support
16143 is disabled, even if no partition table is found.
16144
16145 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16146 during POST if an invalid partition table is contained in the PBR
16147 of the active partition when GRUB is installed to a partition.
16148
24148725
CW
161492011-03-28 Colin Watson <cjwatson@debian.org>
16150
16151 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16152 comment.
16153
f329eda7
CW
161542011-03-28 Colin Watson <cjwatson@debian.org>
16155
16156 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16157 to be specific about what kind of RAID device we're scanning for.
16158
c482ad98
SG
161592011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16160
16161 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16162 return freed string.
16163
5ee04984
VS
161642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16167
f4727da9
VS
161682011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Use libgeom on FreeBSD to detect partitions.
16171
16172 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16173 (grub-mkrelpath): Likewise.
16174 (grub-script-check): Likewise.
16175 (grub-editenv): Likewise.
16176 (grub-mkpasswd-pbkdf2): Likewise.
16177 (grub-fstest): Likewise.
16178 (grub-mkfont): Likewise.
16179 (grub-mkdevicemap): Likewise.
16180 (grub-probe): Likewise.
16181 (grub-setup): Likewise.
16182 (grub-ofpathname): Likewise.
16183 (grub-mklayout): Likewise.
16184 (example_unit_test): Likewise.
16185 (grub-menulst2cfg): Likewise.
16186 * grub-core/Makefile.core.def (grub-emu): Likewise.
16187 (grub-emu-lite): Likewise.
16188 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16189 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16190 define HAVE_DIOCGDINFO.
16191 (follow_geom_up) [FreeBSD]: New function.
16192 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16193 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16194 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16195 unconditionally of HAVE_DIOCGDINFO.
16196
82fe6c75
VS
161972011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 Fix FreeBSD compilation problem.
16200
16201 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16202 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16203
4c6c9431
CW
162042011-03-24 Colin Watson <cjwatson@ubuntu.com>
16205
16206 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16207 Switch back to page zero before loading a kernel, since some kernel
16208 drivers expect that.
16209 Thanks to: Felix Kuehling.
16210
c7064d94
VS
162112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16214 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16215 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16216
3f71cded
VS
162172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16220 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16221
ef6de21a
VS
162222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16225 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16226 malloc is disabled.
16227
8bc66a2c
VS
162282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16231 for modules headers when counting the needed allocation size.
16232
5657722c
VS
162332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16236 if no ASCII character is found to prevent crash.
16237
41a85f55
AK
162382011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16239
16240 * grub-core/video/bitmap.c (match_extension): Ignore case.
16241
59e1e5f1
VS
162422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16245
bd4d051a
VS
162462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * grub-core/script/parser.y: Declare "time" as valid argument.
16249
bae7fcc1
PJ
162502011-03-23 Peter Jones <pjones@redhat.com>
16251
16252 Fix incorrect assert failure reporting.
16253
16254 * grub-core/tests/example_functional_test.c (example_test): Add
16255 a failure comment.
16256 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16257 (failure_start): ...this. Check that malloc succeeded.
16258 Don't call xvasprintf. Return failure struct.
16259 (failure_append_vtext): New function.
16260 (failure_append_text): Likewise.
16261 (add_failure): Likewise.
16262 (grub_test_assert_helper): Likewise.
16263 * include/grub/test.h (grub_test_assert_helper): New declaration.
16264 (grub_test_assert): Macro rewritten.
16265
537dc9be
VS
162662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16269
fa3e01bf
VS
162702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16273
b1d28404
VS
162742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16277 into GRUB-style one.
16278
2e3e2e09
VS
162792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16282 error and not grub_errno.
16283 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16284
ed57e557
VS
162852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16288 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16289
d1611f01
VS
162902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * grub-core/efiemu/i386/pc/cfgtables.c
16293 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16294 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16295 (grub_xnu_unlock): Likewise.
16296 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16297
7d4e39d6
VS
162982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16301 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16302 * grub-core/commands/hashsum.c (aliases): Likewise.
16303 * grub-core/commands/setpci.c (pci_registers): Likewise.
16304 * grub-core/disk/usbms.c (attach_hook): Likewise.
16305 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16306 (zio_checksum_table): Likewise.
16307 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16308 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16309 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16310 * grub-core/lib/relocator.c (leftovers): Likewise.
16311 (extra_blocks): Likewise.
16312 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16313 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16314 (modules_last): Likewise.
16315 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16316 (devices): Likewise.
16317 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16318 (modules_last): Likewise.
16319 * grub-core/normal/auth.c (users): Likewise.
16320 * grub-core/normal/context.c (initial_menu): Likewise.
16321 (current_menu): Likewise.
16322 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16323 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16324 (grub_serial_terminfo_input_template): Likewise.
16325 (grub_serial_terminfo_output_template): Likewise.
16326 (grub_serial_terminfo_input): Likewise.
16327 (grub_serial_terminfo_output): Likewise.
16328 (registered): Likewise.
16329 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16330
40fc4659
VS
163312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16334 grub_video_mode_type_t.
16335 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16336 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16337 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16338
2da48d28
VS
163392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 * util/grub-install.in: Correct the x86-64 name as x86_64.
16342
9b43bf39
CW
163432011-03-11 Colin Watson <cjwatson@ubuntu.com>
16344
16345 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16346 initial chunk read from the kernel always includes GRUB's multiboot
16347 header, which is now outside the first sector.
16348
be1a7ce0
CW
163492011-03-09 Colin Watson <cjwatson@ubuntu.com>
16350
16351 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16352 cached mmap_size, so that this works correctly when called multiple
16353 times.
16354 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16355
83a3c48d
CW
163562011-03-09 Colin Watson <cjwatson@ubuntu.com>
16357
16358 * docs/grub.texi (Simple configuration): Tidy up formatting.
16359
57d75699
SJ
163602011-03-07 Szymon Janc <szymon@janc.net.pl>
16361
16362 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16363 Set-but-not-used variable removed.
16364
028501a0
VS
163652011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 Workaround yet another IEEE1275 bug.
16368
16369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16370 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16371 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16372 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16373 is set.
16374 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16375 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16376
d998657d
VS
163772011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16380 error.
16381
fee7cdd4
CW
163822011-02-11 Colin Watson <cjwatson@ubuntu.com>
16383
16384 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16385 empty, since in that case we can only generate either nothing or a
16386 syntactically invalid configuration file.
16387 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16388
97286eb5
CW
163892011-02-09 Colin Watson <cjwatson@ubuntu.com>
16390
16391 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16392 (Making a GRUB bootable CD-ROM): Likewise.
16393 (Invoking grub-mkrescue): New section.
16394 Reported by: Yann Dirson. Fixes Debian bug #612585.
16395
22b28eb3
CW
163962011-02-09 Colin Watson <cjwatson@ubuntu.com>
16397
16398 * util/grub-install.in: Remove unnecessary brackets from tr
16399 arguments.
16400 * util/grub.d/10_hurd.in: Likewise.
16401 * util/grub.d/10_kfreebsd.in: Likewise.
16402 * util/grub.d/10_linux.in: Likewise.
16403 * util/grub.d/20_linux_xen.in: Likewise.
16404 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16405
7e735e43
CW
164062011-02-08 Colin Watson <cjwatson@ubuntu.com>
16407
16408 * include/grub/file.h (not_easly_seekable): Rename to ...
16409 (not_easily_seekable): ... this. Update all users.
16410
800f1881
CW
164112011-01-28 Colin Watson <cjwatson@ubuntu.com>
16412
16413 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16414 grub-mkrescue.
16415
3281d3d6
VS
164162011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * util/grub-mkimage.c (generate_image): Refuse to create the images
16419 bigger than the actual flash (512K) in Loongson machines. 512K is also
16420 the biggest chip supported by them.
16421
3533413c
VS
164222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16425
73ae4f4f
VS
164262011-01-22 Anthony DeRobertis <anthony@derobert.net>
16427
16428 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16429 super_offset field.
16430
37f4f608
VS
164312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * util/grub-install.in: Ignore install device on platforms
16434 where it doesn't make sense. Always use UUIDs except on pc, efi and
16435 sparc64.
16436 Reported by: Daniel Kahn Gillmor.
16437
03a4ccb5
VS
164382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16441
ffc8f4d8
VS
164422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16445 (iterate_real): Don't rely on partition being non-NULL.
16446
80f23be7
VS
164472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16450 supported platforms. Put a compile time assert for this rather than
16451 generate a warning with 32-bit shift.
16452
5d4f4dd5
VS
164532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16456 logical expression more readable.
16457
e489601a
VS
164582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16461 even if some elements have a name.
16462 Reported by: Alexander GQ Gerasiov.
16463
96e0a6ea
CW
164642011-01-22 Colin Watson <cjwatson@ubuntu.com>
16465
16466 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16467 path unreadable if `grub-probe -t abstraction' fails, for example if
16468 memberlist fails on an LVM volume group.
16469 Reported by: Darius Jahandarie.
16470
81431e2b
CW
164712011-01-22 Colin Watson <cjwatson@ubuntu.com>
16472
16473 * docs/grub.texi (Simple configuration): Document
16474 GRUB_PRELOAD_MODULES.
16475
5e79d66a
CW
164762011-01-17 Colin Watson <cjwatson@ubuntu.com>
16477
16478 * .bzrignore: Remove nonexistent grub-pbkdf2.
16479
646ada34
VS
164802011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * configure.ac: Bump version to 1.99~rc1.
16483
04360337
VS
164842011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16487 for safety.
16488
46c9db88
VS
164892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16492 module.
16493
164942011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16495
16496 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16497
4fbf1852
VS
164982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16501 diskdevid.
16502
f1632d4d
VS
165032011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 Fix compilation on cygwin.
16506
16507 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16508 -R .drectve on cygwin.
16509 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16510 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16511 (COND_CYGWIN): New condition.
16512 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16513 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16514 not @TARGET_OBJ2ELF@.
16515 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16516 type to determine whether aux is to be used.
16517
0b5e127b
VS
165182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16521 realpath'ed device string.
16522 Handle floppy (somewhat).
16523 Issue error in unknown case rather than garbage.
16524 Reported by: Axel Beckert.
16525
173b71e9
VS
165262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * util/grub.d/00_header.in (load_video): Handle the case when no video
16529 drivers available.
16530 Thanks to: Axel Beckert.
16531
f8f479db
VS
165322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16535 variable. Fixes problem on big endian platforms.
16536
8fc0a245
VS
165372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16540 It doesn't work well there.
16541
b8494fbe
VS
165422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16545 warning.
16546 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16547 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16548 counter.
16549
b44a558c
VS
165502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Use alias->path rather than buggy "canon".
16553
16554 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16555 (ofdisk_hash_add): New argument curcan. All users updated.
16556
51fa856c
CW
165572011-01-11 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16560
9da068a5
VS
165612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16564 loadmask before doing any calculations. Use correct type for offset.
16565 (grub_linux_load64): Likewise.
16566
86205c94
CW
165672011-01-11 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16570 with NULL.
16571 (console_grub_equivalences_unshift): Likewise.
16572 Reported by: Daniel Dehennin.
16573
4531a206
VS
165742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16577 (set_env_limn_ro): Likewise.
16578 (GRUB_MOD_INIT): Likewise.
16579 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16580 ARRAY_SIZE while on it.
16581 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16582 * grub-core/normal/context.c (grub_env_export): Move from here ...
16583 * grub-core/kern/env.c (grub_env_export): ... here.
16584 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16585 prefix.
16586 * grub-core/kern/main.c (grub_main): Export root and prefix.
16587 * include/grub/env.h (grub_env_export): Export.
16588 Reported by: Seth Goldberg.
16589
45146057
VS
165902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16593 Take into account space used by ELF sections and multiboot palette.
16594 Reported by: Grégoire Sutre.
16595
f093110b
VS
165962011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * BUGS: New file.
16599
3395fe52
VS
166002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Pass more appropriate video id to Linux.
16603
16604 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16605 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16606 fill have_vga.
16607 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16608 shift params->lfb_size.
16609 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16610
c2fa6cbb
VS
166112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16614
b3ff6ff0
VS
166152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16618 separator and pass bootpath/devid even if only one of them is available.
16619 Reported by: Seth Goldberg.
16620
ae67942e
VS
166212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16622
16623 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16624 implementations bug on them.
16625
16626 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16627 memory.
16628 (filter_memory_map): Likewise.
16629
d570097a
VS
166302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16633 Reported by: nebuchadnezzar.
16634
a508e776
VS
166352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16638 Reported by: nebuchadnezzar.
16639
dcb883b1
VS
166402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 Submenu default support.
16643
16644 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16645 auto_boot. All users updated.
16646 Declared static.
16647 Handle chosen and default with submenus.
16648 (grub_menu_execute_with_fallback): Declared static.
16649 Don't notify failure if autobooted. Upper level does it.
16650 (menuentry_eq): New function.
16651 (get_entry_number): Use menuentry_eq.
16652 (show_menu): New parameter "autobooted". All users updated.
16653 (grub_show_menu): Likewise.
16654 * include/grub/normal.h (grub_show_menu): Likewise.
16655 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16656 (grub_menu_execute_with_fallback): Likewise.
16657
6fef99b4
VS
166582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 * util/grub-mklayout.c (usage): Update help text.
16661
47a77af5
VS
166622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16665
ce6bb3ee
VS
166662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * util/grub-menulst2cfg.c (main): Trim the line.
16669
db87be2a
VS
166702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16673 (grub_machine_init): Don't check amount of low memory as reportedly
16674 INT 12h can be broken and if low memory is too low we wouldn't have
16675 gotten into grub_machine_init anyway.
16676
c49849cc
VS
166772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16680 (grub_machine_mmap_iterate): Take low memory into account
16681
b1969b30
VS
166822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16685 badfs.
16686 Reported by: TiCPU.
16687
cf0eaf13
VS
166882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16691 members errors.
16692
1f060f39
GS
166932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16694
16695 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16696 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16697
a21e5672
GS
166982011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16699
16700 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16701 openbsd and netbsd types being in part_bsd module.
16702
c88172fa
VS
167032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16706 (_FILE_OFFSET_BITS): Likewise.
16707 Reported by: Seth Goldberg.
16708
53798c4b
GS
167092011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16710
16711 * configure.ac: Check for libdevmapper header.
16712
e7121b69
VS
167132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16716 avoid aliasing.
16717 (fzap_lookup): Likewise.
16718 (dnode_get): Likewise.
16719 (make_mdn): Likewise.
16720 (zfs_mount): Likewise.
16721 (fzap_iterate): Use temporary pointer to avoid aliasing.
16722 (grub_zfs_read): Likewise.
16723 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16724 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16725 pointers to avoid aliasing.
16726 (grub_cmd_xnu_kernel64): Likewise.
16727 (grub_xnu_load_driver): Likewise.
16728
fc836af9
VS
167292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16732 aliasing warning.
16733 (grub_cmd_terminal_output): Likewise.
16734 Reported and tested by: Grégoire Sutre.
16735
f9f37648
VS
167362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16739 warning.
16740 Reported and tested by: Grégoire Sutre.
16741
ec1dfd63
VS
167422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * configure.ac: Do CPU substitution even if it's specified explicitly.
16745 Reported and tested by: Alain Greppin.
16746
9462775a
VS
167472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16750 Reported and tested by: Alain Greppin.
16751
0fd48e35
VS
167522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16753
16754 Satisfy some bison versions need for inttypes.h.
16755
16756 * grub-core/lib/posix_wrap/inttypes.h: New file.
16757 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16758 (int16_t): Likewise.
16759 (int32_t): Likewise.
16760 (int64_t): Likewise.
16761 Reported and tested by: Alain Greppin.
16762
43f1bc83
VS
167632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16766 Silence spurious warning.
16767 Reported and tested by: Alain Greppin.
16768
64d1f041
SJ
167692011-01-07 Szymon Janc <szymon@janc.net.pl>
16770
16771 * docs/grub.texi (Support automatic decompression): Update with xz
16772 decompression support.
16773
25953e10
SJ
167742011-01-07 Szymon Janc <szymon@janc.net.pl>
16775
16776 Improve loaders' kernel command line handling.
16777
16778 * grub-core/lib/cmdline.c: New file.
16779 * include/grub/lib/cmdline.h: Likewise.
16780 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16781 grub_create_loader_cmdline to create kernel command line.
16782 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16783 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16784 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16785 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16786 (linux): Add lib/cmdline.c on common.
16787
e72d259f
VS
167882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16791 inopos might be unaligned.
16792
c0cf26da
VS
167932011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16796 endian transformations.
16797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16798 Based on report by: Doug Nazar.
16799
0ca09e6c
DN
168002011-01-07 Doug Nazar <nazard.michi@gmail.com>
16801
16802 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16803 array->members[i].start_sector.
16804 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16805
014b6806
VS
168062011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16809 Reported and tested by: Grégoire Sutre.
16810
415502c2
CW
168112011-01-06 Colin Watson <cjwatson@ubuntu.com>
16812
16813 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16814 avoid causing test failures by clearing the screen.
16815
71b6a2b7
CW
168162011-01-06 Colin Watson <cjwatson@ubuntu.com>
16817
16818 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16819 Fix prefix check to handle the case where dir ends with a slash
16820 (most significantly, "/" itself).
16821 Reported by: Michael Vogt.
16822
b3f8d28a
VS
168232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16824
16825 Run terminfo_cls on initing terminfo output to clear the screen and
16826 move the cursor to (0,0).
16827
16828 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16829 Call grub_terminfo_output_init.
16830 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16831 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16832 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16833
4c3e4f37
VS
168342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16837 only when needed.
16838
488f71f1
VS
168392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16842 CTRL.
16843
18a38098
VS
168442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 The E820 type 5 is BADRAM, not EXEC_CODE.
16847
16848 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16849 (GRUB_E820_BADRAM): New define.
16850 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16851 into reserved. Propagate BADRAM.
16852 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16853 (GRUB_E820_BADRAM): New define.
16854
9eae2084
VS
168552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16856
16857 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16858 Ignore the memory post-4G.
16859 (grub_relocator_firmware_alloc_region): Additional debug statement.
16860
ebc71d28
VS
168612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16864 names.
16865 Reported by: David Pravec.
16866
446fa400
VS
168672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16870 BIOSes.
16871
a0159f37
VS
168722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16875 Prevent overflow.
16876 (grub_reed_solomon_recover): Likewise.
16877
e5146ca1
VS
168782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16881
168822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16883
16884 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16885 variable.
16886
5b1bdf12
CW
168872011-01-04 Colin Watson <cjwatson@ubuntu.com>
16888
16889 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16890 descriptions of extract_legacy_entries_source and
16891 extract_legacy_entries_configfile.
16892 Reported by: Seung Soo, Ha.
16893
99d925aa
CW
168942011-01-03 Colin Watson <cjwatson@ubuntu.com>
16895
16896 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16897 on devices that do not implement function 0.
16898
4af0504b
DV
168992011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16900
16901 * grub-core/fs/hfsplus.c: Make parent unsigned.
16902 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16903 overflows.
16904 (grub_hfsplus_cmp_extkey): Likewise
16905
469ee10a
VS
169062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * util/grub-install.in: Correctly use bootloader_id and not
16909 GRUB_DISTRIBUTOR on efibootmgr line.
16910
323a8e9c
VS
169112011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16914
1b394975
IC
169152010-12-31 Ian Campbell <ijc@hellion.org.uk>
16916
16917 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16918 Xen and reorder menu item wording to make it clearer that this entry
16919 will launch Xen. Print separate messages when loading Xen and
16920 Linux.
16921
275bff5f
VS
169222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16925 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16926 loop in case of incorrect amiga partmap.
16927
307806cb
VS
169282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16931 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16932 Reported by:EHeM.
16933
b12b923e
VS
169342010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16937 spurious warning.
16938 Reported by: crocket
16939
14b48a19
VS
169402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16943 Preload EFIemu.
16944 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16945
693db2df
VS
169462010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16949 is loaded
16950 (grub_cmd_xnu_kextdir): Likewise.
16951 (grub_cmd_xnu_splash): Likewise.
16952
c7638645
VS
169532010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Avoid using Reed-Solomon with 0 redundancy.
16956
16957 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16958 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16959 or 0 redundancy.
16960 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16961 (grub_reed_solomon_recover): Likewise.
16962
25dd4780
VS
169632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 Don't use disk subsystem in freebsd_boot.
16966
16967 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16968 (freebsd_biosdev): Likewise.
16969 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16970 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16971
0b2db943
VS
169722010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 Handling of files of unknown size is currently limited. They can't be
16975 used e.g. for initrd or modules. Moreover gzip handling of not
16976 easily seekable files is buggy. Disable unknown file size for now. May
16977 be inefficient but works.
16978
16979 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16980 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16981
5c408d0f
MP
169822010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16983
16984 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16985 floppy probe.
16986
190a011a
JD
169872010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16988
16989 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16990
022d01b8
SL
169912010-12-25 Shea Levy <shlevy>
16992
16993 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16994
c4855fdc
VS
169952010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16998 Windows Server 2008.
16999 Reported by: Devin Giddings.
17000
0354b867
VS
170012010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17004 writing an error message because of async power management.
17005 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17006 (grub_reboot): Likewise.
17007
ab66c69f
JU
170082010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17009
17010 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17011 keep unit tests from failing when they shouldn't.
17012
1426ef35
CW
170132010-12-21 Colin Watson <cjwatson@ubuntu.com>
17014
17015 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17016 previous patch increased the size of the RS code by 20 bytes (at
17017 least with gcc-4.4), so increase this by 20 bytes to match.
17018 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17019
20641b6b
CW
170202010-12-21 Colin Watson <cjwatson@ubuntu.com>
17021
17022 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17023 scratch area. Make sure to initialise chosen in standalone mode as
17024 well as non-standalone.
17025 Reported by: Robert Hooker and Andy Whitcroft.
17026 Tested by: Andy Whitcroft.
17027
d060ad60
CW
170282010-12-21 Colin Watson <cjwatson@ubuntu.com>
17029
17030 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17031 constructing a new unescaped string and passing it to grub_xputs in
17032 one go, rather than passing characters to grub_printf one at a time.
17033
b889cfad
CW
170342010-12-21 Colin Watson <cjwatson@ubuntu.com>
17035
17036 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17037 initialising utf16.
17038
4e01b6c8
CW
170392010-12-21 Colin Watson <cjwatson@ubuntu.com>
17040
17041 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17042 comment. Add an extra layer of quotation, requiring the output of
17043 this function to be used in a printf format string.
17044 (gettext_printf): New function.
17045 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17046 Extract translatable strings from here-documents and use a temporary
17047 variable instead, so that xgettext can find them.
17048 * util/grub.d/10_kfreebsd.in: Likewise.
17049 * util/grub.d/10_linux.in: Likewise.
17050 * util/grub.d/20_linux_xen.in: Likewise.
17051
17052 * po/grub.d.sed: New file.
17053 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17054 arguments. Set c-format flags on all strings extracted from
17055 util/grub.d/ (xgettext refuses to include these itself for strings
17056 it extracted from a shell file, but these really are c-format).
17057
5318fe98
VS
170582010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17061 Avoid next pointing to nowhere.
17062
6c85b743
VS
170632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17066 rather than assuming than rootblock is exactly in the middle.
17067 (grub_affs_label): Likewise.
17068
a2a08a35
VS
170692010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17072 reserved_first_sector to 0.
17073 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17074 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17075 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17076
7059d1ec
VS
170772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 Fix handling of UTF-16 UDF labels.
17080
17081 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17082 (read_string): .. here.
17083 (grub_udf_label): Use read_string.
17084
30aff4cb
BC
170852010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17086
17087 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17088 editor under argument scope.
17089 Reported by: Jordan Uggla
17090
5cf86f4b
VS
170912010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17094
32570200
CW
170952010-12-18 Colin Watson <cjwatson@ubuntu.com>
17096
17097 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17098 line, and other keys scroll an entire page (previous handling was
17099 for \r and \n to scroll a page and other keys to scroll two lines).
17100
e1dffcf2
VS
171012010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17104 Set ptrdest to correct get_physical_target_address rather than
17105 incorrect get_virtual_current_address.
17106
b04298cf 171072010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17108
17109 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17110 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17111
5367ecd3
CW
171122010-12-10 Colin Watson <cjwatson@ubuntu.com>
17113
17114 * .bzrignore: Ignore grub-core/rs_decoder.S.
17115
1fb430f8
CW
171162010-12-10 Colin Watson <cjwatson@ubuntu.com>
17117
17118 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17119 .mo/.mo.gz opening sequence to ...
17120 (grub_mofile_open_lang): ... here.
17121 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17122 * util/grub.d/00_header.in (grub_lang): Include country part of
17123 locale.
17124 Reported by: Mario Limonciello.
17125
a94a6671
RM
171262010-12-09 Robert Millan <rmh@gnu.org>
17127
17128 * NEWS: Document addition of ZFS support.
17129
24b7938b
CW
171302010-12-04 Colin Watson <cjwatson@ubuntu.com>
17131
17132 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17133 rather than `/ 2', as the latter requires -Wa,--divide which would
17134 require bumping our minimum binutils version.
17135
bddc3ef6
BC
171362010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17137
17138 * util/grub-script-check.c (main): Print script line number on
17139 error.
17140
bf78d5b2
RM
171412010-12-01 Robert Millan <rmh@gnu.org>
17142
17143 * grub-core/fs/zfs/zfs.c: New file.
17144 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17145 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17146 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17147 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17148
17149 * include/grub/zfs/dmu.h: Likewise.
17150 * include/grub/zfs/dmu_objset.h: Likewise.
17151 * include/grub/zfs/dnode.h: Likewise.
17152 * include/grub/zfs/dsl_dataset.h: Likewise.
17153 * include/grub/zfs/dsl_dir.h: Likewise.
17154 * include/grub/zfs/sa_impl.h: Likewise.
17155 * include/grub/zfs/spa.h: Likewise.
17156 * include/grub/zfs/uberblock_impl.h: Likewise.
17157 * include/grub/zfs/vdev_impl.h: Likewise.
17158 * include/grub/zfs/zap_impl.h: Likewise.
17159 * include/grub/zfs/zap_leaf.h: Likewise.
17160 * include/grub/zfs/zfs.h: Likewise.
17161 * include/grub/zfs/zfs_acl.h: Likewise.
17162 * include/grub/zfs/zfs_znode.h: Likewise.
17163 * include/grub/zfs/zil.h: Likewise.
17164 * include/grub/zfs/zio.h: Likewise.
17165 * include/grub/zfs/zio_checksum.h: Likewise.
17166
17167 * Makefile.util.def: Build ZFS into libgrubmods.
17168 * grub-core/Makefile.core.def: Build zfs.mod.
17169
3f0f3831
SJ
171702010-11-30 Szymon Janc <szymon@janc.net.pl>
17171
17172 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17173 variable.
17174 * grub-core/commands/wildcard.c (match_files): Likewise.
17175
3a4253b2
RM
171762010-11-30 Robert Millan <rmh@gnu.org>
17177
17178 * grub-core/loader/i386/bsd.c
17179 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17180 whether kernel is loaded using grub_loader_is_loaded(), rather
17181 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17182 certain error conditions.
17183
8c317b27
RM
171842010-11-30 Robert Millan <rmh@gnu.org>
17185
c5c9cd3e
RM
17186 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17187 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17188
49d3ab46
VS
171892010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 Avoid using tricks for initialising endian variables.
17192
17193 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17194 Make const.
17195 (GRUB_MOD_INIT): Don't byte-swap.
17196 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17197 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17198 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17199 (grub_swap_bytes32_compile_time): Likewise.
17200 (grub_cpu_to_le32_compile_time): Likewise.
17201 (grub_cpu_to_le16_compile_time): Likewise.
17202
f420a804
VS
172032010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * util/grub-setup.c (setup): Stop recommending --force. People who
17206 understand the dangers of blocklists are able to find this option
17207 anyway and the ones who don't shouldn't use it anyway.
17208
4e7db17b
RM
172092010-11-26 Robert Millan <rmh@gnu.org>
17210
17211 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17212 Update all users.
17213
9be57a0d
CW
172142010-11-26 Colin Watson <cjwatson@ubuntu.com>
17215
17216 Fix LVM-on-RAID probing.
17217
17218 * util/grub-probe.c (probe): Remember which disk was detected as
17219 RAID (perhaps an LVM physical volume). Use that disk's raidname
17220 rather than that of the top-level disk.
17221
2c7859b3 172222010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17223
d7647bb6
BC
17224 Fix cmdline argument quotes for setparams command of menuentry
17225 definitions.
7e623b0d
BC
17226
17227 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17228 quotes for arguments.
f866fe80 17229 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17230 grub_strchrsub function instead.
f866fe80 17231
7955bea0 17232 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17233
74f72a64
CW
172342010-11-24 Colin Watson <cjwatson@ubuntu.com>
17235
17236 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17237 effort by skipping "." and ".." entries up-front.
17238 Suggested by: Michael Lazarev.
17239
5a407278
CW
172402010-11-24 Colin Watson <cjwatson@ubuntu.com>
17241
17242 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17243 ldflags to ldadd, to fix link line ordering.
17244 (none_decompress): Likewise.
17245
3030d8ec
CW
172462010-11-24 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17249 platforms.
17250 (grub-emu-lite): Remove kern/emu/cache.S.
17251
b7fbac12
CW
172522010-11-23 Colin Watson <cjwatson@ubuntu.com>
17253
17254 * util/deviceiter.c (compare_devices): If the by-id link for a
17255 device couldn't be resolved, fall back to sorting by the by-id link
17256 rather than segfaulting.
17257 Reported and tested by: Daniel Mierswa.
17258
5225f328
CW
172592010-11-23 Colin Watson <cjwatson@ubuntu.com>
17260
17261 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17262 ldflags, to fix link line ordering.
17263
038b3ce8
CW
172642010-11-23 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17267 linkers are picky about this.
17268
bf16e98e
CW
172692010-11-23 Colin Watson <cjwatson@ubuntu.com>
17270
17271 * grub-core/Makefile.am (command.lst): Adjust sed expression
17272 ordering so that extended and priority commands aren't treated as
17273 ordinary commands.
17274
7242bab6
CW
172752010-11-23 Colin Watson <cjwatson@ubuntu.com>
17276
17277 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17278 Remove byte-swapping function calls, which are not valid in
17279 structure initialisers.
17280 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17281 non-const.
17282 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17283 grub_gpt_partition_type_bios_boot.
17284
14e8b279
CW
172852010-11-22 Colin Watson <cjwatson@ubuntu.com>
17286
17287 Fix test program build on GNU/kFreeBSD.
17288
17289 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17290 $(LIBNVPAIR)' library dependencies.
17291
e6f63338 172922010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17293
17294 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17295
cf8ffc38
CW
172962010-11-22 Colin Watson <cjwatson@ubuntu.com>
17297
17298 * util/grub-install.in: Remove excessive quoting that broke
17299 installations to RAID devices.
17300
7f8b0fd7
VS
173012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17304 bootloader version instead of 0.
17305
dfd240b1
VS
173062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17309 warning.
17310
7b61e609
VS
173112010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17314 retrieve the metadat sector if size isn't known.
17315 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17316
9dfe92d0
RM
173172010-11-18 Robert Millan <rmh@gnu.org>
17318
17319 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17320 with grub_memcmp().
17321
41cc919e
VS
173222010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17325 arrow.
17326 Reported by: Jordan Uggla.
17327
1afcc914
VS
173282010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 Make better UTF compliant.
17331
17332 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17333 sequences as incorrect.
17334 (grub_is_valid_utf8): Likewise.
17335 (grub_utf8_to_ucs4): Likewise.
17336 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17337 (grub_ucs4_to_utf8_alloc): Likewise.
17338 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17339
f1808884
VS
173402010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 Make legacy_source behave like source.
17343
17344 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17345 grub_show_menu.
17346 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17347
24ec575b
CW
173482010-11-16 Colin Watson <cjwatson@debian.org>
17349
17350 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17351 (-Wunused implies -Wunused-parameter, but not vice versa).
17352
72b7c7aa
CW
173532010-11-16 Colin Watson <cjwatson@ubuntu.com>
17354
17355 * configure.ac: Make error messages less confusing by testing for
17356 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17357 accepted, but produces a diagnostic if something else is wrong).
17358
e98937aa
VS
173592010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17362 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17363 (now unused).
17364 (grub_keyboard_controller_init)
17365 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17366 read the initial state since controller isn't inited yet.
17367
f6bbabc3
VS
173682010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17371 allocate_regbeg may need to create new chunk header.
17372
22e7dbb2
VS
173732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 Fix quoting in legacy parser.
17376
17377 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17378 single quotes.
17379 (grub_legacy_parse): Likewise.
17380 Reported by: Jordan Uggla.
17381 Tested by: Jordan Uggla.
17382
03f80960
VS
173832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 Don't add -lgcc on i386 and x86_64.
17386
17387 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17388 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17389 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17390
779dc15b
VS
173912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * configure.ac: Add -Wno-trampolines when supported.
17394
d20a3b37
MV
173952010-11-14 Modestas Vainius <modax@debian.org>
17396
17397 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17398 fakeraid.
17399
e5360933
GC
174002010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17401
17402 Add generic logical block size support for UDF.
17403
17404 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17405 (GRUB_UDF_BLKSZ): Removed.
17406 (struct grub_udf_data): New field "lbshift" to hold the logical block
17407 size of the file system in log2 format. All users updated.
17408 (sblocklist): Change type to unsigned.
17409 (grub_udf_mount): Change type of "sblklist" to unsigned.
17410 Move AVDP search before VRS recognition, because the latter requires
17411 knowledge of the logical block size, which is detected during the
17412 former.
17413 Detect and validate logical block size during AVDP search, adding
17414 support for block sizes 512, 1024 and 4096.
17415 Make VRS recognition independent of block size.
17416
cb0229c5
GC
174172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17418
17419 Properly handle deleted files on UDF.
17420
17421 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17422 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17423 set.
17424
406858a8
GC
174252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17426
17427 Support reading files larger than 2 GiB.
17428
17429 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17430 "offset" to grub_off_t.
17431 (grub_udf_read_file): Likewise for parameter "pos".
17432
130da6a7
VS
174332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17436 unavailable.
17437 (Simple configuration): Refer to Changes from GRUB Legacy about
17438 save_env availability.
17439
65e93f6b
VS
174402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * util/grub-install.in: Ignore empty partition table detection
17443 instead of trying to include part_ module.
17444
1fd08bf1
VS
174452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17448 LVM on RAID support.
17449
de1a024f
VS
174502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 Properly define WORDS_BIGENDIAN in wrapped environments.
17453
17454 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17455 definition.
17456 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17457
17458 Reported by: Manoel Rebelo Abranches.
17459 Tested by: Manoel Rebelo Abranches.
17460
bc5dd0b9
VS
174612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * util/grub-mkconfig.in: Fix quoting.
17464
58c184be
VS
174652010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 Support big ext2 files.
17468
17469 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17470 (grub_ext2_read_block): Support triple indirect blocks.
17471 (grub_ext2_read_file): Use 64-bit types and read size_high.
17472 (grub_ext2_open): Read size_high.
17473 Reported by: Ximin Luo.
17474 Tested by: Manoel Rebelo Abranches.
17475
5f0c02b3
VS
174762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * util/grub-install.in: Handle filenames containing spaces.
17479 Reported by: Jordan Uggla.
17480 Tested by: Jordan Uggla.
17481
4417aae6
VS
174822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 * util/grub-mkconfig.in (grub_script_check): New variable.
17485 Use grub_script_check instead of grub-script-check.
17486 Reported by: Barry Jackson.
17487
7625a68e
VS
174882010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * docs/grub.texi (menu): Correct the order.
17491 Reported by: D. Hugh Redelmeier.
17492
10001ac5
VS
174932010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17496 jump.
17497
9c4cf53b
MRA
174982010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17499
10001ac5
VS
17500 * include/grub/elfload.h (grub_elf32_size): New parameter.
17501 All users updated.
9c4cf53b
MRA
17502 Return maximum segments alignment.
17503 (grub_elf64_size): Likewise.
17504 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17505 Return maximum segments alignment.
17506 (grub_elf64_size): Likewise.
17507 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17508 (grub_linux_claimmap_iterate): New function. Uses the
17509 "available" property in the "memory" node for memory allocation
17510 for kernel in the PowerPC loader.
9c4cf53b
MRA
17511 (grub_linux_load32): Correctly find linux entry point offset.
17512 (grub_linux_load64): Likewise.
17513
d2bf06bf
RM
175142010-11-07 Robert Millan <rmh@gnu.org>
17515
17516 On mips-yeeloong, build with -march=loongson2f when this flag is
17517 available (GCC >= 4.4).
17518 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17519 `-march=mips3'.
17520 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17521 or otherwise add -march=mips3.
17522
898c99a2
BC
175232010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17524
87220a68
BC
17525 Suppress shell expansion on echo '*' and echo "*" like cases.
17526 Reported by: Jordan Uggla.
898c99a2
BC
17527
17528 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17529 string arguments before shell expansion.
17530 * tests/grub_cmd_echo.in: New testcases.
17531
4f9b406a
RM
175322010-11-07 Robert Millan <rmh@gnu.org>
17533
17534 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17535 transition.
17536
80c6d25e
VS
175372010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 * grub-core/kern/emu/hostdisk.c
17540 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17541
4a1a0153
VS
175422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17545 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17546 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17547
34706ddc
VS
175482010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17551
6972dea9
VS
175522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * util/grub-install.in: Replace useless recomendation to pass
17555 --modules with a recomendation to report a bug.
17556
9c693bd6
VS
175572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 Properly register serial terminfo.
17560 Reported by: Jordan Uggla
17561
17562 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17563 const.
17564 (grub_serial_terminfo_output_template): Likewise.
17565 (grub_cmd_serial): Register "serial" with terminfo.
17566 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17567 grub_serial_terminfo_output.
17568
6c9e4c0c
RM
175692010-11-05 Robert Millan <rmh@gnu.org>
17570
17571 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17572 needed).
17573
b9b3839f
RM
175742010-11-05 Robert Millan <rmh@gnu.org>
17575
17576 On Yeeloong, pass machine type information to Linux.
17577
17578 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17579 (LOONGSON_MACHTYPE): New macro, set to
17580 "machtype=lemote-yeeloong-2f-8.9inches".
17581 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17582 additional argument to Linux.
17583
1a3aaff4
RM
175842010-11-04 Robert Millan <rmh@gnu.org>
17585
17586 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17587 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17588 (its SATA disks are detected as slaveless IDE master drives on
17589 kFreeBSD).
17590 Reported by Carsten Aulbert.
17591
a75f4f62
CW
175922010-11-02 Colin Watson <cjwatson@ubuntu.com>
17593
17594 * util/bin2h.c (main): Fix spelling error in generated output.
17595
33b4b0c6
GS
175962010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17597
17598 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17599
2b36fbf4
VS
176002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17603 vga= option is supplied.
17604
74aaf558
VS
176052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17608 * util/grub.d/10_kfreebsd.in: Likewise.
17609 * util/grub.d/10_linux.in: Likewise.
17610 * util/grub.d/20_linux_xen.in: Likewise.
17611
6428dec3
VS
176122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17615 argument as an argument to no-argument option.
17616
f8729d98
VS
176172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * util/grub.d/10_linux.in: Add missing load_video with explicit
17620 GRUB_GFXPAYLOAD_LINUX.
17621
89d68fa6
VS
176222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17625
3a1197cd
VS
176262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17629 elements with invlid index.
17630 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17631 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17632 members.
17633 * include/grub/raid.h (grub_raid_member): New struct.
17634 (grub_raid_array): Transform devices and start_sector into usage of
17635 grub_raid_member. All users updated
17636 (allocated_devs): New member.
17637
71574288
VS
176382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17641 is modified
17642
8d40ec65
BC
176432010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17644
17645 NetBSD build fix for getline function conflict from gnulib.
17646
17647 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17648 components that depend on gnulib headers.
17649 (libgrubmods.a): Renamed from earlier libgrub.a.
17650 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17651
95b9257e
VS
176522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17655 install rather than creating a broken install.
17656
26c53dc6
VS
176572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 * util/grub-setup.c (argp): Remove misleading example of installing to
17660 a partition.
17661
4171b3c5
VS
176622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * util/grub-setup.c (setup): Clarify the error message.
17665
18568d18
VS
176662010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17669
4f6a2e21
VS
176702010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 * grub-core/kern/emu/misc.c
17673 (grub_make_system_path_relative_to_its_root)
17674 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17675
176762010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17677
17678 * grub-core/kern/emu/misc.c
17679 (grub_make_system_path_relative_to_its_root): Revert r2882.
17680
e138c458
VS
176812010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17684 useless field head. All users updated.
17685 (free_subchunk): Correct handling of IN_REGION subchunk.
17686
0cbcdf0e
CW
176872010-10-22 Colin Watson <cjwatson@ubuntu.com>
17688
17689 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17690 (Supported kernels): Likewise.
17691
b65ea155
GS
176922010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17693
17694 Make mktemp invocations portable.
17695
17696 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17697 exit if mktemp fails.
17698 * tests/grub_script_blockarg.in: Likewise.
17699 * tests/partmap_test.in: Likewise.
17700 * tests/util/grub-shell-tester.in: Likewise.
17701 * tests/util/grub-shell.in: Likewise.
17702 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17703 * Makefile.am: Likewise, and chain shell commands with `&&'
17704 instead of ';'.
17705 * util/grub-mkrescue.in: Use the same explicit template as above, and
17706 exit if mktemp fails.
17707
05f43cdd
BC
177082010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17709
17710 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17711 Linux kernel, reported by Dennis Schridde.
17712
800e6a9b
SJ
177132010-10-17 Szymon Janc <szymon@janc.net.pl>
17714
17715 * grub-core/normal/auth.c (grub_auth_check_authentication):
17716 Set-but-not-used variable removed.
17717
d82df574
VS
177182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17719
17720 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17721 32-bit linux protocol.
17722
7bced458
VS
177232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17726 cursor shape for sanity.
17727
5b027690
VS
177282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * docs/grub.texi (Installation): Document buggy BIOS install.
17731
ba5f65cf
VS
177322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * docs/grub.texi (Installation): Indent.
17735
fdf2ec9c
VS
177362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 * util/grub-setup.c (setup): New parameter allow_floppy.
17739 (arguments): New member allow_floppy.
17740 (argp_parser): Handle --allow-floppy.
17741 (main): Pass allow_floppy.
17742 * util/grub-install.in: New option --allow-floppy passed though to
17743 grub-setup.
17744
861dfd4c
VS
177452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17746
17747 * util/grub-install.in: Handle partitionless disks.
17748
f77a8c24
VS
177492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * util/grub-setup.c (setup): Don't clean blocklists before readability
17752 verfification.
17753
27d9ee32
VS
177542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * docs/grub.texi (Installation): Document embedding zone. Remove
17757 obsolete grub-install example.
17758
6bdda8f8
SJ
177592010-10-16 Szymon Janc <szymon@janc.net.pl>
17760
17761 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17762 Set-but-not-used variable ifdef'ed.
17763 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17764 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17765 variable removed.
17766 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17767 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17768 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17769 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17770 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17771 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17772 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17773 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17774 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17775 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17776 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17777 Likewise.
17778
e19b016b
VS
177792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17782 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17783 enum value.
17784
6c8d3002
VS
177852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17786
17787 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17788 synonym to _S5_. Needed for some DSDTs.
17789
c32b51c9
VS
177902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17791
17792 Userspace ACPI parser debugging.
17793
17794 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17795 headers and add relevant defines. Don't include standard headers.
17796 (main) [GRUB_DSDT_TEST]: New function.
17797 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17798 Don't declare functions.
17799
fbfbeb39
VS
178002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 Remove dead grub_efi_mm_fini.
17803
17804 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17805 (ALLOCATED_PAGES_SIZE): Likewise.
17806 (MAX_ALLOCATED_PAGES): Likewise.
17807 (allocated_pages): Likewise.
17808 (grub_efi_allocate_pages): Don't record allocated pages.
17809 (grub_efi_free_pages): Likewise.
17810 (grub_efi_mm_init): Likewise.
17811 (grub_efi_mm_fini): Removed.
17812
65f7ed7c
VS
178132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17816 (grub_efi_mm_init): Take into account the memory map size increase.
17817
24977b44
VS
178182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17821 (serial_hw_put): Wait based on real time rather than port reads. Don't
17822 roken ports.
17823 * include/grub/serial.h (grub_serial_port): New field broken.
17824
1eb01cd2
RM
178252010-10-16 Robert Millan <rmh@gnu.org>
17826
17827 * grub-core/kern/emu/misc.c
17828 (grub_make_system_path_relative_to_its_root): Fix premature return
17829 when processing non-root ZFS filesystems.
5f8b440b 17830 Reported by Sergio Talens-Oliag.
1eb01cd2 17831
2d5fed60
RM
178322010-10-15 Robert Millan <rmh@gnu.org>
17833
17834 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17835 guarantee compressed ones are processed first.
17836
d0f4c1ea
VS
178372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17840 grub_efiemu_autocore.
17841
d87c681f
VS
178422010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17845 rather than 0x1b.
17846 (grub_console_getkey): Use correct jae opcode rather than ja.
17847
219b3564
RM
178482010-10-12 Robert Millan <rmh@gnu.org>
17849
17850 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17851 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17852 variable. All references updated.
17853
17854 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17855
20c6bb7e
VS
178562010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Correctly distinguish mdraid flavours.
17859
17860 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17861 (insert_array): New argument raid.
17862 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17863 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17864 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17865
74baff84
VS
178662010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17869 handling of special keys.
17870
3ef068df 178712010-10-02 Aleš Nesrsta <starous@volny.cz>
17872
c7980ad9
VS
17873 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17874 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17875
a9455194 178762010-10-02 Aleš Nesrsta <starous@volny.cz>
17877
c7980ad9
VS
17878 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17879 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17880 users updated.
a9455194 17881 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17882 Use right endpoint when querying descriptor.
a9455194 17883
441cfe65
VS
178842010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 Clear out 0x80 color bit on EFI.
17887 Tested by: decoder
17888 Reported by: decoder and meta tech.
17889
17890 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17891 (grub_console_setcolorstate): Clear out 0x80 bit.
17892 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17893 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17894 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17895
bf26bcc4
VS
178962010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17899 Set to "auto".
17900
6e3c515d
VS
179012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17904 mo_file after freeing.
17905
e6d983ba
VS
179062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17909
74ccb5b5
VS
179102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17913 flags.
17914
17821956
VS
179152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17918 usage.
17919
ee74fa48
VS
179202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17923
17924 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17925 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17926 and terminfo.h when needed.
17927 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17928 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17929 (terminfo): Enable only on terminfokernel.
17930 (extcmd): Likewise.
17931 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17932 * include/grub/lib/arg.h: Likewise.
17933 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17934 incorrect usage of ->.
17935
aa438e68
VS
179362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17939 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17940
57994012
VS
179412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 Fix coreboot compilation.
17944
17945 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17946 Take VBE info into account even if only text is supported.
17947 (fill_vbe_info): Take into account the case when only VGA text
17948 is supported.
17949 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17950 on coreboot, multiboot and qemu.
17951
2a406611
VS
179522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17955 debug messages.
17956 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17957
d33613fc
VS
179582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17961 parameters.
17962
44a1b432
VS
179632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17966 if they were BSD-style.
17967
edde54e6
VS
179682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * grub-core/boot/i386/pc/lnxboot.S: Replace
17971 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17972 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17973
b65830fa
VS
179742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 Write embedding zone using Reed-Solomon.
17977
17978 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17979 * grub-core/Makefile.am (rs_decoder.S): New target.
17980 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17981 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17982 (multiboot): Move to RS part.
17983 (post_reed_solomon): New label.
17984 (grub_boot_drive): Move to non-RS part since it's modified in memory
17985 on boot.
17986 Include rs_decoder.S.
17987 * grub-core/lib/reed_solomon.c: New file.
17988 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17989 New definition.
17990 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17991 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17992 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17993 * include/grub/partition.h (grub_partition_map): Change prototype of
17994 embed to allow returning additional sectors.
17995 * include/grub/reed_solomon.h: New file.
17996 * util/grub-setup.c (setup): Handle Reed-Solomon.
17997
0b4b227f
CW
179982010-09-28 Colin Watson <cjwatson@ubuntu.com>
17999
18000 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18001 i386 and x86-64 definedness tests.
18002
f772623b
YB
180032010-09-27 Yves Blusseau <blusseau@zetam.org>
18004
18005 Fix generation of kernel_syms.lst
18006
18007 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18008 ASM_PREFIX
18009
8e57a6ca
RM
180102010-09-26 Robert Millan <rmh@gnu.org>
18011
18012 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18013
18014 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18015 the pool is an array of devices, iterate through it and return the
18016 first device that passes a stat() test (instead of blindly returning
18017 the first one).
18018
f9130836
RM
180192010-09-26 Robert Millan <rmh@gnu.org>
18020
18021 Build fixes for GNU/kFreeBSD.
18022
18023 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18024 to programs that require ZFS conversion.
18025 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18026 kernels that don't have FLOPPY_MAJOR.
18027
96510faf
BC
180282010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18029
18030 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18031
449333eb
BC
180322010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18033
18034 Fix grub-emu build.
18035
18036 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18037 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18038 mdraid09 and mdraid1x.
18039
e1fd1939
CW
180402010-09-24 Colin Watson <cjwatson@ubuntu.com>
18041
18042 Re-enable grub-extras.
18043
18044 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18045 avoid confusing Automake. Run autogen only twice, once for the top
18046 level and once for grub-core. Add Makefile.util.def and
18047 Makefile.core.def from extra modules to the appropriate autogen
18048 invocations. If Makefile.common exists in an extra module, include
18049 it in both Makefile.util.am and grub-core/Makefile.core.am;
18050 similarly, include any Makefile.util.common file in Makefile.util.am
18051 and any Makefile.core.common file in grub-core/Makefile.core.am.
18052 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18053 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18054 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18055 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18056
18057 * gentpl.py (gvar_add): Turn GVARS into a set.
18058 (global_variable_initializers): Sort global variables on output.
18059 (vars_init): New function.
18060 (first_time): Likewise.
18061 (library): Ensure that non-global variable initialisations are
18062 emitted before the first time we emit code for a library block.
18063 Append to variables rather than setting them. Only emit
18064 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18065 each conditional path.
18066 (program): installdir() emits an Autogen macro, so must be passed to
18067 var_add rather than gvar_add.
18068 (data): Likewise.
18069 (script): Likewise.
18070 (rules): New function, centralising handling for different target
18071 types. Set up Guile association lists for first_time and vars_init,
18072 and send most output to a diversion so that variable initialisations
18073 can be emitted first.
18074 (module_rules): Use new rules function.
18075 (kernel_rules): Likewise.
18076 (image_rules): Likewise.
18077 (library_rules): Likewise.
18078 (program_rules): Likewise.
18079 (script_rules): Likewise.
18080 (data_rules): Likewise.
18081
18082 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18083
18084 * .bzrignore: Add contrib and grub-core/contrib. Remove
18085 grub-core/Makefile.gcry.am.
18086
1d12cf29
YB
180872010-09-24 Yves Blusseau <blusseau@zetam.org>
18088
18089 * grub-core/lib/LzFind.c: Add missing include.
18090 * grub-core/lib/LzmaEnc.c: Likewise.
18091 * grub-core/script/lexer.c: Likewise.
18092 * grub-core/script/yylex.l: Likewise.
18093 * util/grub-macho2img.c: Likewise.
18094 * util/grub-menulst2cfg.c: Likewise.
18095 * util/grub-mklayout.c: Likewise.
18096 * util/grub-mkpasswd-pbkdf2.c
18097 * util/grub-mkrelpath.c: Likewise.
18098 * util/resolve.c: Likewise.
18099
dd363028
BC
181002010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18101
18102 * Makefile.util.def (example_unit_test): Add
18103 grub-core/gnulib/libgnu.a.
18104
f5a109e2
GS
181052010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18106
18107 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18108
6d0fa83c
VS
181092010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 Support xz compression on yeeloong.
18112
18113 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18114 * configure.ac: Check for LZMA.
18115 * grub-core/Makefile.core.def (xz_decompress): New target.
18116 (none_decompress): Likewise.
18117 * grub-core/boot/decompressor/minilib.c: New file.
18118 * grub-core/boot/decompressor/none.c: Likewise.
18119 * grub-core/boot/decompressor/xz.c: Likewise.
18120 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18121 * grub-core/kern/mips/cache_flush.S: Likewise.
18122 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18123 * grub-core/kern/mips/startup.S: Move first stage to ...
18124 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18125 nomacro.
18126 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18127 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18128 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18129 Allocate statically.
18130 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18131 Allocate statically or use scratch. Don't check CRC32.
18132 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18133 Allocate statically. Don't check CRC32.
18134 * include/grub/decompressor.h: New file.
18135 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18136 Removed.
18137 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18138 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18139 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18140 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18141 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18142 * util/grub-mkimage.c (grub_compression_t): New type.
18143 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18144 (image_target_desc): New field default_compression.
18145 (image_targets): Adjust yeeloong targets.
18146 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18147 (compress_kernel): New parameter comp.
18148 (generate_image): Likewise. Handle new compression case.
18149 (options): New option --compression
18150 (help): Likewise.
18151 (main): Handle new option.
18152
1b655af6
GS
181532010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18154
18155 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18156
8f03f0b5
CW
181572010-09-22 Colin Watson <cjwatson@ubuntu.com>
18158
18159 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18160 typo in __i386__ conditional.
18161
7835dfd3
VS
181622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18165 include.
18166
e255597e
VS
181672010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18168
6d0fa83c 18169 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18170
18171 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18172 new tags as supported.
18173 (acpiv2_size): New function.
18174 (grub_multiboot_get_mbi_size): Take new tags into account.
18175 (grub_multiboot_make_mbi): Add new tags.
18176 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18177
6cc14051 181782010-09-21 Aleš Nesrsta <starous@volny.cz>
18179
18180 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18181 Added missing configuration of USB device.
18182
df7769d8
CW
181832010-09-21 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * grub-core/normal/menu_entry.c (run): Make sure we always return
18186 a value.
18187
b031012d
CW
181882010-09-21 Colin Watson <cjwatson@ubuntu.com>
18189
18190 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18191 NumberOfPages is UINT64 according to the UEFI specification, not
18192 UINTN. Fix printf format.
18193
174de8f3
CW
181942010-09-21 Colin Watson <cjwatson@ubuntu.com>
18195
18196 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18197 `err' to grub_usb_err_t.
18198 Reported and tested by: KESHAV P.R.
18199
d7dbe923
CW
182002010-09-21 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18203 tpart non-const, so that we can assign to it. (Since this is a
18204 typedef, the constness refers to the pointer rather than what it
18205 points to.)
18206
8d5e2af3
CW
182072010-09-21 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18210 $(top_srcdir)/grub-core/gnulib as well as
18211 $(top_builddir)/grub-core/gnulib.
18212 Reported by: KESHAV P.R.
18213
5c527783
CW
182142010-09-21 Colin Watson <cjwatson@ubuntu.com>
18215
18216 * util/grub-install.in: Fix the bootloader ID option to be
18217 consistently --bootloader-id, not --bootloader_id.
18218 Reported by: KESHAV P.R.
18219
d309a16e
CW
182202010-09-21 Colin Watson <cjwatson@ubuntu.com>
18221
18222 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18223 check hash checksum." consistently translatable.
18224
b830cd16
YB
182252010-09-21 Yves Blusseau <blusseau@zetam.org>
18226
18227 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18228 $(top_builddir).
18229
c4fe27a8
CW
182302010-09-21 Colin Watson <cjwatson@ubuntu.com>
18231
18232 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18233 (GRUB_MOD_INIT): Register sha1sum command.
18234 (GRUB_MOD_FINI): Unregister sha1sum command.
18235
a4c1d277
YB
182362010-09-21 Yves Blusseau <blusseau@zetam.org>
18237
18238 Keep boot and grub directory names in sync with utils scripts
18239
18240 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18241 * config.h.in: Add previous macros.
18242 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18243 * util/grub-install.in: Use $bootdir and $grubdir variables.
18244
4eff79d2
CW
182452010-09-21 Colin Watson <cjwatson@ubuntu.com>
18246
18247 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18248 convert partition names to disk names if the new `convert' parameter
18249 is set.
18250 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18251 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18252 disk in its own right. This can happen with Xen disk images.
18253
934d7e44
YB
182542010-09-21 Yves Blusseau <blusseau@zetam.org>
18255
18256 * util/grub-editenv.c: Update strings to avoid warnings when generating
18257 grub.pot file.
18258 * util/grub-setup.c: Likewise.
934d7e44 18259
df3367cc
VS
182602010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * configure.ac: Change version to 1.99~beta0.
18263
77a94e98
VS
182642010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18267 Add BADRAM.
18268 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18269 Likewise.
18270 * include/multiboot.h: Resynced with specification.
18271 * include/multiboot2.h: Likewise.
18272
269004c1
CW
182732010-09-21 Colin Watson <cjwatson@ubuntu.com>
18274
18275 Fix po directory handling.
18276
18277 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18278 * grub-core/gnulib/Makefile.am: Import gettext module.
18279 * m4/gnulib-cache.m4: Likewise.
18280 * m4/gnulib-comp.m4: Likewise.
18281 * m4/gettext.m4: New file, from gnulib.
18282 * m4/glibc2.m4: Likewise.
18283 * m4/iconv.m4: Likewise.
18284 * m4/intdiv0.m4: Likewise.
18285 * m4/intl.m4: Likewise.
18286 * m4/intldir.m4: Likewise.
18287 * m4/intlmacosx.m4: Likewise.
18288 * m4/intmax.m4: Likewise.
18289 * m4/inttypes-pri.m4: Likewise.
18290 * m4/lcmessage.m4: Likewise.
18291 * m4/lib-ld.m4: Likewise.
18292 * m4/lib-link.m4: Likewise.
18293 * m4/lib-prefix.m4: Likewise.
18294 * m4/lock.m4: Likewise.
18295 * m4/nls.m4: Likewise.
18296 * m4/po.m4: Likewise.
18297 * m4/printf-posix.m4: Likewise.
18298 * m4/progtest.m4: Likewise.
18299 * m4/threadlib.m4: Likewise.
18300 * m4/uintmax_t.m4: Likewise.
18301 * m4/visibility.m4: Likewise.
18302 * po/Makefile.am: Remove.
18303 * po/Makefile.in.in: New file, from gettext.
18304 ($(DOMAIN).pot-update): Support POTFILES-shell.
18305 * po/Makevars: New file.
18306 * po/POTFILES-shell: Rename to ...
18307 * po/POTFILES-shell.in: ... this. Update.
18308 * po/POTFILES: Rename to ...
18309 * po/POTFILES.in: ... this. Update.
18310 * po/Rules-quot: New file, from gettext.
18311 * po/boldquot.sed: Likewise.
18312 * po/en@boldquot.header: Likewise.
18313 * po/en@quot.header: Likewise.
18314 * po/insert-header.sin: Likewise.
18315 * po/quot.sed: Likewise.
18316 * po/remove-potcdate.sin: Likewise.
18317
3e0fa5d0
VS
183182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18321
ade9bd66
VS
183222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * util/grub.d/20_linux_xen.in: Use submenus.
18325
fc55cc4c
VS
183262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 Support submenus.
18329
18330 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18331 parameter submenu. All users updated.
18332 * grub-core/normal/main.c (free_menu): Rename to ...
18333 (grub_normal_free_menu): ... this. Made global.
18334 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18335 if requested.
18336 * grub-core/normal/menu_entry.c (screen): New field submenu.
18337 (make_screen): Set submenu.
18338 (run): Open new context if requested.
18339 * include/grub/menu.h (grub_menu_entry): New field submenu.
18340 * include/grub/normal.h (grub_normal_free_menu): New proto.
18341
600cedf7
VS
183422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 Menu entries extractor.
18345
18346 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18347 variants.
18348 (GRUB_MOD_INIT): Register new variants.
18349 (GRUB_MOD_FINI): Unregister new variants.
18350 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18351 into grub_cmd_legacy_source.
18352 (grub_cmd_legacy_source): Implement extractor variants.
18353 (GRUB_MOD_INIT): Register new variants.
18354 (GRUB_MOD_FINI): Unregister new variants.
18355 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18356 as an extractor.
18357 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18358 search as an extractor.
18359 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18360 test as an extractor.
18361 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18362 as an extractor.
18363 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18364 (grub_env_new_context): New function.
18365 (grub_env_context_open): Likewise.
18366 (grub_env_extractor_open): Likewise.
18367 (grub_env_extractor_close): Likewise.
18368 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18369 grub_extractor_level.
18370 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18371 * include/grub/env.h (grub_env_extractor_open): New proto.
18372 (grub_env_extractor_close): Likewise.
18373 * include/grub/normal.h (grub_extractor_level): New external variable.
18374
7bda3a87
VS
183752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 Make cutmem accept a region specification.
18378 Suggested by: Samuel Thibault
18379
18380 * grub-core/mmap/mmap.c (parsemem): New function.
18381 (grub_cmd_cutmem): Handle new arguments.
18382
2ea57f88
VS
183832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 New command cutmem.
18386
18387 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18388 (GRUB_MOD_INIT): Register new command.
18389 (GRUB_MOD_FINI): Unregister new command.
18390
74342e31
VS
183912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18392
18393 Support some annoying BSD and Minix subpartitions.
18394
18395 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18396 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18397 Properly handle concatenation.
18398 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18399 * grub-core/normal/completion.c (iterate_partition): Likewise.
18400 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18401 contain partition. All users updated.
18402 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18403 struct.
18404 (grub_openbsdlabel_partition_map): Likewise.
18405 (bsdlabel_partition_map_iterate): Rename to ..
18406 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18407 (bsdlabel_partition_map_iterate): New function.
18408 (netopenbsdlabel_partition_map_iterate): Likewise.
18409 (netbsdlabel_partition_map_iterate): Likewise.
18410 (openbsdlabel_partition_map_iterate): Likewise.
18411 (GRUB_MOD_INIT): Register new partmaps.
18412 (GRUB_MOD_FINI): Unregister new partmaps.
18413 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18414 (grub_partition_msdos_iterate): ... this. All users updated.
18415 Don't support embedding other than in a minix partition.
18416 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18417 proto.
18418 * include/grub/partition.h (grub_partition): New field msdostype.
18419 * util/grub-install.in: Handle openbsd and netbsd types being in
18420 part_bsd module.
18421
1e8d555b
VS
184222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18425
18426 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18427 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18428 (mdraid09): ... this.
18429 (mdraid1x): New module.
18430 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18431 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18432
899d8af4
VS
184332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18436 vsprintf.
18437
40901acd
CW
184382010-09-20 Colin Watson <cjwatson@ubuntu.com>
18439
18440 * grub-core/commands/efi/lsefimmap.c: Correct header.
18441 * NEWS: Update.
18442
dfe3b247
CW
184432010-09-20 Colin Watson <cjwatson@ubuntu.com>
18444
18445 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18446 as printf format strings; the translations might contain '%' which
18447 could cause a crash.
18448 (main): Likewise.
18449 * util/grub-fstest.c (argp_parser): Likewise.
18450 * util/grub-setup.c (argp_parser): Likewise.
18451 (main): Likewise.
18452
3286a4b4
VS
184532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 Use argp in grub-fstest.
18456
18457 * util/grub-fstest.c: Don't include getopt.h.
18458 Include argp.h.
18459 (root): New variable.
18460 (args_count): Likewise.
18461 (nparm): Likewise.
18462 (num_disks): Likewise.
18463 (images): Likewise.
18464 (cmd): Likewise.
18465 (debug_str): Likewise.
18466 (args): Likewise.
18467 (options): Transformed to argp.
18468 (usage): Removed.
18469 (main): Split argument parsing into ...
18470 (argp_parser): ... this. Changed to argp format.
18471 (argp): New variable.
18472 (main): Use argp_parse.
18473
3dccbe4b
TG
184742010-09-20 Tristan Gingold <gingold@free.fr>
184752010-09-20 Robert Millan <rmh.grub@aybabtu.com>
184762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * grub-core/commands/efi/lsefimmap.c: New file.
18479 * grub-core/Makefile.core.def (lsefimmap): New module.
18480 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18481
38c259a7
VS
184822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 Pause the execution (10s max) if any errors are displayed so the user
18485 has a chance to see them.
18486
18487 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18488 (grub_print_error): Increment grub_err_printed_errors.
18489 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18490 execution if any errors were displayed.
18491 (show_menu): Remove old code for pause.
18492 * grub-core/normal/menu_entry.c (run): Likewise.
18493 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18494 users updated.
18495 (grub_normal_get_char_counter): Likewise.
18496 * include/grub/err.h (grub_err_printed_errors): New external variable.
18497 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18498
f218b09c
VS
184992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 Support multiboot VBE info.
18502
18503 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18504 Take VBE info into account.
18505 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18506 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18507 Call fill_vbe_info when appropriate.
18508 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18509 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18510 as supported.
18511 (grub_multiboot_get_mbi_size): Take new tags into account.
18512 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18513 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18514 Call fill_vbe_tag when appropriate.
18515 (grub_multiboot_make_mbi): Properly align tags.
18516 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18517 function.
18518 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18519 proto.
18520 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18521
a9cc5438
VS
185222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 Suport manual terminal geometry specification.
18525
18526 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18527 Save state in grub_ofconsole_terminfo_output.
18528 (grub_ofconsole_term): Use grub_terminfo_getwh.
18529 (grub_ofconsole_getwh): Removed.
18530 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18531 (grub_serial_term): Use grub_terminfo_getwh.
18532 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18533 (options): New struct.
18534 (OPTION_*): New enum.
18535 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18536 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18537 width and height.
18538 (grub_terminfo_getwh): New proto.
18539 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18540
1a8fed20
VS
185412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 Handle legacy "terminal" command.
18544
18545 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18546 and FLAG_TERMINAL.
18547 (legacy_commands): Add terminal and title.
18548 (grub_legacy_parse): Handle terminal. Simplify title handling.
18549
41e9c57d
VS
185502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18553 parameters overflow.
18554
61c874c5
CW
185552010-09-20 Colin Watson <cjwatson@ubuntu.com>
18556
18557 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18558 widthspec.h.
18559
18560 * docs/grub.texi (Shell-like scripting): Document `!'.
18561 (Network): Simplify using new i386-pc-pxe format. Mention
18562 grub-mknetdir.
18563
18564 * NEWS: Update.
18565
943682b4
CW
185662010-09-20 Colin Watson <cjwatson@ubuntu.com>
18567
18568 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18569 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18570 when needed.
18571
6d3d698d
CW
185722010-09-20 Colin Watson <cjwatson@ubuntu.com>
18573
18574 * grub-core/commands/efi/lsefisystab.c: Correct header.
18575 * grub-core/commands/efi/lssal.c: Likewise.
18576 * grub-core/commands/testload.c: Likewise.
18577
c982589f
CW
185782010-09-20 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * util/grub-mkrescue.in: Add explicit root argument to --set to
18581 prevent the UUID being interpreted as an argument to --set (matches
18582 previous change to prepare_grub_to_access_device).
18583
a63c31b6
CW
185842010-09-20 Colin Watson <cjwatson@ubuntu.com>
18585
18586 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18587 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18588 the verbosity of later #ifs.
18589 (find_partition_start): Define this function on FreeBSD too.
18590 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18591 function.
18592 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18593 on FreeBSD.
18594
6439b8ee
YB
185952010-09-20 Yves Blusseau <blusseau@zetam.org>
18596
18597 * util/grub-editenv.c: Use argp instead of getopt.
18598
c5930ec8
YB
185992010-09-20 Yves Blusseau <blusseau@zetam.org>
18600
18601 * util/grub-setup.c: Use argp instead of getopt.
18602
15c69261
YB
186032010-09-20 Yves Blusseau <blusseau@zetam.org>
18604
18605 Use gnulib-tool to create gnulib source files.
18606
18607 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18608 grub-core/gnulib directories
18609 * .bzignore: Add **/.deps and autogenerated gnulib files
18610 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18611 of gnulib macros, add grub-core/gnulib/Makefile
18612 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18613 include m4 directory to aclocal.
18614 * Makefile.util.def: Remove direct compilation of gnulib source files
18615 and use the new grub-core/gnulib/libgnu.a.
18616 * build-aux/config.rpath: move config.rpath from top directory to
18617 build-aux
18618 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18619 in gnulib headers
18620 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18621 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18622 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18623 header.
18624 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18625 string.
18626
e511c9f5
YB
186272010-09-20 Yves Blusseau <blusseau@zetam.org>
18628
18629 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18630 grub-core/genmod.sh and grub-core/gensyminfo.sh
18631
c2dede05
BC
186322010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18633
18634 Add a test for echo command options.
18635
18636 * tests/grub_cmd_echo.in: New test.
18637 * Makefile.util.def: Rules for new test.
18638
c55f5018
SJ
186392010-09-20 Szymon Janc <szymon@janc.net.pl>
18640
18641 Remove crc.mod and move crc command to hashsum.mod.
18642 Remove lib/crc.c - users updated to use gcrypt implementation.
18643
18644 * grub-core/commands/crc.c: Removed.
18645 * grub-core/Makefile.core.def (crc): Module removed.
18646 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18647 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18648 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18649 * grub-core/lib/crc.c: Removed.
18650 * include/grub/lib/crc.h: Removed.
18651 * Makefile.util.def (crc): Remove lib/crc.c
18652 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18653 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18654 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18655 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18656 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18657 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18658
e0337366
VS
186592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18662
742f9232
VS
186632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 Split config.h for util and core.
18666
18667 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18668 (ADDR32): Likewise.
18669 (DATA32): Likewise.
18670 (BSS_START_SYMBOL): Likewise.
18671 (END_SYMBOL): Likewise.
18672 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18673 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18674 * config.h.in: New file.
18675 * configure.ac: Use config-util.h as config define file.
18676 Rename MACHINE into GRUB_MACHINE. All users updated.
18677 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18678 updated.
18679 (NESTED_FUNC_ATTR): Likewise.
18680 Substitue new variables.
18681 (COND_HAVE_ASM_USCORE): New conditional.
18682 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18683 (kernel_syms.lst): Use ASM_PREFIX.
18684 * grub-core/kern/emu/console.c: Include config-util.h.
18685 * grub-core/kern/emu/misc.c: Likewise.
18686 * grub-core/kern/emu/mm.c: Likewise.
18687 * include/grub/emu/misc.h: Likewise.
18688 * include/grub/libgcc.h: Likewise.
18689
39feb0e8
VS
186902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18693 constants usage.
18694 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18695 Fix GRUB_TERM_KEY_* constants usage.
18696 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18697
9af6dac3
VS
186982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18701 print pointer.
18702 * grub-core/bus/usb/uhci.c: Remove empty define.
18703 (grub_uhci_check_transfer): Add missing cast.
18704 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18705 print pointer.
18706 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18707 PRIuGRUB_SIZE.
18708 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18709
d6d94820
VS
187102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18711
18712 * grub-core/Makefile.core.def (legacycfg): Add
18713 lib/i386/pc/vesa_modes_table.c on emu.
18714
3572f2b6
BC
187152010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18716
18717 Reduce number of temporary files generated by build system.
18718
18719 * grub-core/gencmdlist.sh: Removed.
18720 * grub-core/genfslist.sh: Removed.
18721 * grub-core/genhandlerlist.sh: Removed.
18722 * grub-core/genmodsrc.sh: Removed.
18723 * grub-core/genpartmaplist.sh: Removed.
18724 * grub-core/genparttoollist.sh: Removed.
18725 * grub-core/gentermiinallist.sh: Removed.
18726 * grub-core/genvideolist.sh: Removed.
18727
18728 * grub-core/genmod.sh.in: New file.
18729 * grub-core/gensyminfo.sh.in: New file.
18730
18731 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18732 * conf/Makefile.extra-dist: Update with new files.
18733 * gentpl.py: Remove rules related to unnecessary temporary files.
18734 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18735 and und-* files.
18736 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18737 genmod.sh scripts.
18738 * grub-core/bus/usb/uhci.c: Remove empty #define.
18739 * grub-core/genmoddep.awk: Updated with new syminfo format.
18740 * util/bash-completion.d/Makefile.am: Add config.log to
18741 CLEANFILES.
18742
c836b030
YB
187432010-09-19 Yves Blusseau <blusseau@zetam.org>
18744
18745 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18746
2f4e8053
BC
187472010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18748
18749 * util/grub-mkconfig.in: Check the config script for syntax errors
18750 before saving.
18751
75831c34
CW
187522010-09-19 Colin Watson <cjwatson@ubuntu.com>
187532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18756 platforms.
18757 * util/grub-install.in: Add EFI and IEEE1275 support.
18758 * util/i386/efi/grub-install.in: Removed.
18759 * util/ieee1275/grub-install.in: Likewise.
18760
eaf41b25
VS
187612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18764 (grub_cmd_cmosclean): Likewise.
18765 (GRUB_MOD_INIT): Register command cmosclean.
18766 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18767 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18768
1a9130dd
CPE
187692010-09-18 Carles Pina i Estany <carles@pina.cat>
187702010-09-18 Aleš Nesrsta <starous@volny.cz>
187712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 Add keyboard layouts support.
18774
18775 * Makefile.util.def (grub-mklayout): New file.
18776 (grub-kbdcomp): New script.
18777 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18778 Add keyboard_layouts.h.
18779 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18780 commands/boot.c on yeeloong.
18781 (keylayouts): New module.
18782 * grub-core/bus/usb/ohci.c
18783 * grub-core/bus/usb/uhci.c
18784 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18785 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18786 (attach_root_port): Likewise.
18787 (poll_nonroot_hub): Likewise.
18788 (grub_usb_poll_devices): Likewise.
18789 (detach_device): Close transfer.
18790 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18791 function.
18792 (grub_usb_bulk_setup_readwrite): Likewise.
18793 (grub_usb_bulk_finish_readwrite): Likewise.
18794 * grub-core/commands/keylayouts.c: New file.
18795 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18796 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18797 aliases.
18798 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18799 support scancode 2.
18800 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18801 * include/grub/keyboard_layouts.h: New file.
18802 * util/grub-mklayout.c: New file.
18803 * util/grub-kbdcomp.in: Likewise.
18804
a1d84a5e
VS
188052010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 Unify memory types.
18808
18809 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18810 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18811 types.
18812 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18813 (grub_upper_mem): Likewise.
18814 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18815 * include/grub/memory.h (grub_memory_type_t): New enum.
18816 All users updated.
18817
9696382e
VS
188182010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * grub-core/Makefile.core.def (lsapm): New module.
18821 * grub-core/commands/i386/pc/lsapm.c: New file.
18822 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18823 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18824 Likewise.
18825 * include/grub/i386/pc/apm.h: New file.
18826 * include/multiboot.h (multiboot_apm_info): New struct.
18827
188282010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 GRUB-legacy configuration file support.
18831
18832 * Makefile.util.def (grub-menulst2cfg): New util.
18833 * docs/man/grub-menulst2cfg.h2m: New file.
18834 * grub-core/Makefile.core.def (legacycfg): New module.
18835 * grub-core/commands/legacycfg.c: New file.
18836 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18837 (grub_normal_add_menu_entry): ... this.
18838 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18839 (grub_normal_set_password): ...this.
18840 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18841 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18842 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18843 * grub-core/lib/legacy_parse.c: New file.
18844 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18845 * include/grub/i386/pc/vesa_modes_table.h: New file.
18846 * include/grub/legacy_parse.h: Likewise.
18847 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18848 * util/grub-menulst2cfg.c: New file.
18849
bf8d1338
CW
188502010-09-17 Colin Watson <cjwatson@ubuntu.com>
18851
18852 * grub-core/kern/emu/hostdisk.c
18853 (convert_system_partition_to_system_disk): Initialise node.
18854
9c0bad2e
CW
188552010-09-17 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * grub-core/kern/emu/hostdisk.c
18858 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18859 leak.
18860 Reported and based on patch by: Modestas Vainius.
18861
a939d135
CW
188622010-09-17 Colin Watson <cjwatson@ubuntu.com>
18863
18864 Fix DM-RAID probing with recent versions of device-mapper udev
18865 rules.
18866
18867 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18868 canonicalise device paths under /dev/mapper/.
18869 (convert_system_partition_to_system_disk): Compare the
18870 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18871 path, since device nodes under /dev/mapper/ are often symlinks.
18872
0f7ee3c9
YB
188732010-09-17 Yves Blusseau <blusseau@zetam.org>
18874
18875 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18876
10854d0d
YB
188772010-09-16 Yves Blusseau <blusseau@zetam.org>
18878
18879 * configure.ac: Avoid some annoying error messages if freetype-config
18880 program is not found.
18881
108538d8
CW
188822010-09-16 Colin Watson <cjwatson@ubuntu.com>
18883
18884 Support RAID on virtio devices, and others.
18885
18886 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18887 Rename to ...
18888 [__MINGW32__] (grub_find_device): ... this.
18889 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18890 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18891 reasonable default if dir is NULL.
18892 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18893 ...
18894 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18895 (grub_guess_root_device): Update callers.
18896 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18897
18898 * util/raid.c (grub_util_getdiskname): Remove.
18899 (grub_util_raid_getmembers): Use grub_find_device rather than
18900 grub_util_getdiskname.
18901
e5bfc130
CW
189022010-09-16 Colin Watson <cjwatson@ubuntu.com>
18903
18904 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18905 needing to be compiled with serial support.
18906 (ls): Indicate that multiple files are accepted.
18907 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18908 indicate that multiple files are accepted.
18909
be458ae2
CW
189102010-09-16 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18913 libgrub_a_init.c, and util/bash-completion.d/grub.
18914
cb731b5e
VS
189152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * util/grub-setup.c (setup): Fix incorrect container semantics.
18918
35139e8a
VS
189192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18922 misusage.
18923 Reported by: J. Nick Terry
18924
e50fca4a
VS
189252010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 Move embedding routines to partmap sources files.
18928
18929 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18930 [GRUB_UTIL]: New variable.
18931 (gpt_partition_map_iterate): Set part.parent.
18932 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18933 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18934 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18935 New function.
18936 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18937 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18938 (grub_partition_map) [GRUB_UTIL]: New field embed.
18939 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18940 (setup): Use ->embed.
18941
f00478b7
VS
189422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18945 function.
18946 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18947 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18948
2b94e3ff
YB
189492010-09-15 Yves Blusseau <blusseau@zetam.org>
18950
18951 Add function to get completions from usage.
18952
18953 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18954 completions from usage. Use LC_ALL=C to get options properly.
18955
2e04a006
VS
189562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/gnulib/basename-lgpl.c: Imported.
18959 * grub-core/gnulib/basename.c: Likewise.
18960 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18961 * grub-core/gnulib/dirname.c: Likewise.
18962 * grub-core/gnulib/dirname.h: Likewise.
18963 * grub-core/gnulib/stripslash.c: Likewise.
18964
5dcdf93a
VS
189652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * grub-core/gnulib/error.c: Resynced.
18968 * grub-core/gnulib/getopt.c: Likewise.
18969 * grub-core/gnulib/getopt_int.h: Likewise.
18970 * grub-core/gnulib/regex.h: Likewise.
18971 * grub-core/gnulib/regex_internal.c: Likewise.
18972 * grub-core/gnulib/regex_internal.h: Likewise.
18973
014f47b7
SJ
189742010-09-15 Szymon Janc <szymon@janc.net.pl>
18975
18976 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18977 CRC calculations and validity checks.
18978 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18979 calculations.
18980
dd521a4a
SJ
189812010-09-15 Szymon Janc <szymon@janc.net.pl>
18982
18983 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18984
79c4eeb9
VS
189852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 Fix incorrect echo options handling.
18988 Reported by: Yves Blusseau.
18989
18990 * include/grub/command.h (grub_command_flags_t): New flags
18991 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18992 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18993 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18994
ed80f7d5
VS
189952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18998 users updated.
18999 (GRUB_COMMAND_FLAG_MENU): Likewise.
19000 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19001 (GRUB_COMMAND_FLAG_TITLE): Removed.
19002 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19003 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19004 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19005 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19006 (grub_command_flags_t): New enum. All users updated.
19007
5fe7620a
SG
190082010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19009
19010 Fix solaris compilation.
19011
19012 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19013 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19014 (grub-emu-list): Likewise.
19015
545b752f
VS
190162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 Remove deprecated root command.
19019
19020 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19021 updated.
19022
6c1a338c
VS
190232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 * util/i386/pc/grub-setup.c: Merge this ...
19026 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19027 * util/grub-setup.c: ... into this.
19028 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19029 New struct.
19030
190312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19034 possible.
19035
d2ea4551
VS
190362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19039 allocate p.
19040
3c3b5040
VS
190412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19044 explicit root argument to set to prevent UUID to be interpreted as
19045 argument to set.
19046
b71c3fae
VS
190472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19050
275433e6
VS
190512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 Don't export grub_gate_a20.
19054
19055 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19056 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19057 to ...
19058 (grub_gate_a20): ... this. All users updated.
19059 * include/grub/i386/pc/init.h: Removed. All users updated.
19060
a5dbb1f1
VS
190612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 Create euro.pf2 which supports most European languages.
19064
19065 * Makefile.am (grubdata_DATA): Add euro.pf2.
19066 (euro.pf2): New target.
19067 (CLEANFILES): Add euro.pf2.
19068
62a747cb
VS
190692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * configure.ac: Disable emu-usb by default to prevent inadvertent
19072 device takeover.
19073
608e43b1
VS
190742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 Disable usbserial on grub-emu since our libusb code isn't good enough
19077 yet.
19078
19079 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19080 (usbserial_pl2303): Likewise.
19081 (usbserial_ftdi): Likewise.
19082
94564f81
VS
190832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * include/grub/disk.h (grub_disk): Remove has_partitions.
19086 All users updated.
19087 * disk/loopback.c (grub_loopback): Remove has_partitions.
19088 All users updated.
19089 (options): Remove partitions. All users updated.
19090 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19091 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19092 actual partition table is found.
19093
3352800b
VS
190942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 Remove readability checks (too many false negatives).
19097
19098 * util/grub-install.in: Remove readability checks.
19099 * util/grub-mkconfig.in: Likewise.
19100 * util/grub.d/10_hurd.in: Likewise.
19101 * util/grub.d/10_kfreebsd.in: Likewise.
19102 * util/grub.d/10_linux.in: Likewise.
19103 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19104 way.
19105
2419f17a
VS
191062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Enable acpi shutdown on all ACPI platforms.
19109
19110 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19111 on coreboo, multiboot and EFI.
19112 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19113 (grub_acpi_halt): Likewise.
19114 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19115 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19116 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19117 * grub-core/lib/i386/halt.c (grub_halt)
19118 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19119
0575c7c3
VS
191202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19123 context.
19124
54ac3cd1
VS
191252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19128 * grub-core/video/efi_uga.c: Likewise.
19129
b2a30ac5
VS
191302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19131
19132 Filter devaliases and never open same device twice.
19133
19134 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19135 (last_ihandle): Likewise.
19136 (ofdisk_hash_ent): New member shortest.
19137 (ofdisk_hash_add): Add canonical path too.
19138 (scan): New function.
19139 (grub_ofdisk_iterate): Iterate over hashed entries.
19140 (compute_dev_path): Don't add :0.
19141 (grub_ofdisk_open): Don't really open the disk.
19142 (grub_ofdisk_close): Avoid closing unrelated disk.
19143 (grub_ofdisk_read): Implement reopen logic.
19144 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19145 New function.
19146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19147 New proto.
19148
fb53b340
VS
191492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Fix sparc64.
19152
19153 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19154 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19155 right address. Add sparc64_ieee1275_ldflags.
19156 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19157 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19158 to grub_host_to_target_addr
19159 (load_image): Likewise.
19160
f452b040
VS
191612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * grub-core/normal/completion.c (complete_file): Handle device
19164 containing slash.
19165 Fix based on patch by Doug Nazar.
19166
9b5b2541
VS
191672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 grub-mknetdir script.
19170
19171 * Makefile.util.def (grub-mknetdir): New module.
19172 * tests/util/grub-shell.in: Support boot=net
19173 * util/grub-mknetdir.in: New file.
19174
9d2be652
VS
191752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 videoinfo on non-vbe.
19178
19179 * grub-core/Makefile.core.def (vbeinfo): Removed.
19180 (vbetest): Removed.
19181 (videoinfo): New module.
19182 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19183 * grub-core/commands/i386/pc/vbetest.c: Removed.
19184 * grub-core/commands/videoinfo.c: New file.
19185 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19186 specification.
19187 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19188 as vbetest.
19189 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19190 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19191 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19192 mode_number. New parameter mode. All users updated.
19193 (grub_video_gop_iterate): New function.
19194 (grub_video_efi_gop): New member iterate.
19195 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19196 (grub_vbe_set_video_mode): Remove setting useless fields.
19197 (vbe2videoinfo): New function.
19198 (grub_video_vbe_iterate): Likewise.
19199 (grub_video_vbe_setup): Use vbe2videoinfo.
19200 (grub_video_vbe_print_adapter_specific_info): New function.
19201 (grub_video_vbe_adapter): New fields iterate and
19202 print_adapter_specific_info.
19203 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19204 All users updated.
19205 (grub_video_mode_info): New field mode_number.
19206 (grub_video_adapter): New fields iterate and
19207 print_adapter_specific_info.
19208
179503f5
TG
192092010-09-13 Tristan Gingold <gingold@free.fr>
192102010-09-13 Robert Millan <rmh.grub@aybabtu.com>
192112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19212
19213 * grub-core/commands/efi/lsefisystab.c: New file.
19214 * grub-core/commands/efi/lssal.c: Likewise.
19215 * grub-core/Makefile.core.def (lsacpi): New module.
19216 (lsefisystab): Likewise.
19217 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19218 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19219 (grub_efi_sal_system_table): New struct.
19220 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19221 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19222 (grub_efi_sal_system_table_platform_features): Likewise.
19223 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19224 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19225 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19226 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19227
cf9827de
VS
192282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 Support explicit user claim that a device is BIOS-visible.
19231
19232 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19233 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19234 * grub-core/kern/emu/hostdisk.c
19235 (convert_system_partition_to_system_disk): Support mdX.
19236 (find_system_device): New parameter add. All users updated.
19237 (grub_util_biosdisk_is_present): New function.
19238 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19239 proto.
19240
53f0eb1f
VS
192412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 Search hints support.
19244
19245 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19246 All users updated.
19247
b23ffd70
YB
192482010-09-13 Yves Blusseau <blusseau@zetam.org>
19249
19250 Bash completion script for util commands
19251
19252 * Makefile.am: Add util/bash-completion.d directory
19253 * configure.ac: Likewise.
19254 * util/bash-completion.d/Makefile.am: New file.
19255 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19256
d547dc28
VS
192572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19260 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19261 Reported by: Yves Blusseau.
19262
2fc8ccb9
VS
192632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19266 partition size and offset.
19267
d8a84076
VS
192682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19271
84fb3b3d
VS
192722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19275
768ec2e2
VS
192762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19279 (grub_xvasprintf): Likewise.
19280
4870900f
VS
192812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19284
faca6bec
VS
192852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19288 args ending with NULL.
19289
192902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19291
19292 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19293 pointer.
19294
3c70f225
SJ
192952010-09-11 Szymon Janc <szymon@janc.net.pl>
19296
19297 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19298
4df7996d
VS
192992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 Shutdown using ACPI.
19302
19303 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19304 * grub-core/commands/acpihalt.c: New file.
19305 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19306 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19307 (grub_acpi_halt): New proto.
19308 (GRUB_ACPI_SLP_EN): New const.
19309 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19310 (GRUB_ACPI_OPCODE_*): New enum.
19311 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19312
126b4c32
TG
193132010-09-11 Tristan Gingold <gingold@free.fr>
193142010-09-11 Robert Millan <rmh.grub@aybabtu.com>
193152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 * commands/lsacpi.c: New file.
19318 * grub-core/Makefile.core.def (lsacpi): New module.
19319 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19320 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19321 (grub_acpi_madt_entry_header): New struct.
19322 (grub_acpi_madt): Likewise.
19323 (grub_acpi_madt_entry_interrupt_override): Likewise.
19324 (grub_acpi_madt_entry_sapic): Likewise.
19325 (grub_acpi_madt_entry_lsapic): Likewise.
19326 (grub_acpi_madt_entry_platform_int_source): Likewise.
19327 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19328 (PRIuGRUB_UINT32_T): Likewise.
19329 (PRIxGRUB_UINT64_T): Likewise.
19330
1aa4fe88
VS
193312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 Implement loading palette on ieee1275_fb.
19334
19335 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19336 (have_setcolors): Likewise.
19337 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19338 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19339 (grub_video_ieee1275_set_palette): Implement.
19340
25761e13
VS
193412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
193422010-09-11 Colin Watson <cjwatson@ubuntu.com>
19343
19344 * util/grub-install.in (grub_partition): New variable.
19345 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19346 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19347 Fixes a bug reported by Yves Blusseau.
19348
050abaea
VS
193492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 Fix emu on mipsel.
19352
19353 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19354 =grub_cpu_flush_cache on all mips and not only yeeloong.
19355 * configure.ac (COND_mips): New conditional.
19356 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19357 platforms.
19358 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19359 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19360 [GRUB_LINKER_HAVE_INIT]: New function.
19361 (grub_emu_post_init): Likewise.
19362 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19363 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19364 * include/grub/cache.h (_mips): Include mips/cache.h.
19365 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19366 LVM and RAID prototypes.
19367 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19368 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19369 function.
19370
5ed7d816
CW
193712010-09-10 Colin Watson <cjwatson@ubuntu.com>
19372
19373 * util/grub-install.in: Don't try to verify core.img until after
19374 running grub-mkimage to create it.
19375
90367e04
RM
193762010-09-10 Robert Millan <rmh@gnu.org>
19377
19378 * util/grub.d/10_hurd.in: Add misc readability checks.
19379 * util/grub.d/10_kfreebsd.in: Likewise.
19380 * util/grub.d/10_linux.in: Likewise.
19381
c452fa66
CW
193822010-09-10 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * util/grub-install.in: ${imgext} won't be defined here until the
19385 install branch is merged. For the meantime, only verify core.img on
19386 i386-pc and sparc64-ieee1275 platforms.
19387
c38fe9f4
RM
193882010-09-10 Robert Millan <rmh@gnu.org>
19389
19390 Solaris support in grub_find_zpool_from_dir(). Thanks
19391 Seth Goldberg for referring to getextmntent() facility.
19392
19393 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19394 `sys/mkdev.h'.
19395 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19396 `<sys/mnttab.h>'.
19397 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19398 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19399 method for finding zpool name.
19400
905f7773
CW
194012010-09-10 Colin Watson <cjwatson@ubuntu.com>
19402
19403 grub-fstest needs the host and hostfs modules while other utilities
19404 actively require those modules to be absent, so grub-fstest needs
19405 its own initialisation and finalisation code.
19406
19407 * Makefile.am (grub_fstest.pp): New target.
19408 (grub_fstest_init.lst): Likewise.
19409 (grub_fstest_init.c): Likewise.
19410 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19411
fb90b546
RM
194122010-09-10 Robert Millan <rmh@gnu.org>
19413
19414 * configure.ac: Check for `struct statfs.f_fstypename' and
19415 `struct statfs.f_mntfromname'.
19416
19417 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19418 kFreeBSD-specific code.
19419
66d4bea5
RM
194202010-09-10 Robert Millan <rmh@gnu.org>
19421
19422 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19423 on ZFS. Now non-main filesystems are supported as / too.
19424
b6a690ee
CW
194252010-09-09 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19428 and grub-core/disk/host.c to ...
19429 (grub-fstest): ... here. Having the host disk implementation
19430 present confuses grub-probe and other utility programs.
19431
19432 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19433 when writing to a file, not when writing to stdout.
19434
8901b00c 194352010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19436
19437 * tests/partmap_test.in: New test for partitions.
19438 * Makefile.util.def: Rules for new test.
19439
7bf45fdd
RM
194402010-09-09 Robert Millan <rmh@gnu.org>
19441
19442 * util/grub-probe.c (probe): Fix a pair of unhandled error
19443 conditions.
19444
4dfbc574
RM
194452010-09-09 Robert Millan <rmh@gnu.org>
19446
19447 Basic Btrfs support (detection and UUID).
19448
19449 * grub-core/fs/btrfs.c: New file.
19450 * Makefile.util.def (library): Register btrfs.c.
19451 * grub-core/Makefile.core.def: Likewise.
19452
6b8e78ae
RM
194532010-09-08 Robert Millan <rmh@gnu.org>
19454
19455 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19456 with (optional) parameters to specify device and relative path.
19457 * util/grub-install.in: Use is_path_readable_by_grub() to
19458 verify readability of a few critical files.
19459 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19460 verify readability of grub.cfg.new.
19461
27f21a8b
VS
194622010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 Split minix.mod into minix.mod and minix2.mod.
19465
19466 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19467 * grub-core/Makefile.core.def (minix2): New module.
19468 * grub-core/fs/minix.c: Use definitions instead of runtime version
19469 checking.
19470 * grub-core/fs/minix2.c: New file.
19471
c0e53ea5
YB
194722010-09-08 Yves Blusseau <blusseau@zetam.org>
19473
19474 Add new --boot-directory option to replace --root-directory
19475
19476 * util/grub-install.in: Add new --boot-directory option
19477 * util/grub-reboot.in: Likewise.
19478 * util/grub-set-default.in: Likewise.
19479
b9fe6ea2
YB
194802010-09-08 Yves Blusseau <blusseau@zetam.org>
19481
19482 * util/grub-mkconfig.in: Use new variable.
19483
d87aedff
YB
194842010-09-08 Yves Blusseau <blusseau@zetam.org>
19485
19486 * configure.ac: Define some useful variables.
19487
e55e8495
VS
194882010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19491 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19492 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19493 Use terminfo and don't use cursor-on/cursor-off unless it's known
19494 to work.
19495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19496 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19497
6fa6d675
CW
194982010-09-08 Colin Watson <cjwatson@ubuntu.com>
19499
19500 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19501 starts with "(,", fill the drive containing the loaded image in
19502 between those two characters, but expect that a full partition
19503 specification including partition map names will follow.
19504
92f2aef0
RM
195052010-09-08 Robert Millan <rmh@gnu.org>
19506
19507 * configure.ac: Remove `--enable-grub-fstest' option.
19508 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19509
19510 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19511 `grub-fstest' instead of `grub-probe' for readability verification.
19512 * util/grub-probe.c (probe): Remove readability verification kludge.
19513
99fd620d
RM
195142010-09-08 Robert Millan <rmh@gnu.org>
19515
19516 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19517 initializing `GRUB_FS'.
19518
058e30ac 195192010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19520
19521 Not command (!) support to GRUB script.
19522
19523 * tests/grub_script_not.in: New test.
19524 * Makefile.util.def: Rules for new test.
19525
19526 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19527 ! command as a special case.
19528 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19529
b61d05ed 195302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19531
058e30ac 19532 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19533 grub_free.
b61d05ed 19534
4d69c786 195352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19536
19537 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19538
aa3119c4 195392010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19540
19541 * docs/grub.texi (Shell-like scripting): Documentation for break,
19542 continue, shift and return commands.
19543
db0f7e3d
VS
195442010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 Rename CD-ROM to cd on BIOS.
19547
19548 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19549 "cd".
19550 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19551
88b87c93
VS
195522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19555 * util/grub-probe.c (main): Likewise.
19556 * util/i386/pc/grub-setup.c (main): Likewise.
19557 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19558 Reported and debugged by: alexxy
19559
294f324d
VS
195602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19563 diagnostic info.
19564
d7ee3441
JS
195652010-09-05 Jo Shields <directhex@apebox.org>
19566
19567 * util/grub.d/30_os-prober.in: Add missing classes.
19568
d7e06c1f
VS
195692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 * docs/grub.texi (Theme file format): Document new position format.
19572
fc157e53
VS
195732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19576 a table. Use @code instead of @verbatim.
19577
506e9a1c
CB
195782010-09-05 Colin D Bennett <colin@gibibit.com>
19579
19580 Gfxmenu documentation.
19581
19582 * docs/grub.texi (Theme file format): New chapter.
19583
f0aff67c
SJ
195842010-09-05 Szymon Janc <szymon@janc.net.pl>
19585
19586 * grub-core/Makefile.core.def (xzio): New module.
19587 * grub-core/io/xzio.c: New file.
19588 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19589 * grub-core/lib/xzembed/xz_config.h: Likewise.
19590 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19591 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19592 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19593 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19594 * grub-core/lib/xzembed/xz_private.h: Likewise.
19595 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19596 * include/grub/file.h (grub_file_filter_id): New compression filter
19597 GRUB_FILE_FILTER_XZIO.
19598
82a85062
VS
195992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19602 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19603 size.
19604
3579415d
VS
196052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19608 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19609
5124ae6d
VS
196102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 Uncompressed checksum support.
19613
19614 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19615 (check_list): New parameter uncompress.
19616 (grub_cmd_hashsum): Handle --uncompress.
19617
9aadb3d1
VS
196182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 Reintroduce testload.
19621
19622 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19623 from here ...
19624 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19625 (GRUB_MOD_INIT): New function.
19626 (GRUB_MOD_FINI): Likewise.
19627 * grub-core/Makefile.core.def (testload): New module.
19628
a17792c3
SJ
196292010-09-05 Szymon Janc <szymon@janc.net.pl>
19630
19631 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19632 (uint8_t): New type.
19633 (uint16_t): Likewise.
19634 (uint32_t): Likewise.
19635 (uint64_t): Likewise.
19636
b81e40a3
SJ
196372010-09-05 Szymon Janc <szymon@janc.net.pl>
19638
19639 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19640
fc2ef117
VS
196412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19644 Made static.
19645 (grub_gzfile_open): Removed. All users updated.
19646 (GRUB_MOD_INIT): New function.
19647 (GRUB_MOD_FINI): Likewise.
19648 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19649 (grub_file_filters_enabled): Likewise.
19650 (grub_file_open): Handle filters.
19651 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19652 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19653 * include/grub/file.h (grub_file_filter_id_t): New type.
19654 (grub_file_filter_t): Likewise.
19655 (grub_file_filters_all): New extern variable.
19656 (grub_file_filters_enabled): Likewise.
19657 (grub_file_filter_register): New inline function.
19658 (grub_file_filter_unregister): Likewise.
19659 (grub_file_filter_disable): Likewise.
19660 (grub_file_filter_disable_compression): Likewise.
19661 * include/grub/gzio.h: Removed.
19662
35ee15e0
BC
196632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19664
19665 Filename expansion support for wildcards in GRUB script.
19666
19667 * tests/grub_script_expansion.in: New test.
19668 * Makefile.util.def: Rule for new test.
19669
19670 * grub-core/commands/wildcard.c: New file, implements filename
19671 expansion support for GRUB script.
19672 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19673 * grub-core/script/argv.c: Cosmetic changes.
19674 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19675 Refactored to perform wildcard expansion on arguments.
19676 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19677 struct.
19678
19679 * tests/util/grub-shell.in: Fix quoting for read input.
19680
5f0c4aca
BC
196812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19682
19683 Support for updating environment variables with matched substrings
19684 of regexp.
19685
19686 * tests/grub_cmd_regexp.in: New test.
19687 * Makefile.util.def: Rule for new test.
19688
19689 * grub-core/commands/regexp.c: New option -s to update environment
19690 variables with regexp matches.
19691
3759a35f
SJ
196922010-09-04 Szymon Janc <szymon@janc.net.pl>
19693
19694 * include/grub/file.h (grub_file): New member not_easly_seekable.
19695 (grub_file_seekable): New inline function.
19696 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19697 easily seekable.
19698 (grub_gzio_open): Set not_easly_seekable.
19699 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19700 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19701
ed8c6dec
BC
197022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19703
19704 Support for options to appear multiple times on cmdline.
19705
19706 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19707 * grub-core/commands/extcmd.c: Support for repeatable option.
19708 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19709 repeatable option support.
19710
19711 Refactor menuentry into a regular command.
19712
19713 * grub-core/commands/menuentry.c: New file, menuentry command
19714 implementation.
19715 * grub-core/Makefile.core.def: Rule update for normal.mod.
19716 * grub-core/normal/main.c: Moved menuentry creation to
19717 grub-core/commands/menuentry.c.
19718 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19719 (grub_menu_execute_entry_real): Removed.
19720 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19721 function.
19722 (grub_script_execute_menuentry): Removed.
19723 * grub-core/script/parser.y (menuentry): Removed.
19724 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19725 * grub-core/script/yylex.l (menuentry): Removed.
19726 * include/grub/menu.h (grub_menu_init): New prototype.
19727 (grub_menu_fini): New prototype.
19728 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19729 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19730 (grub_script_execute_sourcecode): New prototype.
19731
dacd0cf0
BC
197322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19733
19734 "return" command for GRUB script functions.
19735
19736 * tests/grub_script_return.in: New test.
19737 * Makefile.util.def: Rules for new test.
19738
19739 * grub-core/script/execute.c (grub_script_return): New function.
19740 * grub-core/script/main.c: Register/unregister return commaond.
19741 * include/grub/script_sh.h (grub_script_return): New prototype.
19742
52e72f9d
BC
197432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19744
19745 "setparams" command to update positional parameters.
19746
19747 * tests/grub_script_setparams.in: New test.
19748 * Makefile.util.def: Rules for new test.
19749
19750 * grub-core/script/argv.c (grub_script_argv_make): New function.
19751 * grub-core/script/execute.c (replace_scope): New function.
19752 (grub_script_setparams): New function.
19753 * grub-core/script/lexer.c: Remove unused variables.
19754 * grub-core/script/main.c: Register/unregister setparams command.
19755 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19756 (grub_script_setparams): New prototype.
19757
25b60c91
BC
197582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19759
19760 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19761 grub_free order.
19762
37e7bf68
BC
197632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19764
19765 Support for passing block of commands as an argument to extcmds.
19766
19767 * Makefile.util.def: Rules for new test.
19768 * tests/grub_script_blockarg.in: New test.
19769 * grub-core/tests/test_blockarg.c: New file, block argument
19770 command used in the test.
19771
19772 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19773 (grub_register_extcmd_prio): New function prototype.
19774 (grub_extcmd_dispatcher): New function prototype.
19775 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19776 type.
19777 * include/grub/script_sh.h (struct grub_script): New members
19778 `children', `next_siblings' and `refcnt' for block arguments and
19779 reference counting.
19780 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19781 (grub_script_arg): New member `script' for block argument.
19782 (grub_script_argv): New member `script' for block argument.
19783 (grub_parser_param): New member `scripts' for block argument.
19784 (grub_script_mem_free): New extern function prototype.
19785 (grub_script_ref): New function prototype.
19786 (grub_script_unref): New function prototype.
19787
19788 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19789 extcmd form to support block arguments.
19790 * grub-core/script/argv.c: Block arguments support.
19791 * grub-core/script/execute.c: Likewise.
19792 * grub-core/script/lexer.c: Likewise.
19793 * grub-core/script/main.c: Likewise.
19794 * grub-core/script/script.c: Likewise.
19795 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19796 non-terminals.
19797
19798 * grub-core/commands/acpi.c: Update extcmd implementations with
19799 grub_extcmd_context_t.
19800 * grub-core/commands/cat.c: Likewise.
19801 * grub-core/commands/echo.c: Likewise.
19802 * grub-core/commands/extcmd.c: Likewise.
19803 * grub-core/commands/hashsum.c: Likewise.
19804 * grub-core/commands/hdparm.c: Likewise.
19805 * grub-core/commands/help.c: Likewise.
19806 * grub-core/commands/hexdump.c: Likewise.
19807 * grub-core/commands/i386/cpuid.c: Likewise.
19808 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19809 * grub-core/commands/i386/pc/halt.c: Likewise.
19810 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19811 * grub-core/commands/iorw.c: Likewise.
19812 * grub-core/commands/keystatus.c: Likewise.
19813 * grub-core/commands/loadenv.c: Likewise.
19814 * grub-core/commands/ls.c: Likewise.
19815 * grub-core/commands/lspci.c: Likewise.
19816 * grub-core/commands/memrw.c: Likewise.
19817 * grub-core/commands/probe.c: Likewise.
19818 * grub-core/commands/search_wrap.c: Likewise.
19819 * grub-core/commands/setpci.c: Likewise.
19820 * grub-core/commands/sleep.c: Likewise.
19821 * grub-core/disk/loopback.c: Likewise.
19822 * grub-core/hello/hello.c: Likewise.
19823 * grub-core/loader/i386/bsd.c: Likewise.
19824 * grub-core/loader/xnu.c: Likewise.
19825 * grub-core/term/gfxterm.c: Likewise.
19826 * grub-core/term/serial.c: Likewise.
19827 * grub-core/tests/lib/functional_test.c: Likewise.
19828
888d1500
BC
198292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19830
19831 Multi-line quoted strings support.
19832
19833 * grub-core/script/lexer.c (append_newline): Removed.
19834 (grub_script_lexer_yywrap): Refactored.
19835 (grub_script_lexer_init): Refactored.
19836 * grub-core/script/yylex.l (yywrap): New function.
19837 (grub_lexer_resplit): New function.
19838 (grub_lexer_unput): New function.
19839 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19840 and resplit.
19841 * tests/grub_script_echo1.in: Added few more testcases.
19842
dda060dd
VS
198432010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/kern/misc.c: Don't add abort alias in utils.
19846 Reported by: echoline.
19847
6556eba9
BC
198482010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19849
19850 Add missing files into "make dist" tarball for other platforms.
19851
19852 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19853 * conf/Makefile.common (dist_noinst_DATA): New variable.
19854 * conf/Makefile.extra-dist: Added missing make dist files.
19855 * grub-core/Makefile.core.def: Likewise.
19856
c8e7bf5f
VS
198572010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 Compress grub_prefix.
19860
19861 * grub-core/boot/i386/pc/lnxboot.S: Use
19862 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19863 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19864 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19865 GRUB_MACHINE_PREFIX_END. All users updated.
19866 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19867 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19868 + 0x40.
19869 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19870 * util/grub-mkimage.c (image_target_desc): Change data_end to
19871 prefix_end. All users updated.
19872
a7c00cdb
VS
198732010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19876 value.
19877 (grub_openbsd_boot): Likewise.
19878 (grub_netbsd_boot): Likewise.
19879 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19880 (grub_xnu_boot): Likewise.
19881
9f915872
VS
198822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * configure.ac: Clean LIBS variable after tests.
19885
efa1bee7
CW
198862010-09-02 Colin Watson <cjwatson@ubuntu.com>
19887
19888 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19889
61d720e5
VS
198902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19893 echo if libdevmapper will be used.
19894
ef8e0ec8
IT
198952010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19896
19897 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19898 constant for the same file.
19899
03e261d8
VS
199002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19903
c2a4eba6
CW
199042010-09-02 Colin Watson <cjwatson@ubuntu.com>
19905
19906 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19907 grub-core/*.pp.
19908
9056cbf3
CW
199092010-09-02 Colin Watson <cjwatson@ubuntu.com>
19910
19911 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19912 required by the boot protocol.
19913
19914 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19915 ebp and edi members.
19916 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19917 state.ebp and state.edi.
19918 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19919 %ebp and %edi according to grub_relocator32_ebp and
19920 grub_relocator32_edi respectively.
19921 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19922 and state.edi.
19923
529cc99a
VS
199242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 Add i386-pc-pxe image target.
19927
19928 * util/grub-mkimage.c (image_target_desc): New enum value
19929 IMAGE_I386_PC_PXE.
19930 (image_targets): New target i386-pc-pxe.
19931 (generate_image): Handle i386-pc-pxe image.
19932
9a093920
VS
199332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 Fix grub_pxe_scan.
19936
19937 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19938 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19939 All users updated.
19940 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19941 (grub_pxe_pxenv): Correct type.
19942
f9cefc4e
CW
199432010-09-01 Colin Watson <cjwatson@ubuntu.com>
19944
19945 * NEWS: Document most of the important changes since 1.98.
19946
4066f57f
CW
199472010-09-01 Colin Watson <cjwatson@ubuntu.com>
19948
19949 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19950 generated manual page) a little.
19951
da2891f9
CW
199522010-09-01 Colin Watson <cjwatson@ubuntu.com>
19953
19954 * docs/grub.texi: Add myself as an author.
19955
ad717fae
VS
199562010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * Makefile.util.def (libgrub.a): Add missing sunpc.
19959 Reported by: Seth Goldberg.
19960
eefe8abd
VS
199612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 Interrupt wrapping and code simplifications.
19964
9494ef9a
VS
19965 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19966 x86_noieee1275 which are functionaly equivalent in this case.
19967 (grub-install): Make source on each platform explicit. Enable on
19968 all noemu.
19969 * gentpl.py (x86_efi_pc): Removed group.
19970 (x86_noefi): Likewise.
19971 (i386_noefi): Likewise.
19972 (x86_noieee1275): Likewise.
19973 (i386_noieee1275): Likewise.
19974 (i386_noefi_noieee1275): Likewise.
19975 (i386_pc_qemu_coreboot): Likewise.
19976 (i386_coreboot_multiboot): Likewise.
19977 (i386_pc_coreboot_multiboot_qemu): Likewise.
19978 (x86_noefi_mips): Likewise.
19979 (noieee1275): Likewise.
19980 (ieee1275_mips): Likewise.
19981 (noemu_noieee1275): Likewise.
19982 (cmos): New group.
19983 (usb): Likewise.
19984 (videoinkernel): Likewise.
19985 (videomodules): Likewise.
eefe8abd 19986 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19987 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19988 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19989 include/grub/loader.h, include/grub/msdos_partition.h,
19990 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19991 include/grub/machine/console.h, include/grub/machine/vga.h,
19992 include/grub/machine/vbe.h, include/grub/machine/init.h,
19993 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19994 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19995 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19996 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19997 * grub-core/Makefile.core.def (kernel): Explicit the source for
19998 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19999 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20000 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20001 Use videoinkernel tag.
20002 (usb): Enable on all usb.
20003 (usbserial_common): Likewise.
20004 (usbserial_pl2303): Likewise.
20005 (usbserial_ftdi): Likewise.
20006 (uhci): Enable on all x86.
20007 (ohci): Enable on all pci.
20008 (cmostest): Enable on all CMOS.
20009 (acpi): Include commands/acpi.c on all platforms.
20010 (halt): Add relevant lib/*/halt.c.
20011 (hdparm): Enable on all pci.
20012 (lspci): Likewise.
20013 (usbtest): Enable on all usb.
20014 (ata): Enable on all pci.
20015 (ata_pthru): Likewise.
20016 (usbms): Enable on all usb.
20017 (usb_keyboard): Likewise.
20018 (font): Use tag videomodules.
20019 (bufio): Likewise.
20020 (datetime): Use tag cmos. Enable on all noemu.
20021 (mmap): Use tags common and x86.
20022 (gfxterm): Use tag videomodules.
20023 (bitmap): Likewise.
20024 (bitmap_scale): Likewise.
20025 (video_fb): Likewise.
20026 (video): Likewise.
20027 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20028 adjust padding accordingly. All users updated.
20029 (grub_ohci_transaction): Fix bad format specification.
20030 (GRUB_MOD_INIT): Add asserts for struct size.
20031 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20032 (grub_alloc_td): Likewise.
20033 (grub_free_queue): Likewise.
20034 (grub_uhci_transfer): Likewise.
20035 (grub_uhci_transaction): Fix bad format specification.
20036 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20037 (grub_usb_bulk_readwrite): Likewise.
20038 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20039 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20040 Made static.
20041 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20042 Made static.
20043 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20044 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20045 Transformed into C.
20046 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20047 Moved from here ...
20048 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20049 ... here. Transformed into C. Made static.
20050 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20051 Moved from here ...
20052 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20053 ... here. Transformed into C. Made static.
20054 * grub-core/kern/i386/pc/startup.S
20055 (grub_biosdisk_check_int13_extensions): Moved from here ...
20056 * grub-core/disk/i386/pc/biosdisk.c
20057 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20058 Made static.
20059 * grub-core/kern/i386/pc/startup.S
20060 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20061 * grub-core/disk/i386/pc/biosdisk.c
20062 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20063 Transformed into C. Made static.
20064 * grub-core/kern/i386/pc/startup.S
20065 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20066 * grub-core/disk/i386/pc/biosdisk.c
20067 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20068 Transformed into C. Made static.
20069 * grub-core/kern/i386/pc/startup.S
20070 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20071 * grub-core/disk/i386/pc/biosdisk.c
20072 (grub_biosdisk_get_diskinfo_standard): ... here.
20073 Transformed into C. Made static.
20074 * grub-core/kern/i386/pc/startup.S
20075 (grub_biosdisk_get_num_floppies): Moved from here ...
20076 * grub-core/disk/i386/pc/biosdisk.c
20077 (grub_biosdisk_get_num_floppies): ... here.
20078 Transformed into C. Made static.
20079 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20080 New function.
20081 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20082 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20083 Transformed into C. Made static.
20084 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20085 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20086 Transformed into C. Made static.
20087 * grub-core/kern/i386/ieee1275/init.c: Removed.
20088 * grub-core/kern/i386/misc.S: Likewise.
20089 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20090 Splitted from here ...
20091 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20092 Transformed into C. Made static. All users updated.
20093 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20094 Transformed into C. Made static. All users updated.
20095 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20096 Moved from here...
20097 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20098 Transformed into C. Made static. All users updated.
20099 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20100 Moved from here...
20101 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20102 Transformed into C. Made static. All users updated.
20103 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20104 Removed (replaced by C version).
20105 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20106 Moved from here...
20107 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20108 Transformed into C. Made static.
20109 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20110 Moved from here...
20111 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20112 ... here. Transformed into C.
20113 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20114 Moved from here...
20115 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20116 ... here. Transformed into C.
20117 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20118 Moved from here...
20119 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20120 ... here. Transformed into C. Made static.
20121 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20122 Moved from here...
20123 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20124 ... here. Transformed into C.
21ed554b
VS
20125 * grub-core/kern/i386/pc/startup.S
20126 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20127 * grub-core/video/i386/pc/vbe.c
20128 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20129 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20130 Moved from here...
20131 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20132 ... here. Transformed into C.
20133 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20134 Moved from here...
20135 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20136 ... here. Transformed into C.
20137 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20138 Moved from here...
20139 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20140 ... here. Transformed into C.
20141 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20142 Moved from here...
20143 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20144 ... here. Transformed into C.
20145 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20146 Moved from here...
20147 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20148 ... here. Transformed into C. Made static.
20149 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20150 Moved from here...
20151 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20152 ... here. Transformed into C. Made static.
20153 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20154 Moved from here...
20155 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20156 ... here. Transformed into C. Made static.
20157 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20158 pxe_rm_entry as third argument.
20159 (grub_bios_interrupt): New function.
20160 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20161 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20162 of calling grub_stop.
20163 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20164 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20165 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20166 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20167 * grub-core/lib/i386/halt.c: Moved from here ...
20168 * grub-core/lib/i386/halt.c: ... here.
20169 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20170 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20171 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20172 grub_stop_floppy.
20173 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20174 * include/grub/i386/coreboot/init.h: Removed.
20175 * include/grub/i386/multiboot/init.h: Likewise.
20176 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20177 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20178 * include/grub/i386/pc/int.h: New file.
20179 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20180 (grub_pxe_scan): Removed.
20181 (grub_pxe_call): Update prototype.
20182 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20183 prototypes.
20184 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20185 * include/grub/i386/qemu/init.h: Removed.
20186 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20187 noreturn.
20188 (grub_halt): Likewise.
20189 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20190 (grub_reboot): Likewise.
20191 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20192 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20193 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20194
215dd471
RM
201952010-08-30 Robert Millan <rmh@gnu.org>
20196
20197 * NEWS: Document addition of ZFS support in `grub-install' and
20198 `grub-mkconfig'.
20199
ebd65b82
BC
202002010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20201
20202 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20203 dprintf output.
20204
11721d19
VS
202052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20206
20207 Remove leftover embedding of font objects.
20208
20209 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20210 * util/grub-install.in (font): Removed.
20211 * util/grub-mkimage.c (generate_image): Remove font support. All users
20212 updated.
20213
37837d4e
VS
202142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 Remove leftover embedding of font objects.
20217
20218 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20219 * util/grub-install.in (font): Removed.
20220 * util/grub-mkimage.c (generate_image): Remove font support. All users
20221 updated.
20222
b4c1aae0
VS
202232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20226 Reported by: Ian Turner
b4c1aae0 20227
8920a08d
VS
202282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20231 timeout to avoid indefinite boot stalling.
20232
f21db033
VS
202332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20236 (grub_env_write_color_highlight): Likewise.
20237
9a9de209
VS
202382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * grub-core/normal/term.c (print_more): Return to normal and not
20241 to standard state after printing "---MORE---".
20242
3dca01d7
VS
202432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20246 Mask out the bit 0x80 since it has other meaning that specifiing color.
20247
0b986c40
VS
202482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 New relocator. Allows for more kernel support and more straightforward
20251 loader writing.
20252
20253 * Makefile.am (BOOTTARGET): New variable.
20254 (QEMU32): Likewise.
20255 (linux.init.x86_64): New target.
20256 (linux.init.i386): Likewise.
20257 (multiboot.elf): Likewise.
20258 (kfreebsd.elf): Likewise.
20259 (kfreebsd.aout): Likewise.
20260 (pc-chainloader.elf): Likewise.
20261 (pc-chainloader.bin): Likewise.
20262 (ntldr.elf): Likewise.
20263 (ntldr.bin): Likewise.
20264 (multiboot2.elf): Likewise.
20265 (kfreebsd.init.x86_64): Likewise.
20266 (kfreebsd.init.i386): Likewise.
20267 (knetbsd.init.i386): Likewise.
20268 (kopenbsd.init.i386): Likewise.
20269 (knetbsd.init.x86_64): Likewise.
20270 (kopenbsd.init.x86_64): Likewise.
20271 (linux-initramfs.i386): Likewise.
20272 (linux-initramfs.x86_64): Likewise.
20273 (kfreebsd-mfsroot.i386.img): Likewise.
20274 (knetbsd.image.i386): Likewise.
20275 (kopenbsd.image.i386): Likewise.
20276 (kopenbsd.image.x86_64): Likewise.
20277 (knetbsd.miniroot-image.i386.img): Likewise.
20278 (kfreebsd-mfsroot.x86_64.img): Likewise.
20279 (knetbsd.image.x86_64): Likewise.
20280 (knetbsd.miniroot-image.x86_64.img): Likewise.
20281 (kfreebsd-mfsroot.i386.gz): Likewise.
20282 (bootcheck-kfreebsd-i386): Likewise.
20283 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20284 (bootcheck-kfreebsd-x86_64): Likewise.
20285 (knetbsd.miniroot-image.i386.gz): Likewise.
20286 (bootcheck-knetbsd-i386): Likewise.
20287 (bootcheck-kopenbsd-i386): Likewise.
20288 (bootcheck-kopenbsd-x86_64): Likewise.
20289 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20290 (bootcheck-knetbsd-x86_64): Likewise.
20291 (bootcheck-linux-i386): Likewise.
20292 (bootcheck-linux-x86_64): Likewise.
20293 (bootcheck-linux16-i386): Likewise.
20294 (bootcheck-linux16-x86_64): Likewise.
20295 (bootcheck-multiboot): Likewise.
20296 (bootcheck-multiboot2): Likewise.
20297 (bootcheck-kfreebsd-aout): Likewise.
20298 (bootcheck-pc-chainloader): Likewise.
20299 (bootcheck-ntldr): Likewise.
20300 (CLEANFILES): Add new targets.
20301 (BOOTCHECKS): New variable.
20302 (.PHONY): Add bootchecks.
20303 (SUCCESSFUL_BOOT_STRING): New variable.
20304 (BOOTCHECK_TIMEOUT): Likewise.
20305 (bootcheck): New target
20306 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20307 * configure.ac: Correct efiemu excuse.
20308 * docs/grub.texi (Supported kernels): New chapter.
20309 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20310 include/grub/mm_private.h. Simplify inclusion of
20311 include/grub/boot.h, include/grub/loader.h
20312 and include/grub/msdos_partition.h
20313 (KERNEL_HEADER_FILES) [i386_coreboot]:
20314 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20315 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20316 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20317 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20318 include/grub/machine/loader.h.
20319 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20320 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20321 extra_dist.
20322 (pci.mod): Enable on i386-multiboot.
20323 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20324 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20325 i386-qemu.
20326 (relocator.mod): Rewritten.
20327 (aout.mod): Enable on all x86.
20328 (bsd.mod): Likewise.
20329 (ntldr.mod): New module.
20330 (linux.mod): Use loader/i386/linux.c on all x86.
20331 (xnu.mod): Enable on all x86.
20332 (vga_text.mod): disable on EFI and QEMU.
20333 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20334 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20335 * grub-core/efiemu/loadcore.c: Likewise.
20336 * grub-core/efiemu/main.c: Likewise.
20337 (grub_efiemu_exit_boot_services): Removed.
20338 (grub_efiemu_finish_boot_services): Likewise.
20339 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20340 function.
20341 * grub-core/efiemu/i386/nocfgtables.c: New file.
20342 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20343 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20344 (grub_efi_finish_boot_services): Moved from here ...
20345 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20346 Fille finish memory map and related data.
20347 (finish_mmap_buf): New variable.
20348 (grub_efi_uintn_t finish_mmap_size): Likewise.
20349 (grub_efi_uintn_t finish_key): Likewise.
20350 (grub_efi_uintn_t finish_desc_size): Likewise.
20351 (grub_efi_uint32_t finish_desc_version): Likewise.
20352 (grub_efi_is_finished): Likewise.
20353 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20354 finished.
20355 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20356 (grub_elf64_phdr_iterate): Likewise.
20357 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20358 (grub_os_area_size): Likewise.
20359 (grub_machine_init): Don't reserve os area.
20360 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20361 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20362 * grub-core/kern/i386/loader.S: Removed.
20363 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20364 (grub_os_area_size): Likewise.
20365 (grub_machine_init): Don't reserve os area.
20366 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20367 Don't call grub_dl_unload_all.
20368 Don't include loader.S.
20369 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20370 Declare the memory after _end as available.
20371 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20372 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20373 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20374 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20375 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20376 * include/grub/mm_private.h (grub_mm_header): ... here.
20377 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20378 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20379 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20380 (grub_mm_region): ..here. Removed addr. Added pre_size.
20381 All users updated.
20382 * grub-core/kern/mm.c (base): Renamed to ...
20383 (grub_mm_base): ... this. Made global.
20384 (grub_real_malloc): Alloc from end of region.
20385 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20386 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20387 * grub-core/kern/powerpc/cache_flush.S: ... here.
20388 * grub-core/lib/efi/relocator.c: New file.
20389 * grub-core/lib/i386/relocator.c: Rewritten.
20390 * grub-core/lib/i386/relocator16.S: New file.
20391 * grub-core/lib/i386/relocator32.S: Likewise.
20392 * grub-core/lib/i386/relocator64.S: Likewise.
20393 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20394 * grub-core/lib/i386/relocator_common.S: New file.
20395 * grub-core/lib/ieee1275/relocator.c: Likewise.
20396 * grub-core/lib/mips/relocator.c: Rewritten.
20397 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20398 stylistic adjustments.
20399 * grub-core/lib/powerpc/relocator.c: New file.
20400 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20401 * grub-core/lib/relocator.c: Rewritten.
20402 * grub-core/lib/x86_64/relocator_asm.S: New file.
20403 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20404 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20405 (bsd_tag): New struct.
20406 (tags): New variable.
20407 (tags_last): Likewise.
20408 (netbsd_module): New struct.
20409 (netbsd_mods): New variable.
20410 (netbsd_mods_last): Likewise.
20411 (openbsd_opts): New parameter "serial".
20412 (OPENBSD_SERIAL_ARG): New definition.
20413 (netbsd_opts): New parameter "serial".
20414 (NETBSD_SERIAL_ARG): New definition.
20415 (grub_freebsd_add_meta): Reorganised into ...
20416 (grub_bsd_add_meta): ...this. All users updated.
20417 (grub_freebsd_add_mmap): Reorganised into ...
20418 (generate_e820_mmap): ...this...
20419 (grub_bsd_add_mmap): ...and this. All users updated.
20420 (grub_freebsd_list_modules): Use tags.
20421 (grub_netbsd_add_meta_module): New function.
20422 (grub_netbsd_list_modules): Likewise.
20423 (grub_freebsd_boot): Use relocator and finish EFI.
20424 (grub_openbsd_boot): Likewise.
20425 (grub_netbsd_setup_video): New function.
20426 (grub_netbsd_add_modules): Likewise.
20427 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20428 and finish EFI.
20429 (grub_bsd_unload): Unload tags.
20430 (grub_bsd_load_aout): Use relocator.
20431 (grub_bsd_elf32_size_hook): New function.
20432 (grub_bsd_elf32_hook): Use relocator.
20433 (grub_bsd_elf64_size_hook): New function.
20434 (grub_bsd_elf64_hook): Use relocator.
20435 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20436 (grub_bsd_load): Zero-out openbsd_ramdisk.
20437 (grub_bsd_load): Use relocator.
20438 (grub_cmd_openbsd): Support serial.
20439 (grub_cmd_netbsd): Support modules.
20440 (grub_cmd_freebsd_module): Use relocator.
20441 (grub_netbsd_module_load): New function.
20442 (grub_cmd_netbsd_module): Likewise.
20443 (grub_cmd_openbsd_ramdisk): Likewise.
20444 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20445 kopenbsd_ramdisk.
20446 (GRUB_MOD_FINI): Unregister new commands.
20447 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20448 (grub_freebsd_load_elfmodule_obj): Use relocator.
20449 (grub_freebsd_load_elfmodule): Likewise.
20450 (grub_freebsd_load_elf_meta): Likewise.
20451 (grub_netbsd_load_elf_meta): New function.
20452 (grub_openbsd_find_ramdisk): Likewise.
20453 * grub-core/loader/i386/bsd_helper.S: Removed.
20454 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20455 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20456 * grub-core/loader/i386/efi/linux.c: Likewise.
20457 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20458 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20459 (DEFAULT_VIDEO_MODE): Likewise.
20460 (real_mode_target): New variable.
20461 (prot_mode_target): Likewise.
20462 (initrd_mem_target): Likewise.
20463 (relocator): Likewise.
20464 (efi_mmap_buf): Likewise.
20465 (efi_mmap_size): Likewise.
20466 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20467 (free_pages): Use relocator.
20468 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20469 (grub_linux_setup_video): Return error.
20470 (grub_linux_trampoline_start): Removed.
20471 (grub_linux_trampoline_end): Likewise.
20472 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20473 andd video parameters depending on firmware.
20474 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20475 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20476 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20477 (grub_cmd_initrd): Use relocator.
20478 * grub-core/loader/i386/linux_trampoline.S: Removed.
20479 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20480 (elf_sec_entsize): Likewise.
20481 (elf_sec_shstrndx): Likewise.
20482 (elf_sections): Likewise.
20483 (grub_multiboot_load): Use relocator.
20484 (grub_multiboot_get_mbi_size): Account for sections.
20485 (grub_multiboot_make_mbi): Use relocator and support sections.
20486 (grub_multiboot_add_elfsyms): New function.
20487 (grub_multiboot_free_mbi): Free sections.
20488 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20489 (grub_linux_real_target): Likewise.
20490 (grub_linux_real_chunk): Likewise.
20491 (grub_linux16_prot_size): Likewise.
20492 (grub_linux16_boot): Use relocator.
20493 (grub_linux_unload): Unload relocator.
20494 (grub_cmd_linux): Use relocator.
20495 (grub_cmd_initrd): Likewise.
20496 * grub-core/loader/i386/pc/ntldr.c: New file.
20497 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20498 Don't try to guess CPU frequency.
20499 (grub_xnu_set_video): Stretch bitmap.
20500 (grub_xnu_boot): Use relocator.
20501 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20502 (grub_linux_unload): Free relocator.
20503 (grub_linux_load32): Use relocator.
20504 (grub_linux_load64): Likewise.
20505 (grub_cmd_initrd): Likewise.
20506 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20507 (grub_multiboot_unload): Unload relocator.
20508 (grub_cmd_multiboot): Use relocator.
20509 (grub_cmd_module): Likewise.
20510 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20511 Use relocator and support sections.
20512 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20513 (elf_sec_entsize): Likewise.
20514 (elf_sec_shstrndx): Likewise.
20515 (elf_sections): Likewise.
20516 (grub_multiboot_load): Use relocator.
20517 (grub_multiboot_get_mbi_size): Account for sections.
20518 (grub_multiboot_make_mbi): Use relocator and support sections.
20519 (grub_multiboot_add_elfsyms): New function.
20520 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20521 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20522 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20523 Prototype changed. All users updated.
20524 (grub_xnu_align_heap): Simplified.
20525 (grub_xnu_writetree_toheap): Likewise.
20526 (grub_xnu_unload): Unload relocator.
20527 (grub_cmd_xnu_kernel): Use relocator.
20528 (grub_cmd_xnu_kernel64): Likewise.
20529 (grub_xnu_register_memory): Simplified.
20530 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20531 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20532 EFI is finished.
20533 (grub_console_checkkey): Likewise.
20534 (grub_console_getkey): Likewise.
20535 (grub_console_getwh): Likewise.
20536 (grub_console_getxy): Likewise.
20537 (grub_console_gotoxy): Likewise.
20538 (grub_console_cls): Likewise.
20539 (grub_console_setcolorstate): Likewise.
20540 (grub_console_setcursor): Likewise.
20541 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20542 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20543 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20544 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20545 * grub-core/tests/boot/kernel-8086.S: Likewise.
20546 * grub-core/tests/boot/kernel-i386.S: Likewise.
20547 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20548 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20549 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20550 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20551 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20552 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20553 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20554 * grub-core/tests/boot/linux.cfg: Likewise.
20555 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20556 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20557 * grub-core/tests/boot/linux16.cfg: Likewise.
20558 * grub-core/tests/boot/multiboot.cfg: Likewise.
20559 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20560 * grub-core/tests/boot/ntldr.cfg: Likewise.
20561 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20562 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20563 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20564 New definition.
20565 * include/grub/dl.h (grub_dl_unload_all): Removed.
20566 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20567 (grub_efi_finish_boot_services): Change prototype.
20568 (grub_efi_is_finished): New variable.
20569 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20570 Changed prototype.
20571 (grub_efiemu_finish_boot_services): Removed.
20572 (grub_machine_efiemu_init_tables): New prototype.
20573 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20574 (grub_elf64_phdr_iterate): Likewise.
20575 * include/grub/i386/bsd.h: Include relocator.h.
20576 (freebsd_tag_header): New struct.
20577 (grub_openbsd_bios_mmap): Removed.
20578 (grub_unix_real_boot): Removed.
20579 (grub_freebsd_load_elfmodule32): Changed prototype.
20580 (grub_freebsd_load_elfmodule_obj64): Likewise.
20581 (grub_freebsd_load_elf_meta32): Likewise.
20582 (grub_freebsd_load_elf_meta64): Likewise.
20583 (grub_freebsd_add_meta): Removed.
20584 (grub_netbsd_load_elf_meta32): New prototype.
20585 (grub_netbsd_load_elf_meta64): Likewise.
20586 (grub_bsd_add_meta): Likewise.
20587 (grub_openbsd_ramdisk_descriptor): New struct.
20588 (grub_openbsd_find_ramdisk32): New prototype.
20589 (grub_openbsd_find_ramdisk64): Likewise.
20590 * include/grub/i386/coreboot/loader.h: Removed.
20591 * include/grub/i386/efi/loader.h: Likewise.
20592 * include/grub/i386/ieee1275/loader.h: Likewise.
20593 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20594 to grub_uint32_t.
20595 * include/grub/i386/loader.h: Removed.
20596 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20597 value.
20598 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20599 (grub_phys_addr_t): New type.
20600 (grub_vtop): New inline function.
20601 (grub_map_memory): Likewise.
20602 (grub_unmap_memory): Likewise.
20603 * include/grub/i386/multiboot/loader.h: Removed.
20604 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20605 (NETBSD_BTINFO_CONSOLE): New definition.
20606 (NETBSD_BTINFO_SYMTAB): Likewise.
20607 (NETBSD_BTINFO_MODULES): Likewise.
20608 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20609 (grub_netbsd_bootinfo): New struct.
20610 (grub_netbsd_btinfo_common): Use explicit bitsize.
20611 (grub_netbsd_btinfo_mmap_entry): Removed.
20612 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20613 (grub_netbsd_btinfo_bootdisk): New struct.
20614 (grub_netbsd_btinfo_symtab): Likewise.
20615 (grub_netbsd_btinfo_serial): Likewise.
20616 (grub_netbsd_btinfo_modules): Likewise.
20617 (grub_netbsd_btinfo_framebuf): Likewise.
20618 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20619 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20620 Likewise.
20621 (grub_openbsd_bootargs): Use explicit bitsize.
20622 (grub_openbsd_bootarg_console): New struct.
20623 (GRUB_OPENBSD_COM_MAJOR): New definition.
20624 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20625 * include/grub/i386/pc/efiemu.h: Removed.
20626 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20627 * include/grub/i386/qemu/loader.h: Removed.
20628 * include/grub/i386/relocator.h: Rewritten.
20629 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20630 * include/grub/mips/memory.h: New file.
20631 * include/grub/mips/multiboot.h: Rewritten.
20632 * include/grub/mips/relocator.h: Rewritten.
20633 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20634 (grub_vtop): New function.
20635 (grub_map_memory): Likewise.
20636 (grub_unmap_memory): Likewise.
20637 * include/grub/misc.h (ALIGN_DOWN): New definition.
20638 * include/grub/mm.h (grub_mm_check_real): New proto.
20639 (GRUB_MM_CHECK): New definition.
20640 * include/grub/mm_private.h: New file.
20641 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20642 (grub_multiboot_get_mbi_size): Removed.
20643 (grub_multiboot_make_mbi): Change prottype.
20644 (grub_multiboot_set_accepts_video): New proto.
20645 (grub_multiboot_add_elfsyms): Likewise.
20646 (grub_multiboot_payload_eip): New variable.
20647 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20648 New prototype.
20649 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20650 New definition.
20651 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20652 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20653 * include/grub/powerpc/ieee1275/loader.h: Removed.
20654 * include/grub/powerpc/memory.h: New file.
20655 * include/grub/powerpc/relocator.h: Likewise.
20656 * include/grub/relocator.h: Likewise.
20657 * include/grub/relocator_private.h: Likewise.
20658 * include/grub/sparc64/ieee1275/loader.h: Removed.
20659 * include/grub/x86_64/memory.h: New file.
20660 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20661 (grub_xnu_heap_malloc): Likewise.
20662 (grub_xnu_heap_real_start): Removed.
20663 (grub_xnu_heap_start): Likewise.
20664 (grub_xnu_relocator): New variable.
20665 (grub_xnu_heap_target_start): Likewise.
20666 * tests/util/grub-shell.in: Support non-pc.
20667 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20668
5303b85d
VS
206692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20672 on malloc error.
20673 (grub_bidi_logical_to_visual): Check that malloc succeded.
20674 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20675 puts.
20676 (grub_xputs_normal): Likewise.
20677
d768d159
VS
206782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20681 extra_dist.
20682
206832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20686
5bf84df4
VS
206872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20690
3626810e
VS
206912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20694 dprintf.
20695
a7363f53
BC
206962010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20697
20698 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20699
902f75f6
VS
207002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 * grub-core/normal/term.c (print_more): Fix a memory leak.
20703 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20704 (grub_xputs_normal): Likewise.
20705
3c707967
VS
207062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20709 the begining of the string
20710
2053cc07
VS
207112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 * grub-core/script/script.c (grub_script_parse): Free parsed on
20714 failure.
20715
46422ebf
VS
207162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20719 on failure.
20720
9e0fa3f6
VS
207212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20722
20723 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20724 return.
20725
3393cf16
VS
207262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20729 (scroll_up): Fix a memory leak.
20730
b17540cb
VS
207312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20734 errors.
20735
67140446
VS
207362010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 Handle USB pendrives exposed as floppies.
20739
20740 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20741 floppy.
20742 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20743 Check for partitions on all devices.
20744
e35e46fc
VS
207452010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20748 (readkey): Likewise.
20749
d24c6190
BC
207502010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20751
20752 Multiple variable names support to "export" command.
20753
20754 * normal/context.c (grub_cmd_export): "export" command supports
20755 multiple variable names.
20756
04ddcc6a
ST
207572010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20758
20759 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20760 --target=drive output to Mach device name.
20761
0c8b61d8
BC
207622010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20763
20764 New Automake based build system for GRUB.
20765
20766 * ABOUT-NLS: New file.
20767 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20768 in Makefile.util.def file.
20769 * Makefile.util.def: New file. Autogen build definitions file for
20770 GRUB host utils.
20771 * conf/Makefile.common: New file. Common variables for GRUB host
20772 utils and target modules.
20773 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20774 * docs/Makefile.am: New file. Automake file for docs.
20775 * gentpl.py: New file. Python script to generate Autogen
20776 template.
20777 * grub-core/Makefile.am: New file. GRUB target modules' rules
20778 that doesn't fit in Makefile.core.def file.
20779 * grub-core/Makefile.core.def: New file. Autogen build
20780 definitions file for GRUB target modules.
20781 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20782 specific setjmp.S file.
20783 * po/Makefile.am: New file.
20784
20785 * .bzrignore: New ignores.
20786 * INSTALL: New requirements, without Ruby.
20787 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20788 * autogen.sh: Updated to invoke autogen as necessary.
20789 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20790 and defines for Automake conditionals.
20791 * geninit.sh: Refactoring.
20792
20793 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20794 necessary.
20795 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20796 New prototype.
20797
20798 * include/grub/test.h: Fix functional test modules' naming.
20799 * grub-core/tests/example_functional_test.c: Fix test module name.
20800
20801 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20802 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20803 * util/grub-editenv.c: Likewise.
20804 * util/grub-fstest.c: Likewise.
20805 * util/grub-mkdevicemap.c: Likewise.
20806 * util/grub-mkfont.c: Likewise.
20807 * util/grub-mkimage.c: Likewise.
20808 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20809 * util/grub-probe.c: Likewise.
20810 * util/grub-script-check.c: Likewise.
20811 * util/i386/pc/grub-setup.c: Likewise.
20812 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20813
20814 * tests/util/grub-shell.in: Fix override directory path.
20815 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20816 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20817
20818 * util/lvm.c: Update #includes.
20819 * util/raid.c: Likewise.
20820 * util/resolve.c: Likewise.
20821 * grub-core/bus/emu/pci.c: Likewise.
20822 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20823 * grub-core/lib/posix_wrap/string.h: Likewise.
20824 * grub-core/kern/emu/main.c: Likewise.
20825
20826 * grub-core/gensymlist.sh: New file. Script for generating kernel
20827 symbols file.
20828 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20829
20830 * grub-core/gentrigtables.c: Fix unused variable warnings.
20831
20832 * Makefile.in: Removed.
20833 * conf/any-emu.rmk: Removed.
20834 * conf/common.rmk: Removed.
20835 * conf/i386-coreboot.rmk: Removed.
20836 * conf/i386-efi.rmk: Removed.
20837 * conf/i386-ieee1275.rmk: Removed.
20838 * conf/i386-multiboot.rmk: Removed.
20839 * conf/i386-pc.rmk: Removed.
20840 * conf/i386-qemu.rmk: Removed.
20841 * conf/i386.rmk: Removed.
20842 * conf/mips-yeeloong.rmk: Removed.
20843 * conf/mips.rmk: Removed.
20844 * conf/powerpc-ieee1275.rmk: Removed.
20845 * conf/sparc64-ieee1275.rmk: Removed.
20846 * conf/tests.rmk: Removed.
20847 * conf/x86-efi.rmk: Removed.
20848 * conf/x86_64-efi.rmk: Removed.
20849 * gendistlist.sh: Removed.
20850 * geninitheader.sh: Removed.
20851 * genkernsyms.sh.in: Removed.
20852 * genmk.rb: Removed.
20853 * gensymlist.sh.in: Removed.
20854 * mkinstalldirs: Removed.
20855 * boot: Moved ...
20856 * grub-core/boot: ... to here.
20857 * bus: Moved ...
20858 * grub-core/bus: ... to here.
20859 * commands: Moved ...
20860 * grub-core/commands: ... to here.
20861 * disk: Moved ...
20862 * grub-core/disk: ... to here.
20863 * efiemu: Moved ...
20864 * grub-core/efiemu: ... to here.
20865 * font: Moved ...
20866 * grub-core/font: ... to here.
20867 * fs: Moved ...
20868 * grub-core/fs: ... to here.
20869 * gencmdlist.sh: Moved ...
20870 * grub-core/gencmdlist.sh: ... to here.
20871 * genemuinit.sh: Moved ...
20872 * grub-core/genemuinit.sh: ... to here.
20873 * genemuinitheader.sh: Moved ...
20874 * grub-core/genemuinitheader.sh: ... to here.
20875 * genfslist.sh: Moved ...
20876 * grub-core/genfslist.sh: ... to here.
20877 * genhandlerlist.sh: Moved ...
20878 * grub-core/genhandlerlist.sh: ... to here.
20879 * genmoddep.awk: Moved ...
20880 * grub-core/genmoddep.awk: ... to here.
20881 * genmodsrc.sh: Moved ...
20882 * grub-core/genmodsrc.sh: ... to here.
20883 * genpartmaplist.sh: Moved ...
20884 * grub-core/genpartmaplist.sh: ... to here.
20885 * genparttoollist.sh: Moved ...
20886 * grub-core/genparttoollist.sh: ... to here.
20887 * genterminallist.sh: Moved ...
20888 * grub-core/genterminallist.sh: ... to here.
20889 * gentrigtables.c: Moved ...
20890 * grub-core/gentrigtables.c: ... to here.
20891 * genvideolist.sh: Moved ...
20892 * grub-core/genvideolist.sh: ... to here.
20893 * gettext: Moved ...
20894 * grub-core/gettext: ... to here.
20895 * gfxmenu: Moved ...
20896 * grub-core/gfxmenu: ... to here.
20897 * gnulib: Moved ...
20898 * grub-core/gnulib: ... to here.
20899 * hello: Moved ...
20900 * grub-core/hello: ... to here.
20901 * hook: Moved ...
20902 * grub-core/hook: ... to here.
20903 * io: Moved ...
20904 * grub-core/io: ... to here.
20905 * kern: Moved ...
20906 * grub-core/kern: ... to here.
20907 * lib: Moved ...
20908 * grub-core/lib: ... to here.
20909 * loader: Moved ...
20910 * grub-core/loader: ... to here.
20911 * mmap: Moved ...
20912 * grub-core/mmap: ... to here.
20913 * normal: Moved ...
20914 * grub-core/normal: ... to here.
20915 * partmap: Moved ...
20916 * grub-core/partmap: ... to here.
20917 * parttool: Moved ...
20918 * grub-core/parttool: ... to here.
20919 * script: Moved ...
20920 * grub-core/script: ... to here.
20921 * term: Moved ...
20922 * grub-core/term: ... to here
20923 * tests/example_functional_test.c: Moved ...
20924 * grub-core/tests/example_functional_test.c: ... to here.
20925 * tests/lib/functional_test.c: Moved ...
20926 * grub-core/tests/lib/functional_test.c: ... to here.
20927 * tests/lib/test.c: Moved ...
20928 * grub-core/tests/lib/test.c: ... to here.
20929 * video: Moved ...
20930 * grub-core/video: ... to here.
20931
645586e6
BC
209322010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20933
20934 Replace --enable-grub-emu-modules with grub-emu-lite.
20935
20936 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20937 cache.S.
20938
20939 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20940 * kern/emu/full.c: New file. For grub-emu specific initialization.
20941 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20942 * kern/emu/main.c: Call initialization function grub_emu_init.
20943
20944 * Makefile.in: Include grub-emu-lite in install.
20945 * commands/parttool.c: Use grub_no_autoload to differentiate
20946 between grub-emu and grub-emu-lite.
20947 * include/grub/misc.h: New variable grub_no_autoload.
20948
20949 * conf/any-emu.rmk: New rules for grub-emu-lite.
20950 * configure.ac: Remove --enable-grub-emu-modules.
20951 * genmk.rb: Cleanup unnecessary rules.
20952 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20953
20954 * normal/main.c: Don't load list files on grub-emu-lite.
20955 * util/misc.c (grub_arch_sync_caches): Removed.
20956
f86a4030
CW
209572010-08-23 Colin Watson <cjwatson@ubuntu.com>
20958
20959 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20960 grub-mkimage rather than grub-mkelfimage.
20961 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20962
06776944
VS
209632010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20966 a key after CapsLock or NumLock. It's just a qemu bug.
20967
df262419
VS
209682010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20971 needed by libusb wrapper.
20972
b40ea81b
ST
209732010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20974
20975 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20976
dee50575
VS
209772010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20980 --nounzip is passed.
20981
fb1d7b79
VS
209822010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 USB hotunplugging and USB serial support.
20985
20986 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20987 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20988 (grub_uhci_transfer): Respect timeout and set *actual.
20989 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20990 non-standard length.
20991 (grub_usb_device_attach): Autoload modules.
20992 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20993 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20994 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20995 users updated.
20996 (grub_usb_add_hub): Fill nports and children.
20997 (attach_root_port): Receive hub instead of controller.
20998 All users updated. Fill hub->devices.
20999 (grub_usb_root_hub): Allocate hub->devices.
21000 (detach_device): New function.
21001 (poll_nonroot_hub): Fill children and detach devices.
21002 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21003 actual arguments. All users updated.
21004 (grub_usb_bulk_read_extended): New function.
21005 * bus/usb/serial/common.c: New file.
21006 * bus/usb/serial/ftdi.c: Likewise.
21007 * bus/usb/serial/pl2303.c: Likewise.
21008 * commands/terminal.c (handle_command): Support wildcard.
21009 * commands/usbtest.c: Output "Unknown" instead of empty string.
21010 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21011 (usbserial_common_mod_SOURCES): New variable.
21012 (usbserial_common_mod_CFLAGS): Likewise.
21013 (usbserial_common_mod_LDFLAGS): Likewise.
21014 (pkglib_MODULES): Add usbserial_pl2303.mod.
21015 (usbserial_pl2303_mod_SOURCES): New variable.
21016 (usbserial_pl2303_mod_CFLAGS): Likewise.
21017 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21018 (pkglib_MODULES): Add usbserial_ftdi.mod.
21019 (usbserial_ftdi_mod_SOURCES): New variable.
21020 (usbserial_ftdi_mod_CFLAGS): Likewise.
21021 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21022 (pkglib_MODULES): Add serial.mod.
21023 (serial_mod_SOURCES): New variable.
21024 (serial_mod_CFLAGS): Likewise.
21025 (serial_mod_LDFLAGS): Likewise.
21026 * conf/i386-pc.rmk: Likewise.
21027 * conf/mips-yeeloong.rmk: Likewise.
21028 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21029 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21030 * disk/usbms.c (first_available_slot): New variable.
21031 (grub_usbms_attach): Don't reuse free slots due to potential cache
21032 problems.
21033 * include/grub/serial.h: Moved to ..
21034 * include/grub/ns8250.h: ...this.
21035 * include/grub/serial.h: New file.
21036 * include/grub/term.h (grub_term_poll_usb): New variable.
21037 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21038 readkey. All users updated.
21039 (grub_terminfo_output_state): Pass term to put.
21040 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21041 (grub_usb_controller_dev): Add timeout and actual arguments to
21042 transfer. All users updated.
21043 (grub_usb_interface): New field detach_data.
21044 (grub_usb_device): New fields children and nports.
21045 (grub_usb_ep_type_t): New type.
21046 (grub_usb_get_ep_type): New function.
21047 (grub_usb_bulk_read_extended): Likewise.
21048 * include/grub/usbdesc.h (grub_usb_desc): New type.
21049 * include/grub/usbserial.h: New file.
21050 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21051 * kern/term.c (grub_term_poll_usb): New variable.
21052 (grub_getkey): Call grub_term_poll_usb if set.
21053 (grub_checkkey): Likewise.
21054 (grub_getkeystatus): Likewise.
21055 * term/serial.c: Moved controller-specific parts to ...
21056 * term/ns8250.c: ... here.
21057 * term/serial.c: Mostly rewritten.
21058 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21059 according to spec.
21060
21a313de
RM
210612010-08-20 Robert Millan <rmh@gnu.org>
21062
21063 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21064 a separate module and maybe other interesting combinations.
21065
21066 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21067 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21068 (kfreebsd_entry): Add generic filesystem module load routine.
21069 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21070
63c734a6
CW
210712010-08-20 Colin Watson <cjwatson@ubuntu.com>
21072
21073 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21074 "numcenter" (I misunderstood the purpose of this entry).
21075 * docs/grub.texi (sendkey): Likewise.
21076
c4d16542
CW
210772010-08-20 Colin Watson <cjwatson@ubuntu.com>
21078
21079 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21080 status flag options; simply omitting the option is equivalent and
21081 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21082 (keysym_table): Rename "num5numlock" to "numlock".
21083 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21084 can uniformly say that only the last of multiple `sendkey'
21085 invocations has any effect.
21086 * docs/grub.texi (sendkey): New section.
21087
93541d66
CW
210882010-08-19 Colin Watson <cjwatson@ubuntu.com>
21089
21090 * commands/i386/pc/sendkey.c (options): Fix three typos.
21091
b4ece5e1
VS
210922010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 Implement sendkey support.
21095
21096 * commands/i386/pc/sendkey.c: New file.
21097 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21098 (sendkey_mod_SOURCES): New variable.
21099 (sendkey_mod_CFLAGS): Likewise.
21100 (sendkey_mod_LDFLAGS): Likewise.
21101
51f1f5af
CW
211022010-08-18 Colin Watson <cjwatson@ubuntu.com>
21103
21104 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21105 fix warnings from Autoconf.
21106
9da94e05
CW
211072010-08-18 Colin Watson <cjwatson@ubuntu.com>
21108
21109 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21110 to avoid false positives with some assemblers that output things
21111 like "someprefix_func" as part of their output.
21112
729a0f2e
RM
211132010-08-15 Robert Millan <rmh@gnu.org>
21114
21115 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21116 errors.
21117 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21118 grub_get_libzfs_handle() errors.
21119
f3710e08
RM
211202010-08-14 Robert Millan <rmh@gnu.org>
21121
21122 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21123 filesystem is not ZFS.
21124
7a3c13de
BC
211252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21126
21127 Fix for misspelled color names defaulting to black/black (bug
21128 reported by Doug Nazar)
21129
21130 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21131 status to prototype.
21132 * normal/color.c (grub_parse_color_name_pair): Return failure
21133 status.
21134 (grub_env_write_color_normal): Ignore bad color names.
21135 (grub_env_write_color_highlight): Likewise.
21136 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21137
ab8ba50d
BC
211382010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21139
21140 "shift" command support to GRUB script.
21141
21142 * include/grub/script_sh.h (grub_script_shift): New prototype.
21143 * script/execute.c (grub_script_shift): New function.
21144 * script/main.c (grub_script_init): Register shift command.
21145 (grub_script_fini): Unregister shift command.
21146 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21147
21148 * tests/grub_script_shift.in: New testcase.
21149 * conf/tests.rmk: Rules for new testcase.
21150
4d61999e
BC
211512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21152
21153 "continue" command support to GRUB script.
21154
21155 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21156 (grub_script_break): Continue support.
21157 * script/main.c (grub_script_init): Register continue command.
21158 (grub_script_fini): Unregister continue command.
21159
21160 * tests/grub_script_continue.in: New testcase.
21161 * conf/tests.rmk: Rules for new testcase.
21162
4df51e00
BC
211632010-08-12 BVK Chaitanya <bvk@dbook>
21164
21165 "break" command support to GRUB script.
21166
21167 * conf/common.rmk: Rule updates to grub-script-check.
21168 * include/grub/misc.h (grub_min): New function.
21169 * include/grub/script_sh.h (grub_script_init): New prototype.
21170 (grub_script_fini): New prototype.
21171 (grub_script_break): New prototype.
21172 * script/main.c (grub_script_init): New function.
21173 (grub_script_fini): New function.
21174 * script/execute.c (grub_script_break): New function.
21175 * normal/main.c: Calls to grub_script_{init,fini}.
21176 * util/grub-script-check.c (grub_script_break): New function.
21177
21178 * tests/grub_script_break.in: New testcase.
21179 * conf/tests.rmk: Rules for new test case.
21180
f12c8420
BC
211812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21182
21183 Function parameters support to GRUB script.
21184
21185 * script/yylex.l (VARIABLE): Regular expression update.
21186 * script/function.c (grub_script_function_call): Moved ...
21187 * script/execute.c (grub_script_function_call): ... to here.
21188 (grub_script_execute_arglist_to_argv): Removed.
21189 (grub_script_arglist_to_argv): New function.
21190 * script/argv.c: New file.
21191 (grub_script_argv_free): New function.
21192 (grub_script_argv_next): Likewise.
21193 (grub_script_argv_append): Likewise.
21194 (grub_script_argv_split_append): Likewise.
21195 * include/grub/script_sh.h (grub_script_argv): New struct.
21196 (grub_script_argv_free): New function.
21197 (grub_script_argv_next): Likewise.
21198 (grub_script_argv_append): Likewise.
21199 (grub_script_argv_split_append): Likewise.
21200
21201 * conf/common.rmk (normal.mod): New source script/argv.c.
21202
21203 * tests/grub_script_echo1.in: More tests.
21204 * tests/grub_script_vars1.in: Likewise.
21205 * tests/grub_script_functions.in: New test case.
21206 * conf/tests.rmk: Rules for new testcase.
21207
8022b748
BC
212082010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21209
21210 Remove grub_script_cmdblock struct.
21211
21212 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21213 * script/parser.y: Likewise.
21214 * script/execute.c: Rename cmdblock suffix to cmdlist.
21215 * script/script.c: Likewise.
21216 * util/grub-script-check.c: Likewise.
21217
79a6ba61
YB
212182010-08-11 Yves Blusseau <blusseau@zetam.org>
21219
21220 * .bzrignore: add grub-macho2img
21221
d04b9414
VS
212222010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21225
f947ab49
VS
212262010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 Remove the dump of sm712 initialisation sequence.
21229
21230 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21231 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21232 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21233 (GRUB_VGA_CR_*): Added many registers.
21234 (GRUB_VGA_SR_*): Likewise.
21235 (GRUB_VGA_GR_*): Likewise.
21236 (grub_vga_write_arx): New function.
21237 (grub_video_hw_config): New struct.
21238 (grub_vga_set_geometry): New function.
21239 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21240 GRUB_PCI_CLASS_SUBCLASS_VGA.
21241 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21242 * video/sm712.c (grub_sm712_write_reg): New function
21243 (grub_sm712_read_reg): Likewise.
21244 (grub_sm712_sr_write): Likewise.
21245 (grub_sm712_gr_write): Likewise.
21246 (grub_sm712_cr_write): Likewise.
21247 (grub_sm712_write_arx): Likewise.
21248 (grub_sm712_cr_shadow_write): Likewise.
21249 (grub_sm712_write_dda_lookup): Likewise.
21250 (grub_video_sm712_setup): Initialise the video rather then
21251 blindly replay the dump.
21252 (main) [TEST]: Add a routine to be able to compile as standalone for
21253 tests.
21254 * video/sm712_init.c (sm712_init): Removed.
21255 (sm712_sr_seq1): New array.
21256 (sm712_sr_seq2): Likewise.
21257
f0206638
VS
212582010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * include/grub/vga.h: Add missing grub/pci.h include.
21261
2764da3b
YB
212622010-08-10 Yves Blusseau <blusseau@zetam.org>
21263
21264 * util/grub-macho2img.c (main): fix typo
21265
cf0c775e
VS
212662010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21269 (grub_vga_gr_read): Likewise.
21270 (grub_vga_cr_write): Likewise.
21271 (grub_vga_cr_read): Likewise.
21272 (grub_vga_sr_write): Likewise.
21273 (grub_vga_sr_read): Likewise.
21274 (grub_vga_palette_read): Likewise.
21275 (grub_vga_palette_write): Likewise.
21276 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21277 (grub_sm712_sr_read): New function.
21278 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21279 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21280
07f360e9
RM
212812010-08-09 Robert Millan <rmh@gnu.org>
21282
21283 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21284 out unused variables on non-ZFS build.
21285
346c2072
RM
212862010-08-08 Robert Millan <rmh@gnu.org>
21287
21288 Fix path generation for sub-filesystems in ZFS.
21289
21290 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21291 missing slash.
21292
71175420
RM
212932010-08-08 Robert Millan <rmh@gnu.org>
21294
21295 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21296
0d8286f3
RM
212972010-08-08 Robert Millan <rmh@gnu.org>
21298
21299 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21300 exist, issue a proper error message (rely on `ls' for translated
21301 strings).
21302
55dd2924
RM
213032010-08-08 Robert Millan <rmh@gnu.org>
21304
21305 Fix grub-probe invocation.
21306
21307 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21308
d3dd9e80
RM
213092010-08-04 Robert Millan <rmh@gnu.org>
21310
21311 * configure.ac: Remove checks for getfsstat() and getmntany().
21312 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21313 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21314 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21315 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21316 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21317 function.
21318 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21319 via find_mount_point_from_dir() and getfsstat() / getmntany().
21320
0de22aa9
RM
213212010-08-04 Robert Millan <rmh@gnu.org>
21322
21323 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21324 (grub_find_zpool_from_mount_point): Merge into ...
21325 (grub_find_zpool_from_dir): ... this.
21326 * kern/emu/misc.c: Likewise.
21327
21328 * kern/emu/misc.c
21329 (grub_make_system_path_relative_to_its_root): Replace
21330 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21331 with grub_find_zpool_from_dir().
21332 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21333
62858144
RM
213342010-08-04 Robert Millan <rmh@gnu.org>
21335
21336 Support OpenSolaris in ZFS device resolution.
21337
21338 * configure.ac: Check for getmntany().
21339 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21340 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21341 support.
21342
9dd6fd50
RM
213432010-08-03 Robert Millan <rmh@gnu.org>
21344
21345 Fix grub-emu build.
21346
21347 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21348 * include/grub/emu/misc.h: ... here.
21349
21350 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21351 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21352
21353 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21354 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21355 (grub_get_libzfs_handle): Move to ...
21356 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21357 (grub_get_libzfs_handle): ... here.
21358
c9f7ff97
BC
213592010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21360
21361 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21362 as command name case.
21363
a870a783
CW
213642010-08-02 Colin Watson <cjwatson@ubuntu.com>
21365
21366 * disk/raid.c (insert_array): Select unique numbers for named arrays
21367 as well, for use as keys in the disk cache.
21368
c7db243b
RM
213692010-08-01 Robert Millan <rmh@gnu.org>
21370
21371 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21372 kFreeBSD device name, except on ZFS where the filesystem label is
21373 used.
21374 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21375 `/boot/zfs/zpool.cache'.
21376 Set mountfrom kernel variable using ${kfreebsd_device}.
21377
f7abdefb
RM
213782010-08-01 Robert Millan <rmh@gnu.org>
21379
21380 Make it even harder to use uninitialized `libzfs_handle' (and
21381 make the interface a bit simpler).
21382
21383 * include/grub/util/misc.h (grub_util_init_libzfs)
21384 (libzfs_handle): Remove.
21385 (grub_get_libzfs_handle): New prototype.
21386
21387 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21388 attribute.
21389 (grub_util_init_libzfs): Remove.
21390 (grub_get_libzfs_handle): New function.
21391
21392 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21393 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21394 accessing `libzfs_handle' directly.
21395
c882acc0
RM
213962010-08-01 Robert Millan <rmh@gnu.org>
21397
21398 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21399 (grub_find_zpool_from_mount_point): New function prototypes.
21400
21401 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21402 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21403
21404 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21405 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21406 `static' attribute.
21407
21408 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21409 finding zpool from mount point into ...
21410 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21411
21412 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21413 requested path is part of a ZFS pool, use
21414 grub_find_zpool_from_mount_point() to detect its filesystem name,
21415 and generate a path with `/fsname@path' syntax.
21416
8bfe31d8
CW
214172010-08-01 Colin Watson <cjwatson@ubuntu.com>
21418
21419 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21420 (void) rather than () so that this is a proper prototype.
21421
553df63d
VS
214222010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21425
8687cf07
VS
214262010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21429 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21430
ea9be8ea
CW
214312010-08-01 Colin Watson <cjwatson@ubuntu.com>
21432
21433 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21434
6eea041a
CW
214352010-08-01 Colin Watson <cjwatson@ubuntu.com>
21436
21437 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21438
2cfb45df
CW
214392010-08-01 Colin Watson <cjwatson@ubuntu.com>
21440
21441 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21442 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21443 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21444 disable gfxpayload.
21445 (Shell-like scripting): Add real content.
21446 (Serial terminal): Suggest `terminal_input serial; terminal_output
21447 serial' rather than putting the two commands on separate lines,
21448 since console input will be inoperative after the first command.
21449 (menuentry): Document --class, --users, and --hotkey options.
21450 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21451 Vladimir Serbinenko).
21452
7decd202
VS
214532010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
214542010-08-01 Colin Watson <cjwatson@ubuntu.com>
21455
21456 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21457
c882acc0
RM
214582010-08-01 Robert Millan <rmh@gnu.org>
21459
21460 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21461 (grub_find_zpool_from_mount_point): New function prototypes.
21462
21463 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21464 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21465
21466 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21467 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21468 `static' attribute.
21469
21470 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21471 finding zpool from mount point into ...
21472 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21473
21474 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21475 requested path is part of a ZFS pool, use
21476 grub_find_zpool_from_mount_point() to detect its filesystem name,
21477 and generate a path with `/fsname@path' syntax.
21478
deb0caa3
RM
214792010-08-01 Robert Millan <rmh@gnu.org>
21480
21481 Prevent accidental use of uninitialized libzfs_handle.
21482
21483 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21484 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21485 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21486
ce04ef47
CW
214872010-08-01 Colin Watson <cjwatson@ubuntu.com>
21488
21489 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21490 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21491
ebf53056
RM
214922010-08-01 Robert Millan <rmh@gnu.org>
21493
21494 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21495
3710bb6b
RM
214962010-07-31 Robert Millan <rmh@gnu.org>
21497
21498 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21499
8072efeb
RM
215002010-07-31 Robert Millan <rmh@gnu.org>
21501
21502 * kern/emu/misc.c: Add missing license header.
21503
3169f4c7
RM
215042010-07-31 Robert Millan <rmh@gnu.org>
21505
21506 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21507
21508 * include/grub/util/libnvpair.h: Include `<config.h>'.
21509 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21510 declaring libnvpair prototypes ourselves.
21511 * include/grub/util/libzfs.h: Include `<config.h>'.
21512 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21513 declaring libzfs prototypes ourselves.
21514
21515 (libzfs_handle): Moved to ...
21516 * include/grub/util/misc.h (libzfs_handle): ... here.
21517 Include `<grub/util/libzfs.h>'.
21518
c9a00aee
RM
215192010-07-30 Robert Millan <rmh@gnu.org>
21520
21521 * include/grub/emu/misc.h: Add missing license header.
21522
a184f9c8
RM
215232010-07-30 Robert Millan <rmh@gnu.org>
21524
21525 Enable `grub-probe -t device' resolution on ZFS.
21526
21527 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21528 * include/grub/util/libnvpair.h: New file.
21529 * include/grub/util/libzfs.h: New file.
21530
21531 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21532 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21533 `<grub/util/libnvpair.h>'.
21534 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21535
21536 (find_mount_point_from_dir): New static function.
21537 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21538 function.
21539 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21540 find_root_device_from_libzfs() before ressorting to find_root_device().
21541
21542 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21543 prototype.
21544 * util/misc.c: Include `<grub/util/libzfs.h>'.
21545 (grub_util_init_libzfs): New function.
21546 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21547 [HAVE_LIBZFS] (fini_libzfs): New static function.
21548 (grub_util_init_libzfs): New function.
21549 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21550
f7790cdd
RM
215512010-07-30 Robert Millan <rmh@gnu.org>
21552
21553 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21554 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21555 `warn_unused_result' attribute.
21556 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21557 (grub_xasprintf, grub_xvasprintf): Likewise.
21558 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21559
0806b63c
RM
215602010-07-29 Robert Millan <rmh@gnu.org>
21561
21562 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21563 (probe): Handle `PRINT_FS_LABEL'.
21564 (main): Handle `-t fs_label'.
21565
9f841f5c
RM
215662010-07-29 Robert Millan <rmh@gnu.org>
21567
21568 * configure.ac: Remove grub-mkisofs checks.
21569
46371121
VS
215702010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21573 Reported by: Lennart Sorensen.
21574
215752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21578 prior to terminal_input/terminal_output separation. It's been over 1.5
21579 years and those versions weren't widely deployed.
21580
a9600892
CW
215812010-07-22 Colin Watson <cjwatson@ubuntu.com>
21582
21583 * disk/raid.c (insert_array): Don't count named arrays when looking
21584 for unused array numbers.
697e053c 21585 Reported and tested by: Michael Guntsche.
a9600892 21586
c03507df
CW
215872010-07-20 Colin Watson <cjwatson@ubuntu.com>
21588
21589 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21590 implementation of this so that grub-emu links again, with a note
21591 that this should support hotplugging in the future.
21592
b26f1c11
CW
215932010-07-20 Colin Watson <cjwatson@ubuntu.com>
21594
21595 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21596
efc9d7f1
CW
215972010-07-20 Colin Watson <cjwatson@ubuntu.com>
21598
21599 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21600 handle on failure.
21601 (grub_loopback_close): Remove empty function.
21602 (grub_loopback_dev): Remove close method.
21603
dd8ff5c9
CW
216042010-07-20 Colin Watson <cjwatson@ubuntu.com>
21605
21606 Disable EFI cursor when the EFI console becomes inactive.
21607
21608 * term/efi/console.c (grub_efi_console_init): New function.
21609 (grub_efi_console_fini): New function.
21610 (grub_console_term_output): Register init and fini methods.
21611
5e3bec67
VS
216122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21615 sh script.
21616
afaec079
VS
216172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 * disk/loopback.c (grub_loopback): Replace filename with file.
21620 (delete_loopback): Handle new semantics.
21621 (grub_cmd_loopback): Likewise.
21622 (grub_loopback_iterate): Likewise.
21623 (grub_loopback_close): Likewise.
21624
a6a11f3c
VS
216252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21628 with -p "".
21629 Reported by: Tito Keitel.
21630
64a638b0
VS
216312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * docs/grub.texi (Naming convention): Document new naming convention.
21634
ab8ba957
VS
216352010-07-20 Vadim Solomin <vadic052@gmail.com>
216362010-07-20 Colin Watson <cjwatson@ubuntu.com>
21637
21638 Generate device.map in something closer to the old ordering.
21639
21640 * util/deviceiter.c (struct device): New declaration.
21641 (compare_file_names): Rename to ...
21642 (compare_devices): ... this. Sort by kernel name in preference to
21643 the stable by-id name, but keep the latter as a fallback comparison.
21644 Update header comment.
21645 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21646 of `struct device' rather than of plain file names.
21647
a29d6a4b
TF
216482010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21649
21650 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21651 on i386.
21652
39d824e8
VS
216532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21656 hardcoding size.
21657 (setv1table): Likewise.
21658
f058276b
FZ
216592010-07-20 Colin Watson <cjwatson@ubuntu.com>
21660
21661 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21662 removing the homehost if present.
21663 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21664 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21665 removing the homehost if present.
21666 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21667 if possible.
21668 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21669
21670 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21671 parameter. Set its pointer target to 0.
21672 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21673 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21674 `data_offset' value from the superblock for 1.x metadata.
21675 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21676 data on the device.
21677 (insert_array): Record the start sector of data on the device.
21678 (grub_raid_register): Pass start_sector parameters to
21679 grub_raid_list->detect and insert_array.
21680 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21681 member.
21682 (struct grub_raid): Add start_sector parameter to `detect'.
21683
21684 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21685 __attribute__ ((packed)), leaving a comment.
21686 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21687 (grub_mdraid_detect_09): ... here and ...
21688 (grub_mdraid_detect_1x): ... here.
21689
216902010-07-20 Peter Henn <peter.henn@web.de>
21691
21692 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21693 chunk size and disk size, which are already given as sector counts
21694 as distinct from the 0.90 units. Fetch the correct device number
21695 from the role table instead of using the table index.
21696
216972010-07-20 Felix Zielcke <fzielcke@z-51.de>
21698
21699 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21700 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21701 (WriteMostly1): New macro.
21702 Set array->name to NULL for metadata format 0.90. Add support for
21703 metadata 1.x. Fix some comments.
21704 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21705 few comments.
21706 * util/getroot.c (grub_util_get_grub_dev): Add support for
21707 /dev/md/name style devices.
21708
4b761da9
CW
217092010-07-20 Colin Watson <cjwatson@ubuntu.com>
21710
21711 * .bzrignore: Ignore 20_linux_xen.
21712
5771289a
CW
217132010-07-17 Colin Watson <cjwatson@ubuntu.com>
21714
21715 * util/import_unicode.py: Remove unnecessary imports.
21716
5dab68df
AN
217172010-07-17 Aleš Nesrsta <starous@volny.cz>
21718
21719 Hotplugging and USB hub support.
21720
21721 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21722 (grub_ohci): Likewise.
21723 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21724 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21725 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21726 (GRUB_OHCI_CTRL_EDS): Likewise.
21727 (GRUB_OHCI_BULK_EDS): Likewise.
21728 (GRUB_OHCI_TDS): Likewise.
21729 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21730 (grub_ohci_ed_phys2virt): New function.
21731 (grub_ohci_virt_to_phys): Likewise.
21732 (grub_ohci_td_phys2virt): Likewise.
21733 (grub_ohci_td_virt2phys): Likewise.
21734 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21735 attachment.
21736 (grub_ohci_find_ed): New function.
21737 (grub_ohci_alloc_td): Likewise.
21738 (grub_ohci_free_td): Likewise.
21739 (grub_ohci_free_tds): Likewise.
21740 (grub_ohci_transfer): Use previously allocated memory.
21741 (grub_ohci_portstatus): Reset status changed bit.
21742 (grub_ohci_detect_dev): Supply status changed.
21743 (grub_ohci_fini_hw): Free memory.
21744 (grub_ohci_restore_hw): Reallocate memory.
21745 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21746 Reset status change.
21747 (grub_uhci_detect_dev): Supply status_change.
21748 * bus/usb/usb.c (attach_hooks): New var.
21749 (grub_usb_device_attach): New function.
21750 (grub_usb_register_attach_hook_class): Likewise.
21751 (grub_usb_unregister_attach_hook_class): Likewise.
21752 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21753 (grub_usb_add_hub): Reset connection changed bit.
21754 (attach_root_port): New function.
21755 (grub_usb_root_hub): Likewise.
21756 (poll_nonroot_hub): Likewise.
21757 (grub_usb_poll_devices): Likewise.
21758 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21759 * disk/usbms.c (grub_usbms_open): Use device hooks.
21760 (grub_usbms_iterate) :Poll devices.
21761 (grub_usbms_finddevs): Split into ...
21762 (grub_usbms_attach): ... this ...
21763 (grub_usbms_attach): ... and this.
21764 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21765 in detect_dev.
21766 (grub_usb_interface): New fields attached and detach_hook.
21767 (grub_usb_attach_hook_class): New type.
21768 (grub_usb_attach_desc): New struct.
21769 (grub_usb_register_attach_hook_class): New function.
21770 (grub_usb_unregister_attach_hook_class): Likewise.
21771 (grub_usb_poll_devices): Likewise.
21772 (grub_usb_device_attach): Likewise.
21773 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21774 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21775
3222efaf
VS
217762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21779 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21780 delta determination style. Works with most NetBSD partitions too.
21781
139b714a
VS
217822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21783
21784 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21785 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21786
986aad56
VS
217872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21790
99be513c
AB
217912010-07-14 Anton Blanchard <anton@samba.org>
21792
21793 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21794 ET_DYN files.
21795
18075f62
GS
217962010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21797
21798 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21799
8d9a5b15
GS
218002010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21801
21802 * kern/partition.c (grub_partition_check_containment): New function to
21803 check that a partition is physically contained in a parent. Since
21804 offsets are relative (and non-negative), this reduces to checking that
21805 the partition ends before its parent.
21806 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21807 (grub_partition_iterate): Likewise.
21808 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21809 comments.
21810 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21811 partitions that start before their parent, and add debug printfs.
21812
19563c25
CW
218132010-07-13 Colin Watson <cjwatson@ubuntu.com>
21814
21815 * Makefile.in (.SUFFIX): Spell correctly, as ...
21816 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21817 bare module name without `.mod', e.g. `test') tried to invoke a
21818 Modula-2 compiler.
21819
1a1f1e67
CW
218202010-07-13 Colin Watson <cjwatson@ubuntu.com>
21821
21822 * README: Point to the Info manual.
21823
811b0dca
JS
218242010-07-13 Jiro SEKIBA <jir@unicus.jp>
21825
21826 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21827 2nd superblock position from partition size.
21828
e4f4eafc
CW
218292010-07-10 Colin Watson <cjwatson@ubuntu.com>
21830
21831 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21832 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21833 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21834 outputs.
21835
4274c30f
VS
218362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 Restructure SCSI .id handling.
21839 Reported and tested by: Aleš Nesrsta.
21840
21841 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21842 (grub_atapi_dev): Changed .name to "ata". New field .id.
21843 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21844 (grub_usbms_dev): New field .id.
21845 * disk/scsi.c (grub_scsi_iterate): Generate name.
21846 (grub_scsi_open): Parse name.
21847 * include/grub/scsi.h (grub_make_scsi_id): New function.
21848 (grub_scsi_dev): Change iterate and open to number instead of naming
21849 busses. All users updated.
21850 (grub_scsi): Remove name. Add .bus.
21851
5bc24388
VS
218522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21853
21854 * commands/help.c (grub_cmd_help): Fix a typo.
21855
249975ba
VS
218562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21857
21858 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21859 Reported and tested by: Colin Watson.
21860
3eaac1a1
VS
218612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21864 in this context.
21865
becce1b1
VS
218662010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21869
f7bf0918
CW
218702010-07-07 Colin Watson <cjwatson@ubuntu.com>
21871
21872 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21873 indentation.
21874
0b0f9620
CW
218752010-07-06 Colin Watson <cjwatson@ubuntu.com>
21876
21877 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21878 and disk/raid6_recover.c.
21879 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21880 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21881
1e545469
CW
218822010-07-06 Colin Watson <cjwatson@ubuntu.com>
21883
21884 * term/gfxterm.c (repaint_schedulded): Rename to ...
21885 (repaint_scheduled): ... this. Update all callers.
21886 (repaint_was_schedulded): Rename to ...
21887 (repaint_was_scheduled): ... this. Update all callers.
21888
5357687a
CW
218892010-07-06 Colin Watson <cjwatson@ubuntu.com>
21890
21891 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21892 which we expect to be handled by upper layers.
21893
29d7e783
BC
218942010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21895
21896 * bus/usb/usbhub.c: #include time.h header.
21897
37582066
CW
218982010-07-06 Colin Watson <cjwatson@ubuntu.com>
21899
21900 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21901 entry_name also for entries without stat blocks (e.g. ".."); fixes
21902 corruption of the first entry in a directory.
21903
c8c06953
CW
219042010-07-06 Colin Watson <cjwatson@ubuntu.com>
21905
21906 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21907 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21908 doesn't work otherwise.
21909
e75056f1
CW
219102010-07-05 Colin Watson <cjwatson@ubuntu.com>
21911
21912 * docs/grub.texi (Features): Update list of supported file systems.
21913 (GNU/Linux): Update for GRUB 2.
21914 (Serial terminal): Remove mention of --disable-serial, which was a
21915 GRUB Legacy configure option. Update instructions to use
21916 `terminal_input' and `terminal_output' rather than `terminal'.
21917 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21918 configuration' and `Installing GRUB using grub-install'.
21919 (Menu entry editor): Update for GRUB 2.
21920 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21921 Document new -a, -u, and -v options.
21922 (initrd): New section.
21923 (initrd16): New section.
21924 (linux): New section.
21925 (linux16): New section.
21926 (search): The `var' argument to `--set' is optional.
21927 (GRUB only offers a rescue shell): Go into a little more detail on
21928 drive ordering.
21929
5cf69151
CW
219302010-07-05 Colin Watson <cjwatson@ubuntu.com>
21931
21932 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21933
e3f90044
CW
219342010-07-05 Colin Watson <cjwatson@ubuntu.com>
21935
21936 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21937 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21938
38d8f4f3
CW
219392010-07-05 Colin Watson <cjwatson@ubuntu.com>
21940
21941 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21942 install_prefix, in line with install_dos_part and install_bsd_part.
21943 Add new prefix variable, which is copied to install_prefix after
21944 comparing core.img in memory with the one read from disk in the
21945 no-embedding case, and use that rather than overwriting
21946 install_prefix immediately when installing to a partition.
21947 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21948 Bicakci.
21949
57ebd41e
GS
219502010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21951
21952 * configure.ac: Avoid == in test command, it's not portable.
21953 * util/grub.d/30_os-prober.in: Likewise.
21954
cb7f64b2
CW
219552010-07-04 Colin Watson <cjwatson@ubuntu.com>
21956
21957 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21958
6b654bb0
GS
219592010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21960
21961 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21962 multiple (top-level) partmaps.
21963
72a2026d
VS
219642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21967 Reported by: Tino Keitel.
72a2026d 21968
df3eb88f
VS
219692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 Bidi and diacritics support.
21972
21973 * Makefile.in (widthspec.bin): New target.
21974 (widthspec.h): Likewise.
21975 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21976 * autogen.sh: Generate unidata.c.
21977 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21978 * commands/ls.c (grub_ls_list_devices): Likewise.
21979 (grub_ls_list_files): Likewise.
21980 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21981 (grub_mini_cmd_lsmod): Likewise.
21982 * commands/read.c: Likewise.
21983 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21984 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21985 * lib/arg.c (grub_arg_show_help): Likewise.
21986 * lib/crypto.c (grub_password_get): Likewise.
21987 * normal/auth.c (grub_username_get): Likewise.
21988 * normal/misc.c (grub_normal_print_device_info): Likewise.
21989 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21990 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21991 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21992 (normal/charset.c_DEPENDENCIES): New variable.
21993 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21994 (pkglib_MODULES): Remove charset.mod.
21995 (charset_mod_SOURCES): Removed.
21996 (charset_mod_CFLAGS): Likewise.
21997 (charset_mod_LDFLAGS): Likewise.
21998 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21999 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22000 and term/tparm.c.
22001 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22002 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22003 (kernel_img_HEADERS): Add terminfo.h.
22004 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22005 Fill ->font. Reverse ascii bitmaps.
22006 (grub_font_get_xheight): New function.
22007 * font/font.c (grub_font_get_string_width): Moved from here ...
22008 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22009 * font/font.c (grub_font_draw_string): Moved from here ...
22010 * gfxmenu/font.c (grub_font_draw_string): ... here.
22011 * font/font.c (grub_font_dup_glyph): New function.
22012 (grub_font_blit_glyph): Likewise.
22013 (grub_font_blit_glyph_mirror): Likewise.
22014 (blit_comb): Likewise.
22015 (grub_font_construct_dry_run): Likewise.
22016 (grub_font_get_constructed_device_width): Likewise.
22017 (grub_font_construct_glyph): Likewise.
22018 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22019 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22020 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22021 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22022 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22023 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22024 (grub_font_get_xheight): New proto.
22025 (grub_font_get_constructed_device_width): Likewise.
22026 (grub_font_construct_glyph): Likewise.
22027 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22028 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22029 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22030 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22031 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22032 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22033 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22034 (grub_console_getcharwidth): Likewise.
22035 * include/grub/misc.h (grub_xputs): New proto.
22036 (grub_puts): Inlined.
22037 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22038 (grub_normal_get_line_counter): Removed.
22039 (grub_install_newline_hook): Likewise.
22040 (grub_normal_get_char_counter): New proto.
22041 (grub_normal_reset_more): Likewise.
22042 (grub_xputs_normal): Likewise.
22043 * include/grub/powerpc/ieee1275/console.h: Removed.
22044 * include/grub/sparc64/ieee1275/console.h: Likewise.
22045 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22046 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22047 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22048 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22049 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22050 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22051 (grub_term_input): Pass reference to self. All users updated.
22052 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22053 Pass reference to self. New fields normal_color, highlight_color and
22054 data. All users updated.
22055 (grub_putchar): Removed.
22056 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22057 (grub_unicode_estimate_width): New function.
22058 (grub_term_getcharwidth): Add defaults.
22059 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22060 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22061 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22062 (grub_cls): Remove EXPORT_FUNC.
22063 (grub_setcolorstate): Inline.
22064 (grub_newline_hook): Removed.
22065 * include/grub/terminfo.h: Rewritten. All users updated.
22066 * include/grub/unicode.h: New file.
22067 * include/grub/video.h (grub_video_signed_rect): New type.
22068 * kern/emu/console.c (grub_console_highlight_color): Removed.
22069 (grub_console_normal_color): Likewise.
22070 (grub_console_standard_color): Made static.
22071 (grub_ncurses_putchar): Remove mapping.
22072 (grub_ncurses_getcharwidth): Removed.
22073 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22074 (grub_ncurses_setcolor): Removed.
22075 (grub_ncurses_getcolor): Likewise.
22076 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22077 (grub_console_putchar): ... this.
22078 (grub_console_putchar): Handle argument difference.
22079 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22080 console_init_early and console_init_lately.
22081 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22082 * kern/misc.c (grub_puts): Removed.
22083 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22084 (grub_vsnprintf_real): Remove str = NULL support.
22085 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22086 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22087 * kern/term.c (grub_putcode): Renamed to ...
22088 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22089 (grub_putchar): Removed.
22090 (grub_xputs_dumb): New function.
22091 (grub_xputs): New variable.
22092 * lib/charset.c: Move from here ...
22093 * normal/charset.c: ... to here.
22094 (grub_ucs4_to_utf8): New function.
22095 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22096 (join_types): New variable.
22097 (unpack_join): New function.
22098 (bidi_types): New variable.
22099 (unpack_bidi): New function.
22100 (get_bidi_type): Likewise.
22101 (get_join_type): Likewise.
22102 (is_mirrored): Likewise.
22103 (grub_unicode_get_comb_type): Likewise.
22104 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22105 (is_type_after): Likewise.
22106 (grub_unicode_aglomerate_comb): Likewise.
22107 (bidi_line_wrap): Likewise.
22108 (grub_bidi_line_logical_to_visual): Likewise.
22109 (grub_bidi_logical_to_visual): Likewise.
22110 (grub_unicode_mirror_code): Likewise.
22111 (grub_unicode_shape_code): Likewise.
22112 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22113 Don't use grub_putchar.
22114 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22115 (grub_normal_reader_init): Likewise.
22116 (grub_xputs_saved): New variable.
22117 (GRUB_MOD_INIT): Set grub_xputs.
22118 (GRUB_MOD_FINI): Restore grub_xputs.
22119 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22120 (menu_init): Avoid printing gfxmenu error.
22121 (show_menu): Use grub_normal_get_char_counter.
22122 * normal/menu_entry.c (update_screen): Fix out-of-array.
22123 (complete): Avoid NULL dereferencing.
22124 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22125 * normal/menu_text.c (print_spaces): Removed.
22126 (grub_print_ucs4): Likewise.
22127 (grub_print_message_indented): Use grub_print_ucs4.
22128 (print_message): Use grub_putcode.
22129 (print_entry): Hanlde diacritics.
22130 * normal/term.c (term_state): New type.
22131 (grub_more_lines): Removed.
22132 (term_states): New variable.
22133 (grub_normal_line_counter): Renamed to ..
22134 (grub_normal_char_counter): ...this. All users updated.
22135 (grub_normal_get_line_counter): Renamed to ...
22136 (grub_normal_get_char_counter): ... this.
22137 (grub_normal_reset_more): New function.
22138 (process_newline): Removed.
22139 (print_more): New function.
22140 (grub_install_newline_hook): Removed.
22141 (map_code): New function.
22142 (grub_puts_terminal): Use grub_print_ucs4.
22143 (putglyph): New function.
22144 (putcode_real): Likewise.
22145 (grub_putcode): Use putcode_real.
22146 (get_maxwidth): New function.
22147 (get_startwidth): Likewise.
22148 (print_ucs4_terminal): Likewise.
22149 (find_term_state): Likewise.
22150 (put_glyphs_terminal): Likewise.
22151 (print_backlog): Likewise.
22152 (print_ucs4_real): Likewise.
22153 (grub_print_ucs4): Likewise.
22154 (grub_xputs_normal): Likewise.
22155 * term/efi/console.c (grub_console_putchar): Output diacritics.
22156 (grub_console_getcharwidth): Removed.
22157 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22158 * term/gfxterm.c (clear_char): Free chars.
22159 (scroll_up): Avoid leaking memory.
22160 (grub_gfxterm_putchar): Support diacritics.
22161 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22162 * term/i386/pc/console.c (grub_console_term_output): Declare as
22163 GRUB_TERM_CODE_TYPE_VGA.
22164 * term/i386/pc/vga.c (grub_vga_term): Declare as
22165 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22166 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22167 GRUB_TERM_CODE_TYPE_VGA.
22168 * term/i386/vga_common.c (map_char): Removed.
22169 (grub_console_putchar): Likewise.
22170 (grub_console_getcharwidth): Likewise.
22171 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22172 (colors): Reordered to match terminfo.
22173 (grub_ofconsole_normal_color): Removed.
22174 (grub_ofconsole_writeesc): Likewise.
22175 (grub_ofconsole_highlight_color): Likewise.
22176 (grub_ofconsole_getcharwidth): Likewise.
22177 (grub_ofconsole_setcolorstate): Likewise.
22178 (grub_ofconsole_setcolor): Likewise.
22179 (grub_ofconsole_getcolor): Likewise.
22180 (grub_ofconsole_readkey): Renamed to ...
22181 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22182 key.
22183 (grub_ofconsole_checkkey): Removed.
22184 (grub_ofconsole_getkey): Likewise.
22185 (grub_ofconsole_getxy): Likewise.
22186 (grub_ofconsole_gotoxy): Likewise.
22187 (grub_ofconsole_cls): Likewise.
22188 (grub_ofconsole_refresh): Likewise.
22189 (grub_ofconsole_terminfo_input): New struct.
22190 (grub_ofconsole_terminfo_output): Likewise.
22191 (grub_ofconsole_term_input): Use terminfo.
22192 (grub_ofconsole_term_output): Likewise.
22193 (grub_console_init): Split into ...
22194 (grub_console_init_early): ...this and ...
22195 (grub_console_init_lately): ...this. Use terminfo.
22196 (grub_ofconsole_putchar): Renamed to ...
22197 (put): ... this. Remove mapping.
22198 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22199 * term/serial.c: Simplify using terminfo.
22200 (xpos): Removed.
22201 (ypos): Likewise.
22202 (keep_track): Likewise.
22203 (registered): Likewise.
22204 (input_buf): Likewise.
22205 (npending): Likewise.
22206 (serial_translate_key_sequence): Likewise.
22207 (fill_input_buf): Likewise.
22208 (grub_serial_checkkey): Likewise.
22209 (grub_serial_getkey): Likewise.
22210 (grub_serial_getxy): Likewise.
22211 (grub_serial_gotoxy): Likewise.
22212 (grub_serial_putchar): Likewise.
22213 (grub_serial_cls): Likewise.
22214 (grub_serial_setcolorstate): Likewise.
22215 (grub_serial_setcursor): Likewise.
22216 (serial_hw_init): Use serial_hw_fetch.
22217 (grub_serial_terminfo_input): New variable.
22218 (grub_serial_terminfo_output): Likewise.
22219 (grub_serial_term_input): Use terminfo.
22220 (grub_serial_term_output): Likewise.
22221 * term/terminfo.c (putstr): Use put.
22222 (grub_terminfo_all_free): New function
22223 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22224 (grub_terminfo_output_register): New function.
22225 (grub_terminfo_output_unregister): Likewise.
22226 (grub_terminfo_getxy): Likewise.
22227 (grub_terminfo_readkey): Likewise.
22228 (grub_terminfo_checkkey): Likewise.
22229 (grub_terminfo_getkey): Likewise.
22230 (grub_terminfo_input_init): Likewise.
22231 (print_terminfo): Likewise.
22232 (grub_cmd_terminfo): Handle encoding.
22233 (grub_terminfo_gotoxy): Track position.
22234 (grub_terminfo_cls): Likewise.
22235 (grub_terminfo_putchar): Likewise.
22236 (grub_terminfo_setcolorstate): Handle colors
22237 (grub_terminfo_cursor_on): This ...
22238 (grub_terminfo_cursor_off): ... and this merged into ...
22239 (grub_terminfo_setcursor): ... this.
22240 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22241 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22242 * unicode/BidiMirroring.txt: Likewise.
22243 * unicode/UnicodeData.txt: Likewise.
22244 * unicode/COPYING: Likewise.
22245 * util/grub-editenv.c (grub_putchar): Removed.
22246 (grub_xputs_real): New function.
22247 (grub_xputs): New variable.
22248 * util/grub-fstest.c (grub_putchar): Removed.
22249 (grub_xputs_real): New function.
22250 (grub_xputs): New variable.
22251 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22252 (grub_xputs_real): New function.
22253 (grub_xputs): New variable.
22254 * util/grub-probe.c (grub_putchar): Removed.
22255 (grub_xputs_real): New function.
22256 (grub_xputs): New variable.
22257 * util/grub-script-check.c (grub_putchar): Removed.
22258 (grub_xputs_real): New function.
22259 (grub_xputs): New variable.
22260 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22261 (grub_xputs_real): New function.
22262 (grub_xputs): New variable.
22263 * util/import_unicode.py: New file.
22264 * util/grub-mkfont.c (ft_errmsgs): New array.
22265 (grub_glyph_info): Make bitmap a pointer.
22266 (file_formats): New type WIDTH_SPEC.
22267 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22268 (options): Add width-spec.
22269 (help): Likewise.
22270 (add_char): Renamed to ...
22271 (add_glyph): ... this.
22272 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22273 (glyph_replace): New type.
22274 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22275 (add_char): New function.
22276 (add_subst): Likewise.
22277 (process_cursive): Likewise.
22278 (add_font): Handle GSUB.
22279 (write_font_width_spec): New function.
22280 (main): Sort glyphs.
22281 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22282 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22283 * kern/term.c (grub_cls): Moved from here...
22284 * normal/term.c (grub_cls): ... here.
22285
50f0bcda
CW
222862010-07-02 Colin Watson <cjwatson@ubuntu.com>
22287
22288 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22289 suitable for using within the format argument of printf when
22290 converting grub_size_t.
22291 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22292 "x" to convert grub_size_t arguments.
22293
40372103
VS
222942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22295
22296 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22297 too long captions.
22298 (list_get_minimal_size): Take selection box into account.
22299
942a10c7
VS
223002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22303 NULL font.
22304
2bdb2892
CW
223052010-07-02 Colin Watson <cjwatson@ubuntu.com>
22306
22307 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22308 devices when iterating over /dev/disk/by-id; they will be handled
22309 later if appropriate, which they aren't always (e.g. LVM).
22310
e03ed6c1
CW
223112010-07-02 Colin Watson <cjwatson@ubuntu.com>
22312
22313 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22314 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22315 fails.
22316 (grub_halt): Likewise.
22317 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22318 reset-all fails.
22319 (grub_halt): Don't return, even if all of shut-down, power-off, and
22320 poweroff fail.
22321
47695765
CW
223222010-07-02 Colin Watson <cjwatson@ubuntu.com>
22323
22324 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22325 arguments, not three.
22326
507736c8
CW
223272010-07-02 Colin Watson <cjwatson@ubuntu.com>
22328
22329 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22330 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22331 LVM-on-RAID is handled correctly.
22332
e3c8cd37
CW
223332010-07-02 Colin Watson <cjwatson@ubuntu.com>
22334
22335 * docs/grub.texi (Changes from GRUB Legacy): New section.
22336 (Future): Fix typo.
22337
8d4a2fec
CW
223382010-07-02 Colin Watson <cjwatson@ubuntu.com>
22339
22340 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22341 grub.d/README accidentally ends up executable for one reason or
22342 another. Ignore it.
22343
1c4827be
VS
223442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22347 (gpt_partition_map_iterate): Support non-512B sectors.
22348
d9a0c941
VS
223492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22350
22351 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22352 Tested by: Seth Goldberg.
22353
48f27e87
VS
223542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22357 Properly align mbi.
22358 Reported by: Seth Goldberg.
22359
b0c4f956
VS
223602010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22361
22362 * util/grub-mkrescue.in: Avoid module duplication.
22363
105a2e8c
SF
223642010-07-01 Sean Finney <seanius@seanius.net>
22365
22366 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22367
5944958c
SF
223682010-07-01 Sean Finney <seanius@seanius.net>
22369
22370 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22371
223722010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * disk/lvm.c (grub_lvm_checkvalue): New function.
22375 (grub_lvm_check_flag): Likewise.
22376
b79889ba
RM
223772010-07-01 Robert Millan <rmh@gnu.org>
22378
22379 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22380 Support 'p' as partition separator on kernel of FreeBSD (used
22381 with GPT labels).
22382 (grub_util_biosdisk_get_grub_dev): Likewise.
22383
ec1d04f1
VS
223842010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 Yeeloong firmware port.
22387
22388 * boot/mips/yeeloong/fwstart.S: New file.
22389 * bus/cs5536.c (gpiodump): New const.
22390 (set_io_space): New function.
22391 (set_iod): Likewise.
22392 (set_p2d): Likewise.
22393 (grub_cs5536_init_geode): Likewise.
22394 * commands/mips/yeeloong/lsspd.c: New file.
22395 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22396 (serial_mod_SOURCES): New variable.
22397 (serial_mod_CFLAGS): Likewise.
22398 (serial_mod_LDFLAGS): Likewise.
22399 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22400 term/terminfo.c and term/tparm.c.
22401 (pkglib_IMAGES): Add fwstart.img.
22402 (fwstart_img_SOURCES): New variable.
22403 (fwstart_img_CFLAGS): Likewise.
22404 (fwstart_img_ASFLAGS): Likewise.
22405 (fwstart_img_LDFLAGS): Likewise.
22406 (fwstart_img_FORMAT): Likewise.
22407 (pkglib_MODULES): Add lsspd.mod.
22408 (lsspd_mod_SOURCES): New variable.
22409 (lsspd_mod_CFLAGS): Likewise.
22410 (lsspd_mod_LDFLAGS): Likewise.
22411 (pkglib_MODULES): Add halt.mod.
22412 (halt_mod_SOURCES): New variable.
22413 (halt_mod_CFLAGS): Likewise.
22414 (halt_mod_LDFLAGS): Likewise.
22415 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22416 (serial_mod_SOURCES): Removed.
22417 (serial_mod_CFLAGS): Likewise.
22418 (serial_mod_LDFLAGS): Likewise.
22419 * disk/ata.c (check_device): New function.
22420 (grub_ata_device_initialize): Use check_device.
22421 (grub_ata_iterate): Recheck devices.
22422 (grub_ata_open): Likewise.
22423 (grub_atapi_iterate): Likewise.
22424 (grub_atapi_open): Likewise.
22425 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22426 (GRUB_ATA_CH1_PORT1): Likewise.
22427 (GRUB_ATA_CH0_PORT2): Likewise.
22428 (GRUB_ATA_CH1_PORT2): Likewise.
22429 * include/grub/mips/loongson.h: New file.
22430 * include/grub/mips/yeeloong/ec.h: Likewise.
22431 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22432 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22433 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22434 * include/grub/misc.h (grub_halt): Declare as noreturn.
22435 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22436 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22437 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22438 (UART_ENABLE_DTRRTS): Likewise.
22439 (UART_ENABLE_MODEM): Removed.
22440 (UART_ENABLE_OUT2): New const.
22441 * include/grub/term.h (grub_term_register_input_active): New function.
22442 (grub_term_register_output_active): Likewise.
22443 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22444 argument.
22445 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22446 (init_pci): New function.
22447 (grub_machine_init): Execute platform init when firmware. Init serial.
22448 (grub_halt): Implement.
22449 (grub_exit): Likewise.
22450 (grub_reboot): Likewise.
22451 * term/serial.c (serial_hw_init): Update macros.
22452 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22453 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22454 (image_targets): New target mipsel-yeeloong-flash.
22455 (generate_image): Support IMAGE_YEELOONG_FLASH.
22456 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22457 (grub_video_sm712_setup): Init card.
22458 (grub_video_sm712_set_palette): Removed.
22459 * video/sm712_init.c: New file.
22460
ff4a70d2
CW
224612010-06-30 Colin Watson <cjwatson@ubuntu.com>
22462
22463 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22464 PATH when running help2man and then run it on the unadorned
22465 executable names, rather than passing $(builddir)/* paths to
22466 help2man. This avoids the build directory ending up in generated
22467 manual pages.
22468
1246efeb
CW
224692010-06-29 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22472 to avoid accidents when debugging with 'sh -x'.
22473 * util/grub-mkrescue.in: Likewise.
22474 * util/grub.d/00_header.in: Likewise.
22475 * util/grub.d/10_hurd.in: Likewise.
22476 * util/grub.d/10_kfreebsd.in: Likewise.
22477 * util/grub.d/10_linux.in: Likewise.
22478 * util/grub.d/10_netbsd.in: Likewise.
22479 * util/grub.d/10_windows.in: Likewise.
22480 * util/grub.d/20_linux_xen.in: Likewise.
22481 * util/grub.d/30_os-prober.in: Likewise.
22482 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22483
1ba9b889
CW
224842010-06-29 Colin Watson <cjwatson@ubuntu.com>
22485
22486 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22487 last character in the buffer.
22488 Reported by: Vladimir Serbinenko.
22489
dccaf99d
RM
224902010-06-29 Robert Millan <rmh@gnu.org>
22491
22492 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22493 (Command-line and menu entry commands): Document `badram' command.
22494
d500ed12
RM
224952010-06-28 Robert Millan <rmh@gnu.org>
22496
22497 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22498 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22499 command using ${GRUB_BADRAM} as parameter.
22500
20bc84a6
CW
225012010-06-28 Colin Watson <cjwatson@ubuntu.com>
22502
22503 * docs/grub.texi (Device map): New section.
22504 (Themes): New section (stub).
22505 * Makefile.in (docs/grub.info): The info documentation now builds
22506 without errors. Make sure it stays that way.
22507
4045dee1
VS
225082010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 Use normal parser for menu entries.
22511 Reported by: Thomas Frauendorfer
22512
22513 * include/grub/parser.h (grub_parser_execute): Don't export.
22514 * normal/menu.c (grub_menu_execute_entry_real): New function.
22515 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22516
bca58c7b
CW
225172010-06-28 Colin Watson <cjwatson@ubuntu.com>
22518
22519 * docs/grub.texi (Embedded configuration): New section (replacing
22520 old "Preset Menu" stub).
22521 (Images): New section.
22522 (configfile): Note that any menu entries defined in `file' are shown
22523 immediately.
22524
dec53e63
JT
225252010-06-28 Josh Triplett <josh@joshtriplett.org>
22526
22527 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22528
c06e40f7
CW
225292010-06-28 Colin Watson <cjwatson@ubuntu.com>
22530
22531 * util/grub-install.in: Add --debug-image= option.
22532
cb88052b
CW
225332010-06-28 Colin Watson <cjwatson@ubuntu.com>
22534
22535 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22536 possible on Linux.
22537
22538 * util/deviceiter.c (check_device): Rename to ...
22539 (check_device_readable_unique): ... this. Update all callers.
22540 Maintain and check a list of which devices (by canonicalized name)
22541 have already been seen.
22542 (clear_seen_devices): New function.
22543 (compare_file_names) [__linux__]: New function.
22544 (grub_util_iterate_devices): Clear the list of seen devices on exit
22545 and (just in case) on entry.
22546 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22547 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22548 seen-devices list, superseded by general code in check_device.
22549
bbe34652
CW
225502010-06-28 Colin Watson <cjwatson@ubuntu.com>
22551
22552 * commands/cat.c (options): New variable.
22553 (grub_cmd_cat): Parse options. If the --dos option is given, print
22554 DOS-style "\r\n" line endings as simple newlines (Debian bug
22555 #586358).
22556 (GRUB_MOD_INIT): Use extcmd.
22557 (GRUB_MOD_FINI): Likewise.
22558 * docs/grub.texi (cat): Document --dos.
22559
412e09f3
VS
225602010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 XEN with Linux grub-mkconfig support.
22563
22564 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22565 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22566 GRUB_CMDLINE_XEN_DEFAULT.
22567 * util/grub.d/20_linux_xen.in: New file.
22568
53f3ef38 225692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22570
22571 Initialise VGA video on qemu ourselves.
22572
22573 * boot/i386/qemu/boot.S: Don't call 0xc000.
22574 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22575 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22576 (kernel_img_HEADERS): Add pci.h.
22577 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22578 * configure.ac: Force unifont on qemu and yeeloong.
22579 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22580 (grub_vga_palette_write): Use correct register.
22581 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22582 Call grub_qemu_init_cirrus.
22583 * kern/i386/qemu/init.c: New file.
22584 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22585
22586 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22587
c75be4fb
PR
225882010-06-26 Pavel Roskin <proski@gnu.org>
22589
22590 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22591 13.
22592
d8034603
CW
225932010-06-26 Colin Watson <cjwatson@ubuntu.com>
22594
22595 * docs/grub.texi (Simple configuration): Explain that
22596 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22597 set to `true' to disable their respective recovery entries, not
22598 merely set.
22599
3fa06487
CW
226002010-06-26 Colin Watson <cjwatson@ubuntu.com>
22601
22602 Make the `source' command slightly faster.
22603
22604 * normal/main.c (grub_normal_execute): Don't re-read list files when
22605 nested.
22606
e9b29642
CW
226072010-06-23 Colin Watson <cjwatson@ubuntu.com>
22608
22609 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22610 field position and mask size to red fields from mode_info, not
22611 green.
22612 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22613 Remove redundant tag->common.framebuffer_type assignment.
22614 Reported by: Seth Goldberg.
22615
e726542f
CW
226162010-06-23 Colin Watson <cjwatson@ubuntu.com>
22617
22618 Sync up other versions of the Linux loader with Robert Millan's
22619 change of 2010-01-09, "Make loader output a bit more user-friendly".
22620
22621 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22622 grub_dprintf().
22623 (grub_cmd_linux): Likewise.
22624 (grub_cmd_initrd): Likewise.
22625 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22626 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22627
d6e98a17
CW
226282010-06-21 Colin Watson <cjwatson@ubuntu.com>
22629
22630 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22631 larger than MEMORY_MAP_SIZE.
22632
14d3f08e
BC
226332010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22634
22635 Fix parallel build.
22636
22637 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22638 dependency.
22639 * script/parser.y: #include grub_script.tab.h header.
22640
4f9613a3
VS
226412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 Support >3GiB and <16MiB RAM in i386-qemu.
22644
22645 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22646 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22647 (grub_lower_mem): Removed.
22648 (grub_upper_mem): Likewise.
22649 (mem_size): Made static.
22650 (above_4g): New variable.
22651 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22652 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22653 support.
22654
05e51879
VS
226552010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 Cirrus 5446 and Bochs video cards support.
22658
22659 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22660 video_bochs.mod
22661 (video_cirrus_mod_SOURCES): New variable.
22662 (video_cirrus_mod_CFLAGS): Likewise.
22663 (video_cirrus_mod_LDFLAGS): Likewise.
22664 (video_bochs_mod_SOURCES): Likewise.
22665 (video_bochs_mod_CFLAGS): Likewise.
22666 (video_bochs_mod_LDFLAGS): Likewise.
22667 * include/grub/vga.h: New file.
22668 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22669 (grub_video_fb_set_page_t): New type.
22670 (grub_video_fb_setup): New prototype.
22671 (grub_video_fb_swap_buffers): Likewise.
22672 (grub_video_fb_get_info_and_fini): Likewise.
22673 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22674 (CRTC_DATA_PORT): Likewise.
22675 (CRTC_CURSOR): Likewise.
22676 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22677 (CRTC_CURSOR_ADDR_LOW): Likewise.
22678 (CRTC_CURSOR_DISABLE): Likewise.
22679 (update_cursor): Use grub_vga_cr_write.
22680 (grub_vga_text_setcursor): Likewise.
22681 * video/bochs.c: New file.
22682 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22683 (palette): Likewise.
22684 (palette_size): Likewise.
22685 (framebuffer): New variable.
22686 (grub_video_fb_init): Use 'framebuffer'.
22687 (grub_video_fb_fini): Likewise.
22688 (grub_video_fb_get_info): Likewise.
22689 (grub_video_fb_get_palette): Likewise.
22690 (grub_video_fb_set_palette): Likewise.
22691 (grub_video_fb_set_viewport): Likewise.
22692 (grub_video_fb_get_viewport): Likewise.
22693 (grub_video_fb_map_color): Likewise.
22694 (grub_video_fb_map_rgb): Likewise.
22695 (grub_video_fb_map_rgba): Likewise.
22696 (grub_video_fb_unmap_color): Likewise.
22697 (grub_video_fb_unmap_color_int): Likewise.
22698 (grub_video_fb_fill_rect): Likewise.
22699 (grub_video_fb_blit_bitmap): Likewise.
22700 (grub_video_fb_blit_render_target): Likewise.
22701 (grub_video_fb_scroll): Likewise.
22702 (grub_video_fb_create_render_target): Likewise.
22703 (grub_video_fb_doublebuf_blit_init): Likewise.
22704 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22705 (doublebuf_pageflipping_update_screen): New function.
22706 (doublebuf_pageflipping_init): Likewise.
22707 (grub_video_fb_setup): Likewise.
22708 (grub_video_fb_swap_buffers): Likewise.
22709 (grub_video_fb_get_info_and_fini): Likewise.
22710 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22711 All users updated.
22712 (doublebuf_pageflipping_commit): Restructured into ...
22713 (doublebuf_pageflipping_set_page): ... this.
22714 (doublebuf_pageflipping_update_screen): Removed.
22715 (doublebuf_pageflipping_init): Likewise.
22716 (double_buffering_init): Likewise.
22717 (grub_video_vbe_setup): Use grub_video_fb_setup.
22718 (grub_video_vbe_swap_buffers): Removed.
22719 (grub_video_vbe_set_active_render_target): Likewise.
22720 (grub_video_vbe_get_active_render_target): Likewise.
22721 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22722 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22723 grub_video_fb_set_active_render_target and
22724 grub_video_fb_get_active_render_target.
22725 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22726 (SEQUENCER_DATA_PORT): Likewise.
22727 (MAP_MASK_REGISTER): Likewise.
22728 (CRTC_ADDR_PORT): Likewise.
22729 (CRTC_DATA_PORT): Likewise.
22730 (START_ADDR_HIGH_REGISTER): Likewise.
22731 (START_ADDR_LOW_REGISTER): Likewise.
22732 (GRAPHICS_ADDR_PORT): Likewise.
22733 (GRAPHICS_DATA_PORT): Likewise.
22734 (READ_MAP_REGISTER): Likewise.
22735 (INPUT_STATUS1_REGISTER): Likewise.
22736 (INPUT_STATUS1_VERTR_BIT): Likewise.
22737 (get_map_mask): Use grub_vga_sr_read.
22738 (set_map_mask): Use grub_vga_sr_write.
22739 (set_read_map): Use grub_vga_gr_write.
22740 (set_start_address): Use grub_vga_cr_write.
22741 * video/sm712.c (framebuffer): Remove leftover fields.
22742
4321c64a
CW
227432010-06-20 Colin Watson <cjwatson@ubuntu.com>
22744
22745 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22746 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22747 instead. Replace the gfxterm backend check with a check that
22748 ${GRUB_PREFIX}/video.lst is non-empty.
22749 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22750 again.
22751 (load_video): New generated function. Call it before loading
22752 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22753 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22754 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22755 * docs/grub.texi (Simple configuration): Document
22756 GRUB_VIDEO_BACKEND.
22757
227582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 Use video functions in linux and xnu loaders.
22761
22762 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22763 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22764 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22765 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22766 loader/i386/pc/linux.c.
22767 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22768 (find_line_len): Removed.
22769 (find_framebuf): Likewise.
22770 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22771 * loader/i386/efi/xnu.c: Removed.
22772 * loader/i386/pc/xnu.c: Moved from here...
22773 * loader/i386/xnu.c: ...here.
22774
22775 Enable priorities in video drivers.
22776
22777 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22778 (grub_video_adapter): New field prio.
22779 (grub_video_register): Respect prio when inserting.
22780 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22781 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22782 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22783 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22784 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22785 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22786 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22787
22788 Fix SDL driver ID.
22789
22790 * include/grub/video.h (grub_video_driver_id_t): New value
22791 GRUB_VIDEO_DRIVER_SDL.
22792 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22793
7d24e434
CW
227942010-06-17 Colin Watson <cjwatson@ubuntu.com>
22795
22796 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22797 argument to printf.
22798 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22799
c88a83f6
CW
228002010-06-17 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22803 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22804
094dfb69
CW
228052010-06-17 Colin Watson <cjwatson@ubuntu.com>
22806
22807 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22808 directly, and recommend grub-install instead.
22809 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22810
2164da6b
CW
228112010-06-17 Colin Watson <cjwatson@ubuntu.com>
22812
22813 Fix i386-pc prefix handling with nested partitions (Debian bug
22814 #585068). Note that the case where the core image is booted using
22815 multiboot and relocated from its original location still requires
22816 more work.
22817
22818 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22819 with "(,", fill the boot drive in between those two characters, but
22820 expect that a full partition specification including partition map
22821 names will follow.
22822 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22823 specified, write a prefix without the drive name but including a
22824 full partition specification.
22825
044e2e60
CW
228262010-06-16 Colin Watson <cjwatson@ubuntu.com>
22827
22828 * util/grub-mkconfig.in: Ignore non-option arguments, for
22829 compatibility with older versions (before 2010-06-12) which did the
22830 same. In particular, this makes it easier to ship an update-grub
22831 wrapper which is compatible with that used with GRUB Legacy (Debian
22832 bug #586056).
22833
5591324f
GS
228342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22835
22836 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22837 for manual page generation.
22838
662e24d5
GS
228392010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22840
22841 * po/POTFILES: Remove leftover commands/handler.c.
22842
8d70754e
CW
228432010-06-14 Colin Watson <cjwatson@ubuntu.com>
22844
22845 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22846 left this script non-functional.
22847
41160e2e
CW
228482010-06-14 Colin Watson <cjwatson@ubuntu.com>
22849
22850 * docs/man/grub-emu.h2m: New file.
22851
b5309cc1
CW
228522010-06-13 Colin Watson <cjwatson@ubuntu.com>
22853
22854 * docs/grub.texi (Commands): Document reduced command set in rescue
22855 mode.
22856 (cpuid): New section.
22857
fcb2d090
GS
228582010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22859
22860 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22861 new partition naming style.
22862 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22863
96e5c556
BC
228642010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22865
22866 Add "-o grub.iso" like cmdline options support.
22867
22868 * util/grub-install.in: Improve cmdline option parsing.
22869 * util/grub-mkconfig.in: Likewise.
22870 * util/grub-mkrescue.in: Likewise.
22871 * util/grub-reboot.in: Likewise.
22872 * util/grub-set-default.in: Likewise.
22873 * util/i386/efi/grub-install.in: Likewise.
22874 * util/ieee1275/grub-install.in: Likewise.
22875 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22876
c16be99b
CW
228772010-06-12 Colin Watson <cjwatson@ubuntu.com>
22878
22879 * .bzrignore: Ignore 41_custom.
22880
ce08a9fb
TS
228812010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22882
22883 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22884
7beac90c
CW
228852010-06-12 Colin Watson <cjwatson@ubuntu.com>
22886
22887 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22888 prototype declarations.
22889
22890 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22891 generating fs, partmap, and video lists.
22892 * include/grub/fs.h (grub_fs_register): Omit prototype if
22893 GRUB_LST_GENERATOR is defined.
22894 * include/grub/partition.h (grub_partition_map_register): Likewise.
22895 * include/grub/video.h (grub_video_register): Likewise.
22896
1c8f0f8d
JM
228972010-06-12 Javier Martín <lordhabbit@gmail.com>
22898
22899 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22900
a6085973
TS
229012010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22902
22903 * util/grub-mkrescue.in: Support --xorriso argument.
22904
25c56d29
VS
229052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22906
22907 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22908 Suggested by: Thomas Schmitt.
22909
e03e4b24
VS
229102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22913 Suggested by: Thomas Schmitt.
22914
57711df6
VS
229152010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 custom.cfg support.
22918
22919 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22920 * util/grub.d/41_custom.in: New file.
22921
ee62c427
CW
229222010-06-12 Colin Watson <cjwatson@ubuntu.com>
22923
22924 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22925 been merged back into normal.
22926
283af07a
CW
229272010-06-11 Colin Watson <cjwatson@ubuntu.com>
22928
22929 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22930 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22931
56a0d956
CW
229322010-06-11 Colin Watson <cjwatson@ubuntu.com>
22933
22934 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22935 when generating manual pages.
22936 * docs/man/grub-bin2h.h2m: New file.
22937 * docs/man/grub-editenv.h2m: New file.
22938 * docs/man/grub-fstest.h2m: New file.
22939 * docs/man/grub-install.h2m: New file.
22940 * docs/man/grub-macho2img.h2m: New file.
22941 * docs/man/grub-mkconfig.h2m: New file.
22942 * docs/man/grub-mkdevicemap.h2m: New file.
22943 * docs/man/grub-mkfont.h2m: New file.
22944 * docs/man/grub-mkimage.h2m: New file.
22945 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22946 * docs/man/grub-mkrelpath.h2m: New file.
22947 * docs/man/grub-mkrescue.h2m: New file.
22948 * docs/man/grub-ofpathname.h2m: New file.
22949 * docs/man/grub-pe2elf.h2m: New file.
22950 * docs/man/grub-probe.h2m: New file.
22951 * docs/man/grub-reboot.h2m: New file.
22952 * docs/man/grub-script-check.h2m: New file.
22953 * docs/man/grub-set-default.h2m: New file.
22954 * docs/man/grub-setup.h2m: New file.
22955
3a37e322
VS
229562010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 Use FOR_* macros instead of *_iterate whenever possible.
22959
22960 * commands/handler.c: Removed.
22961 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22962 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22963 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22964 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22965 (grub_probe_SOURCES): Remove kern/parser.c.
22966 (util/grub-script-check.c_DEPENDENCIES): Removed.
22967 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22968 and grub_script_check_init.c.
22969 (grub_script_check_init.lst): Removed.
22970 (grub_script_check_init.h): Likewise.
22971 (grub_script_check_init.c): Likewise.
22972 (pkglib_MODULES): Remove handler.mod and sh.mod.
22973 (handler_mod_SOURCES): Removed.
22974 (handler_mod_CFLAGS): Likewise.
22975 (handler_mod_LDFLAGS): Likewise.
22976 (normal_mod_SOURCES): Remove normal/handler.c.
22977 Add script/main.c, script/script.c, script/execute.c,
22978 script/function.c, script/lexer.c, grub_script.tab.c
22979 and grub_script.yy.c.
22980 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22981 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22982 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22983 (grub_setup_SOURCES): Remove kern/parser.c.
22984 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22985 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22986 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22987 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22988 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22989 (grub_setup_SOURCES): Remove kern/parser.c.
22990 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22991 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22992 * include/grub/command.h (grub_command_iterate): Removed.
22993 (FOR_COMMANDS): New macro.
22994 * include/grub/dl.h (grub_dl): New member next.
22995 (grub_dl_iterate): Removed.
22996 (grub_dl_head): New variable declaration.
22997 (FOR_DL_MODULES): New macro.
22998 * include/grub/fs.h: Include list.h.
22999 (grub_fs): Make next first element.
23000 (grub_fs_list): New variable declaration.
23001 (grub_fs_register): Make inline.
23002 (grub_fs_unregister): Likewise.
23003 (grub_fs_iterate): Removed.
23004 (FOR_FILESYSTEMS): New macro.
23005 * include/grub/handler.h: Removed.
23006 * include/grub/list.h (grub_list_hook_t): Removed.
23007 (grub_list_test_t): Likewise.
23008 (grub_list_pop): Likewise.
23009 (grub_list_iterate): Likewise.
23010 (grub_list_insert): Likewise.
23011 (FOR_LIST_ELEMENTS): New macro.
23012 * include/grub/parser.h (grub_parser_class): Removed.
23013 (grub_parser_register): Likewise.
23014 (grub_parser_unregister): Likewise.
23015 (grub_parser_get_current): Likewise.
23016 (grub_parser_set_current): Likewise.
23017 (grub_register_rescue_parser): Likewise.
23018 (grub_rescue_parse_line): New function.
23019 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23020 * include/grub/script_sh.h (grub_script_function_list): New variable
23021 declaration.
23022 (FOR_SCRIPT_FUNCTIONS): New macro.
23023 (grub_script_function_iterate): Removed.
23024 (grub_normal_parse_line): New prototype.
23025 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23026 (FOR_DISABLED_TERM_INPUTS): Likewise.
23027 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23028 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23029 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23030 element.
23031 (grub_video_register): Inline.
23032 (grub_video_unregister): Likewise.
23033 (grub_video_adapter_list): New variable declaration.
23034 (grub_video_iterate): Removed.
23035 (FOR_VIDEO_ADAPTERS): New macro.
23036 * kern/dl.c (grub_dl_list): Removed. All users updated.
23037 (grub_dl_iterate): Removed.
23038 * kern/fs.c (grub_fs_list): Make global.
23039 (grub_fs_register): Removed.
23040 (grub_fs_unregister): Likewise.
23041 (grub_fs_iterate): Likewise.
23042 * kern/handler.c: Removed.
23043 * kern/list.c (grub_list_pop): Removed.
23044 (grub_list_iterate): Likewise.
23045 (grub_list_insert): Likewise.
23046 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23047 (grub_prio_list_insert): Don't use grub_list_insert.
23048 * kern/main.c (grub_register_rescue_parser): Don't call
23049 grub_register_rescue_parser.
23050 * kern/parser.c (grub_parser_class): Removed.
23051 (grub_parser_execute): Use grub_rescue_parse_line.
23052 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23053 (grub_rescue_parser): Removed.
23054 (grub_register_rescue_parser): Likewise.
23055 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23056 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23057 (grub_auth_check_authentication): Likewise.
23058 * normal/completion.c (iterate_command): Removed.
23059 (grub_normal_do_completion): Use FOR_COMMANDS.
23060 * normal/handler.c: Removed.
23061 * normal/main.c (read_config_file): Remove parser changing.
23062 (grub_normal_execute): Don't call read_handler_list.
23063 (grub_normal_read_line_real): Statically allocate prompt.
23064 (grub_cmdline_run): Use grub_normal_parse_line.
23065 (GRUB_MOD_FINI): Don't call free_handler_list.
23066 * normal/menu_entry.c (run): Likewise.
23067 * script/function.c (grub_script_function_list): Make global.
23068 (grub_script_function_iterate): Removed.
23069 * script/main.c (grub_normal_parse_line): Make global.
23070 (grub_sh_parser): Removed.
23071 (GRUB_MOD_INIT): Likewise.
23072 (GRUB_MOD_FINI): Likewise.
23073 * tests/lib/functional_test.c (grub_functional_test): Use
23074 FOR_LIST_ELEMENTS.
23075 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23076 (grub_test_run): Use FOR_LIST_ELEMENTS.
23077 * tests/lib/unit_test.c (main): Likewise.
23078 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23079 grub_list_pop.
23080 * util/grub-fstest.c (grub_term_input_class): Removed.
23081 (grub_term_output_class): Likewise.
23082 * util/grub-probe.c: Likewise.
23083 * util/i386/pc/grub-setup.c: Likewise.
23084 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23085 * util/grub-script-check.c (main): Don't call grub_init_all and
23086 grub_fini_all.
23087 * video/video.c (grub_video_adapter_list): Make global.
23088 (grub_video_register): Removed.
23089 (grub_video_unregister): Likewise.
23090 (grub_video_iterate): Likewise.
23091
6289c3a7
VS
230922010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23093
23094 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23095 reported by Henrique Ferreiro.
23096
91460247
RM
230972010-06-09 Robert Millan <rmh@gnu.org>
23098
23099 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23100 ones, when both are available.
23101
0ea7c4f9
GS
231022010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23103
23104 Make --version uniform and avoid hard-coded program name.
23105
23106 * util/grub-mkimage.c (main): Use `program_name' instead of
23107 hard-coded string.
23108 * util/i386/pc/grub-setup.c (main): Likewise.
23109 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23110 * util/grub-install.in: Save the basename of $0 in $self, and use the
23111 latter in informational messages. Use the same format for --version
23112 as the binary programs.
23113 * util/grub-mkconfig.in: Likewise.
23114 * util/grub-mkrescue.in: Likewise.
23115 * util/grub-reboot.in: Likewise.
23116 * util/grub-set-default.in: Likewise.
23117 * util/i386/efi/grub-install.in: Likewise.
23118 * util/ieee1275/grub-install.in: Likewise.
23119 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23120
e8a6f3b6
GS
231212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23122
23123 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23124 embedding area. Use <= instead of == when checking for non-emptiness.
23125
f4d095d7
GS
231262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23127
23128 * configure.ac: Add `.' to the directories searched for unifont.
23129
50e532ca
CW
231302010-06-08 Colin Watson <cjwatson@ubuntu.com>
23131
23132 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23133 grub_script.yy.h.
23134
d39f3dec
CW
231352010-06-08 Colin Watson <cjwatson@ubuntu.com>
23136
23137 * docs/grub.texi (History): Expand to cover GRUB 2.
23138 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23139 commands, not `terminal'.
23140 (serial): Likewise.
23141 (terminal_input): New section.
23142 (terminal_output): New section.
23143 (uppermem): New section (stub).
23144 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23145
6ef0ddb4
CW
231462010-06-08 Colin Watson <cjwatson@ubuntu.com>
23147
23148 * docs/grub.texi (Security): Menu entries are unrestricted by
23149 default, not restricted to superusers as I had previously thought.
23150 Reword to account for this.
23151
e0f4c438
CW
231522010-06-07 Colin Watson <cjwatson@ubuntu.com>
23153
23154 * kern/emu/misc.c (device_mapper_null_log): New function.
23155 (grub_device_mapper_supported): New function.
23156 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23157 prototype.
23158 * kern/emu/hostdisk.c (find_partition_start): Check whether
23159 device-mapper is supported before trying to use it.
23160 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23161
da908200
CW
231622010-06-07 Colin Watson <cjwatson@ubuntu.com>
23163
23164 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23165 (File name syntax): Likewise.
23166 (help): --all is no longer supported in GRUB 2. Be more precise
23167 about pattern matching.
23168
fb55c3ac
CW
231692010-06-07 Colin Watson <cjwatson@ubuntu.com>
23170
23171 * normal/completion.c (grub_normal_do_completion): When completing
23172 arguments to "set" and the current word contains an equals sign,
23173 skip to after the equals sign before starting completion.
23174
258c2573
CW
231752010-06-07 Colin Watson <cjwatson@ubuntu.com>
23176
23177 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23178
ee75515e
CW
231792010-06-07 Colin Watson <cjwatson@ubuntu.com>
23180
23181 * docs/grub.texi (Network): New section.
23182 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23183 `(nd)' as in GRUB Legacy.
23184 (pxe_unload): New section.
23185
a6a700aa
CW
231862010-06-07 Colin Watson <cjwatson@ubuntu.com>
23187
23188 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23189 in the rescue shell, so recommend using `set' instead. Thanks,
23190 Jordan Uggla.
23191
4003dd38
CW
231922010-06-07 Colin Watson <cjwatson@ubuntu.com>
23193
23194 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23195 (password): New section.
23196 (password_pbkdf2): New section.
23197 (search): New section.
23198 (Security): New section.
23199 (Troubleshooting): New section, currently very incomplete.
23200 (Invoking grub-mkpasswd-pbkdf2): New section.
23201 (Internals): New section, currently very incomplete.
23202
e1cbcc40
CW
232032010-06-07 Colin Watson <cjwatson@ubuntu.com>
23204
23205 * util/grub.d/00_header.in: Add some more quoting (of
23206 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23207 work again.
23208 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23209
db8fa1ad
CW
232102010-06-07 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23213 to `count', fixing variable shadowing that broke the -c option.
23214
232152010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23216
23217 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23218 in case they contain spaces.
23219
f28a9212
CW
232202010-06-04 Colin Watson <cjwatson@ubuntu.com>
23221
23222 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23223 "part_" to partmap module names, in line with grub-install.
23224 Reported by: Jindřich Makovička (Debian bug #584426).
23225
9cdfe32f
CW
232262010-06-04 Colin Watson <cjwatson@ubuntu.com>
23227
23228 * util/grub-mkimage.c: Make target-related error messages slightly
23229 more helpful; -O talks about "format". Explicitly point to the use
23230 of -O if no target is specified.
23231 Reported by: Didier Raboud (Debian bug #584415).
23232
795b593a
CW
232332010-06-03 Colin Watson <cjwatson@ubuntu.com>
23234
23235 * INSTALL: Document several build requirements for optional features
23236 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23237
9d9b5833
GS
232382010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23239
23240 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23241 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23242 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23243
0819fec8
CW
232442010-06-02 Colin Watson <cjwatson@ubuntu.com>
23245
23246 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23247 Thanks to Jordan Uggla for spotting this.
23248
49396b4f
VS
232492010-06-02 Aleš Nesrsta <starous@volny.cz>
23250
23251 Finally make USB usable.
23252
23253 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23254 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23255 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23256 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23257 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23258 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23259 (GRUB_OHCI_FSMPS): Likewise.
23260 (GRUB_OHCI_PERIODIC_START): Likewise.
23261 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23262 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23263 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23264 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23265 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23266 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23267 (grub_ohci_transaction): Likewise.
23268 (grub_ohci_transfer): Improve condition detection algorithms.
23269 Handle toggle property. Program the transactions correctly.
23270 Improve error handling. Various important fixups.
23271 (grub_ohci_portstatus): Put register writes in right order.
23272 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23273 (grub_uhci_transfer): Don't show "failed" message on success.
23274 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23275 array.
23276 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23277 determine its size.
23278 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23279 before initialization is completed. Use IN direction for empty
23280 transfers. Use last_trans and compute toggle.
23281 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23282 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23283 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23284 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23285 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23286 (grub_usb_device): Increase toggle to 256.
23287 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23288 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23289 GRUB_USBMS_SUBCLASS_SFF8070.
23290 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23291 (grub_scsi_inquiry): New member page and alloc_length.
23292 (grub_scsi_request_sense): New structure.
23293 (grub_scsi_request_sense_data): Likewise.
23294 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23295 control.
23296 * disk/scsi.c (grub_scsi_request_sense): New function.
23297 (grub_scsi_test_unit_ready): Likewise.
23298 (grub_scsi_inquiry): Fill new fields.
23299 (grub_scsi_read_capacity): Likewise.
23300 (grub_scsi_read10): Add request sense at the end.
23301 (grub_scsi_read12): Likewise.
23302 (grub_scsi_write10): Likewise.
23303 (grub_scsi_write12): Likewise.
23304 (grub_scsi_open): Add Test Unit Ready.
23305 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23306 Support additional subclasses. Con't clear halt yet. Activate the
23307 proper config. Calculate LUNs correctly.
23308 (grub_usbms_transfer): Various important fixups.
23309
233102010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23311
23312 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23313 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23314 (grub_ohci_fini_hw): New function.
23315 (grub_ohci_restore_hw): Likewise.
23316 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23317 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23318 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23319
233202010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 Dedicated DMA allocations.
23323
23324 * bus/pci.c (grub_memalign_dma32): New function
23325 (grub_dma_free): Likewise.
23326 (grub_dma_get_virt): Likewise.
23327 (grub_dma_get_phys): Likewise.
23328 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23329 (grub_ohci_pci_iter): Use dma32_alloc.
23330 (grub_ohci_transfer): Likewise.
23331 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23332 (grub_usb_bulk_readwrite): Likewise.
23333 * include/grub/pci.h: Add declarations.
23334
233352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23336
23337 CS5536 support.
23338
23339 * bus/cs5536.c: New file.
23340 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23341 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23342 (cs5536_mod_SOURCES): New variable.
23343 (cs5536_mod_CFLAGS): Likewise.
23344 (cs5536_mod_LDFLAGS): Likewise.
23345 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23346 machine/pci.h.
23347 (kernel_img_SOURCES): Add bus/cs5536.c.
23348 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23349 usb_keyboard.mod.
23350 (usb_mod_SOURCES): New variable.
23351 (usb_mod_CFLAGS): New variable.
23352 (usb_mod_LDFLAGS): New variable.
23353 (usbtest_mod_SOURCES): New variable.
23354 (usbtest_mod_CFLAGS): New variable.
23355 (usbtest_mod_LDFLAGS): New variable.
23356 (ohci_mod_SOURCES): New variable.
23357 (ohci_mod_CFLAGS): New variable.
23358 (ohci_mod_LDFLAGS): New variable.
23359 (usbms_mod_SOURCES): New variable.
23360 (usbms_mod_CFLAGS): New variable.
23361 (usbms_mod_LDFLAGS): New variable.
23362 (usb_keyboard_mod_SOURCES): New variable.
23363 (usb_keyboard_mod_CFLAGS): New variable.
23364 (usb_keyboard_mod_LDFLAGS): New variable.
23365 * include/grub/smbus.h: New file.
23366 * include/grub/cs5536.h: New file.
23367
0b35b2a9
CW
233682010-06-02 Colin Watson <cjwatson@ubuntu.com>
23369
23370 * util/grub.d/00_header.in: Add safety check to make sure that
23371 ${locale_dir} exists before trying to probe it.
23372
ca0afd5b
CW
233732010-06-02 Colin Watson <cjwatson@ubuntu.com>
23374
23375 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23376 per the GNU Coding Standards; this is now too obscure to be worth
23377 documenting.
23378 (QNX): Likewise.
23379 (chainloader): Remove cross-reference to `SCO UnixWare'.
23380
1c41aa78
CW
233812010-06-02 Colin Watson <cjwatson@ubuntu.com>
23382
23383 * docs/grub.texi (Chain-loading): New section.
23384 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23385 adjusted for GRUB 2.
23386 (SCO UnixWare): Likewise.
23387 (QNX): Likewise.
23388 (chainloader): Add reference to `Block list syntax'.
23389 (drivemap): New section.
23390 (parttool): New section.
23391
bb8ea0f5
CW
233922010-06-02 Colin Watson <cjwatson@ubuntu.com>
23393
23394 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23395 the grub shell'.
23396 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23397 (Installing GRUB using grub-install): Remove reference to the grub
23398 shell; mention `grub-mkimage' and `grub-setup' instead.
23399 (Invoking grub-install): Likewise.
23400 (Interface): Add reference to `Menu entry editor'.
23401 (serial): Remove `--device' option.
23402
288dd6ed
CW
234032010-06-02 Colin Watson <cjwatson@ubuntu.com>
23404
23405 * docs/grub.texi (Configuration): New section, documenting
23406 configuration file generation using grub-mkconfig. I've left a slot
23407 for documenting the full shell scripting format but have not yet
23408 started on writing that up.
23409 (Invoking grub-mkconfig): New section.
23410
34c9f0e9
CW
234112010-06-02 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23414 (GNU GRUB manual): Likewise.
23415 (General commands): Update description of `terminfo' for GRUB 2.
23416
9121567e
CW
234172010-06-02 Colin Watson <cjwatson@ubuntu.com>
23418
23419 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23420 (GRUB_MOD_INIT): Fix capitalisation.
23421 * docs/grub.texi (Command-line and menu entry commands): Document
23422 gettext and gptsync commands.
23423
ab631611
CW
234242010-06-02 Colin Watson <cjwatson@ubuntu.com>
23425
23426 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23427 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23428
bde4a9ac
CW
234292010-06-01 Colin Watson <cjwatson@ubuntu.com>
23430
23431 Add btrfs probing support, currently only in the single-device case.
23432
23433 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23434 function.
23435 (grub_guess_root_device): Call find_root_device_from_mountinfo
23436 before looking in /dev.
23437
b1d17e10
VS
234382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23439
23440 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23441 GRUB_DISK_SIZE_UNKNOWN.
23442 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23443
dfbfe004
JS
234442010-05-31 Jiro SEKIBA <jir@unicus.jp>
23445
23446 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23447 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23448 corrupted or not synced properly.
23449
c2ffc8e9
VS
234502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23453 Reported by: Seth Goldberg.
23454
56293166
VS
234552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23458 addition of dest.
23459 Reported by: Seth Goldberg.
23460
7620e7de
VS
234612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23462
23463 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23464 Reported by: Seth Goldberg.
23465
c837af3f
VS
234662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23467
23468 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23469 64-bit address as signed on MIPS.
23470
c7c75cf4
CW
234712010-05-28 Colin Watson <cjwatson@ubuntu.com>
23472
23473 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23474 to the empty string.
23475
fa4b8490
BC
234762010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23477
23478 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23479
23480 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23481 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23482 * kern/misc.c (__enable_execute_stack): Disable on
23483 GRUB_MACHINE_EMU.
23484
a33075b9
CW
234852010-05-28 Colin Watson <cjwatson@ubuntu.com>
23486
23487 Make grub-probe work with symbolic links under /dev/mapper as well
23488 as with real block devices. The Linux world seems to be (at best)
23489 in transition here, and GRUB shouldn't get caught in the middle.
23490
23491 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23492 /dev/mapper.
23493
d8708134
CW
234942010-05-27 Colin Watson <cjwatson@ubuntu.com>
23495
23496 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23497 input files (in which case exit zero).
23498
db2102a0
CW
234992010-05-27 Colin Watson <cjwatson@ubuntu.com>
23500
23501 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23502 return NULL for various reasons even if it has a maximum-length
23503 buffer: for example, there might be a symlink loop, or the path
23504 might exceed PATH_MAX. If this happens, return NULL.
23505
5fdba519
RM
235062010-05-27 Robert Millan <rmh@gnu.org>
23507
23508 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23509 partmap module to handle cross-partmap setups.
23510 Reported by Orestes Mas. Gràcies!
23511
d1d368e4
CW
235122010-05-27 Colin Watson <cjwatson@ubuntu.com>
23513
23514 * util/grub-mkrescue.in: Initialise override_dir rather than
23515 assuming that it's unset or empty in the environment.
23516
95ac3c73
GS
235172010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23518
23519 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23520 variable index into p_index to suppress a warning with -Wshadow.
23521
7d8c0213
BC
235222010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23523
23524 * INSTALL: Added flex >= 2.5.35 requirement.
23525
db4d5813
VS
235262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23529
f24f4300
VS
235302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 cmostest support.
23533
23534 * commands/i386/cmostest.c: New file.
23535 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23536 (cmostest_mod_SOURCES): New variable.
23537 (cmostest_mod_CFLAGS): Likewise.
23538 (cmostest_mod_LDFLAGS): Likewise.
23539 * conf/i386-pc.rmk: Likewise.
23540 * docs/grub.texi (Vendor power-on keys): New section.
23541 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23542 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23543 and GRUB_BUTTON_CMOS_ADDRESS.
23544 * util/grub.d/00_header.in: Handle powering-on by separate button.
23545
ad603f61
VS
235462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23549 Removed drawing_scrollbar argument. All users updated
23550 Fixes #29792.
23551 Reported by Jo Shields
23552
3ecb080a
VS
235532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23556 buffer since gfxterm handles double repaint.
23557
5f2316c1
VS
235582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23559
23560 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23561 * term/gfxterm.c (real_scroll): Likewise.
23562
9a25f885
VS
235632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23564
23565 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23566 before calling BIOS.
23567
39fbb79a
VS
235682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23569
23570 * include/grub/i18n.h: Always enable grub_gettext.
23571
228cfa97
VS
235722010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23573
23574 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23575 partition naming style.
23576
21717c8f
CW
235772010-05-21 Colin Watson <cjwatson@ubuntu.com>
23578
23579 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23580 not the first option.
23581
c0f48e65
CW
235822010-05-20 Colin Watson <cjwatson@ubuntu.com>
23583
23584 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23585
96779aec
CW
235862010-05-20 Colin Watson <cjwatson@ubuntu.com>
23587
23588 * util/misc.c: Move inclusion of <limits.h> to ...
23589 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23590
fa9d256e
GS
235912010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23592
23593 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23594 Fix merge error in NetBSD code.
23595 (find_partition_start) [__NetBSD__]: Likewise.
23596
123b7a85
BC
235972010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23598
23599 Fix grub-mkrescue usage unit testing.
23600
23601 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23602
74276c0d
CF
236032010-05-18 Christian Franke <franke@computer.org>
23604
23605 * util/grub.d/10_windows.in: Use path names instead of
23606 drive letters to prevent warning from Cygwin 1.7.
23607 Add drivemap command to menuentry if needed.
23608
c4f7b523
ST
236092010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23610
23611 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23612 gnumach and gnumach.gz.
23613
95b97950
VS
236142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23615
23616 * include/grub/i18n.h (gettext): Inline instead of using #define.
23617 (grub_gettext): Likewise.
23618 (_): Likewise.
23619
01b8d2d7
VS
236202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23623 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23624 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23625 (main): Add a slash after pkglibdirroot.
23626
654e1d1e
VS
236272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23628
23629 * util/grub-install.in: Add missing "in" keyword.
23630
26966aeb
VS
236312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23632
23633 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23634 Reported by: Seth Goldberg.
23635
75006747
VS
236362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23639
74cbf5bd
CW
236402010-05-18 Colin Watson <cjwatson@ubuntu.com>
23641
23642 * configure.ac: Check for Linux device-mapper support.
23643
23644 * util/hostdisk.c (device_is_mapped): New function.
23645 (find_partition_start): New function, partly broken out from
23646 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23647 device-mapper support added.
23648 (linux_find_partition): Use find_partition_start.
23649 (convert_system_partition_to_system_disk): Add `st' argument.
23650 Support Linux /dev/mapper/* devices if device-mapper support is
23651 available; only DM-RAID devices are understood at present.
23652 (find_system_device): Add `st' argument. Pass it to
23653 convert_system_partition_to_system_disk.
23654 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23655 find_system_device and convert_system_partition_to_system_disk. Use
23656 find_partition_start.
23657
23658 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23659 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23660 * util/deviceiter.c [__linux__]: Define MINOR.
23661 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23662 * util/mkdevicemap.c (grub_putchar): New function.
23663 (grub_getkey): New function.
23664 (grub_refresh): New function.
23665 (main): Set debug=all if -v -v is used.
23666
355b51e9
CW
236672010-05-18 Colin Watson <cjwatson@ubuntu.com>
23668
23669 Fix build with non-GNU libcs.
23670
23671 * util/misc.c (canonicalize_file_name): Move to ...
23672 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23673 grub_make_system_path_relative_to_its_root.
23674
7fb5c25f
CW
236752010-05-18 Colin Watson <cjwatson@ubuntu.com>
23676
23677 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23678 we handle finding grub-mkimage. Default to finding grub-mkimage in
23679 ${bindir} with program_transform_name applied, and provide a
23680 --grub-mkimage option to override this.
23681
1d3293d6
VS
236822010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 Remove grub-mkisofs.
23685
23686 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23687 (grub_mkisofs_SOURCES): Removed.
23688 (grub_mkisofs_CFLAGS): Removed.
23689 * util/mkisofs/defaults.h: Removed.
23690 * util/mkisofs/eltorito.c: Likewise.
23691 * util/mkisofs/exclude.h: Likewise.
23692 * util/mkisofs/hash.c: Likewise.
23693 * util/mkisofs/include/: Likewise.
23694 * util/mkisofs/include/fctldefs.h: Likewise.
23695 * util/mkisofs/include/mconfig.h: Likewise.
23696 * util/mkisofs/include/prototyp.h: Likewise.
23697 * util/mkisofs/include/statdefs.h: Likewise.
23698 * util/mkisofs/iso9660.h: Likewise.
23699 * util/mkisofs/joliet.c: Likewise.
23700 * util/mkisofs/match.c: Likewise.
23701 * util/mkisofs/match.h: Likewise.
23702 * util/mkisofs/mkisofs.c: Likewise.
23703 * util/mkisofs/mkisofs.h: Likewise.
23704 * util/mkisofs/msdos_partition.h: Likewise.
23705 * util/mkisofs/multi.c: Likewise.
23706 * util/mkisofs/name.c: Likewise.
23707 * util/mkisofs/rock.c: Likewise.
23708 * util/mkisofs/tree.c: Likewise.
23709 * util/mkisofs/write.c: Likewise.
23710
5dde9afe
VS
237112010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 Unify grub-mkimage accross platforms.
23714
23715 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23716 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23717 (grub_mkelfimage_SOURCES): Removed.
23718 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23719 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23720 (bin_UTILITIES): Add grub-mkimage.
23721 (grub_mkimage_SOURCES): New variable.
23722 (kernel_img_HEADERS): Remove machine/kernel.h.
23723 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23724 (pkglib_PROGRAMS): Add kernel.img.
23725 (kernel_img_HEADERS): Add machine/kernel.h.
23726 (kernel_img_FORMAT): Removed.
23727 (bin_UTILITIES): Remove grub-mkimage.
23728 (grub_mkimage_SOURCES): Removed.
23729 (grub_mkimage_CFLAGS): Likewise.
23730 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23731 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23732 (pkglib_PROGRAMS): Add kernel.img.
23733 (bin_UTILITIES): Remove grub-mkimage.
23734 (grub_mkimage_SOURCES): Removed.
23735 (grub_mkimage_CFLAGS): Likewise.
23736 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23737 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23738 (pkglib_PROGRAMS): Add kernel.img.
23739 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23740 (pkglib_PROGRAMS): Add kernel.img.
23741 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23742 (grub_mkimage_SOURCES): Removed.
23743 (grub_mkimage_CFLAGS): Likewise.
23744 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23745 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23746 (pkglib_PROGRAMS): Add kernel.img.
23747 (bin_UTILITIES): Remove grub-mkimage.
23748 (grub_mkimage_SOURCES): Removed.
23749 (grub_mkimage_CFLAGS): Likewise.
23750 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23751 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23752 (grub_mkimage_SOURCES): Removed.
23753 (grub_mkimage_CFLAGS): Likewise.
23754 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23755 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23756 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23757 (grub_pe32_optional_header): ... this.
23758 (grub_pe64_optional_header): ... and this. All users updated.
23759 (GRUB_PE32_PE32_MAGIC): Split into ..
23760 (GRUB_PE32_PE32_MAGIC): .. this.
23761 (GRUB_PE32_PE64_MAGIC): .. and this.
23762 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23763 * include/grub/elf.h (PT_GNU_STACK): New definition.
23764 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23765 * include/grub/i386/efi/kernel.h: Likewise.
23766 * include/grub/i386/kernel.h: Likewise.
23767 * include/grub/i386/pc/kernel.h: Likewise.
23768 * include/grub/i386/qemu/boot.h: Likewise.
23769 * include/grub/mips/kernel.h: Likewise.
23770 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23771 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23772 * include/grub/powerpc/kernel.h: Likewise.
23773 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23774 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23775 * include/grub/sparc64/kernel.h: Likewise.
23776 * include/grub/x86_64/efi/kernel.h: Likewise.
23777 * include/grub/x86_64/kernel.h: Likewise.
23778 * include/grub/offsets.h: New file.
23779 * include/grub/kernel.h (grub_module_info): Split into ...
23780 (grub_module_info32): ... this.
23781 (grub_module_info64): ... and this.
23782 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23783 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23784 (grub_boot_blocklist): Moved from here ...
23785 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23786 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23787 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23788 * include/grub/types.h (grub_target_to_host16): Removed.
23789 (grub_target_to_host32): Likewise.
23790 (grub_target_to_host64): Likewise.
23791 (grub_host_to_target16): Likewise.
23792 (grub_host_to_target32): Likewise.
23793 (grub_host_to_target64): Likewise.
23794 (grub_host_to_target_addr): Likewise.
23795
23796 Support grub-mkrescue for efi, coreboot and qemu.
23797
23798 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23799 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23800 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23801 * util/grub-mkrawimage.c: Moved from here ...
23802 * util/grub-mkimage.c: ... here. All users updated.
23803 (ALIGN_ADDR): Use image_target.
23804 (TARGET_NO_FIELD): New const.
23805 (image_target_desc): New type.
23806 (image_targets): New array.
23807 (grub_target_to_host64): Use image_target.
23808 (grub_target_to_host32): Likewise.
23809 (grub_target_to_host16): Likewise.
23810 (grub_host_to_target64): Likewise.
23811 (grub_host_to_target32): Likewise.
23812 (grub_host_to_target16): Likewise.
23813 (grub_host_to_target_addr): Likewise.
23814 (generate_image): Handle multiimage.
23815 (main): Require -O parameter. All users updated.
23816 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23817 util/efi/grub-mkimage.c
23818 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23819 New option --rom-directory.
23820 Use xorriso.
23821 * util/i386/efi/grub-mkimage.c: Removed.
23822 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23823 (grub_target_to_host32): Likewise.
23824 (grub_target_to_host64): Likewise.
23825 (grub_host_to_target16): Likewise.
23826 (grub_host_to_target32): Likewise.
23827 (grub_host_to_target64): Likewise.
23828 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23829 (grub_target_to_host32): Likewise.
23830 (grub_target_to_host64): Likewise.
23831 (grub_host_to_target16): Likewise.
23832 (grub_host_to_target32): Likewise.
23833 (grub_host_to_target64): Likewise.
23834
f4fc97d0
BC
238352010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23836
23837 Source tree is reorganized for emu build.
23838
23839 * include/grub/util/console.h: Move from here...
23840 * include/grub/emu/console.h: ...to here.
23841 * include/grub/util/getroot.h: Move from here...
23842 * include/grub/emu/getroot.h: ...to here.
23843 * include/grub/util/hostdisk.h: Move from here...
23844 * include/grub/emu/hostdisk.h: ...to here.
23845 * util/console.c: Move from here...
23846 * kern/emu/console.c: ...to here.
23847 * util/getroot.c: Move from here...
23848 * kern/emu/getroot.c: ...to here.
23849 * util/grub-emu.c: Move from here...
23850 * kern/emu/main.c: ...to here.
23851 * util/hostdisk.c: Move from here...
23852 * kern/emu/hostdisk.c: ...to here.
23853 * util/hostfs.c: Move from here...
23854 * kern/emu/hostfs.c: ...to here.
23855 * util/mm.c: Move from here...
23856 * kern/emu/mm.c: ...to here.
23857 * util/pci.c: Move from here...
23858 * bus/emu/pci.c: ...to here.
23859 * util/sdl.c: Move from here...
23860 * video/emu/sdl.c: ...to here.
23861 * util/time.c: Move from here...
23862 * kern/emu/time.c: ...to here.
23863 * util/usb.c: Move from here...
23864 * bus/usb/emu/usb.c: ...to here.
23865
23866 * include/grub/emu/misc.h: New header for grub-emu functions.
23867 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23868
23869 * conf/any-emu.rmk: Rule updates for above renames.
23870 * conf/common.rmk: Likewise.
23871 * conf/i386-pc.rmk: Likewise.
23872 * conf/i386-qemu.rmk: Likewise.
23873 * conf/mips.rmk: Likewise.
23874 * conf/sparc64-ieee1275.rmk: Likewise.
23875 * conf/x86-efi.rmk: Likewise.
23876
23877 * disk/lvm.h: #include updates for above renames.
23878 * util/grub-mkrelpath.c: Likewise.
23879 * util/grub-probe.c: Likewise.
23880 * util/i386/pc/grub-setup.c: Likewise.
23881 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23882 * kern/emu/console.c: Likewise.
23883 * kern/emu/getroot.c: Likewise.
23884 * kern/emu/hostdisk.c: Likewise.
23885 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23886
23887 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23888 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23889 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23890 * util/misc.c: Remove grub-emu functions.
23891
cced9145
VS
238922010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23893
23894 Fix gfxmenu crash.
23895 Reported by: Thorsten Grützmacher.
23896
23897 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23898 timeout hook.
23899 (circprog_set_property): Register and unregister timeout hook.
23900 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23901 (label_destroy): Free template. and unregister hook.
23902 (label_set_state): New function.
23903 (label_set_property): Handle templates and hooks.
23904 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23905 timeout hook.
23906 (progress_bar_set_property): Register and unregister timeout hook.
23907 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23908 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23909 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23910 (update_timeout_visit): Removed.
23911 (update_timeouts): New function.
23912 (redraw_timeouts): Likewise.
23913 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23914 (grub_gfxmenu_clear_timeout): Likewise.
23915 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23916 (grub_gfxmenu_timeout_notify): Likewise.
23917 (grub_gfxmenu_timeout_notifications): New external variable.
23918 (grub_gfxmenu_timeout_register): New function.
23919 (grub_gfxmenu_timeout_unregister): Likewise.
23920
c6e5caab
VS
239212010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23922
23923 Transform (broken) vga terminal into (working) vga video driver.
23924
23925 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23926 video/i386/pc/vga.c.
23927 * include/grub/video.h (grub_video_driver_id):
23928 Add GRUB_VIDEO_DRIVER_VGA.
23929 * term/i386/pc/vga.c: Renamed to ...
23930 * video/i386/pc/vga.c: ...this
23931 (DEBUG_VGA): Removed.
23932 (CHAR_WIDTH): Likewise.
23933 (CHAR_HEIGHT): Likewise.
23934 (TEXT_WIDTH): Likewise.
23935 (TEXT_HEIGHT): Likewise.
23936 (DEFAULT_FG_COLOR): Likewise.
23937 (DEFAULT_BG_COLOR): Likewise.
23938 (colored_char): Likewise.
23939 (xpos): Likewise.
23940 (ypos): Likewise.
23941 (cursor_state): Likewise.
23942 (fg_color): Likewise.
23943 (bg_color): Likewise.
23944 (text_buf): Likewise.
23945 (page): Likewise.
23946 (font): Likewise.
23947 (framebuffer): New variable.
23948 (set_read_map): Disabled.
23949 (setup): New variable.
23950 (is_target): Likewise.
23951 (grub_vga_mod_init): Likewise.
23952 (grub_vga_mod_fini): Likewise.
23953 (check_vga_mem): Likewise.
23954 (write_char): Likewise.
23955 (write_cursor): Likewise.
23956 (scroll_up): Likewise.
23957 (grub_vga_putchar): Likewise.
23958 (grub_vga_getcharwidth): Likewise.
23959 (grub_vga_getwh): Likewise.
23960 (grub_vga_getxy): Likewise.
23961 (grub_vga_gotoxy): Likewise.
23962 (grub_vga_cls): Likewise.
23963 (grub_vga_setcolorstate): Likewise.
23964 (grub_vga_setcursor): Likewise.
23965 (grub_video_vga_init): New function.
23966 (grub_video_vga_setup): Likewise.
23967 (grub_video_vga_fini): Likewise.
23968 (update_target): Likewise.
23969 (grub_video_vga_blit_bitmap): Likewise.
23970 (grub_video_vga_blit_render_target): Likewise.
23971 (grub_video_vga_set_active_render_target): Likewise.
23972 (grub_video_vga_get_active_render_target): Likewise.
23973 (grub_video_vga_swap_buffers): Likewise.
23974 (grub_video_vga_set_palette): Likewise.
23975 (grub_video_vga_get_info_and_fini): Likewise.
23976 (grub_vga_term): Removed.
23977 (grub_video_vga_adapter): New variable.
23978 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23979 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23980
2bf61a98
VS
239812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 * video/readers/jpeg.c: Indented.
23984
09ddcd11
VS
239852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23986
23987 Various jpeg cleanups.
23988
23989 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23990 (grub_jpeg_decode_quan_table): Use sizeof.
23991 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23992
e5507505
PH
239932010-05-05 Peter Hurley <No e-mail available> (tiny change)
23994
23995 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23996 tables. Ignore non-last ac bit.
23997 (grub_jpeg_decode_quan_table): Likewise.
23998
7e720a9b
VS
239992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24002 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24003 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24004 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24005 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24006 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24007
a7fc080b
VS
240082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24011 error.
24012
2bf6012d
VS
240132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24014
24015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24016
265d68cd
VS
240172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24020 condition.
24021
240222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24023
24024 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24025 part.
24026
265d68cd 240272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24028
24029 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24030 pointers.
24031
265d68cd 240322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24033
24034 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24035
d1b61374
CF
240362010-05-01 Christian Franke <franke@computer.org>
24037
24038 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24039 Remove broken Cygwin path conversion.
24040 * util/misc.c: [__CYGWIN__] Add include and define.
24041 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24042 for Cygwin 1.7.
24043 (make_system_path_relative_to_its_root): Simplify loop, replace early
24044 return by break.
24045 [__CYGWIN__] Add conversion to win32 path.
24046 Include "/" case in trailing slash removal.
24047
3558c6e9
VS
240482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24049
24050 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24051 Reported by: Seth Goldberg
24052
f5f3ff93
VS
240532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24054
24055 * commands/help.c (grub_cmd_help): Fix a typo.
24056 Reported by: Seth Goldberg
24057
d8b5cd40
VS
240582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24061 name and add N_.
24062 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24063 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24064 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24065 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24066 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24067 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24068 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24069 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24070 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24071 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24072 * normal/context.c (GRUB_MOD_INIT): Likewise.
24073 * normal/main.c (GRUB_MOD_INIT): Likewise.
24074 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24075 * term/serial.c (GRUB_MOD_INIT): Likewise.
24076 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24077
88c14915
VS
240782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24081 extra == 0.
24082
165134bc
VS
240832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24084
24085 * commands/iorw.c: New file.
24086 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24087 (iorw_mod_SOURCES): New variable.
24088 (iorw_mod_CFLAGS): Likewise.
24089 (iorw_mod_LDFLAGS): Likewise.
24090
c5ac9b32
VS
240912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24092
24093 Hotkey support
24094
24095 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24096 * normal/main.c (hotkey_aliases): New variable.
24097 (grub_normal_add_menu_entry): Parse "--hotkey".
24098 * normal/menu_text.c (run_menu): Handle hotkeys.
24099
ce60689c
VS
241002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 * kern/i386/coreboot/init.c (grub_machine_init): Call
24103 grub_machine_mmap_init on qemu.
24104
0359d006
VS
241052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24106
24107 * boot/i386/qemu/boot.S: Add a missing .code16.
24108
7819a456
VS
241092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24110
24111 Use LBIO on coreboot.
24112
24113 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24114 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24115 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24116 New declaration.
24117 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24118 grub_machine_mmap_init on coreboot.
24119 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24120 GRUB_LINUXBIOS_MEMBER_LINK.
24121 (grub_machine_mmap_iterate): Fix declaration.
24122 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24123
7210dca9
VS
241242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 Split coreboot and multiboot ports.
24127
24128 * conf/i386-multiboot.rmk: New file.
24129 * configure.ac: Add multiboot port.
24130 * include/grub/i386/multiboot/boot.h: New file.
24131 * include/grub/i386/multiboot/console.h: Likewise.
24132 * include/grub/i386/multiboot/init.h: Likewise.
24133 * include/grub/i386/multiboot/kernel.h: Likewise.
24134 * include/grub/i386/multiboot/loader.h: Likewise.
24135 * include/grub/i386/multiboot/memory.h: Likewise.
24136 * include/grub/i386/multiboot/serial.h: Likewise.
24137 * include/grub/i386/multiboot/time.h: Likewise.
24138 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24139 * loader/multiboot.c: Likewise.
24140 * loader/multiboot_mbi2.c: Likewise.
24141 * util/grub-mkrescue.in: Generate multiboot rescue.
24142
6f8aaf68
VS
241432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24144
3080f7a7
VS
24145 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24146
241472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24150
24151 * commands/terminal.c (abstract_terminal): New struct.
24152 (handle_command): New function. Based on grub_cmd_terminal_input.
24153 (grub_cmd_terminal_input): Use handle_command.
24154 (grub_cmd_terminal_output): Use handle_command.
24155
a8ebb841
BC
241562010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24157
24158 Fix comment handling.
24159
24160 * tests/grub_script_comments.in: New testcase.
24161 * conf/tests.rmk: Rules for new testcase.
24162 * script/yylex.l: Updated flex rules.
24163
bb06ba08
ST
241642010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24165
24166 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24167 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24168 if argc is 1.
bb06ba08 24169
cc9d2425
VS
241702010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24173 autogen issues.
24174
460d8402
CF
241752010-04-26 Christian Franke <franke@computer.org>
24176
24177 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24178 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24179 (grub_get_prefix): Remove function.
24180 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24181 make_system_path_relative_to_its_root ().
24182 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24183
553c01f9
CF
241842010-04-24 Christian Franke <franke@computer.org>
24185
24186 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24187 (kernel_img_LDFLAGS): Remove -static-libgcc.
24188
2aec1692
CF
241892010-04-24 Christian Franke <franke@computer.org>
24190
24191 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24192 and CHECK_END_SYMBOL if grub-emu is built.
24193 Unset TARGET_OBJ2ELF if grub-emu is built
24194 without module support.
24195
f67dc308
JS
241962010-04-24 Jiro SEKIBA <jir@unicus.jp>
24197
24198 Nilfs2 support.
24199
24200 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24201 (grub_fstest_SOURCES): Likewise.
24202 (pkglib_MODULES): Add nilfs2.mod.
24203 (nilfs2_mod_SOURCES): New variable.
24204 (nilfs2_mod_CFLAGS): Likewise.
24205 (nilfs2_mod_LDFLAGS): Likewise.
24206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24207 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24208 * fs/nilfs2.c: New file.
24209
4ba8d354
VS
242102010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24211
24212 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24213 is not supported.
24214
0d2c20c6
GS
242152010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24216
24217 Add grub-mkconfig support for NetBSD.
24218
24219 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24220 * util/grub-mkconfig.in: export new NetBSD specific variables.
24221 * po/POTFILES-shell: added 10_netbsd.in.
24222 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24223
bc4a2d83
BC
242242010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24225
24226 Fix emu build with grub-emu-pci and grub-emu-modules.
24227
24228 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24229 functions.
24230 * include/grub/libpciaccess.h: New file.
24231 * conf/any-emu.rmk: Update kernel headers for emu build.
24232
f48c87aa
VS
242332010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24236
18959385
VS
242372010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24240
0037de3f
VS
242412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24242
24243 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24244 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24245 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24246 util/ieee1275/ofpath.c.
24247 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24248 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24249 * include/grub/sparc64/ieee1275/boot.h
24250 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24251 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24252 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24253 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24254 const char *.
24255 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24256 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24257 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24258 install.
24259
38e55e90
GS
242602010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24261
24262 * util/grub-mkconfig.in: Corrected two == equality tests.
24263 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24264 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24265 expect a number appended to it.
24266 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24267 expects a number appended to it.
24268
a9e6ff28
VS
242692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24272
0b830b8f
VS
242732010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24274
24275 * util/hostdisk.c (make_device_name): Change to new partition naming.
24276
0973daeb
VS
242772010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24280
460d8402 242812010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24282
24283 * Makefile.in: Add missing localedir setting.
24284
0b456309
CW
242852010-04-14 Colin Watson <cjwatson@ubuntu.com>
24286
24287 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24288 mistake in r2156. Noticed by Anthony Fok.
24289
24290 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24291 @localedir@.
24292 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24293
08f46d62
BC
242942010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24295
24296 Fix a spurious, uninitialized variable warning.
24297
24298 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24299 Initialize variable, shdr.
24300 (grub_freebsd_load_elfmodule): Likewise.
24301 (grub_freebsd_load_elf_meta): Likewise.
24302
8c4a72d4
BC
243032010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24304
24305 Fix for escaped dollar in double quoted strings.
24306
24307 * script/yylex.l: Updated flex rules.
24308 * conf/tests.rmk: Rule for new testcase.
24309 * tests/grub_script_dollar.in: New testcase.
24310
ce44826e
CPE
243112010-04-13 Carles Pina i Estany <carles@pina.cat>
243122010-04-13 Colin Watson <cjwatson@ubuntu.com>
24313
24314 Enclose all translated strings in grub.cfg in single quotes, and
24315 escape them appropriately (Ubuntu bug #552921).
24316
24317 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24318 * util/grub.d/10_hurd.in: Use it.
24319 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24320 * util/grub.d/10_linux.in (linux_entry): Likewise.
24321
4b0cd8f8
VS
243222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24323
24324 Fix cygwin compilation.
24325
24326 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24327 * include/grub/misc.h (__register_frame_info)
24328 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24329 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24330 * kern/misc.c (__register_frame_info)
24331 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24332 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24333
01fcf061
VS
243342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24337
5d04b11e
VS
243382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24339
24340 Unify libgcc processing.
24341
24342 * Makefile.in (kernel_img_LDFLAGS): New variable.
24343 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24344 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24345 overwriting.
24346 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24347 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24348 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24349 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24350 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24351 overwriting. Remove -lgcc and -static-libgcc
24352 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24353 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24354 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24355 (kernel_img_LDFLAGS): Append instead of overwriting.
24356 Remove -lgcc and -static-libgcc
24357 * conf/sparc64-ieee1275.rmk: Likewise.
24358 * include/grub/powerpc/libgcc.h: Move to ...
24359 * include/grub/libgcc.h: .. this.
24360 * include/grub/libgcc.h: Don't export most of the function on x86.
24361 (__bswapsi2): New export.
24362 (__bswapdi2): Likewise.
24363 * include/grub/mips/libgcc.h: Removed.
24364 * include/grub/sparc64/libgcc.h: Likewise.
24365
b7f3ac29
VS
243662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24369 disk_info_msg (conflicts with gettexting into languages with cases).
24370
2c7031b1
GS
243712010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24372
24373 Add grub-probe support for NetBSD.
24374
24375 * util/getroot.c (find_root_device): Convert block device to
24376 character device on NetBSD.
24377 * util/probe.c (probe): Require character device on NetBSD.
24378 * util/hostdisk.c: NetBSD specific headers.
24379 (configure_device_driver): new function to tune device driver
24380 parameters (currently only for NetBSD floppy driver).
24381 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24382 via disklabel ioctl).
24383 (open_device): call configure_device_driver on NetBSD.
24384 (convert_system_partition_to_system_disk): NetBSD specific code.
24385 (device_is_wholedisk): Likewise.
24386 (grub_util_biosdisk_get_grub_dev): Likewise.
24387 (make_device_name): Fixed a typo in bsd_part_str.
24388 * configure.ac: check for opendisk() and getrawpartition() on
24389 NetBSD and set LIBUTIL.
24390 * Makefile.in: add LIBUTIL to LIBS.
24391
f516290c
BC
243922010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24393
24394 Documentation fix.
24395
24396 * util/grub-script-check.c: Better help message.
24397
d8dcc0df
BC
243982010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24399
24400 Fix FreeBSD build.
24401
24402 * configure.ac: Flex version check.
24403 * conf/common.rmk: Add -Wno-error to sh.mod.
24404 * script/yylex.l: Remove all #pragma.
24405
6734334a
VS
244062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24407
24408 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24409 prototype.
24410 Reported by: Seth Goldberg.
24411
daea6abd
VS
244122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24413
24414 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24415 Rename "module" to "module2".
24416 Reported by: Seth Goldberg.
24417
f2fd9d2b
VS
244182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24419
24420 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24421 EXPORT_FUNC.
24422 Reported by: Seth Goldberg.
24423
be124579
VS
244242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * lib/posix_wrap/locale.h: Add missing file.
24427 Reported by: Seth Goldberg.
24428
ef5da797
VS
244292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 grub-emu module load support.
24432
24433 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24434 NO_DYNAMIC_MODULES switched to this.
24435 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24436 (CFLAGS): Likewise.
24437 * conf/any-emu.rmk: Generate symlist.
24438 (kernel_img_HEADERS): Add util/datetime.h.
24439 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24440 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24441 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24442 kern/$(target_cpu)/cache.S.
24443 * configure.ac (grub-emu-modules): New option.
24444 * genmk.rb: Handle multiple source lists.
24445 * include/grub/sdl.h: New file.
24446 * include/grub/libusb.h: Likewise.
24447 * util/grub-emu.c (main): Hanle (host) root.
24448 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24449 GRUB_ERR_UNKNOWN_DEVICE.
24450 * util/misc.c: Move mm functions to ...
24451 * util/mm.c: ... here. All users updated.
24452
47822096
VS
244532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24454
24455 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24456 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24457 missing files.
24458 (maintainer-clean): Remove libgcrypt-grub.
24459
5d7e7445
VS
244602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24461
24462 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24463
25f4e252
EC
244642010-04-09 EFI Coder <eficoder@hotmail.com>
24465
24466 * normal/menu_text.c (print_message): Clean up the message and show
24467 the Fn information when on EFI
24468 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24469
027de555
VS
244702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24471
24472 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24473 All users updated.
24474 * normal/crypto.c (read_crypto_list): Likewise.
24475 * normal/dyncmd.c (read_command_list): Likewise.
24476 * normal/term.c (read_terminal_list): Likewise.
24477 * normal/main.c (read_lists): Use explicit prefix.
24478 (read_lists_hook): Use read_lists.
24479 (grub_normal_execute): Likewise.
24480
47779711
VS
244812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24484 Reported by: Thomas Schmitt.
24485 Add -no-emul-boot to grub-mkisofs parameters.
24486
1118c32e
VS
244872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 * font/font.c: Indented.
24490
7d652447
BC
244912010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24492
24493 Elif support to GRUB script (by Deepak Vankadaru).
24494
24495 * tests/grub_script_if.in: New testcase.
24496 * conf/tests.rmk: Rule for new testcase.
24497 * script/parser.y: Grammar rules for elif.
24498
34bb22df
BC
244992010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24500
24501 While and until loops support to GRUB script.
24502
24503 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24504 (grub_script_create_cmdwhile): New function prototype.
24505 (grub_script_execute_cmdwhile): New function prototype.
24506 * script/execute.c (grub_script_execute_cmdwhile): New function.
24507 * script/parser.y (command): New commands.
24508 (whilecmd): New grammar rule.
24509 (untilcmd): New grammar rule.
24510 * script/script.c (grub_script_create_cmdwhile): New function.
24511 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24512 function.
24513
24514 * tests/grub_script_while1.in: New testcase.
24515 * conf/tests.rmk: Rule for new testcase.
24516
e215d8e0
VS
245172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24520 as *.jpg.
24521
d7c43ba1
MV
245222010-04-09 Mario Vazquez <mariovazq@gmail.com>
24523
24524 GRUB_BACKGROUND support.
24525
24526 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24527 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24528
d64795c0
VS
245292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24530
24531 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24532 Idea by: Mario Vazquez
d64795c0
VS
24533
24534 * util/grub.d/00_header.in: Load pf2 and image modules.
24535
f267f83a
VS
245362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 grub-mkconfig multiple terminal support.
24539
24540 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24541 * util/grub.d/00_header.in: Likewise.
24542
b7841ceb
VS
245432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24546 we use cd $(srcdir).
24547
df60998c
CW
245482010-04-08 Colin Watson <cjwatson@ubuntu.com>
24549
24550 * util/grub.d/10_linux.in: Only use the first word of
24551 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24552 spaces in GRUB_DISTRIBUTOR.
24553 * util/grub.d/10_kfreebsd.in: Likewise.
24554 * util/grub.d/10_hurd.in: Likewise.
24555
fa09c82e
BC
245562010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24557
14e18ae3 24558 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24559
24560 * tests/util/grub-shell.in: Remove -serial stdio option.
24561
daf892b3
BC
245622010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24563
24564 POSIX header file wrappers.
24565
24566 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24567 equivalents.
24568 * lib/posix_wrap/ctype.h: Likewise.
24569 * lib/posix_wrap/errno.h: Likewise.
24570 * lib/posix_wrap/langinfo.h: Likewise.
24571 * lib/posix_wrap/limits.h: Likewise.
24572 * lib/posix_wrap/localcharset.h: Likewise.
24573 * lib/posix_wrap/stdint.h: Likewise.
24574 * lib/posix_wrap/stdio.h: Likewise.
24575 * lib/posix_wrap/stdlib.h: Likewise.
24576 * lib/posix_wrap/string.h: Likewise.
24577 * lib/posix_wrap/sys/types.h: Likewise.
24578 * lib/posix_wrap/unistd.h: Likewise.
24579 * lib/posix_wrap/wchar.h: Likewise.
24580 * lib/posix_wrap/wctype.h: Likewise.
24581 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24582 (grub_script.yy.h): Likewise.
24583 * script/yylex.l: Remove POSIX emulation #defines.
24584 * Makefile.in (POSIX_CFLAGS): New variable.
24585 (GNULIB_UTIL_CFLAGS): Likewise.
24586
24587 Regexp support.
24588
24589 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24590 (regexp_mod_SOURCES): New variable.
24591 (regexp_mod_CFLAGS): Likewise.
24592 (regexp_mod_LDFLAGS): Likewise.
24593 * commands/regexp.c: New file.
24594 * gnulib/regcomp.c: New file. Imported from gnulib.
24595 * gnulib/regex.c: Likewise.
24596 * gnulib/regex_internal.c: Likewise.
24597 * gnulib/regex_internal.h: Likewise.
24598 * gnulib/regexec.c: Likewise.
24599 * gnulib/regex.h: Likewise.
24600
974ac4f7
VS
246012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24602
24603 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24604 unsupported video mode types.
24605
2622c3ff
VS
246062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24609
064cb524
VS
246102010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24611
24612 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24613 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24614
a8c3b552
VS
246152010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24616
24617 Remove unused grub_vga_get_font.
24618
24619 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24620 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24621
187bbe3d
GS
246222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24623
24624 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24625 * include/grub/misc.h: Likewise.
24626
b9396631
GS
246272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24628
24629 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24630 for which failure is fatal.
24631
50479feb
GS
246322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24633
24634 * util/grub-install.in: Use mkdir -p to create grub directory.
24635 * util/i386/efi/grub-install.in: Likewise.
24636 * util/ieee1275/grub-install.in: Likewise.
24637
b1654fdf
GS
246382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24639
24640 * Makefile.in (LEX): new variable.
24641
bd5a6415
GS
246422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24643
24644 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24645 `=' and added double quotes on operands of this equality test.
24646
3db3a82b
VS
246472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24648
24649 * Makefile.in (uninstall): Remove a leftover debug echo.
24650 Reported by: Grégoire Sutre
24651
38023412
VS
246522010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 MIPS multiboot2 support.
24655
24656 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24657 (multiboot2_mod_SOURCES): New variable.
24658 (multiboot2_mod_CFLAGS): Likewise.
24659 (multiboot2_mod_LDFLAGS): Likewise.
24660 (multiboot2_mod_ASFLAGS): Likewise.
24661 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24662 definition.
24663 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24664 (MULTIBOOT_MBI_REGISTER): Likewise.
24665 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24666 (MULTIBOOT_ELF32_MACHINE): Likewise.
24667 (MULTIBOOT_ELF64_MACHINE): Likewise.
24668 * include/grub/mips/multiboot.h: New file.
24669 * include/grub/video.h (grub_video_driver_id): New type
24670 GRUB_VIDEO_DRIVER_SM712.
24671 (grub_video_get_info_and_fini): Export.
24672 (grub_video_get_palette): Likewise.
24673 (grub_video_get_driver_id): Likewise.
24674 * include/multiboot2.h: Resynced with spec.
24675 * loader/i386/multiboot.c: Moved from here ...
24676 * loader/multiboot.c: ... here. All users updated.
24677 (grub_multiboot_boot): Use platform-specific macros.
24678 * loader/i386/multiboot_elfxx.c: Moved from here ...
24679 * loader/multiboot_elfxx.c: ... here. All users updated.
24680 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24681 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24682 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24683
47674667
VS
246842010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24685
24686 Import gnulib argp module.
24687
24688 * gnulib/argp-ba.c: New file.
24689 * gnulib/argp-eexst.c: Likewise.
24690 * gnulib/argp-fmtstream.c: Likewise.
24691 * gnulib/argp-fmtstream.h: Likewise.
24692 * gnulib/argp-fs-xinl.c: Likewise.
24693 * gnulib/argp-help.c: Likewise.
24694 * gnulib/argp-namefrob.h: Likewise.
24695 * gnulib/argp-parse.c: Likewise.
24696 * gnulib/argp-pin.c: Likewise.
24697 * gnulib/argp-pv.c: Likewise.
24698 * gnulib/argp-pvh.c: Likewise.
24699 * gnulib/argp-version-etc.c: Likewise.
24700 * gnulib/argp-version-etc.h: Likewise.
24701 * gnulib/argp-xinl.c: Likewise.
24702 * gnulib/argp.h: Likewise.
24703
495442ed
VS
247042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24705
24706 * kern/device.c (grub_device_iterate): Clear errors after failed
24707 opening device.
24708
f9fd65df
VS
247092010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24710
24711 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24712 returned by firmware.
24713
af09641e
VS
247142010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24717 compilation on coreboot and qemu
24718
016883a5
VS
247192010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24720
24721 * include/multiboot2.h: Resync with spec.
24722
f97e1f7d
VS
247232010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 Multiboot2 tag support
24726
24727 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24728 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24729 Remove loader/multiboot_loader.c.
24730 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24731 (grub_multiboot2_real_boot): Likewise.
24732 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24733 (grub_get_multiboot_mmap_count): New proto.
24734 (grub_fill_multiboot_mmap): Likewise.
24735 (grub_multiboot_set_video_mode): Likewise.
24736 (grub_multiboot_set_console): Likewise.
24737 (grub_multiboot_load): Likewise.
24738 (grub_multiboot_load_elf): Likewise.
24739 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24740 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24741 * include/multiboot.h: Resynced with specification.
24742 * include/multiboot2.h: Resynced with specification.
24743 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24744 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24745 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24746 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24747 users updated.
24748 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24749 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24750 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24751 Removed.
24752 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24753 Moved from here...
24754 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24755 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24756 Moved from here...
24757 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24758 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24759 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24760 All users updated.
24761 * loader/i386/multiboot_mbi2.c: New file.
24762
3506b90b
VS
247632010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 Resync with gnulib.
24766
24767 * Makefile.in (GNULIB_CFLAGS): New variable.
24768 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24769 (grub_script_check_CFLAGS): New variable.
24770 * gnulib/alloca.h: Resync with gnulib.
24771 * gnulib/error.c: Likewise.
24772 * gnulib/error.h: Likewise.
24773 * gnulib/fnmatch.c: Likewise.
24774 * gnulib/fnmatch_loop.c: Likewise.
24775 * gnulib/getdelim.c: Likewise.
24776 * gnulib/getline.c: Likewise.
24777 * gnulib/getopt.c: Likewise.
24778 * gnulib/getopt1.c: Likewise.
24779 * gnulib/getopt_int.h: Likewise.
24780 * gnulib/gettext.h: Likewise.
24781 * gnulib/progname.c: Likewise.
24782 * gnulib/progname.h: Likewise.
24783
394a3120
GS
247842010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24785
24786 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24787 which is the case with --disabled-nls.
24788
24789 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24790 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24791 * util/misc.c: Likewise.
24792 * util/mkisofs/mkisofs.c: Likewise.
24793 * util/mkisofs/mkisofs.h: Likewise.
24794
969d1c78
VS
247952010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24796
24797 Simplify Apple CC support.
24798
24799 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24800 Add 0 byte at the end not to have a symbol with empty target.
24801 * mmap/i386/pc/mmap_helper.S: Likewise.
24802 * genmk.rb: Ignore errors 2030 and 2050.
24803 * kern/i386/pc/startup.S: Use LOCAL when possible.
24804
8d2977bb
BC
248052010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24806
24807 Testcase and the fix for final semicolon on cmdline.
24808
24809 * tests/grub_script_final_semicolon.in: New testcase.
24810 * conf/tests.rmk: Rules for the new testcase.
24811 * script/parser.y: Grammar fix.
24812
a7bd6915
BC
248132010-03-26 BVK Chaitanya <bvk@localhost>
24814
24815 Blank lines testcase for GRUB script.
24816
24817 * tests/grub_script_blanklines.in: New testcase.
24818 * conf/tests.rmk: Rules for the new testcase.
24819
e4ff6628
VS
248202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24821
24822 Don't use __FILE__.
24823
24824 * genmk.rb: Add -DGRUB_FILE to all C targets.
24825 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24826 * include/grub/list.h: Likewise.
24827 * include/grub/misc.h: Likewise.
24828 * include/grub/mm.h: Likewise.
24829 * include/grub/test.h: Likewise.
24830 * kern/mm.c: Likewise.
24831 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24832
6a5cf6b6
VS
248332010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 Sunpc partitions support.
24836
24837 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24838 (grub_fstest_SOURCES): Likewise.
24839 (pkglib_MODULES): Add part_sunpc.mod.
24840 (part_sunpc_mod_SOURCES): New variable.
24841 (part_sunpc_mod_CFLAGS): Likewise.
24842 (part_sunpc_mod_LDFLAGS): Likewise.
24843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24844 * partmap/sunpc.c: New file.
24845
746d9045
BC
248462010-03-26 BVK Chaitanya <bvk@localhost>
24847
24848 For loop support to GRUB script.
24849
24850 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24851 (grub_script_create_cmdfor): New function prototype.
24852 (grub_script_execute_cmdfor): New function prototype.
24853 * script/execute.c (grub_script_execute_cmdfor): New function.
24854 * script/parser.y (command): New for command.
24855 (forcmd): New grammar rule.
24856 * script/script.c (grub_script_create_cmdfor): New function.
24857 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24858 function.
24859 * tests/grub_script_for1.in: New testcase.
24860 * conf/tests.rmk: Rules for new testcase.
24861
18486b18
VS
248622010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24863
24864 Nested partitions
24865
24866 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24867 'partition' is NULL, grub_partition_get_start already does that.
24868 * commands/loadenv.c (check_blocklists): Likewise.
24869 (write_blocklists): Likewise.
24870 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24871 (grub_fstest_SOURCES): Likewise.
24872 (pkglib_MODULES): Add part_bsd.mod.
24873 (part_bsd_mod_SOURCES): New variable.
24874 (part_bsd_mod_CFLAGS): Likewise.
24875 (part_bsd_mod_LDFLAGS): Likewise.
24876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24877 (grub_emu_SOURCES): Likewise.
24878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24879 * include/grub/bsdlabel.h: New file.
24880 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24881 'get_name'.
24882 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24883 (grub_partition_map_list): New variable.
24884 (grub_partition_map_register): Inline.
24885 (grub_partition_map_unregister): Likewise.
24886 (FOR_PARTITION_MAPS): New macro.
24887 (grub_partition_map_iterate): Removed.
24888 (grub_partition_get_start): Handle nested partitions.
24889 * include/grub/msdos_partition.h: Remove bsd-related entries.
24890 (grub_pc_partition): Remove.
24891 * kern/disk.c (grub_disk_close): Free partition data.
24892 (grub_disk_adjust_range): Handle nested partitions.
24893 * kern/partition.c (grub_partition_map_probe): New function.
24894 (grub_partition_probe): Parse name to number, handle subpartitions.
24895 (get_partmap): New function.
24896 (grub_partition_iterate): Handle subpartitions.
24897 (grub_partition_get_name): Likewise.
24898 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24899 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24900 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24901 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24902 Set 'number'.
24903 (acorn_partition_map_probe): Remove.
24904 (acorn_partition_map_get_name): Likewise.
24905 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24906 Set 'number'.
24907 Set 'index' to 0 since there can be only one partition entry per sector.
24908 (amiga_partition_map_probe): Remove.
24909 (amiga_partition_map_get_name): Likewise.
24910 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24911 Set 'number'.
24912 Set 'offset' and 'index' to real positions of partitions.
24913 (apple_partition_map_probe): Remove.
24914 (apple_partition_map_get_name): Likewise.
24915 * partmap/bsdlabel.c: New file.
24916 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24917 Set 'number'.
24918 Allocate 'data' so it can be correctly freed.
24919 Set 'index' to offset inside sector.
24920 (gpt_partition_map_probe): Remove.
24921 (gpt_partition_map_get_name): Likewise.
24922 * partmap/msdos.c (grub_partition_parse): Remove.
24923 (pc_partition_map_iterate): Don't force raw access.
24924 Set 'number'.
24925 Make 'ext_offset' a local variable.
24926 (pc_partition_map_probe): Remove.
24927 (pc_partition_map_get_name): Remove.
24928 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24929 Set 'number'.
24930 (sun_partition_map_probe): Remove.
24931 (sun_partition_map_get_name): Likewise.
24932 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24933 (grub_pcpart_type): Likewise.
24934 * util/hostdisk.c (open_device): Handle new numbering scheme.
24935 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24936 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24937 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24938 * util/grub-install.in: Insert all subpartition modules.
24939 * util/ieee1275/grub-install.in: Likewise.
24940
a3940f88
AG
249412010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24942
24943 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24944 grammar.
24945
21b99926 249462010-03-24 Colin Watson <cjwatson@ubuntu.com>
24947
24948 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24949
bed1d352
CW
249502010-03-21 Colin Watson <cjwatson@ubuntu.com>
24951
24952 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24953 match where 'make install' puts them.
24954 * util/i386/efi/grub-install.in: Likewise.
24955
c9f58427
CW
249562010-03-19 Colin Watson <cjwatson@ubuntu.com>
24957
24958 * .bzrignore: Add gentrigtables, grub-script-check,
24959 grub_script_check_init.c, grub_script_check_init.h, and
24960 trigtables.c.
24961
f84afb27
VS
249622010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 * kern/parser.c: Indented.
24965
ed0e3d30
VS
249662010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24969
0ea81d98
VS
249702010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24973 alpha_mask_size == 0 case.
24974
0cdc2a09
BC
249752010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24976
24977 GRUB shell lexer and parser improvements.
24978
24979 * conf/any-emu.rmk: Build rule updates.
24980 * conf/common.rmk: Likewise.
24981 * conf/i386-coreboot.rmk: Likewise.
24982 * conf/i386-efi.rmk: Likewise.
24983 * conf/i386-ieee1275.rmk: Likewise.
24984 * conf/i386-pc.rmk: Likewise.
24985 * conf/powerpc-ieee1275.rmk: Likewise.
24986 * conf/x86_64-efi.rmk: Likewise.
24987
24988 * configure.ac: Configure check for flex.
24989
24990 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24991 types.
24992 (grub_lexer_param): Struct member updates.
24993 (grub_parser_param): Likewise.
24994 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24995 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24996 (grub_script_lexer_init): Prototype update.
24997 (grub_script_lexer_record_start): Likewise.
24998 (grub_script_lexer_record_stop): Likewise.
24999 (grub_script_lexer_yywrap): New function prototype.
25000 (grub_script_lexer_fini): Likewise.
25001 (grub_script_execute_argument_to_string): Removed by...
25002 (grub_script_execute_argument_to_argv): ...better version.
25003
25004 * script/execute.c (ROUND_UPTO): New macro.
25005 (grub_script_execute_cmdline): Out of memory fixes.
25006 (grub_script_execute_menuentry): Likewise.
25007 (grub_script_execute_argument_to_string): Removed. Update all
25008 users by...
25009 (grub_script_execute_argument_to_argv): ...better version.
25010 * script/function.c (grub_script_function_create): Use
25011 grub_script_execute_argument_to_argv instead of
25012 grub_script_execute_argument_to_string.
25013
25014 * script/lexer.c (check_varstate): Removed.
25015 (check_textstate): Removed.
25016 (grub_script_lexer_record_start): Likewise.
25017 (grub_script_lexer_record_stop): Likewise.
25018 (recordchar): Replaced with...
25019 (grub_script_lexer_record): ...new function.
25020 (nextchar): Removed.
25021 (grub_script_lexer_init): Rewritten.
25022 (grub_script_yylex): Rewritten.
25023 (append_newline): New function.
25024 (grub_script_lexer_yywrap): New function.
25025 (grub_script_lexer_fini): New function.
25026 (grub_script_yyerror): Sets error flag.
25027
25028 * script/yylex.l: New file.
25029 (grub_lexer_yyfree): Wrapper for flex yyffre.
25030 (grub_lexer_yyalloc): Likewise.
25031 (grub_lexer_yyrealloc): Likewise.
25032 * script/parser.y: Refactored.
25033
25034 * script/script.c (grub_script_arg_add): Out of memory fixes.
25035 (grub_script_add_arglist): Likewise.
25036 (grub_script_create_cmdline): Likewise.
25037 (grub_script_create_cmdmenu): Likewise.
25038 (grub_script_add_cmd): Likewise.
25039 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25040 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25041 unnecessary code.
25042
25043 * tests/grub_script_echo1.in: New testcase.
25044 * tests/grub_script_vars1.in: New testcase.
25045 * tests/grub_script_echo_keywords.in: New testcase.
25046
1d63a066
VS
250472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25048
25049 Remove some redundancy in build system.
25050
25051 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25052 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25053 (TARGET_LDFLAGS): Add -nostdlib.
25054 (TARGET_IMG_LDFLAGS): Likewise.
25055 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25056 anything since mmap isn't available.
25057 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25058 Add util/time.c.
25059 (pkglib_MODULES): Remove reboot.mod.
25060 (reboot_mod_SOURCES): Removed.
25061 (reboot_mod_CFLAGS): Likewise.
25062 (reboot_mod_LDFLAGS): Likewise.
25063 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25064 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25065 (DEFSYMFILES): Add kernel_syms.lst.
25066 (kernel_img_HEADERS): Add common headers.
25067 (symlist.c): New target.
25068 (kernel_syms.lst): Likewise.
25069 (pkglib_MODULES): Add memdisk.mod.
25070 (memdisk_mod_SOURCES): New variable.
25071 (memdisk_mod_CFLAGS): Likewise.
25072 (memdisk_mod_LDFLAGS): Likewise.
25073 (pkglib_MODULES): Add reboot.mod.
25074 (reboot_mod_SOURCES): New variable.
25075 (reboot_mod_CFLAGS): Likewise.
25076 (reboot_mod_LDFLAGS): Likewise.
25077 (pkglib_MODULES): Add date.mod.
25078 (date_mod_SOURCES): New variable.
25079 (date_mod_CFLAGS): Likewise.
25080 (date_mod_LDFLAGS): Likewise.
25081 (pkglib_MODULES): Add datehook.mod.
25082 (datehook_mod_SOURCES): New variable.
25083 (datehook_mod_CFLAGS): Likewise.
25084 (datehook_mod_LDFLAGS): Likewise.
25085 (pkglib_MODULES): Add lsmmap.mod.
25086 (lsmmap_mod_SOURCES): New variable.
25087 (lsmmap_mod_CFLAGS): Likewise.
25088 (lsmmap_mod_LDFLAGS): Likewise.
25089 (pkglib_MODULES): Add boot.mod.
25090 (boot_mod_SOURCES): New variable.
25091 (boot_mod_CFLAGS): Likewise.
25092 (boot_mod_LDFLAGS): Likewise.
25093 * conf/i386-coreboot.rmk: Removed redundant parts.
25094 * conf/i386-ieee1275.rmk: Likewise.
25095 * conf/i386-pc.rmk: Likewise.
25096 * conf/mips-yeeloong.rmk: Likewise.
25097 * conf/mips.rmk: Likewise.
25098 * conf/powerpc-ieee1275.rmk: Likewise.
25099 * conf/sparc64-ieee1275.rmk: Likewise.
25100 * conf/x86_64-efi.rmk: Likewise.
25101 * conf/i386-coreboot.rmk: Moved qemu parts ..
25102 * conf/i386-qemu.rmk: ... here
25103 * conf/i386-efi.rmk: Moved common parts to...
25104 * conf/x86-efi.rmk: ... here.
25105 * conf/i386.rmk: Added modules common to all x86 variants.
25106 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25107 * disk/memdisk.c: Remove grub/machine/kernel.h.
25108 * gensymlist.sh.in: Include symbol.h.
25109 * hook/datehook.c: Correct module name.
25110 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25111 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25112 * include/grub/i386/efi/serial.h: New file.
25113 * include/grub/x86_64/efi/serial.h: Likewise.
25114 * util/time.c: Likewise.
25115 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25116
463ac55f
CK
251172010-03-14 Colin King <colin.king@ubuntu.com>
251182010-03-14 Colin Watson <cjwatson@ubuntu.com>
25119
25120 Shrink the pre-partition-table part of boot.img by eight bytes.
25121
25122 * boot/i386/pc/boot.S (ERR): New macro.
25123 (chs_mode): Use ERR.
25124 (geometry_error): Likewise.
25125 (hd_probe_error): Remove. This is only used once, so we wrwite
25126 it inline instead.
25127 (read_error): Instead of printing read_error_string, just set up
25128 %si and fall through to ...
25129 (error_message): ... this new function, also used by ERR.
25130
08e46ede
CW
251312010-03-14 Colin Watson <cjwatson@ubuntu.com>
25132
25133 Speed up consecutive hostdisk operations on the same device.
25134
25135 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25136 (grub_util_biosdisk_open): Initialise disk->data.
25137 (struct linux_partition_cache): New structure.
25138 (linux_find_partition): Cache partition start positions; these are
25139 expensive to compute on every read and write.
25140 (open_device): Cache open file descriptor in disk->data, so that we
25141 don't have to reopen it and flush the buffer cache for consecutive
25142 operations on the same device.
25143 (grub_util_biosdisk_close): New function.
25144 (grub_util_biosdisk_dev): Set `close' member.
25145
25146 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25147 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25148 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25149 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25150 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25151
4a6d2d06
VS
251522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 Compile parts of grub-emu as modules.
25155
25156 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25157 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25158 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25159 (all-local): Add $(GRUB_EMU).
25160 (install-local): Install $(GRUB_EMU).
25161 (uninstall): Uninstall $(GRUB_EMU).
25162 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25163 * kern/dl.c: Likewise.
25164 * commands/sleep.c: Not include machine/time.h.
25165 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25166 (COMMON_CFLAGS): Likewise.
25167 (sbin_UTILITIES): Remove grub-emu.
25168 (grub_emu_SOURCES): Removed.
25169 (kernel_img_RELOCATABLE): New variable.
25170 (pkglib_PROGRAMS): Add kernel.img.
25171 (kernel_img_SOURCES): New variable
25172 (kernel_img_CFLAGS): Likewise.
25173 (kernel_img_LDFLAGS): Likewise.
25174 (TARGET_NO_STRIP): Likewise.
25175 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25176 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25177 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25178 (grub-emu): New target.
25179 (GRUB_EMU): New variable.
25180 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25181 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25182 * loader/xnu.c: Likewise.
25183 * include/grub/pci.h: Likewise.
25184 * genemuinit.sh: New file.
25185 * genemuinitheader.sh: Likewise.
25186 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25187 Support TARGET_NO_DYNAMIC_MODULES.
25188 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25189 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25190 * disk/loopback.c: Likewise.
25191 * font/font_cmd.c: Likewise.
25192 * partmap/acorn.c: Likewise.
25193 * partmap/amiga.c: Likewise.
25194 * partmap/apple.c: Likewise.
25195 * partmap/gpt.c: Likewise.
25196 * partmap/msdos.c: Likewise.
25197 * partmap/sun.c: Likewise.
25198 * parttool/msdospart.c: Likewise.
25199 * term/gfxterm.c: Likewise.
25200 * video/bitmap.c: Likewise.
25201 * video/readers/jpeg.c: Likewise.
25202 * video/readers/png.c: Likewise.
25203 * video/readers/tga.c: Likewise.
25204 * video/video.c: Likewise.
25205 * util/grub-emu.c (read_command_list): Removed.
25206 (main): Don't call util_init_nls.
25207 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25208 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25209
91fdd2ed
VS
252102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25211
25212 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25213 date.mod, datehook.mod.
25214 (datetime_mod_SOURCES): New variable.
25215 (datetime_mod_CFLAGS): Likewise.
25216 (datetime_mod_LDFLAGS): Likewise.
25217 (date_mod_SOURCES): Likewise.
25218 (date_mod_CFLAGS): Likewise.
25219 (date_mod_LDFLAGS): Likewise.
25220 (datehook_mod_SOURCES): Likewise.
25221 (datehook_mod_CFLAGS): Likewise.
25222 (datehook_mod_LDFLAGS): Likewise.
25223 * conf/sparc64-ieee1275.rmk: Likewise.
25224 * lib/ieee1275/datetime.c: New file.
25225
873ccae6
VS
252262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25229 (ieee1275_fb_mod_SOURCES): New variable.
25230 (ieee1275_fb_mod_CFLAGS): Likewise.
25231 (ieee1275_fb_mod_LDFLAGS): Likewise.
25232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25233 New proto.
25234 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25235 (HEAP_MAX_ADDR): Likewise.
25236 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25237 type.
25238 Correct stop condition.
25239 (grub_ieee1275_devices_iterate): New function.
25240 * video/ieee1275.c: New file.
25241
601c97c0
VS
252422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25243
25244 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25245
25246 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25247 as scratch.
25248 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25249 SCRATCH_PAD_DISKBOOT as scratch.
25250 (bootit): Pass Openfirmware pointer in %o4.
25251 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25252 of 0x200000.
25253 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25254 with util/grub-mkrawimage.c.
25255 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25256 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25257 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25258 (grub_aout_load) [GRUB_UTIL]: Likewise.
25259 * include/grub/kernel.h (grub_modules_get_end): New proto.
25260 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25261 (SCRATCH_PAD_BOOT): New definition.
25262 (SCRATCH_PAD_DISKBOOT): Likewise.
25263 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25264 * include/grub/sparc64/ieee1275/ieee1275.h
25265 (grub_ieee1275_original_stack): New variable
25266 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25267 New definition
25268 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25269 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25270 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25271 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25272 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25273 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25274 (grub_platform_image_format_t): New type.
25275 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25276 * kern/main.c (grub_modules_get_end)
25277 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25278 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25279 (codestart): Switch stacks.
25280 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25281 variable.
25282 (grub_heap_init): Use grub_modules_get_end.
25283 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25284 stack.
25285 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25286 (main): Likewise.
25287 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25288
d68b491e
TG
252892010-03-14 Thorsten Glaser <tg@mirbsd.org>
25290
25291 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25292
4e02ed50
MK
252932010-03-08 Matt Kraai <kraai@ftbfs.org>
25294
25295 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25296 bug #559005).
25297
1f15fc1e
VS
252982010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 * genmoddep.awk: Output all missing symbols and not only first.
25301
fce5d8ff
VS
253022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25303
25304 * NEWS: Put the date of 1.98 release.
25305
d1e8a02f
VS
253062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25307
25308 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25309 ft2build.h.
25310
696fd607
VS
253112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25312
25313 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25314 completition in the middle of string.
25315
33e2e6f3
VS
253162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * util/grub-mkrescue.in: Use mktemp with explicit template.
25319
b1f6d291
VS
253202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25321
25322 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25323
2ac227c7
VS
253242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25327 right pointer.
25328
8f9a632b
VS
253292010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25330
25331 Fix FreeBSD compilation.
25332
25333 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25334 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25335
60b03859
VS
253362010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25339
48a5a769
VS
253402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25343
3ab4bd77
VS
253442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25347
d116e0d8
RM
253482010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25349
25350 Support relative image path in theme file.
25351
25352 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25353 (image_set_property): Handle theme_dir and relative path.
25354
c7ef54aa
VS
253552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25356
25357 * configure.ac: Alias amd64 to x86_64.
25358
fcee14ed
VS
253592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * NEWS: mention multiboot on EFI.
25362
d0780363
VS
253632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 * kern/main.c (grub_load_modules): Handle errors from init functions of
25366 embeded modules.
25367
41168ea4
VS
253682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25369
25370 * normal/autofs.c (autoload_fs_module): Handle errors.
25371
b54d93ac
VS
253722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25373
25374 Disable linux.mod on qemu-mips since it's not functional and leads
25375 to compilation failure.
25376
25377 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25378 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25379 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25380 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25381 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25382 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25383 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25384 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25385 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25386 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25387 Reported by: BVK Chaitanya
25388
fc8345da
JU
253892010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25390
25391 * INSTALL: Add gettext as a dependency and add qemu to a new section
25392 "Prerequisites for make-check".
25393
4760f979
CF
253942010-03-04 Christian Franke <franke@computer.org>
25395
25396 * util/grub-pe2elf.c: Add missing include "progname.h".
25397
f209b5b2
VS
253982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 * normal/crypto.c (read_crypto_list): Fix a typo.
25401 Reported by: Seth Goldberg.
25402
b4b7be98
VS
254032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25406 Reported by: Seth Goldberg.
b4b7be98 25407
c0ee0385
VS
254082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25409
25410 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25411 ascii.bitmaps.
25412
a8efbf64
VS
254132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25414
25415 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25416 Reported by: Seth Goldberg.
a8efbf64 25417
08dcd913
VS
254182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25419
25420 * util/i386/efi/grub-install.in: Copy gettext files.
25421
c4d0b332
VS
254222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25423
25424 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25425
c6f2fe52
VS
254262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25427
25428 Wait for user entry basing on presence of output rather than on errors.
25429
25430 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25431 (grub_install_newline_hook): Likewise.
25432 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25433 * normal/menu.c (show_menu): Check line_counter to determine presence
25434 of output.
25435 * normal/term.c (grub_normal_line_counter): New variable.
25436 (grub_normal_get_line_counter): New function.
25437 (grub_install_newline_hook): Likewise.
25438
5382b1e4
VS
254392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25440
25441 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25442
5519963b
VS
254432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25444
25445 * configure.ac: Update version to 1.98.
25446
72b28631
VS
254472010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25448
25449 * util/grub.d/10_linux.in (linux_entry): Don't default to
25450 gfxpayload=keep if Linux doesn't support video handover.
25451
c140a180
VS
254522010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25453
25454 Don't compile video modules on yeeloong since video subsystem is part
25455 of kernel.
25456
25457 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25458 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25459 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25460 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25461 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25462 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25463 * include/grub/bitmap_scale.h: Likewise.
25464 * include/grub/bufio.h: Likewise.
25465 * include/grub/font.h: Likewise.
25466 * include/grub/gfxterm.h: Likewise.
25467 * include/grub/video.h: Likewise.
25468 * include/grub/vbe.h: Don't include video_fb.h.
25469 * video/i386/pc/vbe.c: Include video_fb.h.
25470 * commands/i386/pc/vbetest.c: Include video.h.
25471
a0ca21c2
CW
254722010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25473
25474 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25475 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25476 default entry if GRUB_SAVEDEFAULT=true. This allows using
25477 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25478 saving a new default on every boot.
25479
4a8a763c
VS
254802010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25483 * normal/term.c (read_terminal_list): Likewise.
25484 * normal/main.c (grub_normal_init_page): Likewise.
25485 (grub_normal_read_line_real): Likewise.
25486
607ffde2
VS
254872010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25488
25489 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25490 memory leak.
25491 Reported by: Seth Goldberg.
25492
2b8fa975
CW
254932010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25494
25495 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25496 duplicate declaration of `start'.
25497
618307dd
VS
254982010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25499
25500 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25501 filename.
25502 Reported by: Georgy Buranov
25503
7dd05b96 255042010-02-20 Carles Pina i Estany <carles@pina.cat>
25505
25506 * util/grub-mkrawimage.c (usage): Change string formatting to
25507 improve gettext.
25508
d1484a42
MRA
255092010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25510
25511 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25512 backspace keys.
25513
42b1d186
VS
255142010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25515
25516 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25517 Reported by: Michael Suchanek.
25518
255192010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25520
25521 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25522 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25523
d9f31a41
VS
255242010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25525
25526 Remove any reference to non-free fonts.
25527
25528 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25529 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25530 uses non-free components.
25531 * font/font.c (grub_font_get_name): Remove example name.
25532 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25533 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25534 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25535 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25536
2793c71e
GB
255372010-02-16 Georgy Buranov <gburanov@gmail.com>
25538
25539 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25540
402e3779
VS
255412010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25542
25543 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25544 Double divisor.
25545 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25546 features.
25547 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25548
0dd1e0dd
VS
255492010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25550
25551 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25552
6fa7cfce
ST
255532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25554
25555 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25556 * docs/grub.texi (Command-line and menu entry commands): Document play
25557 command.
25558
37c8483b
ST
255592010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25560
25561 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25562 parse arguments as inline tempo and notes. Move code for playing notes
25563 to...
25564 (play): ... new function.
25565
14da0fb7
ST
255662010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25567
25568 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25569 grub_uint16_t instead of short.
25570 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25571 disk from little endian to cpu endianness.
25572
04459e70
ST
255732010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25574
25575 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25576 GRUB_TICKS_PER_SECOND instead of 120.
25577
a0876943
VS
255782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25581 escape sequence after \e.
25582
e29f95dc
VS
255832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25584
25585 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25586 non-ASCII characters.
25587
d27859b2
VS
255882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25589
25590 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25591 set root in single quotes to prevent \, from being unescaped.
25592
bc028f2f
VS
255932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 Prevent unknown commands from stopping menuentry execution.
25596
25597 * script/execute.c (grub_script_execute_cmdline): Print error after
25598 unknown command.
25599
095f5f82
VS
256002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25601
25602 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25603 Reported by: Pavel Pisa.
25604
8c717950
VS
256052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25606
25607 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25608
904935c3
VS
256092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 Merge grub_ieee1275_map_physical into grub_map and rename to
25612 grub_ieee1275_map
25613
25614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25615 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25616 Remove.
25617 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25618 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25619 necessary.
25620 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25621
5b59a4e3
VS
256222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25623
25624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25625 opening and not after.
25626
69e137e8
VS
256272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25630 constants.
25631
2c0fcc36
VS
256322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25633
25634 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25635 (alloc_phys): Use ALIGN_UP instead of align_addr.
25636
8c6052ce
VS
256372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25638
25639 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25640
17cec782
VS
256412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25642
25643 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25644
e0128bbd
VS
256452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25646
25647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25648 verbose dprintf.
25649
ca62070b
VS
256502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25651
25652 Fix over-4GiB seek on sparc64.
25653
25654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25655 Replace pos_i and pos_lo with pos. All users updated.
25656 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25657 New constant.
25658 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25659 Likewise.
25660 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25661 and pos_lo.
25662
bdca2607
VS
256632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 * util/grub-mkrawimage.c (main): Call set_program_name.
25666
da278c4d
VS
256672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 Properly align 64-bit targets.
25670
25671 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25672 (generate_image): Use ALIGN_ADDR.
25673
b274d734
VS
256742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25675
25676 Properly create cross-endian images.
25677
25678 * include/grub/types.h (grub_host_to_target_addr): New macro
25679 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25680
82da2062
VS
256812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25684
7cae4377
VS
256852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25688
25689 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25690 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25691 (grub_linux_boot): Divide by 64K when on VESA.
25692
65a533e7
VS
256932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25694
25695 Support GRUB_GFXPAYLOAD_LINUX.
25696
25697 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25698 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25699
dd01d397
VS
257002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25703 to show messages instead of discarding them.
25704 Process errors after executing command and not before. Keep old method
25705 too as precaution.
25706
660960d6
VS
257072010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 * configure.ac: Check for ft2build.h.
25710
62509f04
VS
257112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25712
25713 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25714
473df63d
VS
257152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25716
25717 * genkernsyms.sh.in: Use TARGET_CC.
25718
c98d2a13
CW
257192010-02-07 Colin Watson <cjwatson@ubuntu.com>
25720
25721 * NEWS: Update.
25722
6e14234c
VS
257232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25724
25725 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25726 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25727 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25728
b255e9cf
YB
257292010-02-07 Yves Blusseau <blusseau@zetam.org>
25730
6e14234c 25731 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25732
98e6959d
VS
257332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25734
25735 Fix warnings in grub-emu when compiling with maximum warning options.
25736
25737 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25738 (grub_arch_modules_addr): Return 0 and not NULL.
25739 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25740 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25741 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25742 of disk to dsk to avoid shadowing.
74e4934e
VS
25743 (find_free_slot): Fix prototype.
25744 * util/getroot.c (grub_util_is_dmraid): Make static.
25745 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25746 Add missing prototype.
25747 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25748
74e31b5c
VS
257492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25750
25751 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25752 appropriately.
25753
6b2ad14b
VS
257542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25755
25756 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25757 code out.
25758
8f891adc
VS
257592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25760
25761 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25762 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25763 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25764 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25765 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25766 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25767
74b45184
VS
257682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25769
25770 * include/grub/err.h (grub_err_printf): Don't export.
25771
a4bced77
VS
257722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25773
25774 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25775
007d0695
VS
257762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25779 * kern/misc.c (grub_gettext_dummy): Make static.
25780
b6c0d9c2
VS
257812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25782
25783 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25784 by non-valid ones.
25785 * kern/term.c (grub_putchar): Likewise.
25786
f51a90d0
VS
257872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25788
25789 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25790 buggy hook call and memory leak.
25791
6846cec5
VS
257922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25793
25794 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25795
468d69fe
VS
257962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25797
25798 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25799
51906b8c
VS
258002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25801
25802 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25803 modevar.
25804 Return grub_errno on allocation error.
25805
09706ce5
VS
258062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25809
911df80c
YB
258102010-02-06 Yves Blusseau <blusseau@zetam.org>
25811
25812 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25813 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25814
3746a6bc
VS
258152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25818 non-pxe disk.
25819 (grub_pxefs_open): Likewise.
25820
09706ce5
VS
258212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25822
25823 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25824 * util/grub.d/10_kfreebsd.in: Likewise.
25825 * util/grub.d/10_linux.in: Likewise.
25826
7cc192d9
VS
258272010-02-06 Colin D Bennett <colin@gibibit.com>
25828
25829 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25830 (gfxmenu_mod_SOURCES): New variable.
25831 (gfxmenu_mod_CFLAGS): Likewise.
25832 (gfxmenu_mod_LDFLAGS): Likewise.
25833 * include/grub/term.h (grub_term_set_current_output): Declare
25834 argument as const.
25835 * docs/gfxmenu-theme-example.txt: New file.
25836 * gfxmenu/gfxmenu.c: Likewise.
25837 * gfxmenu/gui_box.c: Likewise.
25838 * gfxmenu/gui_canvas.c: Likewise.
25839 * gfxmenu/gui_circular_progress.c: Likewise.
25840 * gfxmenu/gui_image.c: Likewise.
25841 * gfxmenu/gui_label.c: Likewise.
25842 * gfxmenu/gui_list.c: Likewise.
25843 * gfxmenu/gui_progress_bar.c: Likewise.
25844 * gfxmenu/gui_string_util.c: Likewise.
25845 * gfxmenu/gui_util.c: Likewise.
25846 * gfxmenu/icon_manager.c: Likewise.
25847 * gfxmenu/model.c: Likewise.
25848 * gfxmenu/named_colors.c: Likewise.
25849 * gfxmenu/theme_loader.c: Likewise.
25850 * gfxmenu/view.c: Likewise.
25851 * gfxmenu/widget-box.c: Likewise.
25852 * include/grub/gfxmenu_model.h: Likewise.
25853 * include/grub/gfxmenu_view.h: Likewise.
25854 * include/grub/gfxwidgets.h: Likewise.
25855 * include/grub/gui.h: Likewise.
25856 * include/grub/gui_string_util.h: Likewise.
25857 * include/grub/icon_manager.h: Likewise.
25858
258592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25860
25861 Agglomerate scrolling in gfxterm.
25862
25863 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25864 (grub_virtual_screen_setup): Initialise 'total_screen'.
25865 (write_char): Split to ...
25866 (paint_char): ... this ...
25867 (write_char): ... and this.
25868 (paint_char): Handle delayed scrolling.
25869 (draw_cursor): Likewise.
25870 (scroll_up): Split to ...
25871 (real_scroll): ... this ...
25872 (scroll_up): ... and this.
25873 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25874 characters.
25875 (grub_gfxterm_refresh): Call real_scroll.
25876
258772010-02-06 Colin D Bennett <colin@gibibit.com>
25878
25879 * include/grub/misc.h (grub_iscntrl): New inline function.
25880 (grub_isalnum): Likewise.
25881 (grub_strtol): Likewise.
25882
258832010-02-06 Colin D Bennett <colin@gibibit.com>
25884
25885 * normal/menu_text.c (get_entry_number): Move from here ...
25886 * normal/menu.c (get_entry_number): ... moved here.
25887 * include/grub/menu.h (grub_menu_get_default_entry_index):
25888 New prototype.
25889 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25890 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25891 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25892 (grub_menu_viewer_should_return): Likewise.
25893 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25894 * normal/menu_text.c (run_menu): Enable menu switching.
25895 * normal/menu_viewer.c (should_return): New variable.
25896 (menu_viewer_changed): Likewise.
25897 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25898 (grub_menu_viewer_should_return): New function.
25899 (menuviewer_write_hook): Likewise.
25900 (grub_menu_viewer_init): Likewise.
25901
259022010-02-06 Colin D Bennet <colin@gibibit.com>
259032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25904
25905 Support for gfxterm in a window.
25906
25907 * include/grub/gfxterm.h: New file.
25908 * include/grub/video.h (struct grub_video_rect): New declaration.
25909 (grub_video_rect_t): Likewise.
25910 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25911 (refcount): New variable.
25912 (render_target): Likewise.
25913 (window): Likewise.
25914 (repaint_callback): Likewise.
25915 (grub_virtual_screen_setup): Use 'render_target'.
25916 (init_window): New function.
25917 (grub_gfxterm_init_window): Likewise.
25918 (grub_gfxterm_init): Check reference counter.
25919 Use init_window.
25920 (destroy_window): New function.
25921 (grub_gfxterm_destroy_window): Likewise.
25922 (grub_gfxterm_fini): Check reference counter.
25923 Use destroy_window.
25924 (redraw_screen_rect): Restore viewport.
25925 Use 'render_target' and 'window'.
25926 Call 'repaint_callback'.
25927 (write_char): Use 'render_target'.
25928 (draw_cursor): Likewise.
25929 (scroll_up): Restore viewport.
25930 Use 'render_target' and 'window'.
25931 Call 'repaint_callback'.
25932 (grub_gfxterm_cls): Likewise.
25933 (grub_gfxterm_refresh): Use 'window'.
25934 (grub_gfxterm_set_repaint_callback): New function.
25935 (grub_gfxterm_background_image_cmd): Use 'window'.
25936 (grub_gfxterm_get_term): New function.
25937 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25938
259392010-02-06 Colin D Bennett <colin@gibibit.com>
25940
25941 Bitmap scaling support.
25942
25943 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25944 (bitmap_scale_mod_SOURCES): New variable.
25945 (bitmap_scale_mod_CFLAGS): Likewise.
25946 (bitmap_scale_mod_LDFLAGS): Likewise.
25947 * include/grub/bitmap_scale.h: New file.
25948 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25949 (background_image_cmd_options): New variable.
25950 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25951 (cmd): Rename and change type to ...
25952 (background_image_cmd_handle): ... this. All users updated.
25953 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25954 * video/bitmap_scale.c: New file.
25955
259562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 SDL support.
25959
25960 * Makefile.in (LIBSDL): New variable.
25961 (enable_grub_emu_sdl): Likewise.
25962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25963 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25964 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25965 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25966 * util/sdl.c: New file.
25967
259682010-02-06 Colin D Bennett <colin@gibibit.com>
259692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 Double buffering support.
25972
25973 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25974 * include/grub/video.h: Update comment.
25975 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25976 New type.
25977 (grub_video_fb_doublebuf_blit_init): New prototype.
25978 * term/gfxterm.c (scroll_up): Support double buffering.
25979 (grub_gfxterm_refresh): Likewise.
25980 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25981 (grub_video_fb_doublebuf_blit_init): Likewise.
25982 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25983 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25984 'displayed_page', 'render_page' and 'update_screen'.
25985 (grub_video_vbe_fini): Free offscreen buffer.
25986 (doublebuf_pageflipping_commit): New function.
25987 (doublebuf_pageflipping_update_screen): Likewise.
25988 (doublebuf_pageflipping_init): Likewise.
25989 (double_buffering_init): Likewise.
25990 (grub_video_vbe_setup): Enable doublebuffering.
25991 (grub_video_vbe_swap_buffers): Implement.
25992 (grub_video_vbe_set_active_render_target): Handle double buffering.
25993 (grub_video_vbe_get_active_render_target): Likewise.
25994 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25995 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25996 (grub_video_vbe_enable_double_buffering): Likewise.
25997 (grub_video_vbe_swap_buffers): Use update_screen.
25998 (grub_video_set_mode): Use double buffering.
25999
260002010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26001
26002 * maintainance/gentrigtables.py: Remove.
26003 * lib/trig.c: Likewise.
26004
26005 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26006
26007 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26008 `trigtables.c'.
26009 (trigtables.c): New rule.
26010 (gentrigtables): Likewise.
26011 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26012
260132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26016 integer constants.
26017
260182010-02-06 Colin D Bennet <colin@gibibit.com>
26019
26020 Trigonometry support.
26021
26022 * include/grub/trig.h: New file.
26023 * lib/trig.c: Likewise.
26024 * maintainance/gentrigtables.py: Likewise.
26025 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26026 (trig_mod_SOURCES): New variable.
26027 (trig_mod_CFLAGS): Likewise.
26028 (trig_mod_LDFLAGS): Likewise.
26029
5562834e
VS
260302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26033 disk devices.
26034
4f8528fc
VS
260352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26036
26037 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26038 error.
26039
2b4068e9
VS
260402010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 * util/hostdisk.c (open_device): Don't use partition device when reading
26043 before the partition.
26044 (grub_util_biosdisk_read): Don't read from partition and before the
26045 partition in single operation.
26046 (grub_util_biosdisk_write): Don't write to partition and before the
26047 partition in single operation.
26048
399f6e4d
TL
260492010-02-03 Torsten Landschoff <torsten@debian.org>
26050
26051 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26052 last sectors.
26053
996649b0
VS
260542010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26057 CDROM reads.
26058 (grub_biosdisk_write): Refuse to write to CDROM.
26059
3b205d4d
VS
260602010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26063
61e89d9d
VS
260642010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26065
26066 * font/font.c (find_glyph): Check that bmp_idx is available before
26067 using it.
26068 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26069 with (font == NULL).
26070
bf7fcba2
CS
260712010-01-28 Christian Schmitt <chris@ilovelinux.de>
26072
26073 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26074
f45d2663
BC
260752010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26076
26077 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26078 * util/grub-script-check.c (getline): Fix empty lines case.
26079
ec1444e6
RM
260802010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * Makefile.in (check): Exit with fail status when one of the tests
26083 fails.
26084 * tests/example_functional_test.c (example_test): Fix reversed assert.
26085 * tests/example_unit_test.c (example_test): Likewise.
26086
2e1cb9bb
CW
260872010-01-28 Colin Watson <cjwatson@ubuntu.com>
26088
26089 * util/grub.d/10_linux.in: This script does not use any of the
26090 contents of gettext.sh, only the external command `gettext', so stop
26091 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26092 the same prefix as GRUB.)
26093 * util/grub.d/10_kfreebsd.in: Likewise.
26094
63533ab0
VS
260952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26096
26097 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26098 of the line.
26099
989e1f93
VS
261002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26101
26102 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26103 last sectors.
26104
e709ebe2
VS
261052010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26108 having a 4KiB and not 32KiB buffer size.
26109
27dea7ed
RM
261102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26111
26112 * util/hostfs.c: Include `<errno.h>'.
26113 (grub_hostfs_read): Handle errors from fseeko() and fread().
26114
67667b9c
RM
261152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26116
26117 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26118 loop when using read hooks on files whose size isn't sector-aligned.
26119
c294d9d8
RM
261202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26121
26122 Remove unused parameter.
26123
26124 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26125 (grub_iso9660_open): Remove initialization of `data->length'.
26126
af75a9f1
RM
261272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26128
26129 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26130 memleak conditions.
26131
254e2ce5 261322010-01-27 Carles Pina i Estany <carles@pina.cat>
26133
26134 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26135 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26136
b510928c 261372010-01-26 Carles Pina i Estany <carles@pina.cat>
26138
26139 * util/bin2h.c (usage): Fix warning (space after backslash).
26140
aa2f9dd2 261412010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26142
26143 * font/font.c: Include `grub/fontformat.h.
26144 Remove font file format constants.
26145 (grub_font_load): Use the new macros.
26146 * include/grub/fontformat.h: New file.
26147 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26148 (write_font_pf2): Use the new macros.
26149
94e7e712
RM
261502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26151
26152 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26153 does.
26154
3973a59a
RM
261552010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26156
26157 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26158
26159 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26160 (_start): Macroify `0x7F'.
26161
26162 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26163 (make_install_device): Use "(pxe)" as fallback prefix when booting
26164 via PXE.
26165
42e0cba3
GS
261662010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26167
26168 * configure.ac: Reset LIBS after check for libgcc symbols.
26169
847effd8
CW
261702010-01-25 Colin Watson <cjwatson@ubuntu.com>
26171
26172 * util/hostdisk.c (open_device): Add trailing newline to debug
26173 message.
26174
ea4a7e35
GS
261752010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26176
26177 * configure.ac: Check for `limits.h'.
26178 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26179
67951a53
RM
261802010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26181
26182 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26183 capitalize error strings.
26184
c273d4ce
ST
261852010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26186
26187 * util/grub.d/10_hurd.in: Add a recovery mode.
26188
69be5b74
VS
261892010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26190
26191 * configure.ac: Check for libgcc symbols with -nostdlib.
26192
fc9e5810
BC
261932010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26194
26195 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26196
4b358c0a
VS
261972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26200 stack since heap may be unavailable at that point.
26201 (grub_ofconsole_gotoxy): Likewise.
26202
454fcd1c
VS
262032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26204
26205 * configure.ac: Check for _restgpr_14_x.
26206 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26207 and _savegpr_* prototypes.
26208
566863ca
RM
262092010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 Use generic grub_reboot() for i386-efi.
26212
26213 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26214 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26215 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26216
bf86e59a
VS
262172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26218
26219 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26220 presence of "prefix" variable as it breaks when normal.mod is
26221 embedded.
26222
d645e0f8
VS
262232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26226 stack since heap is unavailable at that point.
26227
f9ab2e25
VS
262282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26229
26230 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26231 (grub_freebsd_bootinfo): Rewritten.
26232 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26233
01fc7054
VS
262342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26237
caab4fd6
RM
262382010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26239
26240 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26241 domain now.
26242
67eb1427
FZ
262432010-01-20 Felix Zielcke <fzielcke@z-51.de>
26244
26245 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26246 around for handling "/" to the correct fix. Fix a memory leak. Use
26247 xstrdup instead of strdup.
26248
a9ed4ff3
VS
262492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26250
26251 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26252
262532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26254
26255 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26256
26257 * font/font.c (struct grub_font): New member 'bmp_idx'.
26258 (font_init): Initialise 'bmp_idx'.
26259 (load_font_index): Fill 'bmp_idx'.
26260 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26261
48209f4f
VS
262622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26265 unnecessary calls.
26266
9f0a4bb7
VS
262672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 Move context handling out of the kernel.
26270
26271 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26272 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26273 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26274 * conf/i386-efi.rmk: Likewise.
26275 * conf/i386-ieee1275.rmk: Likewise.
26276 * conf/i386-pc.rmk: Likewise.
26277 * conf/powerpc-ieee1275.rmk: Likewise.
26278 * conf/sparc64-ieee1275.rmk: Likewise.
26279 * conf/x86_64-efi.rmk: Likewise.
26280 * include/grub/env.h: Include grub/menu.h.
26281 (grub_env_var_type): Removed.
26282 (grub_env_var): Replaced field 'type' with 'global'.
26283 (grub_env_find): New prototype.
26284 (grub_env_context_open): Remove EXPORT_FUNC.
26285 (grub_env_context_close): Likewise.
26286 (grub_env_export): Likewise.
26287 (grub_env_set_data_slot): Removed.
26288 (grub_env_get_data_slot): Likewise.
26289 (grub_env_unset_data_slot): Likewise.
26290 (grub_env_unset_menu): New prototype.
26291 (grub_env_set_menu): Likewise.
26292 (grub_env_get_menu): Likewise.
26293 * include/grub/env_private.h: New file.
26294 * include/grub/normal.h (grub_context_init): New prototype.
26295 (grub_context_fini): Likewise.
26296 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26297 * normal/context.c (grub_cmd_export): ... to here.
26298 * kern/env.c: Include env_private.h.
26299 (HASHSZ): Moved to include/grub/env_private.h.
26300 (grub_env_context): Likewise.
26301 (grub_env_sorted_var): Likewise.
26302 (current_context): Renamed from this ...
26303 (grub_current_context): ...to this. 'static' removed. All users updated.
26304 (grub_env_find): Removed 'static'.
26305 (grub_env_context_open): Moved to normal/context.c.
26306 (grub_env_context_close): Likewise.
26307 (grub_env_export): Likewise.
26308 (mangle_data_slot_name): Removed.
26309 (grub_env_set_data_slot): Likewise.
26310 (grub_env_get_data_slot): Likewise.
26311 (grub_env_unset_data_slot): Likewise.
26312 * kern/main.c (grub_set_root_dev): Don't export root.
26313 It will be done later.
26314 (grub_main): Don't export prefix.
26315 It will be done later.
26316 * normal/context.c: New file.
26317 * normal/main.c (free_menu): Use grub_env_unset_menu.
26318 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26319 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26320 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26321 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26322
8dd35b8c
VS
263232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26324
26325 setpci support.
26326
26327 * commands/setpci.c: New file.
26328 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26329 (setpci_mod_SOURCES): New variable.
26330 (setpci_mod_CFLAGS): Likewise.
26331 (setpci_mod_LDFLAGS): Likewise.
26332
449193d5
VS
263332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 Byte-addressable PCI configuration space.
26336
26337 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26338 dword address.
26339 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26340 GRUB_PCI_REG_CACHELINE.
26341 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26342 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26343 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26344 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26345 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26346 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26347 grub_pci_make_address.
26348 (lock_rom_area): Likewise.
26349 * commands/lspci.c (grub_lspci_iter): Use macroses
26350 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26351 of grub_pci_make_address.
26352 * disk/ata.c (grub_ata_pciinit): Likewise.
26353 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26354 (GRUB_PCI_REG_VENDOR): Likewise.
26355 (GRUB_PCI_REG_DEVICE): Likewise.
26356 (GRUB_PCI_REG_COMMAND): Likewise.
26357 (GRUB_PCI_REG_STATUS): Likewise.
26358 (GRUB_PCI_REG_REVISION): Likewise.
26359 (GRUB_PCI_REG_CLASS): Likewise.
26360 (GRUB_PCI_REG_CACHELINE): Likewise.
26361 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26362 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26363 (GRUB_PCI_REG_BIST): Likewise.
26364 (GRUB_PCI_REG_ADDRESSES): Likewise.
26365 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26366 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26367 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26368 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26369 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26370 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26371 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26372 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26373 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26374 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26375 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26376 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26377 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26378 (GRUB_PCI_REG_MIN_GNT): Likewise.
26379 (GRUB_PCI_REG_MAX_LAT): Likewise.
26380 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26381 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26382 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26383 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26384 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26385 space.
26386
96d73208
RM
263872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26388
26389 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26390 can be reliably determined to be supported.
26391
d4484482
RM
263922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26393
26394 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26395 that VESA is supported.
26396 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26397 supported.
26398
00308ecf
VS
263992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26402
f66924a4
RM
264032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26404
26405 * util/misc.c (make_system_path_relative_to_its_root): Work around
26406 special-casing of "/", as previous incarnation of this routine did.
26407
cbca0ada
VS
264082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26409
26410 Fix any-emu compilation.
26411
26412 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26413 * grub_bin2h_SOURCES: New variable.
26414
34a66d99
RM
264152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26416
26417 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26418
94fabf58
RM
264192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26420
26421 * util/grub.d/00_header.in: Fix handling of locale_dir.
26422
02cf98ca
VS
264232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26426 as possible unifont location (Gentoo).
26427 Reported by: Alexander Brüning
26428
327dbcd7
VS
264292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26430
26431 Don't try to generate lists for kernel.img.
26432
26433 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26434 (pkglib_MODULES): Remove kernel.img.
26435 (kernel_img_EXPORTS): Removed.
26436 (kernel_img_RELOCATABLE): New variable.
26437 * conf/x86_64-efi.rmk: Likewise.
26438 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26439
ca467290
VS
264402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26443 grub_xasprintf or grub_snprintf.
26444 (grub_vsprintf): Likewise.
26445 (grub_snprintf): New proto.
26446 (grub_vsnprintf): Likewise.
26447 (grub_xasprintf): Likewise.
26448 (grub_xvasprintf): Likewise.
26449 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26450 (grub_sprintf): Removed.
26451 (grub_vsnprintf): New function.
26452 (grub_snprintf): Likewise.
26453 (grub_xvasprintf): Likewise.
26454 (grub_xasprintf): Likewise.
26455 (grub_vsprintf): Renamed to ...
26456 (grub_vsnprintf_real): ...this. New argument max_len.
26457
aca655fd
BC
264582010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26459
26460 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26461 fix grub-script-check warning.
26462
7ee92c32
VS
264632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26464
26465 * include/grub/font.h (grub_font_load): Fix prototype.
26466
f80927ca
VS
264672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26468
26469 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26470
119c50ea
VS
264712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26472
26473 * include/grub/x86_64/at_keyboard.h: New file.
26474
47d5f3c1
VS
264752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26476
26477 * loader/mips/linux.c: Include missing grub/i18n.h.
26478
55ff5266
RM
264792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 * normal/menu.c (notify_execution_failure): Clarify error message.
26482
c893cc87
RM
264832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26484
26485 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26486 return value (and revert all return statements). Update users.
26487
917dd370
CW
264882010-01-20 Dan Merillat <debian@dan.merillat.org>
26489
26490 * kern/device.c (grub_device_iterate): Allocate new part_ent
26491 structure based on sizeof (*p) rather than sizeof (p->next), to
26492 account for structure padding.
26493
26494 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26495 disk is NULL, which might happen for LVM physical volumes with no
26496 LVM signature.
26497
d4a4ee57
RM
264982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * loader/mips/linux.c (grub_cmd_initrd)
26501 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26502
265032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26504
26505 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26506 (grub_video_video_init, grub_video_bitmap_init)
26507 (grub_font_manager_init, grub_term_gfxterm_init)
26508 (grub_at_keyboard_init): New extern declarations.
26509 (grub_machine_init): Initialize gfxterm and at_keyboard.
26510
26511 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26512
26513 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26514 `gfxterm.mod' into core image.
26515
26516 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26517 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26518 (kernel_img_FORMAT): Copy to ...
26519
26520 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26521 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26522 (kernel_img_FORMAT): ... here, and ...
26523
26524 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26525 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26526 (kernel_img_FORMAT): ... here.
26527
26528 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26529 and input (at_keyboard) terminals in kernel.
26530 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26531
26532 (pkglib_MODULES): Remove `pci.mod'.
26533 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26534 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26535 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26536 (at_keyboard_mod_LDFLAGS): Remove variables.
26537
265382010-01-11 Felix Zielcke <fzielcke@z-51.de>
26539
26540 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26541
265422009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26543
26544 * include/grub/mips/libgcc.h: Only export symbols for functions
26545 that libgcc provides.
26546
265472009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 MIPS support.
26550
26551 * bus/bonito.c: New file.
26552 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26553 GRUB_PCI_NUM_DEVICES.
26554 * term/i386/pc/serial.c: Move to ...
26555 * term/serial.c: ... here. All users updated.
26556 * util/i386/pc/grub-mkimage.c: Move to ...
26557 * util/grub-mkrawimage.c: ... here. All users updated.
26558 * term/i386/pc/at_keyboard.c: Move to ...
26559 * term/at_keyboard.c: ... here. All users updated.
26560 * conf/mips-qemu-mips.rmk: New file.
26561 * conf/mips-yeeloong.rmk: Likewise.
26562 * conf/mips.rmk: Likewise.
26563 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26564 mipsel-qemu-mips.
26565 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26566 to port addresses.
26567 (grub_ata_pciinit): Support CS5536.
26568 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26569 * font/font_cmd.c (loadfont_command): Open file before passing it to
26570 grub_font_load.
26571 (pseudo_file_read): New function.
26572 (pseudo_file_close): Likewise.
26573 (pseudo_fs): New structure.
26574 (load_font_module): New function.
26575 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26576 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26577 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26578 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26579 * include/grub/i386/at_keyboard.h: Split into ...
26580 * include/grub/at_keyboard.h: ... this ...
26581 * include/grub/i386/at_keyboard.h: ... and this.
26582 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26583 New prototype.
26584 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26585 updated.
26586 (grub_elf64_size): Likewise.
26587 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26588 filename.
26589 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26590 * include/grub/i386/coreboot/serial.h: Rewritten.
26591 * include/grub/i386/ieee1275/serial.h: Include
26592 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26593 * include/grub/i386/pc/serial.h: Moved from here ...
26594 * include/grub/serial.h: ... to here. All users updated.
26595 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26596 (GRUB_PCI_NUM_BUS): Likewise.
26597 (GRUB_PCI_NUM_DEVICES): Likewise.
26598 (grub_pci_device_map_range): Add missing volatile keyword.
26599 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26600 * include/grub/mips/at_keyboard.h: New file.
26601 * include/grub/mips/cache.h: Likewise.
26602 * include/grub/mips/io.h: Likewise.
26603 * include/grub/mips/kernel.h: Likewise.
26604 * include/grub/mips/libgcc.h: Likewise.
26605 * include/grub/mips/pci.h: Likewise.
26606 * include/grub/mips/qemu-mips/boot.h: Likewise.
26607 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26608 * include/grub/mips/qemu-mips/loader.h: Likewise.
26609 * include/grub/mips/qemu-mips/memory.h: Likewise.
26610 * include/grub/mips/qemu-mips/serial.h: Likewise.
26611 * include/grub/mips/qemu-mips/time.h: Likewise.
26612 * include/grub/mips/relocator.h: Likewise.
26613 * include/grub/mips/time.h: Likewise.
26614 * include/grub/mips/types.h: Likewise.
26615 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26616 * include/grub/mips/yeeloong/boot.h: Likewise.
26617 * include/grub/mips/yeeloong/kernel.h: Likewise.
26618 * include/grub/mips/yeeloong/loader.h: Likewise.
26619 * include/grub/mips/yeeloong/memory.h: Likewise.
26620 * include/grub/mips/yeeloong/pci.h: Likewise.
26621 * include/grub/mips/yeeloong/serial.h: Likewise.
26622 * include/grub/mips/yeeloong/time.h: Likewise.
26623 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26624 * kern/elf.c (grub_elf32_size): New parameter. All users
26625 updated.
26626 (grub_elf64_size): Likewise.
26627 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26628 Load modules before saying "Welcome to GRUB!".
26629 Call grub_refresh after saying "Welcome to GRUB!".
26630 * kern/mips/cache.S: New file.
26631 * kern/mips/cache_flush.S: Likewise.
26632 * kern/mips/dl.c: Likewise.
26633 * kern/mips/init.c: Likewise.
26634 * kern/mips/qemu-mips/init.c: Likewise.
26635 * kern/mips/startup.S: Likewise.
26636 * kern/mips/yeeloong/init.c: Likewise.
26637 * kern/term.c (grub_putcode): Handle NULL terminal.
26638 (grub_getcharwidth): Likewise.
26639 (grub_getkey): Likewise.
26640 (grub_checkkey): Likewise.
26641 (grub_getkeystatus): Likewise.
26642 (grub_getxy): Likewise.
26643 (grub_getwh): Likewise.
26644 (grub_gotoxy): Likewise.
26645 (grub_cls): Likewise.
26646 (grub_setcolorstate): Likewise.
26647 (grub_setcolor): Likewise.
26648 (grub_getcolor): Likewise.
26649 (grub_refresh): Likewise.
26650 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26651 (write_jump): Add hatch nop.
26652 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26653 * lib/mips/setjmp.S: New file.
26654 * loader/mips/linux.c: Likewise.
26655 * term/i386/pc/at_keyboard.c: Move from here ...
26656 * term/at_keyboard.c: ... to here.
26657 * term/i386/pc/serial.c: Moved from here ...
26658 * term/serial.c: ... to here. All users updated.
26659 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26660 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26661 (serial_translate_key_sequence): Avoid deadlock.
26662 (grub_serial_getkey): Handle backspace.
26663 (grub_serial_putchar): Fix newline handling.
26664 * util/i386/pc/grub-mkimage.c: Move from here ...
26665 * util/grub-mkrawimage.c: ... to here. All users updated.
26666 (generate_image): New parameters 'font_path' and 'format'.
26667 Support embedding font.
26668 Use grub_host_to_target* instead of grub_cpu_to_le*.
26669 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26670 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26671 (options): New option "--font".
26672 (usage): Likewise.
26673 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26674 (main): Handle "--font".
26675 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26676 (grub_virtual_screen_setup): Set bg_color_display.
26677 (redraw_screen_rect): Use bg_color_display instead of incorrect
26678 bg_color.
26679 (grub_gfxterm_cls): Likewise.
26680 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26681 Support embedding config file.
26682 (add_segments): Likewise.
26683 (options): New option "--config".
26684 (main): Handle "--config".
26685 * video/sm712.c: New file.
26686
25c2b5b3
RM
266872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26688
26689 Fix parallel builds.
26690
26691 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26692 font.c depend on ascii.h).
26693
266942010-01-12 Carles Pina i Estany <carles@pina.cat>
26695
26696 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26697
266982010-01-11 Carles Pina i Estany <carles@pina.cat>
26699
26700 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26701 By default: disabled.
26702 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26703 parameter.
26704
267052010-01-10 Carles Pina i Estany <carles@pina.cat>
26706
26707 * font/font.c: Update copyright years.
26708 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26709
267102010-01-10 Carles Pina i Estany <carles@pina.cat>
26711
26712 * font/font.c: Include `ascii.h'.
26713 (ASCII_BITMAP_SIZE): New macro.
26714 (ascii_font_glyph): Define.
26715 (ascii_glyph_lookup): New function.
26716 (grub_font_get_string_width): Change comment. If glyph not found, use
26717 ascii_glyph_lookup.
26718 (grub_font_get_glyph_with_fallback): If glyph not available returns
26719 ascii_glyph_lookup.
26720 * util/grub-mkfont.c (file_formats): New enum.
26721 (options): Add `ascii-bitmaps' new option.
26722 (usage): Add `asii-bitmaps' new option.
26723 (write_font_ascii_bitmap): New function.
26724 (write_font): Rename to ...
26725 (write_font_p2): ... this. Remove print_glyphs call.
26726 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26727 used. Call print_glyphs.
26728 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26729
267302010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26733 (grub_bin2h_SOURCES): New variable.
26734 * util/bin2h.c: New file.
26735
915fc1b8
VS
267362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 * include/multiboot.h: Resynced with spec.
26739 * include/multiboot2.h: Likewise.
26740 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26741 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26742
9444b678
RM
267432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26744
26745 * include/grub/term.h (grub_term_register_input,
26746 grub_term_register_output): Check return of terminal init()
26747 routines, and abort if errors are raised.
26748
26749 * commands/terminal.c: Update copyright year.
26750
cba98e8d
RM
267512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26752
26753 * commands/terminal.c (grub_cmd_terminal_input)
26754 (grub_cmd_terminal_output): Check return of terminal init()
26755 routines, and abort if errors are raised.
26756
6f7db5d6
VS
267572010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 * include/grub/i386/bsd.h: Fix include pathes.
26760
262bff8d
VS
267612010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26762
26763 Add missing *BSD copyright headers.
26764
26765 * include/grub/aout.h: Add BSD licence.
26766 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26767 * include/grub/i386/freebsd_linker.h: ... here,
26768 * include/grub/i386/freebsd_reboot.h: ... here,
26769 * include/grub/i386/netbsd_bootinfo.h: ... here,
26770 * include/grub/i386/netbsd_reboot.h: ... here,
26771 * include/grub/i386/openbsd_bootarg.h: ... here,
26772 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26773 licence to each file.
26774
b2cab848
RM
267752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26776
26777 * acinclude.m4: Remove `nop' assembly instruction; it's not
26778 implemented by all architectures.
26779
2cb6be4b
RM
267802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26783 ELILO. This is no longer necessary.
26784
a2eaee15
BC
267852010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26786
26787 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26788
26789 * util/grub-script-check.c: grub-script-check tool.
26790 * conf/common.rmk: Make rules for grub-script-check.
26791
88d17012
RM
267922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26793
26794 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26795 spotting it back in 2008. Shame on me for forgetting he did.
26796
26797 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26798
8040619d
RM
267992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26800
26801 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26802 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26803 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26804 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26805 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26806 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26807
a0c2a0f6
RM
268082010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26809
26810 * include/grub/test.h: Add license header.
26811 * tests/example_functional_test.c: Likewise.
26812 * tests/example_unit_test.c: Likewise.
26813 * tests/lib/functional_test.c: Likewise.
26814 * tests/lib/test.c: Likewise.
26815 * tests/lib/unit_test.c: Likewise.
26816
b0b13907
VS
268172010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26818
26819 Use flag-based instead of hook-based video mode selection and "auto"
26820 keyword.
26821
26822 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26823 (grub_video_set_mode): Changed prototype. All users updated.
26824 (grub_video_check_mode_flag): New inline function.
26825 * video/video.c (parse_modespec): New function.
26826 (grub_video_set_mode): Parse flags and keywords.
26827
ea379330 268282010-01-17 Carles Pina i Estany <carles@pina.cat>
26829
26830 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26831 fprintf call.
26832
e15c215e
FZ
268332010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26834
26835 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26836
409ae1c9 268372010-01-16 Carles Pina i Estany <carles@pina.cat>
26838
26839 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26840 string.
26841 * util/grub-emu.c (usage): Likewise.
26842 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26843 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26844 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26845 * util/i386/pc/grub-setup.c (usage): Likewise.
26846
70a14d3d 268472010-01-16 Carles Pina i Estany <carles@pina.cat>
26848
26849 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26850 the message.
26851 (grub_util_info): Likewise.
26852 (grub_util_error): Likewise.
26853 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26854 and/or new lines in `grub_util_warna', `grub_util_info',
26855 `grub_util_error' calls.
26856 * util/getroot.c: Likewise.
26857 * util/grub-editenv.c: Likewise.
26858 * util/grub-emu.c: Likewise.
26859 * util/grub-fstest.c: Likewise.
26860 * util/grub-mkdevicemap.c: Likewise.
26861 * util/grub-mkfont.c: Likewise.
26862 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26863 * util/grub-mkrelpath.c: Likewise.
26864 * util/grub-pe2elf.c: Likewise.
26865 * util/grub-probe.c: Likewise.
26866 * util/hostdisk.c: Likewise.
26867 * util/i386/efi/grub-mkimage.c: Likewise.
26868 * util/i386/pc/grub-mkimage.c: Likewise.
26869 * util/i386/pc/grub-setup.c: Likewise.
26870 * util/ieee1275/ofpath.c: Likewise.
26871 * util/mkisofs/eltorito.c: Likewise.
26872 * util/mkisofs/rock.c: Likewise.
26873 * util/mkisofs/write.c: Likewise.
26874 * util/raid.c: Likewise.
26875 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26877
a0b766fc
VS
268782010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26879
26880 Enable multiboot on non-pc.
26881
26882 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26883 multiboot.mod and multiboot2.mod to ...
26884 * conf/i386.rmk (pkglib_MODULES): ... here.
26885 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26886 Moved to ...
26887 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26888 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26889 Moved to ...
26890 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26891 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26892 Moved to ...
26893 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26894 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26895 Moved to ...
26896 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26897 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26898 relocator.mod.
26899 (ata_mod_SOURCES): Removed.
26900 (ata_mod_CFLAGS): Likewise.
26901 (ata_mod_LDFLAGS): Likewise.
26902 (relocator_mod_SOURCES): Removed.
26903 (relocator_mod_CFLAGS): Likewise.
26904 (relocator_mod_ASFLAGS): Likewise.
26905 (relocator_mod_LDFLAGS): Likewise.
26906 Include i386.mk.
26907 * include/grub/x86_64/multiboot.h: New file.
26908 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26909 Terminate EFI.
26910
884ade56
VS
269112010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Video multiboot support.
26914
26915 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26916 New prototype.
26917 * include/multiboot.h: Resynced with multiboot specification.
26918 * include/multiboot2.h: Likewise.
26919 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26920 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26921 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26922 (HAS_VGA_TEXT): Likewise.
26923 (accepts_video): New variable.
26924 (grub_multiboot_set_accepts_video): New function.
26925 (grub_multiboot_get_mbi_size): Account for video structures.
26926 (set_video_mode): New function.
26927 (retrieve_video_parameters): Likewise.
26928 (grub_multiboot_make_mbi): Fill video fields.
26929
0d90e8a6
VS
269302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 Video driver ids.
26933
26934 * include/grub/video.h (grub_video_driver_id): New type.
26935 (grub_video_adapter): New member 'id'. All users updated.
26936 (grub_video_get_driver_id): New proto.
26937 * video/video.c (grub_video_get_driver_id): New function.
26938
5c71db1b 269392010-01-14 Carles Pina i Estany <carles@pina.cat>
26940
26941 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26942 `var=val'.
26943
cca15b52 269442010-01-14 Carles Pina i Estany <carles@pina.cat>
26945
26946 * normal/cmdline.c (print_completion): Gettextizze.
26947
c586fbb2 269482001-01-14 Carles Pina i Estany <carles@pina.cat>
26949
26950 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26951
ba2f6848 269522010-01-14 Carles Pina i Estany <carles@pina.cat>
26953
26954 * gettext/gettext.c (grub_gettext_translate): Push and pop
26955 grub_errno.
26956 (grub_gettext_delete_list): Change comment style.
26957 * kern/err.c (grub_error): Gettextizze.
26958 (grub_fatal): Gettextizze.
26959
0a46429a
RM
269602010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26961
26962 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26963 (grub_linux16_real_boot): ... this.
26964 * kern/i386/loader.S: Likewise.
26965 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26966 (grub_linux16_boot): New function. Switches to text mode and calls
26967 grub_linux16_real_boot().
26968
26969 * loader/i386/bsd.c: Include `<grub/video.h>'.
26970 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26971 text mode before calling grub_unix_real_boot().
26972
26973 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26974 (grub_multiboot_boot): Switch to text mode before calling
26975 grub_relocator32_boot().
26976
26977 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26978 (grub_chainloader_boot): Switch to text mode before calling
26979 grub_chainloader_real_boot().
26980
d6f93a66
RM
269812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
269822010-01-05 Colin Watson <cjwatson@ubuntu.com>
26983
26984 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26985 non-empty value.
26986
269872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
269882010-01-05 Colin Watson <cjwatson@ubuntu.com>
26989
26990 * util/grub.d/00_header.in: Define a "savedefault" function for use
26991 in menu entries.
26992 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26993
269942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
269952010-01-05 Colin Watson <cjwatson@ubuntu.com>
26996
26997 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26998 saved_entry if boot_once is unset.
26999 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27000 previous saved entry (i.e. grub-reboot).
27001
270022009-12-08 Colin Watson <cjwatson@ubuntu.com>
27003
27004 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27005
270062009-12-08 Colin Watson <cjwatson@ubuntu.com>
27007
27008 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27009 `var=val'.
27010 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27011
270122009-12-08 Colin Watson <cjwatson@ubuntu.com>
27013
27014 * util/grub-reboot.in: Fix --version output.
27015 * util/grub-set-default.in: Likewise.
27016
270172009-12-08 Colin Watson <cjwatson@ubuntu.com>
27018
27019 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27020 blocks.
27021
270222009-12-08 Colin Watson <cjwatson@ubuntu.com>
27023
27024 * util/grub.d/00_header.in: Quote the value assigned to `default',
27025 in case it contains spaces.
27026
270272009-12-08 Colin Watson <cjwatson@ubuntu.com>
27028
27029 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27030 `save_default_entry' call from the macosx case to the linux case.
27031
270322009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
270332009-10-25 Colin Watson <cjwatson@ubuntu.com>
27034
27035 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27036 in `chosen' environment variable.
27037 * normal/menu_text.c (get_entry_number): Check if the variable
27038 matches the title of a menu entry.
27039 (run_menu): Pass menu to get_entry_number.
27040
27041 * util/grub-reboot.in: New file.
27042 * util/grub-set-default.in: New file.
27043 * conf/common.rmk (grub-reboot): New utility.
27044 (grub-set-default): New utility.
27045
27046 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27047 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27048 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27049 move it to `saved_entry' for the next boot. Load environment on
27050 initialisation.
27051 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27052 * util/grub.d/10_hurd.in: Likewise.
27053 * util/grub.d/10_linux.in (linux_entry): Likewise.
27054 * util/grub.d/10_windows.in: Likewise.
27055 * util/grub.d/30_os-prober.in: Likewise.
27056
27057 * util/grub-install.in: Create environment block.
27058 * util/i386/efi/grub-install.in: Likewise.
27059 * util/ieee1275/grub-install.in: Likewise.
27060 * util/sparc64/ieee1275/grub-install.in: Likewise.
27061
0934d184
BC
270622010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27063
27064 Unit testing framework for GRUB.
27065
27066 * Makefile.in: Test framework build rules for 'make check'.
27067 * conf/tests.rmk: Build rules for individual tests and framework.
27068
27069 * include/grub/test.h: Header file for whitebox tests.
27070 * tests/lib/functional_test.c: Framework support for whitebox
27071 functional tests.
27072 * tests/lib/test.c: Common whitebox testing code for unit and
27073 functional tests.
27074 * tests/lib/unit_test.c: Framework support for whitebox unit
27075 tests.
27076
27077 * tests/util/grub-shell-tester.in: Support utility for grub-script
27078 tests.
27079 * tests/util/grub-shell.in: Utility to execute grub-script
27080 commands in a Qemu instance.
27081
27082 * tests/example_functional_test.c: Example whitebox functional
27083 test.
27084 * tests/example_grub_script_test.in: Example grub-script test.
27085 * tests/example_scripted_test.in: Example scripted test.
27086 * tests/example_unit_test.c: Example whitebox unit test.
27087
9c4ffeeb
VS
270882010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27089
27090 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27091 Add loader/i386/multiboot_mbi.c.
27092 (multiboot2_mod_SOURCES): Likewise.
27093 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27094 (multiboot2_mod_SOURCES): Likewise.
27095 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27096 (grub_multiboot_make_mbi): Likewise.
27097 (grub_multiboot_free_mbi): Likewise.
27098 (grub_multiboot_init_mbi): Likewise.
27099 (grub_multiboot_add_module): Likewise.
27100 (grub_multiboot_set_bootdev): Likewise.
27101 * loader/i386/multiboot.c (mbi): Removed.
27102 (mbi_dest): Likewise.
27103 (alloc_mbi): New variable.
27104 (grub_multiboot_payload_size): Removed. All users updated.
27105 (grub_multiboot_pure_size): New variable.
27106 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27107 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27108 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27109 (grub_fill_multiboot_mmap): Likewise.
27110 (grub_multiboot_get_bootdev): Likewise.
27111 (grub_multiboot): Use multiboot_mbi functions.
27112 * loader/i386/multiboot_mbi.c: New file.
27113
17383dfe
VS
271142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27117 it would result in module crash.
27118
c1f28820
VS
271192010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27120
27121 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27122 (grub_ofconsole_getwh): Split to ...
27123 (grub_ofconsole_getwh): ... this.
27124 (grub_ofconsole_dimensions): ...and this.
27125 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27126
58655a16
RM
271272010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27128
27129 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27130
10891398
VS
271312010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 * loader/i386/pc/multiboot2.c: Removed stalled file.
27134
0b8a223c
VS
271352010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27136
27137 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27138 Reported by: Grégoire Sutre
27139
92ab12b0
RM
271402010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27141
27142 * util/misc.c (canonicalize_file_name): New function.
27143 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27144 instead of realpath().
27145
a788afb6
CW
271462010-01-11 Colin Watson <cjwatson@ubuntu.com>
27147
27148 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27149 and make it clearer that it's optional. Based on confusion
27150 witnessed on IRC.
27151
ffa8e3d2
VS
271522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27153
27154 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27155 in premature implicit newline.
27156
e9060a9d
VS
271572010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27160 which resulted in garbled command line at the end of screen.
27161
f0d0c0b7
RM
271622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27165 initialization with similar approach as with other Linux loaders.
27166
0e60bae7
RM
271672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27168
27169 Fix i386-ieee1275 build.
27170
27171 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27172 and grub_term_height() for video_{width,height} initialization.
27173
271742010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27175
27176 Fix grub-emu build.
27177
27178 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27179
cdb3f378
RM
271802010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
271812010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27182
27183 Support for multiple terminals.
27184
27185 * Makefile.in (pkglib_DATA): terminal.lst.
27186 (terminal.lst): New target.
27187 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27188 (GRUB_MOD_INIT(handler)): Likewise.
27189 (GRUB_MOD_FINI(handler)): Likewise.
27190 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27191 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27192 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27193 (grub_cmd_sleep): Use grub_term_save_pos.
27194 * commands/terminal.c: New file.
27195 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27196 commands/terminal.c and lib/charset.c.
27197 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27198 (pkglib_MODULES): Add terminal.mod.
27199 (terminal_mod_SOURCES): New variable.
27200 (terminal_mod_CFLAGS): Likewise.
27201 (terminal_mod_LDFLAGS): Likewise.
27202 * genhandlerlist.sh: Don't handle terminals.
27203 * genmk.rb: Generate terminal-*.lst.
27204 * genterminallist.sh: New file.
27205 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27206 (grub_is_valid_utf8): Likewise.
27207 (grub_utf8_to_ucs4_alloc): Likewise.
27208 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27209 (grub_menu_register_viewer): Changed argument.
27210 (grub_menu_try_text): New proto.
27211 (grub_gfxmenu_try_hook): New declaration.
27212 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27213 (grub_menu_init_page): Additional argument term.
27214 (grub_normal_init_page): Likewise.
27215 (grub_cmdline_get): Arguments simplified.
27216 (grub_utf8_to_ucs4_alloc): Removed.
27217 (grub_print_ucs4): Additional argument term.
27218 (grub_getstringwidth): Likewise.
27219 (grub_print_message_indented): Likewise.
27220 (grub_menu_text_register_instances): New proto.
27221 (grub_show_menu): Likewise.
27222 (read_terminal_list): Likewise.
27223 (grub_set_more): Likewise.
27224 * include/grub/parser.h: Include handler.h.
27225 * include/grub/reader.h: Rewritten.
27226 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27227 (GRUB_TERM_WIDTH): Changed to function.
27228 (GRUB_TERM_HEIGHT): Likewise.
27229 (GRUB_TERM_BORDER_WIDTH): Likewise.
27230 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27231 (GRUB_TERM_NUM_ENTRIES): Likewise.
27232 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27233 (GRUB_TERM_CURSOR_X): Likewise.
27234 (grub_term_input_class): Likewise.
27235 (grub_term_output_class): Likewise.
27236 (grub_term_outputs_disabled): New declaration.
27237 (grub_term_inputs_disabled): Likewise.
27238 (grub_term_outputs): Likewise.
27239 (grub_term_inputs): Likewise.
27240 (grub_term_register_input): Rewritten.
27241 (grub_term_register_output): Likewise.
27242 (grub_term_unregister_input): Likewise.
27243 (grub_term_unregister_output): Likewise.
27244 (FOR_ACTIVE_TERM_INPUTS): New macro.
27245 (FOR_DISABLED_TERM_INPUTS): Likewise.
27246 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27247 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27248 * include/grub/terminfo.h: Add oterm argument to all protypes.
27249 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27250 Use grub_rescue_run.
27251 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27252 All users updated.
27253 * kern/reader.c: Removed. All users updated.
27254 * kern/rescue_reader.c (grub_rescue_init): Removed.
27255 (grub_rescue_reader): Likewise.
27256 (grub_register_rescue_reader): Likewise.
27257 (grub_rescue_run): New function based on kern/reader.c.
27258 * kern/term.c: Adapted for multiterm.
27259 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27260 (grub_is_valid_utf8): Likewise.
27261 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27262 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27263 right terminal.
27264 * loader/i386/linux.c (grub_linux_boot): Likewise.
27265 * normal/auth.c (grub_username_get): New function.
27266 (grub_auth_check_authentication): Use grub_username_get.
27267 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27268 * normal/color.c: Adapt for multiterm.
27269 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27270 (grub_normal_init_page): Additional argument term.
27271 (read_lists): Call read_terminal_lists.
27272 (grub_enter_normal_mode): Call grub_cmdline_run.
27273 Handle grub_normal_exit_level.
27274 (grub_cmd_normal): Make reentrant.
27275 (grub_cmd_normal_exit): New function.
27276 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27277 * normal/menu.c: Adapt for multiterm.
27278 * normal/menu_entry.c: Likewise.
27279 * normal/menu_text.c: Likewise.
27280 * normal/menu_viewer.c: Removed. All users updated.
27281 * normal/term.c: New file.
27282 * util/console.c: Change order of includes to workaround a bug in
27283 ncurses headers.
27284 * term/terminfo.c: New argument oterm on all exported functions.
27285 All users updated.
27286 * util/grub-editenv.c (grub_term_input_class): Removed.
27287 (grub_term_output_class): Likewise.
27288
1a064917
RM
272892010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27290
27291 Make loader output a bit more user-friendly.
27292
27293 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27294 is being loaded. Likewise for the Hurd.
27295
27296 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27297 that kernel of FreeBSD ${version} is being loaded.
27298
27299 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27300 grub_dprintf().
27301 (grub_cmd_initrd): Likewise.
27302 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27303 that Linux ${version} is being loaded. Likewise for initrd.
27304
5ce0a83a 273052010-01-09 Carles Pina i Estany <carles@pina.cat>
27306
27307 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27308
809bbfeb 273092010-01-08 Carles Pina i Estany <carles@pina.cat>
27310
27311 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27312 (GRUB_MOD_INIT): Gettextizze.
27313 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27314 (GRUB_MOD_INIT): Gettextizze.
27315 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27316 (grub_cmd_linux): Capitalise Linux.
27317 (GRUB_MOD_INIT): Gettextizze.
27318 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27319 (grub_cmd_linux): Capitalise Linux.
27320 (GRUB_MOD_INIT): Gettextizze.
27321 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27322 (grub_cmd_linux): Capitalise Linux.
27323 (GRUB_MOD_INIT): Gettextizze.
27324 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27325 (GRUB_MOD_INIT): Gettextizze.
27326 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27327 (grub_cmd_linux): Capitalise Linux.
27328 (GRUB_MOD_INIT): Gettextizze.
27329 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27330 (grub_cpu_xnu_init): Gettextizze.
27331 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27332 (GRUB_MOD_INIT): Gettextizze.
27333 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27334 (GRUB_MOD_INIT): Gettextizze.
27335 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27336 (grub_linux_load64): Capitalise Linux.
27337 (GRUB_MOD_INIT): Gettextizze.
27338 * loader/xnu.c: Include `<grub/i18n.h>'.
27339 (GRUB_MOD_INIT): Gettextizze.
27340 * po/POTFILES: Add `loader/efi/appleloader.c',
27341 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27342 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27343 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27344 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27345 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27346 and `loader/xnu.c'.
27347
b394b2ca
RM
273482010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27349
27350 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27351
273522010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27353
27354 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27355 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27356 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27357
bc8b32b3
RM
273582010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27359
27360 Reset Multiboot 2 support. New loader implements the draft in
27361 /branches/multiboot2 and shares as much code as possible with the
27362 production Multiboot 1 implementation.
27363
27364 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27365 * loader/multiboot2.c: Likewise.
27366 * loader/i386/multiboot_helper.S: Likewise.
27367 * include/multiboot2.h: Replace with latest version from the draft
27368 in /branches/multiboot2.
27369
27370 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27371 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27372 and `loader/multiboot2.c'.
27373 (pkglib_MODULES): Add `multiboot2.mod'.
27374 (multiboot2_mod_SOURCES): New variable.
27375 (multiboot2_mod_LDFLAGS): Likewise.
27376 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27377
27378 * conf/i386-pc.rmk: Likewise.
27379
27380 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27381 (multiboot_mod_SOURCES): Remove variable.
27382 (multiboot_mod_LDFLAGS): Likewise.
27383 (multiboot_mod_CFLAGS): Likewise.
27384
27385 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27386 `<multiboot2.h>' instead of `<multiboot.h>'.
27387 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27388 (MULTIBOOT_HEADER_MAGIC): New macros.
27389
27390 * loader/multiboot_loader.c (module_version_status): Remove variable.
27391 (find_multi_boot2_header): Remove function.
27392 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27393 logic. Always check for the Multiboot version we're compiling for.
27394 (grub_cmd_module_loader): Likewise.
27395 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27396 command instead of `multiboot'.
27397
5d2c52b8
RM
273982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27399
27400 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27401 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27402 all users.
27403
53108d92
RM
274042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
274052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27406
27407 Fix breakage introduced with previous commit.
27408
27409 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27410 commands.
27411 * normal/handler.c (read_handler_list): Revert part of previous commit
27412 affecting this file.
27413 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27414 (grub_normal_execute): ... here.
27415
e2e936b2
RM
274162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27417
27418 Merge prefix-redefinition-fix branch.
27419
27420 * normal/autofs.c (read_fs_list): Make function capable of being
27421 run multiple times, gracefuly replacing the previous data
27422 structures.
27423 * normal/dyncmd.c (read_command_list): Likewise.
27424 * normal/handler.c (read_handler_list): Likewise.
27425 * normal/main.c (read_lists): New function. Calls all the
27426 list reading functions.
27427 (grub_normal_execute): Use read_lists() instead of calling all
27428 list reading functions explicitly. Register read_lists() as a
27429 variable hook attached to ${prefix}.
27430
607a3701
VS
274312010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27432
27433 Merge crypto branch.
27434
27435 * Makefile.in (pkglib_DATA): Add crypto.lst.
27436 (crypto.lst): New target.
27437 * commands/hashsum.c: New file.
27438 * commands/password.c (check_password): Use grub_crypto_memcmp.
27439 * commands/password_pbkdf2.c: New file.
27440 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27441 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27442 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27443 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27444 -I$(srcdir)/lib/libgcrypt_wrap.
27445 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27446 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27447 password_pbkdf2.mod.
27448 (crypto_mod_SOURCES): New variable.
27449 (crypto_mod_CFLAGS): Likewise.
27450 (crypto_mod_LDFLAGS): Likewise.
27451 (hashsum_mod_SOURCES): New variable.
27452 (hashsum_mod_CFLAGS): Likewise.
27453 (hashsum_mod_LDFLAGS): Likewise.
27454 (pbkdf2_mod_SOURCES): New variable.
27455 (pbkdf2_mod_CFLAGS): Likewise.
27456 (pbkdf2_mod_LDFLAGS): Likewise.
27457 (password_pbkdf2_mod_SOURCES): New variable.
27458 (password_pbkdf2_mod_CFLAGS): Likewise.
27459 (password_pbkdf2_mod_LDFLAGS): Likewise.
27460 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27461 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27462 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27463 Include conf/gcry.rmk.
27464 * include/grub/auth.h: Rewritten.
27465 * include/grub/crypto.h: New file.
27466 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27467 * include/grub/normal.h (read_crypto_list): New prototype.
27468 * lib/crypto.c: New file.
27469 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27470 * lib/pbkdf2.c: Likewise.
27471 * normal/auth.c (grub_auth_strcmp): Removed.
27472 (grub_iswordseparator): Likewise.
27473 (grub_auth_strword): Likewise.
27474 (is_authenticated): Use grub_strword.
27475 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27476 and grub_strword. Pass entered password to authentication callback.
27477 * normal/crypto.c: New file.
27478 * normal/main.c: Call read_crypto_list.
27479 * util/grub-mkpasswd-pbkdf2.c: New file.
27480 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27481
42841caa
VS
274822010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 Fix descent and ascent calculation.
27485
27486 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27487 (options): New option "asce".
27488 (usage): Likewise.
27489 (add_char): Ignore invalid glyphs for descent calculation.
27490 Calculate ascent from actual content.
27491 (print_glyphs): Use 'asce'.
27492 (write_font): Likewise. Allow ascent override.
27493 (main): Handle "asce" option.
27494
e7730de7 274952010-01-06 Carles Pina i Estany <carles@pina.cat>
27496
27497 * kern/err.c: Include `<grub/i18n.h>'.
27498 (grub_print_error): Add full stop. Gettextizze.
27499 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27500 (grub_bsd_load_elf): Capitalise ELF.
27501 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27502 (grub_cmd_freebsd_module): Likewise.
27503 (grub_cmd_freebsd_module_elf): Likewise.
27504 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27505
40e3a41f 275062010-01-06 Carles Pina i Estany <carles@pina.cat>
27507
27508 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27509 * commands/search_file.c (HELP_MESSAGE): New macro.
27510 * commands/search_label.c (HELP_MESSAGE): Likewise.
27511 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27512 * po/POTFILES: Add `commands/search_file.c',
27513 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27514 `commands/search.c'.
27515
83507e68
RM
275162010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27517
27518 * config.rpath: Update from Gnulib.
27519
465c787b
YB
275202010-01-05 Yves Blusseau <blusseau@zetam.org>
27521
27522 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27523
6581dd3a
YB
275242010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27525
27526 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27527
3bff18c5
CW
275282010-01-05 Colin Watson <cjwatson@ubuntu.com>
27529
27530 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27531 arguments to fread so that we get a return value in bytes, rather
27532 than something that will normally be rounded down to 0.
27533 Adjust error handling to avoid producing garbage when size_t is not
27534 the same size as long long.
27535
a1368118
CW
275362010-01-05 Colin Watson <cjwatson@ubuntu.com>
27537
27538 * util/mkisofs/write.c (padblock_write): Check return value of
27539 fread.
27540
7c302978
RM
275412010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27542
27543 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27544 floppy images now.
27545
27546 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27547
e33ace06
RM
275482010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27549
27550 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27551 instead of manual alignment.
27552 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27553 verbose). Avoid attempts to read past end of the device
27554 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27555 but GRUB_DISK_CACHE_SIZE may exceed that).
27556
4b856776
RM
275572010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27560 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27561 it to upper layer.
27562
52c2d97f
VS
275632010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27564
27565 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27566 New constant.
27567 (grub_efi_piwg_device_path): New structure
27568 (grub_efi_piwg_device_path_t): New type.
27569 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27570 (devpath_1): Transform to a structure. All users updated.
27571 (devpath_2): Likewise.
27572 (devpath_3): Likewise.
27573 (devpath_4): Likewise.
27574 (devpath_5): Likewise.
27575
98ff6a54
VS
275762010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27577
27578 * loader/efi/appleloader.c: Restored. Update all users.
27579
3a73dcb6
RM
275802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27581
27582 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27583
27584 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27585 (struct boot_blocklist): Move from here ...
27586 * include/grub/i386/pc/boot.h [ASM_FILE]
27587 (struct grub_boot_blocklist): ... to here. Update all users.
27588 (setup): Only initialize `start' member of `first_block'
27589 structure. Add assert() calls to verify the other members.
27590
27591 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27592 (generate_image): Fix broken blocklist length initialization.
27593 Add assert() call to verify blocklist `segment' field.
27594
ab0eeb0c
RM
275952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27596
27597 * loader/efi/appleloader.c: Remove. Update all users.
27598
58bc8bd5
RM
275992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 * boot/i386/pc/boot.S: Update copyright year.
27602 * boot/i386/pc/cdboot.S: Likewise.
27603 * boot/i386/pc/diskboot.S: Likewise.
27604 * boot/i386/pc/lnxboot.S: Likewise.
27605 * boot/i386/pc/pxeboot.S: Likewise.
27606 * bus/pci.c: Likewise.
27607 * commands/cmp.c: Likewise.
27608 * commands/help.c: Likewise.
27609 * commands/hexdump.c: Likewise.
27610 * commands/i386/pc/halt.c: Likewise.
27611 * commands/i386/pc/play.c: Likewise.
27612 * commands/i386/pc/vbeinfo.c: Likewise.
27613 * commands/ls.c: Likewise.
27614 * commands/test.c: Likewise.
27615 * disk/dmraid_nvidia.c: Likewise.
27616 * disk/i386/pc/biosdisk.c: Likewise.
27617 * disk/ieee1275/nand.c: Likewise.
27618 * disk/ieee1275/ofdisk.c: Likewise.
27619 * disk/lvm.c: Likewise.
27620 * disk/raid.c: Likewise.
27621 * disk/raid6_recover.c: Likewise.
27622 * disk/scsi.c: Likewise.
27623 * fs/affs.c: Likewise.
27624 * fs/cpio.c: Likewise.
27625 * fs/ext2.c: Likewise.
27626 * fs/hfs.c: Likewise.
27627 * fs/iso9660.c: Likewise.
27628 * fs/ntfs.c: Likewise.
27629 * fs/sfs.c: Likewise.
27630 * fs/udf.c: Likewise.
27631 * fs/ufs.c: Likewise.
27632 * fs/xfs.c: Likewise.
27633 * gencmdlist.sh: Likewise.
27634 * genmk.rb: Likewise.
27635 * include/grub/disk.h: Likewise.
27636 * include/grub/efi/api.h: Likewise.
27637 * include/grub/efi/efi.h: Likewise.
27638 * include/grub/efi/pe32.h: Likewise.
27639 * include/grub/elf.h: Likewise.
27640 * include/grub/fs.h: Likewise.
27641 * include/grub/i386/at_keyboard.h: Likewise.
27642 * include/grub/i386/pc/memory.h: Likewise.
27643 * include/grub/i386/pc/vbe.h: Likewise.
27644 * include/grub/i386/pci.h: Likewise.
27645 * include/grub/i386/tsc.h: Likewise.
27646 * include/grub/ieee1275/ieee1275.h: Likewise.
27647 * include/grub/ntfs.h: Likewise.
27648 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27649 * include/grub/sparc64/libgcc.h: Likewise.
27650 * include/grub/symbol.h: Likewise.
27651 * include/grub/types.h: Likewise.
27652 * include/multiboot2.h: Likewise.
27653 * io/gzio.c: Likewise.
27654 * kern/device.c: Likewise.
27655 * kern/disk.c: Likewise.
27656 * kern/efi/efi.c: Likewise.
27657 * kern/efi/mm.c: Likewise.
27658 * kern/elf.c: Likewise.
27659 * kern/file.c: Likewise.
27660 * kern/i386/dl.c: Likewise.
27661 * kern/i386/pc/init.c: Likewise.
27662 * kern/i386/pc/startup.S: Likewise.
27663 * kern/ieee1275/ieee1275.c: Likewise.
27664 * kern/ieee1275/init.c: Likewise.
27665 * kern/main.c: Likewise.
27666 * kern/mm.c: Likewise.
27667 * kern/powerpc/dl.c: Likewise.
27668 * kern/sparc64/dl.c: Likewise.
27669 * kern/x86_64/dl.c: Likewise.
27670 * lib/hexdump.c: Likewise.
27671 * loader/efi/appleloader.c: Likewise.
27672 * loader/i386/ieee1275/linux.c: Likewise.
27673 * loader/i386/pc/chainloader.c: Likewise.
27674 * loader/i386/pc/linux.c: Likewise.
27675 * loader/i386/pc/multiboot2.c: Likewise.
27676 * loader/ieee1275/multiboot2.c: Likewise.
27677 * loader/multiboot2.c: Likewise.
27678 * loader/multiboot_loader.c: Likewise.
27679 * loader/powerpc/ieee1275/linux.c: Likewise.
27680 * normal/completion.c: Likewise.
27681 * normal/menu_entry.c: Likewise.
27682 * partmap/apple.c: Likewise.
27683 * util/grub.d/10_hurd.in: Likewise.
27684 * util/hostfs.c: Likewise.
27685 * video/readers/png.c: Likewise.
27686
e2d70b5c
CW
276872010-01-03 Colin Watson <cjwatson@ubuntu.com>
27688
27689 * include/grub/misc.h (GNUC_PREREQ): New macro.
27690 (ATTRIBUTE_ERROR): New macro.
27691 * include/grub/list.h (grub_bad_type_cast_real): Use
27692 ATTRIBUTE_ERROR.
27693
a173283f 276942010-01-03 Carles Pina i Estany <carles@pina.cat>
27695
27696 * normal/menu_text.c (print_message): Change messages.
27697
7fa7ff74 276982010-01-03 Carles Pina i Estany <carles@pina.cat>
27699
27700 * normal/menu_entry.c (store_completion): Gettextizze.
27701
136d24f6 277022010-01-03 Carles Pina i Estany <carles@pina.cat>
27703
27704 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27705
f936862e 277062010-01-03 Carles Pina i Estany <carles@pina.cat>
27707
27708 * po/POTFILES: Sort correctly.
27709
29c44ad1 277102010-01-03 Carles Pina i Estany <carles@pina.cat>
27711
27712 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27713 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27714 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27715 full stop.
27716 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27717 summary. Gettextizze the strings.
27718 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27719 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27720 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27721 full stop.
27722 (GRUB_MOD_INIT): Remove command name from summary.
27723 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27724 summary.
27725 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27726 * term/i386/pc/serial.c (options): Add full stops.
27727 (GRUB_MOD_INIT): Remove command name from the summary.
27728
77a79592 277292010-01-03 Carles Pina i Estany <carles@pina.cat>
27730
27731 * commands/acpi.c: Gettextizze help strings and/or options. Include
27732 `grub/i18n.h' if needed.
27733 * commands/blocklist.c: Likewise.
27734 * commands/boot.c: Likewise.
27735 * commands/cat.c: Likewise.
27736 * commands/cmp.c: Likewise.
27737 * commands/configfile.c: Likewise.
27738 * commands/crc.c: Likewise.
27739 * commands/date.c: Likewise.
27740 * commands/echo.c: Likewise.
27741 * commands/efi/fixvideo.c: Likewise.
27742 * commands/efi/loadbios.c: Likewise.
27743 * commands/gptsync.c: Likewise.
27744 * commands/halt.c: Likewise.
27745 * commands/handler.c: Likewise.
27746 * commands/hdparm.c: Likewise.
27747 * commands/hexdump.c: Likewise.
27748 * commands/i386/cpuid.c: Likewise.
27749 * commands/i386/pc/drivemap.c: Likewise.
27750 * commands/i386/pc/halt.c: Likewise.
27751 * commands/i386/pc/pxecmd.c: Likewise.
27752 * commands/i386/pc/vbeinfo.c: Likewise.
27753 * commands/i386/pc/vbetest.c: Likewise.
27754 * commands/ieee1275/suspend.c: Likewise.
27755 * commands/keystatus.c: Likewise.
27756 * commands/loadenv.c: Likewise.
27757 * commands/ls.c: Likewise.
27758 * commands/lsmmap.c: Likewise.
27759 * commands/lspci.c: Likewise.
27760 * commands/memrw.c: Likewise.
27761 * commands/minicmd.c: Likewise.
27762 * commands/parttool.c: Likewise.
27763 * commands/password.c: Likewise.
27764 * commands/probe.c: Likewise.
27765 * commands/read.c: Likewise.
27766 * commands/reboot.c: Likewise.
27767 * commands/search.c: Likewise.
27768 * commands/sleep.c: Likewise.
27769 * commands/test.c: Likewise.
27770 * commands/true.c: Likewise.
27771 * commands/usbtest.c: Likewise.
27772 * commands/videotest.c: Likewise.
27773 * commands/xnu_uuid.c: Likewise.
27774 * disk/loopback.c: Likewise.
27775 * hello/hello.c: Likewise.
27776 * loader/i386/bsd.c: Likewise.
27777 * term/i386/pc/serial.c: Likewise.
27778 * po/POTFILES: Add new files.
27779
da8d5c53
CW
277802010-01-02 Colin Watson <cjwatson@ubuntu.com>
27781
27782 * term/i386/pc/at_keyboard.c
27783 (keyboard_controller_wait_untill_ready): Rename to ...
27784 (keyboard_controller_wait_until_ready): ... this. Update all users.
27785
33937904 277862010-01-01 Carles Pina i Estany <carles@pina.cat>
27787
27788 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27789 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27790 string using string width.
27791 * normal/menu_text.c (grub_print_message_indented): Use
27792 grub_print_spaces and not print_spaces.
27793 (print_timeout): Likewise.
27794 (print_spaces): Move to...
27795 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27796
3fd3b8d8
RM
277972010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27798
27799 Import from Gnulib.
27800
27801 * gnulib/getdelim.c: New file.
27802 * gnulib/getline.c: Likewise.
27803
33433555
VS
278042009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27805
27806 * include/grub/list.h (grub_assert_fail): Removed.
27807 (grub_bad_type_cast_real): New function.
27808 (grub_bad_type_cast): New macro.
27809 (GRUB_AS_LIST): Use grub_bad_type_cast.
27810 (GRUB_AS_LIST_P): Likewise.
e44721e8 27811 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27812 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27813 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27814 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27815 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27816
f5a51306
VS
278172009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27818
27819 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27820 Fix syntax error.
27821
90d1e879
RM
278222009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27823
27824 * configure.ac: Check for TARGET_CFLAGS initialization before we
27825 initialize it ourselves (sigh).
27826 Move a few modifications to TARGET_CFLAGS to be unconditional
27827 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27828 eh_frame)
27829
27830 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27831 * term/i386/pc/at_keyboard.c
27832 (keyboard_controller_wait_untill_ready): Likewise.
27833 (keyboard_controller_led): Rename `led_status' paramter to avoid
27834 name conflict.
27835
465b5a81 278362009-12-28 Carles Pina i Estany <carles@pina.cat>
27837
27838 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27839 quotes.
27840
c181849b
VS
278412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27842
27843 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27844
9c8739a4
VS
278452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27846
27847 * normal/menu_text.c (grub_print_message_indented): Prevent
27848 past-the-end-of-array dereference.
27849
3e74249c
VS
278502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27851
27852 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27853 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27854
64fd18ed 278552009-12-27 Carles Pina i Estany <carles@pina.cat>
27856
27857 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27858 * normal/main.c (grub_normal_read_line): Remove a space from the
27859 default prompt.
27860
714af9b9 278612009-12-27 Carles Pina i Estany <carles@pina.cat>
27862
27863 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27864 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27865 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27866 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27867 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27868 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27869 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27870
82f3e412 278712009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27872
27873 * video/readers/jpeg.c (cmd): Declare.
27874 (grub_cmd_jpegtest): Use `grub_command_t' type.
27875 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27876 Assign to `cmd'.
27877 (GRUB_MOD_FINI): Use `cmd' to unregister.
27878 * video/readers/png.c (cmd): Declare.
27879 (grub_cmd_pngtest): Use `grub_command_t' type.
27880 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27881 Assign to `cmd'.
27882 (GRUB_MOD_FINI): Use `cmd' to unregister.
27883 * video/readers/tga.c (cmd): Declare.
27884 (grub_cmd_tgatest): Use `grub_command_t' type.
27885 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27886 Assign to `cmd'.
27887 (GRUB_MOD_FINI): Use `cmd' to unregister.
27888
82f3e412 278892009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27890
27891 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27892 stops.
27893 * kern/corecmd.c (grub_register_core_commands): Likewise.
27894 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27895 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27896 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27897 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27898 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27899 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27900 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27901 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27902 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27903 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27904 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27905 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27906 * normal/handler.c (insert_handler): Likewise.
27907 * normal/main.c (GRUB_MOD_INIT): Likewise.
27908 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27909
fdcdbb66 279102009-12-26 Carles Pina i Estany <carles@pina.cat>
27911
27912 * commands/help.c (grub_cmd_help): Print the command name before the
27913 summary.
27914 (GRUB_MOD_INIT): Remove command name from the summary.
27915 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27916 string as summary.
fdcdbb66 27917 * lib/arg.c (find_long): Print the command name before the summary.
27918 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27919 summary.
27920 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27921 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27922 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27923 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27924 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27925 * commands/date.c (GRUB_MOD_INIT): Likewise.
27926 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27927 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27928 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27929 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27930 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27931 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27932 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27933 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27934 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27935 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27936 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27937 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27938 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27939 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27940 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27941 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27942 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27943 * commands/password.c (GRUB_MOD_INIT): Likewise.
27944 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27945 * commands/read.c (GRUB_MOD_INIT): Likewise.
27946 * commands/search.c (GRUB_MOD_INIT): Likewise.
27947 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27948 * commands/test.c (GRUB_MOD_INIT): Likewise.
27949 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27950 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27951 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27952 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27953 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27954 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27955 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27956 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27957 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27958 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27959 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27960 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27961 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27962 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27963
9c288be2
VS
279642009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27965
27966 Use search command for preliminar UUID search.
27967
27968 * commands/search.c: Split into ...
27969 * commands/search_wrap.c: ...this
27970 * commands/search.c: ...and this.
27971 * commands/search_file.c: New file.
27972 * commands/search_label.c: New file.
27973 * commands/search_uuid.c: New file.
27974 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27975 Add commands/search_wrap.c, commands/search_file.c,
27976 commands/search_label.c and commands/search_uuid.c.
27977 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27978 (search_mod_SOURCES): Set to commands/search_wrap.c.
27979 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27980 search_label.mod.
27981 (search_fs_file_mod_SOURCES): New variable.
27982 (search_fs_file_mod_CFLAGS): Likewise.
27983 (search_fs_file_mod_LDFLAGS): Likewise.
27984 (search_label_mod_SOURCES): Likewise.
27985 (search_label_mod_CFLAGS): Likewise.
27986 (search_label_mod_LDFLAGS): Likewise.
27987 (search_fs_uuid_mod_SOURCES): New variable.
27988 (search_fs_uuid_mod_CFLAGS): Likewise.
27989 (search_fs_uuid_mod_LDFLAGS): Likewise.
27990 (fs_file_mod_SOURCES): Removed.
27991 (fs_file_mod_CFLAGS): Likewise.
27992 (fs_file_mod_LDFLAGS): Likewise.
27993 (fs_uuid_mod_SOURCES): Removed.
27994 (fs_uuid_mod_CFLAGS): Likewise.
27995 (fs_uuid_mod_LDFLAGS): Likewise.
27996 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27997 Set to util/grub-install.in.
27998 * disk/fs_file.c: Removed.
27999 * disk/fs_uuid.c: Likewise.
28000 * include/grub/search.h: New file.
28001 * util/grub-install.in: Handle sparc64.
28002 Create and use load.cfg.
28003 * util/sparc64/ieee1275/grub-install.in: Removed.
28004
db943399
VS
280052009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28006
28007 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28008 Ignore return status if CF is cleared.
28009 (grub_biosdisk_get_diskinfo_standard): Likewise.
28010
3fdae612
RM
280112009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28012
28013 * term/i386/pc/at_keyboard.c
28014 (keyboard_controller_wait_untill_ready): New function.
28015 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28016 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28017 for keyboard polling, rather than duplicate the same loop. This
28018 saves a few bytes in code size.
28019
7ebaa2b4
VS
280202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28021
28022 Support for (pxe[:server[:gateway]]) syntax and
28023 use environment variable for PXE.
28024
28025 * commands/i386/pc/pxecmd.c (options): Removed.
28026 (print_ip): Removed.
28027 (grub_cmd_pxe): Removed
28028 (grub_cmd_pxe_unload): New function.
28029 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28030 (grub_pxe_your_ip): Made static.
28031 (grub_pxe_default_server_ip): Likewise.
28032 (grub_pxe_default_gateway_ip): Likewise.
28033 (grub_pxe_blksize): Likewise.
28034 (parse_ip): New function.
28035 (grub_pxe_open): Support server and gateway specification.
28036 (grub_pxe_close): Free disk->data.
28037 (grub_pxefs_open): Use disk->data.
28038 (grub_pxefs_read): Likewise.
28039 (grub_env_write_readonly): New function.
28040 (set_mac_env): Likewise.
28041 (set_env_limn_ro): Likewise.
28042 (parse_dhcp_vendor): Likewise.
28043 (grub_pxe_detect): Set the environment variables.
28044 (set_ip_env): New function.
28045 (write_ip_env): Likewise.
28046 (grub_env_write_pxe_default_server): Likewise.
28047 (grub_env_write_pxe_default_gateway): Likewise.
28048 (grub_env_write_pxe_blocksize): Likewise.
28049 (GRUB_MOD_INIT(pxe)): Set environment variables.
28050 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28051 (grub_pxe_mac_addr_t): ... this. All users updated.
28052 (grub_pxe_your_ip): Removed.
28053 (grub_pxe_server_ip): Likewise.
28054 (grub_pxe_gateway_ip): Likewise.
28055 (grub_pxe_blksize): Likewise.
28056
ec5f98ab 280572009-12-25 Carles Pina i Estany <carles@pina.cat>
28058
28059 * commands/help.c: Include `<grub/i18n.h>'.
28060 (grub_cmd_help): Gettextizze.
28061 (GRUB_MOD_INIT): Likewise.
28062 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28063 (GRUB_MOD_INIT): Gettextizze.
28064 * commands/search.c: Include `<grub/i18n.h>'.
28065 (options): Gettextizze.
28066 (GRUB_MOD_INIT): Gettextizze.
28067 * lib/arg.c: Include `<grub/i18n.h>'.
28068 (help_options): Gettextizze.
28069 (find_long): Likewise.
28070 (grub_arg_show_help): Likewise.
28071 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28072 (read_command_list): Gettextizze.
28073 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28074 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28075
22815526
RM
280762009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28077
28078 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28079 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28080 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28081 (led_status): New variable.
28082 (keyboard_controller_led): New function.
28083 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28084 update led status for caps lock, num lock and scroll lock.
28085
0ad46fd7
FZ
280862009-12-25 Felix Zielcke <fzielcke@z-51.de>
28087
28088 * util/hostdisk.c (open_device): Fix a comment.
28089
d0e158c2
RM
280902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28091
28092 * util/grub-install.in (host_os): New variable.
28093 * util/i386/efi/grub-install.in (host_os): Likewise.
28094
401c0ad6
RM
280952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28096
28097 * util/mkisofs/write.c (padblock_write): Abort when given an
28098 excedingly large embed image, instead of silently truncating it.
28099
d14d3370
RM
281002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28101
28102 * include/multiboot.h: Indentation fixes.
28103
eeed10b4
RM
281042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28105
28106 * include/multiboot.h (struct multiboot_aout_symbol_table)
28107 (struct multiboot_elf_section_header_table): New structure
28108 declarations (stolen from GRUB Legacy).
28109 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28110 table information.
28111
28112 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28113 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28114 type aliases.
28115
681c70ab
RM
281162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28117
28118 * include/multiboot.h: Make comments src2texi-friendly.
28119
e4d47d8d
RM
281202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28121
28122 For consistency with [multiboot]/docs/boot.S.
28123
28124 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28125 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28126 (MULTIBOOT_MAGIC2): Rename from this ...
28127 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28128
a0b70bda
RM
281292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28130
28131 * include/multiboot.h: Remove `<grub/types.h>'.
28132 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28133 types. Update all users.
28134
61ba42be 281352009-12-25 Carles Pina i Estany <carles@pina.cat>
28136
28137 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28138 `couldn't' and `can not' by `cannot'.
28139 * commands/i386/pc/drivemap.c: Likewise.
28140 * disk/ata.c: Likewise.
28141 * disk/ieee1275/nand.c: Likewise.
28142 * fs/affs.c: Likewise.
28143 * fs/fat.c: Likewise.
28144 * fs/hfs.c: Likewise.
28145 * fs/hfsplus.c: Likewise.
28146 * fs/iso9660.c: Likewise.
28147 * fs/jfs.c: Likewise.
28148 * fs/minix.c: Likewise.
28149 * fs/reiserfs.c: Likewise.
28150 * fs/sfs.c: Likewise.
28151 * fs/udf.c: Likewise.
28152 * fs/ufs.c: Likewise.
28153 * fs/xfs.c: Likewise.
28154 * loader/powerpc/ieee1275/linux.c: Likewise.
28155 * loader/sparc64/ieee1275/linux.c: Likewise.
28156 * util/grub-probe.c: Likewise.
28157 * util/misc.c: Likewise.
28158
7fd0baee 281592009-12-24 Carles Pina i Estany <carles@pina.cat>
28160
28161 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28162 grub_errno calls.
28163 * commands/acpi.c: Likewise.
28164 * commands/blocklist.c: Likewise.
28165 * commands/efi/loadbios.c: Likewise.
28166 * commands/i386/pc/drivemap.c: Likewise.
28167 * commands/loadenv.c: Likewise.
28168 * commands/memrw.c: Likewise.
28169 * commands/password.c: Likewise.
28170 * commands/videotest.c: Likewise.
28171 * disk/ata.c: Likewise.
28172 * disk/ata_pthru.c: Likewise.
28173 * disk/dmraid_nvidia.c: Likewise.
28174 * disk/ieee1275/nand.c: Likewise.
28175 * disk/ieee1275/ofdisk.c: Likewise.
28176 * disk/loopback.c: Likewise.
28177 * disk/lvm.c: Likewise.
28178 * disk/mdraid_linux.c: Likewise.
28179 * disk/raid.c: Likewise.
28180 * disk/raid6_recover.c: Likewise.
28181 * disk/scsi.c: Likewise.
28182 * efiemu/main.c: Likewise.
28183 * efiemu/mm.c: Likewise.
28184 * efiemu/pnvram.c: Likewise.
28185 * efiemu/symbols.c: Likewise.
28186 * font/font.c: Likewise.
28187 * fs/cpio.c: Likewise.
28188 * fs/hfsplus.c: Likewise.
28189 * fs/iso9660.c: Likewise.
28190 * fs/jfs.c: Likewise.
28191 * fs/minix.c: Likewise.
28192 * fs/ntfs.c: Likewise.
28193 * fs/ntfscomp.c: Likewise.
28194 * fs/reiserfs.c: Likewise.
28195 * fs/ufs.c: Likewise.
28196 * fs/xfs.c: Likewise.
28197 * gettext/gettext.c: Likewise.
28198 * include/grub/auth.h: Likewise.
28199 * kern/elf.c: Likewise.
28200 * kern/file.c: Likewise.
28201 * kern/ieee1275/init.c: Likewise.
28202 * kern/ieee1275/mmap.c: Likewise.
28203 * kern/ieee1275/openfw.c: Likewise.
28204 * kern/powerpc/dl.c: Likewise.
28205 * kern/sparc64/dl.c: Likewise.
28206 * lib/arg.c: Likewise.
28207 * loader/i386/bsd.c: Likewise.
28208 * loader/i386/bsdXX.c: Likewise.
28209 * loader/i386/efi/linux.c: Likewise.
28210 * loader/i386/efi/xnu.c: Likewise.
28211 * loader/i386/ieee1275/linux.c: Likewise.
28212 * loader/i386/linux.c: Likewise.
28213 * loader/i386/multiboot.c: Likewise.
28214 * loader/i386/pc/linux.c: Likewise.
28215 * loader/i386/pc/multiboot2.c: Likewise.
28216 * loader/i386/xnu.c: Likewise.
28217 * loader/ieee1275/multiboot2.c: Likewise.
28218 * loader/macho.c: Likewise.
28219 * loader/machoXX.c: Likewise.
28220 * loader/multiboot2.c: Likewise.
28221 * loader/multiboot_loader.c: Likewise.
28222 * loader/powerpc/ieee1275/linux.c: Likewise.
28223 * loader/sparc64/ieee1275/linux.c: Likewise.
28224 * loader/xnu.c: Likewise.
28225 * loader/xnu_resume.c: Likewise.
28226 * mmap/i386/pc/mmap.c: Likewise.
28227 * normal/menu_viewer.c: Likewise.
28228 * partmap/acorn.c: Likewise.
28229 * partmap/amiga.c: Likewise.
28230 * partmap/apple.c: Likewise.
28231 * script/lexer.c: Likewise.
28232 * term/gfxterm.c: Likewise.
28233 * term/i386/pc/serial.c: Likewise.
28234 * term/i386/pc/vga.c: Likewise.
28235 * term/ieee1275/ofconsole.c: Likewise.
28236 * term/terminfo.c: Likewise.
28237 * video/bitmap.c: Likewise.
28238 * video/efi_gop.c: Likewise.
28239 * video/efi_uga.c: Likewise.
28240 * video/fb/video_fb.c: Likewise.
28241 * video/i386/pc/vbe.c: Likewise.
28242 * video/readers/tga.c: Likewise.
28243 * video/video.c: Likewise.
28244
0ad46fd7 282452009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28246
28247 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28248 * commands/lspci.c: Likewise.
28249 * commands/probe.c: Likewise.
28250 * commands/xnu_uuid.c: Likewise.
28251 * conf/i386-coreboot.rmk: Likewise.
28252 * conf/i386-efi.rmk: Likewise.
28253 * conf/i386-ieee1275.rmk: Likewise.
28254 * conf/i386-pc.rmk: Likewise.
28255 * conf/powerpc-ieee1275.rmk: Likewise.
28256 * conf/sparc64-ieee1275.rmk: Likewise.
28257 * conf/x86_64-efi.rmk: Likewise.
28258 * fs/i386/pc/pxe.c: Likewise.
28259 * gettext/gettext.c: Likewise.
28260 * include/grub/efi/graphics_output.h: Likewise.
28261 * include/grub/i386/pc/memory.h: Likewise.
28262 * kern/env.c: Likewise.
28263 * kern/i386/qemu/startup.S: Likewise.
28264 * lib/i386/pc/biosnum.c: Likewise.
28265 * lib/i386/relocator.c: Likewise.
28266 * lib/i386/relocator_asm.S: Likewise.
28267 * lib/relocator.c: Likewise.
28268 * loader/i386/bsd.c: Likewise.
28269 * loader/i386/multiboot.c: Likewise.
28270 * loader/i386/pc/chainloader.c: Likewise.
28271 * loader/i386/xnu.c: Likewise.
28272 * loader/xnu.c: Likewise.
28273 * normal/main.c: Likewise.
28274 * normal/menu_text.c: Likewise.
28275 * util/getroot.c: Likewise.
28276 * util/grub-mkconfig_lib.in: Likewise.
28277 * util/grub.d/00_header.in: Likewise.
28278 * util/i386/pc/grub-mkimage.c: Likewise.
28279 * util/mkisofs/eltorito.c: Likewise.
28280 * util/mkisofs/exclude.h: Likewise.
28281 * util/mkisofs/hash.c: Likewise.
28282 * util/mkisofs/iso9660.h: Likewise.
28283 * util/mkisofs/joliet.c: Likewise.
28284 * util/mkisofs/mkisofs.c: Likewise.
28285 * util/mkisofs/mkisofs.h: Likewise.
28286 * util/mkisofs/multi.c: Likewise.
28287 * util/mkisofs/name.c: Likewise.
28288 * util/mkisofs/rock.c: Likewise.
28289 * util/mkisofs/tree.c: Likewise.
28290 * util/mkisofs/write.c: Likewise.
28291 * video/efi_gop.c: Likewise.
28292
009ec743
VS
282932009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28296 size counting.
28297
0ad46fd7 282982009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28299
28300 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28301 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28302
d3d30ea0
VS
283032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28304
28305 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28306 (GRUB_MOD_INIT(memrw)): Update help line.
28307
a34f5c70
VS
283082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28309
28310 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28311 Use grub_extcmd_t. All users updated.
28312 (options): New variable.
28313 (grub_cmd_read): Restructure for readability. Support "-v" option.
28314 (grub_cmd_write): Restructure for readability.
28315
0ad46fd7 283162009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28317
28318 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28319
0ad46fd7 283202009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28321
28322 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28323 with the actual contents of the correspondending make variable.
28324 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28325 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28326 specifying `*.lst' and `efiemu??.o'
28327
0ad46fd7 283282009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28329
28330 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28331 after function name.
28332 Noticed by Rene Engelhard <rene@debian.org>.
28333
dc77a799
VS
283342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28337 (options): New variable.
28338 (iospace): Likewise.
28339 (grub_lspci_iter): List IO spaces if "-i" was given.
28340 (grub_cmd_lspci): Parse options.
28341 (GRUB_MOD_INIT(lspci)): Use extcmd.
28342 (GRUB_MOD_FINI(lspci)): Likewise.
28343
0ad46fd7 283442009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28345
28346 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28347 `function' keyword.
28348 Patch by Tony Mancill <tmancill@debian.org>.
28349
b5d5993b
VS
283502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28351
28352 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28353 (grub_uhci_portstatus): Likewise.
28354 (grub_uhci_portstatus): Add necessary delay.
11d18281 28355 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28356
941903f2 283572009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28358
941903f2 28359 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28360 (GRUB_MOD_INIT): Likewise.
28361 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28362 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28363 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28364 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28365 (enable_rom_area): Likewise.
28366 (GRUB_MOD_INIT): Likewise.
28367 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28368 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28369 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28370 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28371 * commands/hexdump.c (options): Likewise.
28372 * commands/i386/cpuid.c (options): Likewise.
28373 (GRUB_MOD_INIT): Likewise.
28374 * commands/i386/pc/drivemap.c (options): Likewise.
28375 (GRUB_MOD_INIT): Likewise.
28376 * commands/i386/pc/halt (options): Likewise.
28377 (GRUB_MOD_INIT): Likewise.
28378 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28379 * commands/i386/pc/pxecmd.c (options): Likewise.
28380 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28381 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28382 * commands/keystatus.c (options): Likewise.
28383 (GRUB_MOD_INIT): Likewise.
28384 * commands/loadenv.c (options): Likewise.
28385 * commands/ls.c (options): Likewise.
28386 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28387 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28388 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28389 * commands/parttool.c (helpmsg): Likewise.
28390 * commands/probe.c (options): Likewise.
28391 * commands/read.c (GRUB_MOD_INIT): Likewise.
28392 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28393 * commands/search.c (options): Likewise.
28394 * commands/sleep.c (options): Likewise.
28395 * commands/test.c (GRUB_MOD_INIT): Likewise.
28396 * commands/true.c (GRUB_MOD_INIT): Likewise.
28397 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28398 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28399 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28400 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28401 `$(XGETTEXT)'.
98a50553 28402 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28403
0ad46fd7 284042009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28405
ef3c2c3a 28406 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28407 instead of specifying them explicit.
28408
7922f68b
RM
284092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28410
28411 * NEWS: Add grub-probe support for GNU/Hurd.
28412
537ce47f
RM
284132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28414
28415 * NEWS: gettext was added after 1.97.
28416
9b214e3a
RM
284172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28418
28419 * util/mkisofs/msdos_partition.h: New file (based on
28420 include/grub/msdos_partition.h).
28421 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28422 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28423 (ld_options, main): Recognize --protective-msdos-label.
28424 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28425 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28426 (padblock_write): If `use_protective_msdos_label' is set, patch a
28427 protective DOS-style label in the output image.
28428
28429 * util/grub-mkrescue.in: Use --protective-msdos-label.
28430
e9309813
RM
284312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28432
28433 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28434 boot.
28435
0ae56929
RM
284362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28437
28438 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28439 variables.
28440 (ld_options, main): Recognize `--embedded-boot'.
28441 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28442 declarations.
28443 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28444 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28445 (padblock_write): Likewise. Rewrite to support embedded boot image.
28446
28447 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28448 for BIOS-based disk boot instead of only ElTorito.
28449
b15937b1
RM
284502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28453 build (not needed for bootstrap).
28454
52cc3ce0
RM
284552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28456
28457 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28458 from i386-pc build (not needed for bootstrap).
28459 Rewrite a pair of strings.
28460
36f5ff04
RM
284612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28462
28463 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28464
973c6c85 284652009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28466
28467 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28468
05d21547
AB
284692009-12-21 Andreas Born <futur.andy@googlemail.com>
28470
28471 * kern/env.c (grub_env_context_open): Mark exported variable for
28472 reexport.
28473
0175d51f
AB
284742009-12-21 Andreas Born <futur.andy@googlemail.com>
28475
28476 * kern/env.c (grub_env_export): Create nonexistent variables before
28477 exporting.
28478
7f39d92f 284792009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28480
7f39d92f 28481 * include/grub/auth.h: Include `<grub/i18n.h>'.
28482 (GRUB_GET_PASSWORD): Gettextizze string.
28483 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28484 menu_text.c.
28485 (grub_utf8_to_ucs4_alloc): Fix indentation.
28486 (grub_print_ucs4): Likewise.
28487 (grub_getstringwidth): Likewise.
28488 (print_message_indented): New declaration.
28489 * normal/auth.c: Include `<grub/i18n.h>'.
28490 (grub_auth_check_authentication): Gettexttize string.
28491 * normal/cmdline.c: Include `<grub/i18n.h>'.
28492 (grub_cmdline_get): Gettextizze.
28493 * normal/color.c: Include `<grub/i18n.h>'.
28494 (grub_parse_color_name_pair): Gettexttize strings.
28495 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28496 string (use `print_message_indented').
28497 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28498 `include/grub/normal.h'.
28499 (print_message_indented): Renamed to ...
28500 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28501 used in normal/main.c).
28502 (print_message): Use `grub_print_message_indented' instead of
28503 `print_message_indented'.
28504 (print_timeout): Likewise.
28505 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28506 (grub_normal_print_device_info): Gettexttize strings.
28507 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28508
3041d898
VS
285092009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28510
28511 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28512 of arguments. Return number of tokens and not arguments. All users
28513 updated.
28514
de15bf8e
VS
285152009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28518 non-MSDOS paritions.
28519
e0a6ca52
VS
285202009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28521
28522 * include/grub/types.h (UNUSED): Removed since it conflicts with
28523 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28524 Reported by Grégoire Sutre.
28525
b99518d1 285262009-12-19 Carles Pina i Estany <carles@pina.cat>
28527
28528 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28529 (grub_print_ucs4_alloc): Likewise.
28530 (grub_getstringwidth): Likewise.
28531 * normal/main.c (grub_normal_init_page): Gettextize version string.
28532 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28533 (getstringwidth): Renamed to ...
28534 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28535 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28536 (grub_print_ucs4): Remove `static' qualifer (now used in
28537 normal/main.c).
28538 * po/POTFILES: Add normal/main.c.
28539
bfd5e52b 285402009-12-19 Carles Pina i Estany <carles@pina.cat>
28541
28542 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28543 (print_message_indented): Add `margin_left' and `margin_right'
28544 parameters.
28545 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28546 strings.
28547 (print_timeout): Use `print_message_indented' to print the message.
28548 Deletes `second_stage' parameter.
28549 (run_menu): Update `print_timeout' calls.
28550
5a1ad2b9
VS
285512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28552
28553 Fix console palette on OpenFirmware.
28554
28555 * term/ieee1275/ofconsole.c (MAX): Removed.
28556 (colors): Redone based on VGA palette.
28557 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28558 colors are supported.
28559 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28560
b045f00a
VS
285612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28562
28563 Fix potential EfiEmu double prepare.
28564
28565 * efiemu/main.c (prepared): New variable
28566 (grub_efiemu_unload): Set prepare to '0'.
28567 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28568
28569 set_virtual_address_map support.
28570
28571 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28572 prototype.
28573 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28574 prototype.
28575 (grub_efiemu_crc32): Likewise.
28576 (grub_efiemu_crc64): Likewise.
28577 (grub_efiemu_set_virtual_address_map): Likewise.
28578 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28579 New definition.
28580 (grub_autoefi_set_virtual_address_map): Likewise.
28581 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28582 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28583 Restructure flow to accomodate it.
28584 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28585 (grub_efiemu_crc): Recompute CRC32.
28586 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28587 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28588 * efiemu/symbols.c (relocated_handle): New variable.
28589 (grub_efiemu_free_syms): Free relocated_handle.
28590 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28591 (grub_efiemu_write_sym_markers): New function.
28592 (grub_efiemu_set_virtual_address_map): Likewise.
28593
28594 Newer XNU parameters.
28595
28596 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28597 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28598 (grub_xnu_fill_devicetree): New prototype.
28599 (grub_xnu_heap_real_start): New variable.
28600 * loader/xnu.c (get_name_ptr): New function.
28601 (grub_xnu_load_driver): Fill namelen and name.
28602
28603 64-bit xnu support.
28604
28605 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28606 and 'loader/macho64.c'.
28607 * conf/i386-pc.rmk: Likewise.
28608 * conf/x86_64-efi.rmk: Likewise.
28609 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28610 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28611 * include/grub/macho.h (grub_macho_segment64): New structure.
28612 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28613 (grub_macho_size32): ... to this.
28614 (grub_macho32_get_entry_point): Renamed from ...
28615 (grub_macho_get_entry_point32): ... to this.
28616 (grub_macho_contains_macho64): New prototype.
28617 (grub_macho_size64): Likewise.
28618 (grub_macho_get_entry_point64): Likewise.
28619 (grub_macho32_load): Renamed from ...
28620 (grub_macho_load32): ... to this.
28621 (grub_macho32_filesize): Renamed from ...
28622 (grub_macho_filesize32): ... to this.
28623 (grub_macho32_readfile): Renamed from ...
28624 (grub_macho_readfile32): ... to this.
28625 (grub_macho_filesize64): New prototype.
28626 (grub_macho_readfile64): Likewise.
28627 (grub_macho_parse32): Likewise.
28628 (grub_macho_parse64): Likewise.
28629 * loader/macho.c: Split into ...
28630 * loader/machoXX.c: ... and this. Replace 32 with XX.
28631 * loader/macho32.c: New file.
28632 * loader/macho64.c: Likewise.
28633 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28634 (grub_cmd_xnu_kernel): Make 32-bit only.
28635 (grub_cmd_xnu_kernel64): New function.
28636 (grub_xnu_load_driver): Support Mach-O 64.
28637 (grub_cmd_xnu_mkext): Likewise.
28638 * util/grub.d/30_os-prober.in (osx_entry): New function.
28639 Generate entries for 64-bit boot too.
28640
28641 Eliminate ad-hoc tree format in XNU and EfiEmu.
28642
28643 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28644 * efiemu/pnvram.c: Rewritten to use environment variables.
28645 All users updated.
28646
28647 Inline utf16_to_utf8.
28648
28649 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28650 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28651 All users updated.
28652 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28653
28654 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28655 * commands/usbtest.c (grub_usb_get_string): ... move here.
28656 (usb_print_str): Fix error handling.
28657 * include/grub/usb.h (grub_usb_get_string): Remove.
28658
28659 UTF-8 to UTF-16 transformation.
28660
28661 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28662 (charset_mod_SOURCES): New variable.
28663 (charset_mod_CFLAGS): Likewise.
28664 (charset_mod_LDFLAGS): Likewise.
28665 * include/grub/utf.h: New file.
28666 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28667
28668 Support for device properties.
28669
28670 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28671 (grub_xnu_devprop_device_header): Likewise.
28672 (grub_xnu_devprop_device_descriptor): Likewise.
28673 (grub_xnu_devprop_add_device): New prototype.
28674 (grub_xnu_devprop_remove_device): Likewise.
28675 (grub_xnu_devprop_remove_property): Likewise.
28676 (grub_xnu_devprop_add_property_utf8): Likewise.
28677 (grub_xnu_devprop_add_property_utf16): Likewise.
28678 (grub_cpu_xnu_init): Likewise.
28679 (grub_cpu_xnu_fini): Likewise.
28680 (grub_cpu_xnu_unload): Likewise.
28681 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28682 (property_descriptor): Likewise.
28683 (devices): New variable.
28684 (grub_xnu_devprop_remove_property): New function.
28685 (grub_xnu_devprop_add_device): Likewise.
28686 (grub_xnu_devprop_remove_device): Likewise.
28687 (grub_xnu_devprop_add_property): Likewise.
28688 (grub_xnu_devprop_add_property_utf8): Likewise.
28689 (grub_xnu_devprop_add_property_utf16): Likewise.
28690 (hextoval): Likewise.
28691 (grub_cpu_xnu_fill_devprop): Likewise.
28692 (grub_cmd_devprop_load): Likewise.
28693 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28694 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28695 (cmd_devprop_load): New variable.
28696 (grub_cpu_xnu_init): New function.
28697 (grub_cpu_xnu_fini): Likewise.
28698 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28699 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28700 (grub_cmd_xnu_devtree): Likewise.
28701 (hextoval): New function.
28702 (unescape): Likewise.
28703 (grub_xnu_fill_devicetree): Likewise.
28704
28705 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28706 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28707
0945f181
VS
287082009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28709
28710 Workaround for broken ATI VBE.
28711
28712 * video/i386/pc/vbe.c (last_set_mode): New variable.
28713 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28714 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28715 (grub_video_vbe_setup): Don't check for reserved flag.
28716
0ad46fd7 287172009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28718
28719 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28720 the `find' command.
28721
c179ebe4
VS
287222009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28723
28724 UUID support for HFS.
28725
28726 * fs/hfs.c (grub_hfs_uuid): New function.
28727 (grub_hfs_fs): New value .uuid.
28728 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28729
0ad46fd7 287302009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28731
28732 Fix a segfault with parsing unknown long options.
28733
28734 * util/grub-mkrelpath.c (options): Zero terminate it.
28735
c4a3e41a
CPE
287362009-12-13 Carles Pina i Estany <carles@pina.cat>
28737
28738 * include/grub/misc.h (grub_puts): New declaration.
28739 (grub_puts_): Likewise.
a22008a6 28740 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28741 (grub_puts_): Likewise.
28742
2e8a7602
RM
287432009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28744
28745 * util/grub-probe.c (probe): Improve error message.
28746
b50b77b9
RM
287472009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28748
28749 * loader/i386/multiboot_elfxx.c
28750 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28751 initialization.
28752
287532009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 Relocator framework
28756
28757 * loader/i386/xnu_helper.S: Removed. All users updated.
28758 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28759 (relocator_mod_SOURCES): New variable.
28760 (relocator_mod_CFLAGS): Likewise.
28761 (relocator_mod_LDFLAGS): Likewise.
28762 (relocator_mod_ASFLAGS): Likewise.
28763 * conf/x86_64.rmk: Likewise.
28764 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28765 (grub_multiboot_payload_entry_offset): Likewise.
28766 (grub_multiboot_forward_relocator): Likewise.
28767 (grub_multiboot_forward_relocator_end): Likewise.
28768 (grub_multiboot_backward_relocator): Likewise.
28769 (grub_multiboot_backward_relocator_end): Likewise.
28770 (grub_multiboot_payload_eip): New variable.
28771 (grub_multiboot_payload_orig): Likewise.
28772 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28773 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28774 * include/grub/i386/memory.h
28775 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28776 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28777 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28778 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28779 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28780 * include/grub/i386/relocator.h: New file.
28781 * include/grub/x86_64/relocator.h: Likewise.
28782 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28783 (XNU_RELOCATOR): New macro.
28784 (grub_xnu_launcher_start): Remove.
28785 (grub_xnu_launcher_end): Likewise.
28786 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28787 (grub_xnu_heap_real_start): Remove.
28788 (grub_xnu_heap_start): Change to void *. All users updated.
28789 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28790 * lib/i386/relocator.c: New file.
28791 * lib/i386/relocator_asm.S: Likewise.
28792 * lib/i386/relocator_backward.S: Likewise.
28793 * lib/mips/relocator.c: Likewise.
28794 * lib/mips/relocator_asm.S: Likewise.
28795 * lib/relocator.c: Likewise.
28796 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28797 (entry): Removed.
28798 (playground): Likewise.
28799 (grub_multiboot_payload_orig): New variable.
28800 (grub_multiboot_payload_dest): Likewise.
28801 (grub_multiboot_payload_size): Likewise.
28802 (grub_multiboot_payload_eip): Likewise.
28803 (grub_multiboot_payload_esp): Likewise.
28804 (grub_multiboot_boot): Use grub_relocator32_boot.
28805 (grub_multiboot_unload): Free relocators.
28806 (grub_multiboot): Setup stack. Use relocators.
28807 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28808 (grub_multiboot_load_elfXX): Use relocators.
28809 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28810 (grub_multiboot_payload_size): Likewise.
28811 (grub_multiboot_payload_dest): Likewise.
28812 (grub_multiboot_payload_entry_offset): Likewise.
28813 (grub_multiboot_forward_relocator): Likewise.
28814 (grub_multiboot_backward_relocator): Likewise.
28815 (grub_multiboot_real_boot): Likewise.
28816 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28817 (grub_xnu_entry_point): Likewise.
28818 (grub_xnu_arg1): Likewise.
28819 (grub_xnu_stack): Likewise.
28820 (grub_xnu_launch): Removed.
28821 (grub_xnu_boot_resume): New function.
28822 (grub_xnu_boot): Use relocators.
28823 * loader/i386/xnu_helper.S: Removed.
28824 * loader/xnu.c (grub_xnu_heap_start): New variable.
28825 (grub_xnu_heap_size): Likewise.
28826 (grub_xnu_heap_malloc): Use relocators.
28827 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28828
29eb90c6
VS
288292009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28830
28831 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28832 anything.
28833
31027430
CPE
288342009-12-13 Carles Pina i Estany <carles@pina.cat>
28835
28836 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28837 GRUB_ERR_NONE before calling grub_env_set.
28838
dc0c71d9
RM
288392009-12-12 Robert Millan <rmh@aybabtu.com>
28840
28841 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28842 * genmk.rb (video): New variable.
28843 (CLEANFILES, VIDEOFILES): Add #{video}.
28844 (#{video}): New target rule.
28845 * genvideolist.sh: New file.
28846 * Makefile.in (pkglib_DATA): Add video.lst.
28847 (video.lst): New target rule.
28848 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28849 `video.lst'.
28850 * util/grub.d/30_os-prober.in: Replace `vbe' with
28851 ${GRUB_VIDEO_BACKEND}.
28852
2a4bfcf0
RM
288532009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28854
28855 * THANKS: Add David Miller.
28856
2a3aa4d5
RM
288572009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28858
28859 libpciaccess support.
28860
28861 * Makefile.in (LIBPCIACCESS): New variable.
28862 (enable_grub_emu_pci): Likewise.
28863 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28864 util/pci.c and commands/lspci.c.
28865 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28866 * configure.ac (grub-emu-pci): New option.
28867 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28868 (grub_pci_device_unmap_range): Likewise.
28869 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28870 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28871 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28872 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28873 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28874 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28875 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28876 * include/grub/pciutils.h: New file.
28877 * util/pci.c: Likewise.
28878
0ad46fd7 288792009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28880
28881 * util/misc.c: Don't include <errno.h> twice.
28882
0ad46fd7 288832009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28884
28885 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28886 name in an error message.
28887 (grub_biosdisk_rw): Likewise.
28888
2e59983c
VS
288892009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 Eliminate NTFS 4Gib barrier.
28892
28893 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28894 (read_run_data): Likewise.
28895 (grub_ntfs_read_run_list): Likewise.
28896 (grub_ntfs_read_block): Likewise.
28897 (grub_ntfs_iterate_dir): Likewise.
28898 (read_mft): Likewise.
28899 (read_data): Likewise.
28900 Use COM_LOG_LEN.
28901 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28902 to avoid 64-bit division
28903 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28904 (grub_ntfs_rlst): Use grub_disk_addr_t.
28905
71ee178a
VS
289062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28907
28908 Eliminate grub-fstest 4Gib barrier.
28909
28910 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28911 (read_file): Fix error reporting.
28912
2520d4b8
VS
289132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28914
28915 Eliminate hexdump 4Gib barrier.
28916
28917 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28918 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28919
e1f27065
VS
289202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28921
28922 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28923 Fixes amarsh bug.
28924
1a0f7f45
RM
289252009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28926
28927 Remove miscellaneous files in distclean target.
28928
28929 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28930
c631d9fb
CW
289312009-12-09 Colin Watson <cjwatson@ubuntu.com>
28932
28933 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28934 if they're already set. This resolves the conflict between my
28935 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28936 fixing the --grub-probe option again.
28937 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28938 change on 2009-10-06, so that we now once again source
28939 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28940
7c7b6106
RM
289412009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28942
28943 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28944 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28945 `util/devicemap.c'.
28946
e3069ec1
CPE
289472009-12-08 Carles Pina i Estany <carles@pina.cat>
28948
28949 * include/grub/misc.h (grub_printf_): New declaration.
28950 * kern/misc.c (grub_printf_): New definition.
28951 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28952 instead of `grub_printf' and `_'.
28953 * normal/menu_entry.c (store_completion): Likewise.
28954 (run): Likewise.
28955 (grub_menu_entry_run): Likewise.
28956 * normal/menu_text.c (grub_wait_after_message): Likewise.
28957 (notify_booting): Likewise.
28958 (notify_fallback): Likewise.
28959 (notify_execution_failure): Likewise.
28960
d6ceebf1
CW
289612009-12-07 Colin Watson <cjwatson@ubuntu.com>
28962
28963 * configure.ac: Check for vasprintf.
28964 * util/misc.c (asprintf): Move allocation from here ...
28965 (vasprintf): ... to here. New function.
28966 (xasprintf): New function.
28967 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28968 prototypes.
28969 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28970 * util/grub-mkfont.c (write_font): Likewise.
28971 * util/grub-probe.c (probe): Likewise.
28972 * util/hostdisk.c (make_device_name): Likewise.
28973
de6daa8b
DM
289742009-12-06 David S. Miller <davem@sunset.davemloft.net>
28975
28976 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28977 anything even prefixed with 'cdrom' as a cdrom.
28978
0ad46fd7 289792009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28980
28981 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28982 mount points.
28983
98d3dc02
CPE
289842009-12-05 Carles Pina i Estany <carles@pina.cat>
28985
28986 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28987 grub_gettext_msg_list.
28988 (grub_gettext_gettranslation_from_position): Return const char *
28989 and not char *.
a2c1332b 28990 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28991 returns from the list if existing there.
28992 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28993 (grub_gettext_delete_list): Delete the list.
28994 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28995 lang environment variable is changed.
28996 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28997
b283f108
VS
289982009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28999
29000 Rename kernel.mod to kernel.img.
29001
29002 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29003 (kernel_mod_EXPORTS): Rename to ...
29004 (kernel_img_EXPORTS): ... this.
29005 (kernel_mod_SOURCES): Rename to ...
29006 (kernel_img_SOURCES): ... this.
29007 (kernel_mod_HEADERS): Rename to ...
29008 (kernel_img_HEADERS): ... this. All users updated.
29009 (kernel_mod_CFLAGS): Rename to ...
29010 (kernel_img_CFLAGS): ... this.
29011 (kernel_mod_ASFLAGS): Rename to ...
29012 (kernel_img_ASFLAGS): ... this.
29013 (kernel_mod_LDFLAGS): Rename to ...
29014 (kernel_img_LDFLAGS): ... this.
29015 * conf/x86_64-efi.rmk: Likewise.
29016 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29017 (read_kernel_image): ... this. All users updated.
29018 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29019
69055f8a
CPE
290202009-12-05 Carles Pina i Estany <carles@pina.cat>
29021
29022 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29023 (print_spaces): New function.
29024 (grub_print_ucs4): New function.
29025 (getstringwidth): New function.
29026 (print_message_indented): New function.
29027 (print_message): Gettexttize strings using print_message_indented.
29028 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29029 width.
29030 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29031 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29032 Gettextize.
29033 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29034 string.
29035 (run): Likewise.
29036 (grub_menu_entry_run): Likewise.
29037 * PO/POTFILES: Add normal/menu_entry.c.
29038
f616f51c
VS
290392009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29040
29041 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29042
57bbe3be
CPE
290432009-12-05 Carles Pina i Estany <carles@pina.cat>
29044
29045 * util/grub-install.in: Install gettext .mo files.
29046 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29047
013d67a1
CPE
290482009-12-05 Carles Pina i Estany <carles@pina.cat>
29049
29050 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29051 grub_dprintf.
29052
fb954db0
RM
290532009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29054
29055 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29056 non-firmware-dependant one in realmode.S takes precedence.
29057
6b8474f8
RM
290582009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29059
29060 * commands/halt.c: Replace misc arch-specific headers with
29061 `<grub/misc.h>'.
29062 * commands/reboot.c: Likewise.
29063 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29064 `<grub/misc.h>'.
29065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29066 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29067 (kernel_img_SOURCES): ... to here.
29068
29069 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29070 * include/grub/i386/pc/init.h: Likewise.
29071 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29072 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29073
29074 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29075
29076 * include/grub/i386/halt.h: Remove.
29077 * include/grub/i386/reboot.h: Likewise.
29078
29079 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29080
4b2e6ca2
DM
290812009-12-03 David S. Miller <davem@sunset.davemloft.net>
29082
29083 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29084 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29085 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29086 "progname.h"
29087 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29088 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29089 (usage): Add missing comma in printf.
29090
5239348f
RM
290912009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29092
29093 Use the same reboot approach on i386 coreboot and qemu as we do on
29094 BIOS.
29095
29096 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29097 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29098 * kern/i386/reboot.c: Remove.
29099 * include/grub/i386/reboot.h (grub_reboot): Export function.
29100 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29101 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29102 0xf000:0xfff0 instead of 0xffff:0x0000.
29103 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29104 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29105
ef34cbd4
RM
291062009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29107
29108 Fix $srcdir != $objdir build.
29109
29110 * Makefile.in (po/%.po): Rewrite as ...
29111 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29112
dc9837ea
ST
291132009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29114
29115 Fix GNU/Hurd grub-install crash.
29116 * util/grub-probe.c (probe): Try to access `path' only when it is not
29117 NULL.
29118
2f857f98
VS
291192009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29120
29121 Correct module naming.
29122
29123 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29124 (GRUB_MOD_INIT(efi_uga)): ... to this
29125 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29126 (GRUB_MOD_FINI(efi_uga)): ... to this
29127 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29128 (GRUB_MOD_INIT(efi_gop)): ... to this
29129 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29130 (GRUB_MOD_FINI(efi_gop)): ... to this
29131
c5448046
RM
291322009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29133
29134 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29135 translatable.
29136 (usage): Translate `arg' strings using gettext().
29137 Thanks to Jordi Mallach for the suggestion.
29138
c85184ad
VS
291392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29140
29141 GOP support. Based on patch from Bean
29142 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29143
29144 * video/efi_gop.c: New file.
29145 * include/grub/efi/graphics_output.h: Likewise.
29146 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29147 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29148 variables.
29149 * conf/x86_64-efi.rmk: Likewise.
29150
8a4c48d8
VS
291512009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 Rename efi_fb to efi_uga.
29154
29155 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29156 'efi_uga.mod'.
29157 (efi_fb_mod_SOURCES): Rename this ...
29158 (efi_uga_mod_SOURCES): ... to this.
29159 (efi_fb_mod_CFLAGS): Rename this ...
29160 (efi_uga_mod_CFLAGS): ... to this.
29161 (efi_fb_mod_LDFLAGS): Rename this ...
29162 (efi_uga_mod_LDFLAGS): ... to this.
29163 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29164 'efi_uga.mod'.
29165 (efi_fb_mod_SOURCES): Rename this ...
29166 (efi_uga_mod_SOURCES): ... to this.
29167 (efi_fb_mod_CFLAGS): Rename this ...
29168 (efi_uga_mod_CFLAGS): ... to this.
29169 (efi_fb_mod_LDFLAGS): Rename this ...
29170 (efi_uga_mod_LDFLAGS): ... to this.
29171 * video/efi_fb.c: Move this ...
29172 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29173
fb6c1a7b
RM
291742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29175
29176 * po/README: New file. Explain our PO file workflow.
29177
3bc7896c
RM
291782009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29179
29180 * po/ChangeLog: Remove. Move relevant entries back to ...
29181 * ChangeLog: ... here.
29182 * po/ca.po: Remove (now handled by TLP).
29183 * po/id.po: Likewise.
29184 * po/zh_CN.po: Likewise.
29185 * Makefile.in (LINGUAS): Initialize in a way that supports
29186 empty set.
29187
9ed4841d
RM
291882009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29189
29190 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29191 reliing on po/LINGUAS.
29192 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29193 (po/%.po): ... this.
29194
0ad46fd7 291952009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29196
29197 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29198 (main): Use `program_name' instead of nonexistent `progname'.
29199
e30dd392
FZ
292002009-11-26 Felix Zielcke <fzielcke@z-51.de>
29201
29202 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29203 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29204
7656de4f
RM
292052009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29206
29207 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29208 commit.
29209 * conf/i386-efi.rmk: Likewise.
29210 * conf/i386-ieee1275.rmk: Likewise.
29211 * conf/powerpc-ieee1275.rmk: Likewise.
29212 * conf/sparc64-ieee1275.rmk: Likewise.
29213 * conf/x86_64-efi.rmk: Likewise.
29214
db77c4d4
FZ
292152009-11-26 Felix Zielcke <fzielcke@z-51.de>
29216
29217 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29218
a755bb04
FZ
292192009-11-26 Felix Zielcke <fzielcke@z-51.de>
29220
29221 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29222
8a4c07fd
RM
292232009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29224
29225 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29226 (grub_mkdevicemap_SOURCES): New variable.
29227 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29228 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29229 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29230 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29231 (grub_mkdevicemap_SOURCES): Remove.
29232 * conf/i386-efi.rmk: Likewise.
29233 * conf/i386-ieee1275.rmk: Likewise.
29234 * conf/i386-pc.rmk: Likewise.
29235 * conf/powerpc-ieee1275.rmk: Likewise.
29236 * conf/sparc64-ieee1275.rmk: Likewise.
29237 * conf/x86_64-efi.rmk: Likewise.
29238 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29239 (usage): Fix strings to use `program_name'.
29240 (main): Initialize gettext.
29241 * util/grub-editenv.c: Likewise.
29242 * util/grub-emu.c: Likewise.
29243 * util/grub-fstest.c: Likewise.
29244 * util/grub-mkdevicemap.c: Likewise.
29245 * util/grub-mkfont.c: Likewise.
29246 * util/grub-mkrelpath.c: Likewise.
29247 * util/grub-pe2elf.c: Likewise.
29248 * util/grub-probe.c: Likewise.
29249 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29250 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29251 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29252
29253 * util/misc.c: Include `"progname.h"'.
29254 (progname): Remove variable.
29255 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29256
6f61ed55
FZ
292572009-11-25 Felix Zielcke <fzielcke@z-51.de>
29258
29259 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29260 printf and print a newline after the menuentry header line.
29261 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29262
f022876b
FZ
292632009-11-25 Felix Zielcke <fzielcke@z-51.de>
29264
29265 autoconf >= 2.60 support $(localedir).
29266
29267 * INSTALL: Note that autoconf 2.60 is required.
29268 * configure.ac (AC_PREREQ): Bump to 2.60.
29269 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29270 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29271
6717926e
YB
292722009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29273
29274 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29275 aclocal is run.
29276
08806a54
RM
292772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29278
29279 * normal/main.c (grub_normal_read_line): Fix off-by-one
29280 buffer overflow.
29281
13b33fba
RM
292822009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29283
29284 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29285 "parser.grub" in grub_command_execute() call.
29286
4a8572e9
CPE
292872009-11-24 Carles Pina i Estany <carles@pina.cat>
29288
29289 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29290 * conf/i386-efi.rmk: Likewise.
29291 * conf/i386-ieee1275.rmk: Likewise.
29292 * conf/i386-pc.rmk: Likewise.
29293 * conf/powerpc-ieee1275.rmk: Likewise.
29294 * conf/sparc64-ieee1275.rmk: Likewise.
29295 * conf/x86_64-efi.rmk: Likewise.
29296 * gettext/gettex.c: Include <grub/i18n.h>.
29297 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29298 here ...
29299 * include/grub/i18n.h: ... to here
29300 * include/grub/i18n.h: ... to here.
29301 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29302 (grub_gettext_dummy): Move above user.
4a8572e9 29303
bee48093
FZ
293042009-11-24 Felix Zielcke <fzielcke@z-51.de>
29305
29306 * util/Makefile.in (install-local): Convert a `for' into a normal
29307 shell expansion.
29308
a031e91c
RM
293092009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29310
29311 * autogen.sh: Add automake call.
29312 * config.guess: Remove.
29313 * config.sub: Likewise.
29314 * install-sh: Likewise.
29315
26bec39d
FZ
293162009-11-24 Felix Zielcke <fzielcke@z-51.de>
29317
29318 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29319
8e2532fd
FZ
293202009-11-24 Felix Zielcke <fzielcke@z-51.de>
29321
29322 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29323 function to a normal shell `for'.
29324
fefa1b7d
FZ
293252009-11-24 Felix Zielcke <fzielcke@z-51.de>
29326
29327 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29328
4501250b
FZ
293292009-11-24 Felix Zielcke <fzielcke@z-51.de>
29330
29331 * util/grub-mkrelpath.c: New file.
29332 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29333 (grub_mkrelpath_SOURCES): New variable.
29334 * include/grub/util/misc.h: New function prototype.
29335 * util/misc.c (make_system_path_relative_to_its_root): New function.
29336
29337 * util/grub-mkconfig_lib.in (bindir): New variable.
29338 (grub_mkrelpath): Likewise.
29339 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29340
29341 * util/probe.c (probe): Make the file path relative to its root.
29342 Change a info message to use the GRUB path. Enable again the
29343 check if we can read the file with GRUB facilities.
29344
29345 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29346 to its root.
29347
11d9778b
FZ
293482009-11-24 Felix Zielcke <fzielcke@z-51.de>
29349
29350 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29351 platform.
29352
4465287d
FZ
293532009-11-24 Felix Zielcke <fzielcke@z-51.de>
29354
29355 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29356 strncmp().
29357
62b47f22
FZ
293582009-11-24 Felix Zielcke <fzielcke@z-51.de>
29359
29360 * util/getroot.c (grub_util_is_dmraid): New function.
29361 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29362 devices as normal ones, not as LVM.
29363
1eafb9b9 293642009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29365
29366 * conf/common.rmk: Add grub-gettext_lib target and updates
29367 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29368 LDFLAGS.
29369 * gettext/gettext.c: New file. (Reads mo files).
29370 * include/grub/file.h (grub_file_pread): New prototype.
29371 * include/grub/i18n.h (_): New prototype.
29372 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29373 prototypes.
29374 * kern/misc.c (grub_gettext_dummy): New function.
29375 * normal/menu_text.c: Include <grub/i18n.h>.
29376 * normal/menu_text.c (print_timeout): Gettexttize string.
29377 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29378 * po/POTFILES: Add `normal/menu_text.c'.
29379 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29380 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29381 gettext module and defines locale_dir and lang in grub.cfg.
29382 * NEWS: Add gettext support.
29383
0fdb2568
RM
293842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29385
29386 * util/hostdisk.c: Include `<grub/i18n.h>'.
29387 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29388 (make_device_name): Rewrite using asprintf.
29389 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29390 (find_system_device): If a device is not found, generate one just
29391 by reusing the OS path name.
29392 (read_device_map): Make it permissible for device.map not to exist.
29393
f515aa62
RM
293942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29395
29396 * script/sh/execute.c: Move from here ...
29397 * script/execute.c: ... to here. Update all users.
29398 * script/sh/function.c: Move from here ...
29399 * script/function.c: ... to here. Update all users.
29400 * script/sh/lexer.c: Move from here ...
29401 * script/lexer.c: ... to here. Update all users.
29402 * script/sh/main.c: Move from here ...
29403 * script/main.c: ... to here. Update all users.
29404 * script/sh/parser.y: Move from here ...
29405 * script/parser.y: ... to here. Update all users.
29406 * script/sh/script.c: Move from here ...
29407 * script/script.c: ... to here. Update all users.
29408
f84b481b
RM
294092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29410
29411 * configure.ac: Detect all `emu' platforms. Define
29412 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29413 --enable-grub-emu logic. Disable include/grub/machine
29414 symlink on `emu' platforms.
29415
29416 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29417 * gensymlist.sh.in: Likewise.
29418
29419 * include/grub/i386/coreboot/machine.h: Remove file.
29420 * include/grub/i386/efi/machine.h: Likewise.
29421 * include/grub/i386/ieee1275/machine.h: Likewise.
29422 * include/grub/i386/pc/machine.h: Likewise.
29423 * include/grub/i386/qemu/machine.h: Likewise.
29424 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29425 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29426 * include/grub/x86_64/efi/machine.h: Likewise.
29427
29428 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29429 * commands/halt.c: Likewise.
29430 * commands/reboot.c: Likewise.
29431 * include/grub/autoefi.h: Likewise.
29432 * include/grub/i386/at_keyboard.h: Likewise.
29433 * include/grub/i386/kernel.h: Likewise.
29434 * include/grub/i386/loader.h: Likewise.
29435 * include/grub/i386/pc/memory.h: Likewise.
29436 * kern/dl.c: Likewise.
29437 * kern/i386/coreboot/init.c: Likewise.
29438 * loader/i386/bsd.c: Likewise.
29439 * loader/i386/linux.c: Likewise.
29440 * loader/multiboot_loader.c: Likewise.
29441 * term/i386/pc/serial.c: Likewise.
29442 * term/usb_keyboard.c: Likewise.
29443
29444 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29445 `<grub/machine/machine.h>'
29446 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29447 * util/misc.c: Remove `<grub/machine/machine.h>' and
29448 `<grub/machine/time.h>'.
29449
29450 * Makefile.in (enable_grub_emu): Remove variable.
29451 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29452
29453 * conf/any-emu.rmk: New file.
29454 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29455 (grub_emu_init.c): Move from here ...
29456 * conf/any-emu.rmk: ... to here.
29457
29458 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29459 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29460 * conf/any-emu.rmk: ... to here.
29461
4efeab03
RM
294622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29463
29464 * include/grub/parser.h (grub_parser_register): Document need
29465 of `name' parameter.
29466 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29467 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29468 "sh" to "grub".
29469
ea1dd8bf
RM
294702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29471
29472 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29473 `$(XGETTEXT)'.
29474 * include/grub/i18n.h (N_): New macro.
29475 * util/mkisofs/mkisofs.h: Likewise.
29476 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29477 around N_().
29478 (usage): Use gettext() to translate help strings when printing them.
29479
0c140626
RM
294802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 Based on patch from Bean
29483 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29484
29485 * video/efi_fb.c: New file.
29486 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29487 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29488 variables.
29489 * conf/x86_64-efi.rmk: Likewise.
29490
87d58298
RM
294912009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29492
29493 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29494 * util/i386/pc/grub-setup.c: Likewise.
29495
994cc3a3
ST
294962009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29497
29498 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29499 <hurd/fs.h>
29500 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29501 file_get_storage_info to implement grub_guess_root_device.
29502
26a61d6a
FZ
295032009-11-21 Felix Zielcke <fzielcke@z-51.de>
29504
29505 * Makefile.in (target): Use make's builtin $(shell) function
29506 instead of calling directly $(SHELL) to create the locale directories,
29507 inside the $(foreach) function.
29508
74ff1dd5
FZ
295092009-11-21 Felix Zielcke <fzielcke@z-51.de>
29510
29511 * util/grub-mkrescue.in: Print an error and usage if output option
29512 has not been given.
29513
0b787d0e
FZ
295142009-11-21 Felix Zielcke <fzielcke@z-51.de>
29515
29516 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29517 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29518 root and /boot are on different devices.
29519
1164b270
RM
295202009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29521
29522 Fix build for srcdir != objdir.
29523
29524 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29525 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29526 $(srcdir).
29527 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29528 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29529 reference for input.
29530
13774a2f
RM
295312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29532
29533 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29534 or hardlinking it). Remove -J option, Joliet is not compatible with
29535 multiple source directories.
29536
efda854e
RM
295372009-11-21 Carles Pina i Estany <carles@pina.cat>
295382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29539
29540 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29541 (process_input_dir): New function. Process an arbitrary input
29542 directory.
29543 Misc adjustments to support both "override mode" and system-wide mode.
29544
6c09890c
FZ
295452009-11-20 Felix Zielcke <fzielcke@z-51.de>
29546
29547 * configure.ac (UNIFONT_BDF): Rename to ...
29548 (FONT_SOURCE): ... this. Update all users.
29549
a797824f
FZ
295502009-11-20 Felix Zielcke <fzielcke@z-51.de>
29551
29552 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29553 to the list of unifont files to look for.
29554
cd4f42b0
RM
295552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29556
29557 Patch from Joe Auricchio <jauricchio@gmail.com>
29558 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29559 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29560 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29561
393c783d
FZ
295622009-11-19 Felix Zielcke <fzielcke@z-51.de>
29563
29564 * Makefile.in (install-local): Add a missing backslash.
29565
b2f1e327
FZ
295662009-11-19 Felix Zielcke <fzielcke@z-51.de>
29567
29568 * include/grub/x86_64/io.h: New file.
29569
f577f7a0
RM
295702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29571
29572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29573 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29574 Include `"progname.h"'.
29575 (main): Initialize gettext.
29576 * util/i386/pc/grub-setup.c: Gettexttize.
29577 * util/i386/pc/grub-mkimage.c: Likewise.
29578
29579 * Makefile.in (po/*.po): Redefine as ...
29580 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29581
3bc7896c
RM
29582 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29583
c37943b6
RM
295842009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29585
29586 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29587 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29588 (program_name): Remove.
29589 (main): Initialize gettext support.
6323f705
RM
29590 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29591 Include `<libintl.h>'.
29592 (_): New macro.
c37943b6
RM
29593
29594 * util/mkisofs/eltorito.c: Gettexttize.
29595 * util/mkisofs/joliet.c: Likewise.
29596 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29597 * util/mkisofs/multi.c: Likewise.
29598 * util/mkisofs/rock.c: Likewise.
29599 * util/mkisofs/tree.c: Likewise.
29600 * util/mkisofs/write.c: Likewise.
29601
3bc7896c
RM
29602 * po/POTFILES: Update with new files.
29603
5ce77c6e
RM
296042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29607 * util/mkisofs/iso9660.h: Likewise.
29608 * util/mkisofs/joliet.c: Likewise.
29609 * util/mkisofs/mkisofs.c: Likewise.
29610 * util/mkisofs/mkisofs.h: Likewise.
29611 * util/mkisofs/rock.c: Likewise.
29612 * util/mkisofs/tree.c: Likewise.
29613 * util/mkisofs/write.c: Likewise.
29614
29615 * util/mkisofs/eltorito.c (rcsid): Remove.
29616 * util/mkisofs/hash.c: Likewise.
29617 * util/mkisofs/joliet.c: Likewise.
29618 * util/mkisofs/name.c: Likewise.
29619 * util/mkisofs/rock.c: Likewise.
29620 * util/mkisofs/tree.c: Likewise.
29621 * util/mkisofs/write.c: Likewise.
29622
1dabbc77
RM
296232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29624
29625 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29626 instead of static allocation.
29627 * util/mkisofs/match.h: Likewise.
29628
633877cb
RM
296292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29630
3bc7896c
RM
29631 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29632 and `util/grub.d/10_linux.in'.
633877cb
RM
29633 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29634 translatable Shell files.
29635
af1c0c85
RM
296362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29637
29638 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29639
769ae37b
RM
296402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29641
29642 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29643 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29644 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29645 Add gettext initialization.
29646 (kfreebsd_entry): Make menuentry output translatable.
29647
296482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29649
29650 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29651 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29652 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29653 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29654 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29655 * po/LINGUAS: New file.
769ae37b
RM
29656
296572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29658
29659 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29660 other things).
29661 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29662 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29663 bindtextdomain() calls for gettext initialization.
29664
296652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29666
29667 * gnulib/progname.c: New file (imported from Gnulib).
29668 * gnulib/progname.h: Likewise.
29669 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29670 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29671 (usage): Replace `progname' with `program_name'.
29672 (main): Use set_program_name() for program name initialization.
29673
296742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29675
29676 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29677 from here ...
29678 * Makefile.in (CPPFLAGS): ... to here.
29679
296802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29681
29682 * aclocal.m4: Move from here ...
29683 * acinclude.m4: ... to here.
29684 * autogen.sh: Add call to `aclocal'.
29685 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29686
296872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29690 (LINGUAS): New variable.
29691 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29692 (install-local): Install MO files.
29693 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29694 * include/grub/i18n.h: New file.
3bc7896c
RM
29695 * po/POTFILES: New file.
29696 * po/ca.po: New file.
769ae37b
RM
29697 * util/grub.d/10_linux.in (bindir): New variable.
29698 Add gettext initialization.
29699 (linux_entry): Make menuentry output translatable.
29700 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29701 (usage): Make --help output translatable.
29702 (main): Initialize gettext.
29703
02c0a6ad
RM
297042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29705
29706 * import_gcry.py: New file (written by Vladimir with minor
29707 adjustments).
29708 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29709 ciphers.
29710 * INSTALL: Document that Python is required for bootstrap.
29711
297122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29713
29714 Import ciphers from libgcrypt 1.4.4.
29715
29716 * lib/libgcrypt/cipher/ChangeLog
29717 * lib/libgcrypt/cipher/ac.c
29718 * lib/libgcrypt/cipher/arcfour.c
29719 * lib/libgcrypt/cipher/bithelp.h
29720 * lib/libgcrypt/cipher/blowfish.c
29721 * lib/libgcrypt/cipher/camellia-glue.c
29722 * lib/libgcrypt/cipher/camellia.c
29723 * lib/libgcrypt/cipher/camellia.h
29724 * lib/libgcrypt/cipher/cast5.c
29725 * lib/libgcrypt/cipher/cipher.c
29726 * lib/libgcrypt/cipher/crc.c
29727 * lib/libgcrypt/cipher/des.c
29728 * lib/libgcrypt/cipher/dsa.c
29729 * lib/libgcrypt/cipher/ecc.c
29730 * lib/libgcrypt/cipher/elgamal.c
29731 * lib/libgcrypt/cipher/hash-common.c
29732 * lib/libgcrypt/cipher/hash-common.h
29733 * lib/libgcrypt/cipher/hmac-tests.c
29734 * lib/libgcrypt/cipher/md.c
29735 * lib/libgcrypt/cipher/md4.c
29736 * lib/libgcrypt/cipher/md5.c
29737 * lib/libgcrypt/cipher/primegen.c
29738 * lib/libgcrypt/cipher/pubkey.c
29739 * lib/libgcrypt/cipher/rfc2268.c
29740 * lib/libgcrypt/cipher/rijndael-tables.h
29741 * lib/libgcrypt/cipher/rijndael.c
29742 * lib/libgcrypt/cipher/rmd.h
29743 * lib/libgcrypt/cipher/rmd160.c
29744 * lib/libgcrypt/cipher/rsa.c
29745 * lib/libgcrypt/cipher/seed.c
29746 * lib/libgcrypt/cipher/serpent.c
29747 * lib/libgcrypt/cipher/sha1.c
29748 * lib/libgcrypt/cipher/sha256.c
29749 * lib/libgcrypt/cipher/sha512.c
29750 * lib/libgcrypt/cipher/tiger.c
29751 * lib/libgcrypt/cipher/twofish.c
29752 * lib/libgcrypt/cipher/whirlpool.c
29753
af2f93ac
RM
297542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29755
29756 Fix build for systems without error().
29757
29758 * gnulib/error.c: New file (imported from Gnulib).
29759 * gnulib/error.h: Likewise.
29760 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29761 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29762 (this variable is now used by error()).
29763
73fb3dd5
FZ
297642009-11-16 Felix Zielcke <fzielcke@z-51.de>
29765
814f5e96
FZ
29766 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29767 instead of relying that char is signed.
73fb3dd5 29768
a691ca33
VS
297692009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29770
29771 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29772 blocksize different from specified.
29773 (grub_pxefs_read): Likewise.
29774
2af8f0f4
FZ
297752009-11-16 Felix Zielcke <fzielcke@z-51.de>
29776
29777 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29778
29779 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29780 (grub_ata_readwrite): Likewise. Update 2 format strings.
29781 (grub_atapi_read): Likewise.
29782
29783 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29784 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29785 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29786 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29787 (ata_mod_LDFLAGS): Move from here ...
29788 * conf/i386.rmk: ... to here ...
29789 * conf/x86_64-efi.rmk: ... and here.
29790 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29791 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29792
83bdecaf
RM
297932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29794
29795 Relicense multiboot.h, with RMS' blessing.
29796
29797 * include/multiboot.h: Change to X11 license.
29798
fd6fd3d7
RM
297992009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29800
29801 Support --version in grub-mkisofs.
29802
29803 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29804 (OPTION_VERSION): New macro.
29805 (ld_options): Recognize --version.
29806 (usage): Move `program_name' from here ...
29807 (program_name): ... to here. Add `static' qualifier.
29808 (main): Recognize `OPTION_VERSION'.
29809
16a88c49
FZ
298102009-11-15 Felix Zielcke <fzielcke@z-51.de>
29811
29812 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29813 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29814
a4158476
RM
298152009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29816
29817 Fix help2man generation for mkisofs.
29818
29819 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29820 (usage): Send output to stdout (rather than stderr).
29821
fc2208b0
RM
298222009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29823
29824 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29825 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29826 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29827 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29828 (bin_SCRIPTS): Add `grub-mkfloppy'.
29829 (grub_mkfloppy_SOURCES): New variable.
29830
29831 * util/grub-mkrescue.in: New file.
29832 * util/i386/pc/grub-mkfloppy.in: New file.
29833
29834 * util/i386/coreboot/grub-mkrescue.in: Remove.
29835 * util/i386/pc/grub-mkrescue.in: Remove.
29836
8d0edf4a
RM
298372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29838
29839 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29840 from here ...
29841 * include/multiboot.h (struct multiboot_header): ... to here. Update
29842 all users.
29843 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29844 from here ...
29845 * include/multiboot.h (struct multiboot_info): ... to here. Update
29846 all users.
29847 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29848 from here ...
29849 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29850 Update all users.
29851 * include/grub/multiboot.h (struct grub_mod_list): Move
29852 from here ...
29853 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29854 Update all users.
29855
a73f5969
RM
298562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29857
29858 * include/multiboot2.h (multiboot_word): Rename from this ...
29859 (multiboot2_word): ... to this. Update all users.
29860 (multiboot_header): Rename from this ...
29861 (multiboot2_header): ... to this. Update all users.
29862 (multiboot_tag_header): Rename from this ...
29863 (multiboot2_tag_header): ... to this. Update all users.
29864 (multiboot_tag_start): Rename from this ...
29865 (multiboot2_tag_start): ... to this. Update all users.
29866 (multiboot_tag_name): Rename from this ...
29867 (multiboot2_tag_name): ... to this. Update all users.
29868 (multiboot_tag_module): Rename from this ...
29869 (multiboot2_tag_module): ... to this. Update all users.
29870 (multiboot_tag_memory): Rename from this ...
29871 (multiboot2_tag_memory): ... to this. Update all users.
29872 (multiboot_tag_unused): Rename from this ...
29873 (multiboot2_tag_unused): ... to this. Update all users.
29874 (multiboot_tag_end): Rename from this ...
29875 (multiboot2_tag_end): ... to this. Update all users.
29876
1c8927f0
RM
298772009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29878
29879 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29880 this platform we should support Multiboot1 first.
29881
29882 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29883 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29884 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29885
6e1e0d89
RM
298862009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29887
29888 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29889 of write calls (converting them to fwrite() if they aren't already).
29890 (get_torito_desc): Likewise.
29891 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29892
7f2b34d8
RM
298932009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29894
29895 * util/i386/pc/grub-install.in: Move from here ...
29896 * util/grub-install.in: ... to here. Update all users.
29897
c0ef3311
CW
298982009-11-11 Colin Watson <cjwatson@ubuntu.com>
29899
29900 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29901
e1f240ff
RM
299022009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29903
29904 Support for El Torito without floppy emulation.
29905
29906 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29907 (init_boot_catalog): Improve error handling.
29908 (get_torito_desc): Don't use floppy emulation unless requested by
29909 user. Patch boot information table when requested via
29910 `-boot-info-table'.
29911 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29912 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29913 (use_boot_info_table): New variables.
29914 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29915 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29916 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29917 `--eltorito-emul-floppy'.
29918 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29919 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29920 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29921 (use_boot_info_table, get_731): New prototypes.
29922 * util/mkisofs/write.c (get_731): New function.
29923
af7d4de5
FZ
299242009-11-11 Felix Zielcke <fzielcke@z-51.de>
29925
29926 Fix the generation of the man page.
29927
29928 * util/pc/i386/grub-install.in: Source
29929 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29930
2c55dbc0
RM
299312009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29932
29933 Large file support for grub-mkisofs.
29934
29935 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29936 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29937 (session_start): Upgrade type to `uint64_t'. Update all users.
29938 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29939 (struct directory_entry): Upgrade type of `starting_block' and
29940 `size' to `uint64_t'. Update all users.
29941 (struct deferred): Remove unused structure.
29942 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29943 Update all users.
29944 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29945 file is larger than `UINT32_MAX'.
29946 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29947 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29948 return value.
29949 (struct deferred_write): Upgrade type of `extent' and `size' to
29950 `uint64_t'. Update all users.
29951 (last_extent_written): Upgrade type to `uint64_t'. Update all
29952 users.
29953 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29954 Update all users. Upgrade type of `remain' to `int64_t' and
29955 `use' to `size_t'. Use error() to handle fread() errors.
29956 (write_files): Rely on write_one_file() rather than calling
29957 xfwrite() directly.
29958
6a9cead5
FZ
299592009-11-09 Felix Zielcke <fzielcke@z-51.de>
29960
29961 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29962
4825d790
RM
299632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29964
29965 * util/mkisofs/fnmatch.c: Remove.
29966 * util/mkisofs/getopt1.c: Likewise.
29967 * util/mkisofs/getopt.c: Likewise.
29968 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29969 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29970 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29971 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29972 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29973
29974 * configure.ac: Detect `mingw32msvc' host_os.
29975 Check for lstat(), getuid() and getgid().
29976
29977 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29978 instances of `u_char' with `uint8_t'.
29979
29980 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29981 [!HAVE_GETUID] (getuid): New function (stub).
29982 [!HAVE_GETGID] (getgid): Likewise.
29983 [!HAVE_LSTAT] (lstat): Likewise.
29984 [!S_IROTH] (S_IROTH): New macro (dummy).
29985 [!S_IRGRP] (S_IRGRP): Likewise.
29986
84b860d8
RM
299872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29988
29989 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29990 conditional expression).
29991
66e9b712
RM
299922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29993
29994 Import from Gnulib.
29995
29996 * gnulib/fnmatch.c: New file.
29997 * gnulib/fnmatch.h: Likewise.
29998 * gnulib/fnmatch_loop.c: Likewise.
29999 * gnulib/getopt.c: Likewise.
30000 * gnulib/getopt.h: Likewise.
30001 * gnulib/getopt1.c: Likewise.
30002 * gnulib/getopt_int.h: Likewise.
30003 * gnulib/gettext.h: Likewise.
30004
34f4a5b0
RM
300052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30006
30007 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30008 * normal/handler.c (read_handler_list): Likewise.
30009
ac451143
RM
300102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30011
30012 Misc cleanup.
30013
30014 * kern/command.c (grub_register_command_prio): Use
30015 grub_zalloc() instead of explicitly zeroing data.
30016 * kern/list.c: Include `<grub/mm.h>'.
30017 (grub_named_list_find): Replace `0' with `NULL'.
30018 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30019 (fs_module_list): Change type to `grub_named_list_t'. Update all
30020 users.
30021 * normal/dyncmd.c (read_command_list): Add space between function
30022 call and parenthesis.
30023 * normal/handler.c (read_handler_list): Likewise.
30024
4089b167
RM
300252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30026
30027 * normal/auth.c (punishment_delay): Moved from here ...
30028 (grub_auth_strcmp): ... to here (inside function).
30029
325f5037
RM
300302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30031
30032 * include/grub/list.h (struct grub_named_list): Remove `const'
30033 qualifier from `name'.
30034 (struct grub_prio_list): Likewise.
30035
7aea29a3
RM
300362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30037
30038 * normal/auth.c: Include `<grub/time.h>'.
30039 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30040
3fd6f044
RM
300412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30042
30043 * normal/auth.c (punishment_delay): New variable.
30044 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30045 (grub_auth_check_authentication): Punish failed login attempts with
30046 an incremental (2^N) delay.
30047
a4cd68e4
RM
300482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30049
30050 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30051 path with $(srcdir).
30052
7ad12f43
VS
300532009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30054
30055 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30056
c1129f03
RM
300572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30058
30059 * util/i386/coreboot/grub-mkrescue.in: New file.
30060 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30061 variables.
30062
30063 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30064 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30065 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30066 requirements.
30067 * util/mkisofs/defaults.h: New file.
30068 * util/mkisofs/eltorito.c: Likewise.
30069 * util/mkisofs/exclude.h: Likewise.
30070 * util/mkisofs/fnmatch.c: Likewise.
30071 * util/mkisofs/getopt.c: Likewise.
30072 * util/mkisofs/getopt1.c: Likewise.
30073 * util/mkisofs/hash.c: Likewise.
30074 * util/mkisofs/include/fctldefs.h: Likewise.
30075 * util/mkisofs/include/mconfig.h: Likewise.
30076 * util/mkisofs/include/prototyp.h: Likewise.
30077 * util/mkisofs/include/statdefs.h: Likewise.
30078 * util/mkisofs/iso9660.h: Likewise.
30079 * util/mkisofs/joliet.c: Likewise.
30080 * util/mkisofs/match.c: Likewise.
30081 * util/mkisofs/match.h: Likewise.
30082 * util/mkisofs/mkisofs.c: Likewise.
30083 * util/mkisofs/mkisofs.h: Likewise.
30084 * util/mkisofs/multi.c: Likewise.
30085 * util/mkisofs/name.c: Likewise.
30086 * util/mkisofs/rock.c: Likewise.
30087 * util/mkisofs/tree.c: Likewise.
30088 * util/mkisofs/write.c: Likewise.
30089
ec8bb77d
VS
300902009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30093 being insecure.
30094
3716b12c
RM
300952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30096
30097 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30098 `grub-mkimage' (and use $0 when possible).
30099
b97b7b91
RM
301002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30103 error message for excessively large memory map.
30104
04114812
RM
301052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30106
30107 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30108 executable bit.
30109
e4eb2373
RM
301102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30111
30112 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30113 message for coreboot users.
30114
c926e1d5 301152009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30116
30117 Fix build with GNU gold.
30118
30119 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30120 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30121 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30122 link addresses.
30123 * aclocal.m4: Likewise.
30124
86e5b1db 301252009-11-04 Felix Zielcke <fzielcke@z-51.de>
30126
30127 * configure.ac (AC_PREREQ): Bump to 2.59d.
30128 * INSTALL: Make it more clear when Autoconf and Ruby are
30129 needed and when to run `./autogen.sh'.
30130
246cd78f 301312009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30132
30133 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30134 OSes.
30135
4f9dfb37 301362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30137
30138 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30139
b82bd5e1 301402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30141
30142 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30143 giving it to GNU Mach.
30144
ff1a9bca 301452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30146
30147 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30148 GNU partition number to get internal GRUB partition number.
30149
61697d9c 301502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30151
30152 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30153 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30154
a50569e1 301552009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30156
30157 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30158 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30159 case.
30160
5b153867 301612009-11-01 Felix Zielcke <fzielcke@z-51.de>
30162
30163 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30164
d9e2cd70 301652009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30166
30167 Fix build problem.
30168
30169 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30170 `-isystem=$(srcdir)/include'.
30171
805111a4 301722009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30173
30174 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30175 checked (grub-install doesn't currently rely on it).
30176
fa6e945f 301772009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 Revert SVN r2660.
30180
30181 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30182 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30183 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30184 * conf/i386-ieee1275.rmk: Likewise.
30185 * conf/i386-pc.rmk: Likewise.
30186 * conf/powerpc-ieee1275.rmk: Likewise.
30187 * conf/sparc64-ieee1275.rmk: Likewise.
30188 * conf/x86_64-efi.rmk: Likewise.
30189
cee15086 301902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30191
30192 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30193
95b9239e 301942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30195
30196 * include/grub/misc.h: Stop checking for APPLE_CC.
30197
2ed19dfd 301982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30201 doesn't cause an infinite call loop.
30202
fdcdde19 302032009-10-28 Felix Zielcke <fzielcke@z-51.de>
30204
30205 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30206 strings.
30207
cefabfe1 302082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30211 variable.
30212 * Makefile.in: Likewise.
30213
ed96ab6d 302142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30215
30216 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30217
0579b753 302182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30219
30220 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30221
478df409 302222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30223
30224 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30225
083d1679 302262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30227
30228 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30229 from here ...
30230 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30231
5947ae32 302322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30233
30234 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30235 in $(MAKEINFO) invocation. This makes it clear in output that
30236 errors are being ignored.
30237
94180ff6 302382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30239
30240 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30241 from here ...
30242 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30243 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30244 * conf/i386-ieee1275.rmk: Likewise.
30245 * conf/i386-pc.rmk: Likewise.
30246 * conf/powerpc-ieee1275.rmk: Likewise.
30247 * conf/sparc64-ieee1275.rmk: Likewise.
30248 * conf/x86_64-efi.rmk: Likewise.
30249
9031b03a 302502009-10-26 Colin Watson <cjwatson@ubuntu.com>
30251
30252 * util/grub-editenv.c (main): If only a command is given, use
30253 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30254 (usage): FILENAME is now optional and has a default.
30255
e4f6809b 302562009-10-26 Colin Watson <cjwatson@ubuntu.com>
30257
30258 Improve grub-mkconfig performance when there are several menu
30259 entries on a single filesystem.
30260
30261 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30262 prepare_grub_to_access_device.
30263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30264 * util/grub.d/30_os-prober.in: Likewise.
30265
67937d4d 302662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30267
30268 * util/grub.d/10_freebsd.in: Remove.
30269 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30270 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30271
ee3756cc 302722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30273
5c35048e 30274 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30275
4dea1c6f 302762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30277
30278 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30279 grub_util_error() call.
30280
042484d7 302812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30282
30283 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30284 `reserved_first_sector' member.
30285 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30286 `reserved_first_sector' to 1.
30287 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30288 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30289 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30290 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30291 filesystems which begin at first sector.
30292 (options): New option --skip-fs-probe.
30293 (main): Handle --skip-fs-probe and pass it to setup().
30294
d64448a7 302952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30296
30297 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30298 (memset): Fix function prototype.
30299
508d42ec 303002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
303012009-10-25 Vasily Averin <vvs@parallels.com>
30302
30303 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30304 `dirent.direntlen == 0'.
30305
b240e30c 303062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30307
30308 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30309 `cpio'.
30310 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30311
346e7fbe 303122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30313
30314 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30315 `__trampoline_setup' and `__ucmpdi2'.
30316 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30317 that libgcc provides.
30318
cdb308b0 303192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30320
30321 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30322 * include/grub/sparc64/libgcc.h (memset): Likewise.
30323 * include/grub/misc.h (memset, memcmp): New function prototypes.
30324
fb26abc2 303252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30326
30327 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30328 `cpio'.
30329 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30330
f6693890 303312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30332
30333 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30334 * docs/grub.cfg: Compensate for recent change in multiboot
30335 loader (since 2009-08-14 it won't pass filename to payload).
30336 * util/grub.d/10_hurd.in: Likewise.
30337
0933cdc0 303382009-10-21 Felix Zielcke <fzielcke@z-51.de>
30339
30340 * config.guess: Update to latest version from config git
30341 repository.
30342 * config.sub: Likewise.
30343
3b2fe8c2 303442009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30345
30346 Fix build on sparc64.
30347
30348 * configure.ac: Perform checks for libgcc symbols before
30349 adding `-nostdlib' to LDFLAGS.
30350
46695a62 303512009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30352
30353 Let user specify OpenBSD root device.
30354
30355 * loader/i386/bsd.c (openbsd_root): New variable.
30356 (openbsd_opts): New option 'root'.
30357 (OPENBSD_ROOT_ARG): New macro.
30358 (grub_openbsd_boot): Use 'openbsd_root'.
30359 (grub_cmd_openbsd): Fill 'openbsd_root'.
30360
d2b6b7fc 303612009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30362
30363 * NEWS: Misc adjustments.
30364
421bd7ac 303652009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30368
f1d29d87 303692009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 * configure.ac: Bump version to 1.97.
30372
6f3cd880 303732009-10-16 Colin Watson <cjwatson@ubuntu.com>
30374
30375 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30376 -mno-3dnow on x86 architectures. Some toolchains enable these
30377 features by default, but they rely on registers that aren't enabled
30378 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30379
035f7122 303802009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30381
30382 Make entry text a bit more readable.
30383
30384 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30385
44998e58 303862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30387
30388 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30389
cd2851b3 303902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30391
30392 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30393 operations.
30394
c6f3b249 303952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 * configure.ac: Add missing dollar.
30398
6b5886ba 303992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30402
30403 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30404 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30405 exports.
30406 * include/grub/sparc64/libgcc.h: Likewise. Use
30407 preprocessor conditionals.
30408
e9d66f6d 304092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30410
30411 * conf/common.rmk (grub-dumpbios): Remove rule.
30412 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30413 * util/grub-dumpbios.in: Remove file.
30414
9155bc17 304152009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30416
30417 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30418 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30419
30420 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30421 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30422 users.
30423
30424 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30425 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30426 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30427 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30428 users.
30429
bf7f7a18 304302009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30431
30432 * term/tparm.c: Switch to GPLv3.
30433
86564c26 304342009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30435
30436 * include/grub/i386/cpuid.h: Add header protection.
30437
5c936493 304382009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30439
30440 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30441
30442 * include/grub/i386/cpuid.h: New file.
30443 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30444 (has_longmode): Rename to ...
30445 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30446 `static' attribute.
30447 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30448 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30449 on a CPU that doesn't implement AMD64 instruction set.
30450
186e7cf2 304512009-10-06 Colin Watson <cjwatson@ubuntu.com>
30452
30453 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30454 that version.texi is rebuilt on version number changes.
30455
83b65c4a 304562009-10-06 Colin Watson <cjwatson@ubuntu.com>
30457
30458 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30459 Fixes bug #27602.
30460
d244281c 304612009-10-06 Colin Watson <cjwatson@ubuntu.com>
30462
30463 * util/i386/pc/grub-install.in: Source
30464 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30465 that the --grub-probe option will work.
30466 * util/sparc64/ieee1275/grub-install.in: Likewise.
30467
da25306d 304682009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30469
30470 * configure.ac: Bump version to 1.97~beta4.
30471
e8ee83c0 304722009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30473
30474 Resync grub-mkdevicemap in x86_64-efi.
30475
30476 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30477 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30478 `util/devicemap.c'.
30479
50dcabcf 304802009-10-01 Colin Watson <cjwatson@ubuntu.com>
30481
30482 * util/grub-editenv.c (create_envblk_file): Write new block with a
30483 .new suffix and then rename it into place, to ensure atomic
30484 creation.
30485
0e51c3a7 304862009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30487
30488 Do not automatically install headers.
30489
30490 * Makefile.in (include_DATA): Remove. Update all users.
30491
31299a95 304922009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30493
30494 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30495 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30496
30497 * util/osdetect.lua: Remove.
30498 * script/lua/lauxlib.c: Likewise.
30499 * script/lua/ldebug.c: Likewise.
30500 * script/lua/grub_main.c: Likewise.
30501 * script/lua/lauxlib.h: Likewise.
30502 * script/lua/ldebug.h: Likewise.
30503 * script/lua/ltablib.c: Likewise.
30504 * script/lua/liolib.c: Likewise.
30505 * script/lua/lstrlib.c: Likewise.
30506 * script/lua/lualib.h: Likewise.
30507 * script/lua/ldo.c: Likewise.
30508 * script/lua/ldump.c: Likewise.
30509 * script/lua/ldo.h: Likewise.
30510 * script/lua/loslib.c: Likewise.
30511 * script/lua/lundump.c: Likewise.
30512 * script/lua/grub_lib.c: Likewise.
30513 * script/lua/ldblib.c: Likewise.
30514 * script/lua/lundump.h: Likewise.
30515 * script/lua/lmem.c: Likewise.
30516 * script/lua/grub_lib.h: Likewise.
30517 * script/lua/lmathlib.c: Likewise.
30518 * script/lua/lstate.c: Likewise.
30519 * script/lua/ltm.c: Likewise.
30520 * script/lua/lvm.c: Likewise.
30521 * script/lua/lmem.h: Likewise.
30522 * script/lua/lstate.h: Likewise.
30523 * script/lua/ltm.h: Likewise.
30524 * script/lua/ltable.c: Likewise.
30525 * script/lua/lvm.h: Likewise.
30526 * script/lua/llex.c: Likewise.
30527 * script/lua/lgc.c: Likewise.
30528 * script/lua/grub_lua.h: Likewise.
30529 * script/lua/loadlib.c: Likewise.
30530 * script/lua/lfunc.c: Likewise.
30531 * script/lua/lopcodes.c: Likewise.
30532 * script/lua/lparser.c: Likewise.
30533 * script/lua/ltable.h: Likewise.
30534 * script/lua/llex.h: Likewise.
30535 * script/lua/lgc.h: Likewise.
30536 * script/lua/lfunc.h: Likewise.
30537 * script/lua/lbaselib.c: Likewise.
30538 * script/lua/lopcodes.h: Likewise.
30539 * script/lua/lparser.h: Likewise.
30540 * script/lua/lzio.c: Likewise.
30541 * script/lua/linit.c: Likewise.
30542 * script/lua/lobject.c: Likewise.
30543 * script/lua/llimits.h: Likewise.
30544 * script/lua/lstring.c: Likewise.
30545 * script/lua/lzio.h: Likewise.
30546 * script/lua/lapi.c: Likewise.
30547 * script/lua/lcode.c: Likewise.
30548 * script/lua/lua.h: Likewise.
30549 * script/lua/lobject.h: Likewise.
30550 * script/lua/lstring.h: Likewise.
30551 * script/lua/lapi.h: Likewise.
30552 * script/lua/lcode.h: Likewise.
30553 * script/lua/luaconf.h: Likewise.
30554
cb8a2c38 305552009-09-26 Colin Watson <cjwatson@ubuntu.com>
30556
30557 * docs/grub.texi (Command-line and menu entry commands): Document
30558 date and echo commands.
30559
6b9b6276 305602009-09-24 Pavel Roskin <proski@gnu.org>
30561
30562 * include/grub/kernel.h (struct grub_module_header): Remove
30563 `grub_module_header_types'. Make `type' unsigned. Make `size'
30564 32-bit on all platforms.
30565 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30566 8-bit field. Use grub_host_to_target32() for `size'.
30567 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30568 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30569 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30570
4e5a02a7 305712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 Fix "lost keypress" bug in at_keyboard.
30574
30575 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30576 Checks for readyness of input buffer (without flushing it).
30577 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30578 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30579
c6dcedf6 305802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30581
30582 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30583 size check within GRUB_MACHINE_PCBIOS section.
30584
74c958b1 305852009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30586
30587 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30588 return value.
30589 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30590 KEYBOARD_ISREADY check.
30591 (grub_at_keyboard_checkkey): Rename to ...
30592 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30593 Remove gratuitous cast.
30594
ff420223 305952009-09-23 Colin Watson <cjwatson@ubuntu.com>
30596
30597 * configure.ac: Call AC_PROG_MKDIR_P.
30598 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30599 version.texi in $(builddir) rather than $(srcdir).
30600 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30601 to makeinfo's @include search path.
30602
d96875df 306032009-09-23 Felix Zielcke <fzielcke@z-51.de>
30604
30605 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30606
9b3f8365 306072009-09-23 Felix Zielcke <fzielcke@z-51.de>
30608
30609 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30610 for `*.dpkg-new'.
30611
c44c90db 306122009-09-21 Colin Watson <cjwatson@ubuntu.com>
30613
30614 Build info documentation. Some code borrowed from Automake.
30615
30616 * configure.ac: Check for makeinfo.
30617 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30618 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30619 docs/version.texi.
30620 (MOSTLYCLEANFILES): Add vti.tmp.
30621 (docs/version.texi, docs/stamp-vti): Update automatically.
30622 (docs/grub.info): Build info documentation. Use --force and ignore
30623 errors for now.
30624 (all-local): Add $(INFOS).
30625 (install-local): Install info files.
30626 (uninstall): Uninstall info files.
30627 * docs/version.texi: Remove from revision control. This file is
30628 automatically generated on build now.
30629 * gendistlist.sh: Add `*.info'.
30630
e0b37bb5 306312009-09-21 Felix Zielcke <fzielcke@z-51.de>
30632
30633 * kern/term.c: Fix indentation.
30634
5a78865b 306352009-09-21 Felix Zielcke <fzielcke@z-51.de>
30636
30637 * util/hostdisk.c: Fix a comment.
30638
dace7e8a 306392009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 Fix regression introduced in r2539.
30642
30643 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30644 to 0xA1.
30645
a83d079b 306462009-09-19 Colin Watson <cjwatson@ubuntu.com>
30647
30648 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30649 os-prober. Under normal operation, it does not print anything to
30650 stderr; if it does, we need to debug it, and throwing away stderr
30651 makes that excessively difficult.
a83d079b 30652
be94a509 306532009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30654
30655 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30656
63f745e8 306572009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30658
30659 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30660 AC_LANG_PROGRAM from autoconf.
30661 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30662 prototypes (fixes warning).
30663
30664 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30665 `--disable-werror' was used.
30666
bbb2a70f 306672009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30668
30669 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30670 uninitialized `lastaddr'.
30671
77c24f1d 306722009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30673
0f0b8c87 30674 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30675
07197f23 306762009-09-14 Colin Watson <cjwatson@ubuntu.com>
30677
30678 * commands/test.c (get_fileinfo): Return immediately if
30679 grub_fs_probe fails.
30680
dabf1798 306812009-09-14 José Martínez <xosemp@gmail.com>
30682
30683 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30684
d52109a7 306852009-09-14 Colin Watson <cjwatson@ubuntu.com>
30686
30687 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30688 output.
30689
56532179 306902009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30691
30692 * configure.ac: Remove --enable-grub-pe2elf. Only build
30693 grub-pe2elf when needed by the build system itself.
30694 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30695
8ef070f5 306962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30697
30698 * configure.ac: Bump version to 1.97~beta3.
30699 * docs/version.texi: Likewise.
30700
61229557 307012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30702
30703 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30704 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30705 from here ...
30706 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30707 (grub_linux_setup_video): ... to here (with some adjustments).
30708
5c9f8d84 307092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 Fix memory corruption issue (spotted by Colin Watson).
30712
30713 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30714 causing returned size to be stored in an incorrect memory location.
30715 Fix use of uninitialized value when storing the returned size.
30716
e8f5d6e9 307172009-09-12 Yves Blusseau <blusseau@zetam.org>
30718
30719 Change clean rules to properly remove files
30720
30721 * genmk.rb: add new clean rules
30722 * Makefile.in (clean): add the new targets
30723 (mostlyclean): likewise
30724
cda2a409 307252009-09-11 Colin Watson <cjwatson@ubuntu.com>
30726
30727 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30728 to grub_uint64_t.
30729 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30730 non-resident files.
30731
86695375 307322009-09-11 Colin Watson <cjwatson@ubuntu.com>
30733
30734 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30735 part of bug #27349.
30736
8aa1541a 307372009-09-10 Felix Zielcke <fzielcke@z-51.de>
30738
30739 * util/grub-mkconfig.in: Make the created config mode 400 and
30740 print a warning if it fails.
30741
48d9bb0a 307422009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30743
30744 * util/grub.d/40_custom.in: Ask user to type custom entries below
30745 comment, rather than below 'exec tail' line.
30746
3b0521be 307472009-09-10 Colin Watson <cjwatson@ubuntu.com>
30748
30749 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30750 visible in grub.cfg.
30751
50051d55 307522009-09-10 Colin Watson <cjwatson@ubuntu.com>
30753
30754 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30755 file.
30756
c0d34387 307572009-09-10 Felix Zielcke <fzielcke@z-51.de>
30758
30759 * docs/grub.cfg: Add an example menu entry for memtest86+.
30760
80a608f3 307612009-09-09 Felix Zielcke <fzielcke@z-51.de>
30762
a2094832 30763 * config.guess: Update to latest version from config git.
80a608f3 30764 * config.sub: Likewise.
30765
99423078 307662009-09-08 Colin Watson <cjwatson@ubuntu.com>
30767
30768 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30769 unknown-command case. Fixes bug #27320.
30770
44454e4c 307712009-09-08 Felix Zielcke <fzielcke@z-51.de>
30772
30773 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30774 `help' if the command exists.
30775
e30d87ad 307762009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30777
30778 * INSTALL: Require GCC 4.1.3 or later.
30779
9a86f1ec 307802009-09-06 Yves Blusseau <blusseau@zetam.org>
30781
30782 * Makefile.in (RMKFILES): add i386-qemu.rmk
30783 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30784 $(srcdir)/stamp-h.in
30785
7f26d466 307862009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30787
30788 * util/grub-probe.c (probe): Comment out buggy codepath, which
30789 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30790 should be re-enabled after 1.97.
30791
3a613259 307922009-09-05 Felix Zielcke <fzielcke@z-51.de>
30793
30794 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30795 find searches for.
30796
197f76c7 307972009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30798
30799 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30800 unnecessary calls to grub_error.
30801
70ba68ce 308022009-09-04 Colin Watson <cjwatson@ubuntu.com>
30803
30804 * NEWS: Mention `keystatus' and Unicode fonts.
30805
4ff0d7a4 308062009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30807
30808 * configure.ac: Bump version to 1.97~beta2.
30809 * docs/version.texi: Likewise.
30810
77c55a87 308112009-09-03 Colin Watson <cjwatson@ubuntu.com>
30812
30813 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30814 containing unwind information in some cases where it previously did
30815 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30816 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30817 discussion.
30818
f79572cd 308192009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30820
30821 Embedding loadenv module into grub-emu
30822
30823 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30824 commands/loadenv.c
30825 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30826 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30827 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30830 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30831
93a81088 308322009-09-03 Magnus Granberg <zorry@ume.nu>
30833
30834 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30835 include -fPIE in the default specs.
30836 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30837 to TARGET_CFLAGS.
30838
160034b2 308392009-09-03 Felix Zielcke <fzielcke@z-51.de>
30840
30841 * INSTALL: Note that GNU Bison 2.3 or later is required.
30842
087c07c4 308432009-09-03 Colin Watson <cjwatson@ubuntu.com>
30844
30845 * kern/i386/pc/startup.S: Fix typo.
30846
cbf978c0 308472009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30848
30849 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30850 according to GCS.
30851
308522009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30853
30854 * docs/grub.texi (Naming convention): Describe one-based partition
30855 numbering.
30856 (Device syntax): Likewise.
30857 (File name syntax): Likewise.
30858 (Block list syntax): Likewise.
30859 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30860 menu.lst.
30861 (File name syntax): Likewise.
30862 (Command-line and menu entry commands): Document acpi, blocklist,
30863 crc, export, insmod, keystatus, ls, set, and unset commands.
30864
f3e8cdfd 308652009-09-02 Colin Watson <cjwatson@ubuntu.com>
30866
30867 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30868 to avoid implying that only one of --shift, --ctrl, or --alt may be
30869 used.
30870
c0bc232b 308712009-09-02 Colin Watson <cjwatson@ubuntu.com>
30872
30873 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30874 rather than comparing against S_IFREG, which will almost never work.
30875
aa0f752d 308762009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30877
30878 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30879 (write_blocklists): Likewise.
30880
ecb3166a 308812009-09-01 Colin Watson <cjwatson@ubuntu.com>
30882
30883 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30884 argument to grub_printf.
30885
c403a125 308862009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30887
30888 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30889 non GNU test.
31aba781 30890
b5e7312c 308912009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30892
30893 * kern/file.c (grub_file_read): Spelling fix
30894
fe00f472 308952009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30898 loading of headers in some cases.
30899
cc55302e 309002009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30901
30902 * configure.ac: Bump version to 1.97~beta1.
30903 * docs/version.texi: Likewise.
30904
5c90cdd2 309052009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30906
30907 * include/grub/i386/xnu.h: Add license header.
30908 include grub/err.h explicitly.
30909
c90edae4 309102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30911
30912 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30913 to `ufs' in the vfs.root.mountfrom kernel parameter.
30914
d8888b5c 309152009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30916
30917 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30918
30919 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30920 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30921
30922 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30923 `ARRAY_SIZE' macro.
30924
6f07b921 309252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30926
30927 * kern/file.c (grub_file_read): Check offset.
30928 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30929 * fs/jfs.c (grub_jfs_read_file): Likewise.
30930 * fs/ntfs.c (grub_ntfs_read): Likewise.
30931 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30932 * fs/minix.c (grub_minix_read_file): Correct offset check.
30933 * fs/ufs.c (grub_ufs_read_file): Likewise.
30934
b4f34077 309352009-08-28 Colin Watson <cjwatson@ubuntu.com>
30936
30937 * term/i386/pc/console.c (bios_data_area): Cast
30938 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30939
e7c69859 309402009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30941
30942 1-bit optimised blitters.
30943
30944 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30945 prototype.
30946 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30947 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30948 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30949 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30950 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30951 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30952 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30953 function.
30954 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30955 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30956 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30957 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30958 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30959 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30960 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30961 when possible.
30962 * video/video.c (grub_video_get_blit_format): Return
30963 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30964
a57da43f 309652009-08-28 Colin Watson <cjwatson@ubuntu.com>
30966
30967 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30968 the first argument to grub_printf.
30969
4cbe67e5 309702009-08-28 Colin Watson <cjwatson@ubuntu.com>
309712009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30972
30973 Add `getkeystatus' terminal method. Add a new `keystatus' command
30974 to query it.
30975
30976 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30977 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30978 modifier key bitmasks.
30979 (struct grub_term_input): Add `getkeystatus' member.
30980 (grub_getkeystatus): Add prototype.
30981 * kern/term.c (grub_getkeystatus): New function.
30982
30983 * include/grub/i386/pc/memory.h
30984 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30985 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30986 Data Area layout.
30987 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30988 (grub_console_term_input): Set `getkeystatus' member.
30989 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30990 constants.
30991 (grub_usb_keyboard_getreport): Likewise.
30992 (grub_usb_keyboard_checkkey): Likewise.
30993 (grub_usb_keyboard_getkeystatus): New function.
30994 (grub_usb_keyboard_term): Set `getkeystatus' member.
30995
30996 * commands/keystatus.c: New file.
30997 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30998 (keystatus_mod_SOURCES): New variable.
30999 (keystatus_mod_CFLAGS): Likewise.
31000 (keystatus_mod_LDFLAGS): Likewise.
31001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31002 commands/keystatus.c.
31003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31005 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31008 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31009
6e2a9085 310102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31011
31012 Split befs.mod and afs.mod into *_be.mod and *.mod
31013
31014 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31015 (grub_fstest_SOURCES): Likewise.
31016 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31017 (afs_be_mod_SOURCES): New variable.
31018 (afs_be_mod_CFLAGS): Likewise.
31019 (afs_be_mod_LDFLAGS): Likewise.
31020 (befs_be_mod_SOURCES): Likewise.
31021 (befs_be_mod_CFLAGS): Likewise.
31022 (befs_be_mod_LDFLAGS): Likewise.
31023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31026 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31027 (grub_emu_SOURCES): Likewise.
31028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31030 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31031 * fs/afs_be.c: New file.
31032 * fs/befs_be.c: New file.
31033 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31034 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31035 (U16): Replaced with ...
31036 (grub_afs_to_cpu16): ...this. All users updated.
31037 (U32): Replaced with ...
31038 (grub_afs_to_cpu32): ...this. All users updated.
31039 (U64): Replaced with ...
31040 (grub_afs_to_cpu64): ...this. All users updated.
31041 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31042 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31043 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31044 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31045 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31046 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31047 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31048 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31049 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31050 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31051 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31052
32a71655 310532009-08-26 Bean <bean123ch@gmail.com>
31054
31055 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31056 64-bit number.
31057 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31058 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31059 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31060
552bf6c5 310612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31062
31063 NetBSD memory map support.
31064
31065 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31066 (grub_netbsd_btinfo_mmap_header): New structure.
31067 (grub_netbsd_btinfo_mmap_entry): Likewise.
31068 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31069
1ae2078c 310702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31071
31072 Enable bsd.mod on coreboot.
31073
31074 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31075 (bsd_mod_SOURCES): New variable.
31076 (bsd_mod_CFLAGS): Likewise.
31077 (bsd_mod_LDFLAGS): Likewise.
31078 (bsd_mod_ASFLAGS): Likewise.
31079 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31080 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31081
beefc598 310822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31083
31084 Cleanup NetBSD root support.
31085
31086 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31087 grub_bsd_get_device.
31088 Fix typo.
31089
3b76e68b 310902009-08-25 Felix Zielcke <fzielcke@z-51.de>
31091
31092 * util/grub.d/00_header.in: Move check for the video backend of
31093 gfxterm from here ...
31094 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31095 a suitable video backend.
31096
aea664ea 310972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31098
31099 Fix breakage in grub-setup.
31100
31101 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31102 "msdos_partition_map".
31103
ff747d50 311042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31105
31106 Fix breakage in normal/auth.c.
31107
31108 * normal/auth.c (grub_iswordseparator): New function.
31109
e7e1f93f 311102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31111
31112 Authentication support.
31113
31114 * commands/password.c: New file.
31115 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31116 (password_mod_SOURCES): New variable.
31117 (password_mod_CFLAGS): Likewise.
31118 (password_mod_LDFLAGS): Likewise.
31119 (normal_mod_SOURCES): Add normal/auth.c.
31120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31121 normal/auth.c.
31122 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31123 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31124 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31126 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31128 * include/grub/auth.h: New file.
31129 * include/grub/err.h (grub_err_t): New enum value
31130 GRUB_ERR_ACCESS_DENIED.
31131 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31132 'users'.
31133 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31134 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31135 users updated.
31136 * normal/auth.c: New file.
31137 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31138 (grub_cmdline_run): Don't allow to go to command line without
31139 authentication.
31140 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31141 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31142 menuentry without superuser rights.
31143 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31144 user isn't a superuser.
31145
70f1161d 311462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 Save space by inlining misc.c functions.
31149
31150 * kern/misc.c (grub_iswordseparator): Made static.
31151 * kern/misc.c (grub_strcat): Moved from here ...
31152 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31153 * kern/misc.c (grub_strncat): Moved from here ...
31154 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31155 * kern/misc.c (grub_strcasecmp): Moved from here ...
31156 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31157 * kern/misc.c (grub_strncasecmp): Moved from here ...
31158 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31159 * kern/misc.c (grub_isalpha): Moved from here ...
31160 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31161 * kern/misc.c (grub_isdigit): Moved from here ...
31162 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31163 * kern/misc.c (grub_isgraph): Moved from here ...
31164 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31165 * kern/misc.c (grub_tolower): Moved from here ...
31166 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31167
48e40bff 311682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31169
31170 * script/sh/function.c (grub_script_function_find): Cut error message
31171 not to flood terminal.
31172 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31173 limit.
31174 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31175
c385bfc3 311762009-08-24 Colin Watson <cjwatson@ubuntu.com>
31177
31178 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31179 `report' grub_uint8_t *.
31180 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31181 Use a 50-millisecond timeout rather than just repeating
31182 grub_usb_keyboard_getreport 50 times.
31183 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31184
2d21e3e8 311852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31186
31187 Rename *_partition_map to part_*
31188
31189 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31190 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31191 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31192 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31193 All users updated.
31194 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31195 All users updated.
31196 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31197 * util/grub-probe.c (probe_partmap): Don't transform partition name
31198 to get module name.
31199
dd103c4e 312002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31201
31202 Fix OpenBSD and NetBSD support.
31203
31204 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31205 memory address conflict.
31206 (OPENBSD_MMAP_ACPI): New definition.
31207 (OPENBSD_MMAP_NVS): Likewise.
31208 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31209 and OPENBSD_MMAP_NVS.
31210 Add memory map terminator
31211 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31212 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31213
16c84d74 312142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31215
31216 Let user specify NetBSD root device.
31217
31218 * loader/i386/bsd.c (netbsd_root): New variable.
31219 (netbsd_opts): New option 'root'.
31220 (NETBSD_ROOT_ARG): New macro.
31221 (grub_netbsd_boot): Use 'netbsd_root'.
31222 (grub_bsd_unload): Free 'netbsd_root'.
31223 (grub_cmd_netbsd): Fill 'netbsd_root'.
31224
adb29902 312252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31226
31227 Support for 64-bit NetBSD.
31228
31229 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31230 point when booting non-FreeBSD.
31231
f5ae9f74 312322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31233
31234 Support --no-smp and --no-acpi for NetBSD.
31235
31236 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31237 (NETBSD_AB_NOACPI): Likewise.
31238 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31239 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31240
de74f136 312412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31242
31243 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31244 errors.
31245 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31246 errors. Call grub_error when needed.
31247
e9a925da 312482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31249
31250 * commands/search.c (search_fs): Try searching without autoload first.
31251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31252 filesystem module explicitly for faster booting.
31253
5174302b 312542009-08-23 Colin Watson <cjwatson@ubuntu.com>
31255
31256 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31257
c8c80635 312582009-08-23 Colin Watson <cjwatson@ubuntu.com>
31259
31260 * util/grub.d/30_os-prober.in: Disable os-prober if
31261 `GRUB_DISABLE_OS_PROBER' was set to true.
31262
71acf5e5 312632009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * partmap/pc.c: Rename to ...
31266 * partmap/msdos.c: ... this. Update all users.
31267 (grub_pc_partition_map): Rename to ...
31268 (grub_msdos_partition_map): ... this. Update all users.
31269
31270 * parttool/pcpart.c: Rename to ...
31271 * parttool/msdospart.c: ... this. Update all users.
31272
31273 * include/grub/pc_partition.h: Rename to ...
31274 * include/grub/msdos_partition.h: ... this. Update all users.
31275 (grub_pc_partition_bsd_entry): Rename to ...
31276 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31277 (grub_pc_partition_disk_label): Rename to ...
31278 (grub_msdos_partition_disk_label): ... this. Update all users.
31279 (grub_pc_partition_entry): Rename to ...
31280 (grub_msdos_partition_entry): ... this. Update all users.
31281 (grub_pc_partition_mbr): Rename to ...
31282 (grub_msdos_partition_mbr): ... this. Update all users.
31283 (grub_pc_partition): Rename to ...
31284 (grub_msdos_partition): ... this. Update all users.
31285 (grub_pc_partition_is_empty): Rename to ...
31286 (grub_msdos_partition_is_empty): ... this. Update all users.
31287 (grub_pc_partition_is_extended): Rename to ...
31288 (grub_msdos_partition_is_extended): ... this. Update all users.
31289 (grub_pc_partition_is_bsd): Rename to ...
31290 (grub_msdos_partition_is_bsd): ... this. Update all users.
31291
31292 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31293 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31294 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31295 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31296 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31297 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31298 (gpt_mod_LDFLAGS): Rename to ...
31299 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31300 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31301 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31302 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31303 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31304 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31305 (part_gpt_mod_LDFLAGS): ... this.
31306 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31307 `pcpart.mod' to `msdospart.mod'.
31308 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31309 to ...
31310 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31311 (msdospart_mod_LDFLAGS): ... this.
31312
c11fded5 313132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31314
31315 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31316 (openbsd_opts): Likewise.
31317 (netbsd_opts): Likewise.
31318 (freebsd_flags): Added 0 terminator.
31319 (openbsd_flags): Likewise.
31320 (netbsd_flags): Likewise.
31321 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31322 (grub_cmd_freebsd): Transformed into extended command.
31323 (grub_cmd_openbsd): Likewise.
31324 (grub_cmd_netbsd): Likewise.
31325 (cmd_freebsd): Changed type to grub_extcmd_t.
31326 (cmd_openbsd): Likewise.
31327 (cmd_netbsd): Likewise.
31328 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31329 grub_cmd_openbsd as extended commands.
31330 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31331 cmd_netbsd and cmd_openbsd
31332
11d1c769 313332009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31334
31335 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31336
7a9094e5 313372009-08-21 Pavel Roskin <proski@gnu.org>
31338
5496c37e 31339 * Makefile.in (install-local): When checking if a file is in the
31340 build directory, use "test -e" to detect symlinks.
31341
7a9094e5 31342 * Makefile.in (install-local): Remove all files in
31343 $(DESTDIR)$(pkglibdir) before installing new files there.
31344
e53cea11 313452009-08-18 Felix Zielcke <fzielcke@z-51.de>
31346
31347 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31348 grub-mkelfimage.
31349
9aced544 313502009-08-18 Felix Zielcke <fzielcke@z-51.de>
31351
31352 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31353 explicitly specified by the user.
31354
b7da6bab 313552009-08-18 Pavel Roskin <proski@gnu.org>
31356
31357 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31358 grub_uint8_t pointer for data.
31359 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31360 Likewise.
31361 * video/fb/fbutil.c: Remove unnecessary casts.
31362
19f1b335 313632009-08-17 Michal Suchanek <hramrach@centrum.cz>
31364
31365 VBE cleanup.
31366
31367 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31368 (grub_vbe_set_video_mode): Save active mode info
31369 only after setting the mode.
31370 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31371 second argument.
31372
2f467aa9 313732009-08-17 Michal Suchanek <hramrach@centrum.cz>
31374
31375 Rename variables for clarity.
31376
31377 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31378 (active_vbe_mode_info): ... this. All users updated.
31379 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31380 All users updated.
31381 (initial_mode): Rename to ...
31382 (initial_vbe_mode): ... this. All users updated.
31383 (mode_in_use): Rename to ..
31384 (vbe_mode_in_use): ... this. All users updated.
31385 (mode_list): Rename to ..
31386 (vbe_mode_list): ... this. All users updated.
31387 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31388 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31389 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31390 'mode_list_size' to 'vbe_mode_list_size'.
31391 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31392 'best_mode_info' to 'best_vbe_mode_info' and
31393 'best_mode' to 'best_vbe_mode'
31394
6025fcd7 313952009-08-17 Michal Suchanek <hramrach@centrum.cz>
31396
31397 Remove duplicate grub_video_fb_get_video_ptr.
31398
31399 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31400 (grub_video_fb_get_video_ptr): ... this.
31401 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31402 * video/fb/fbutil.c: Add comment about addressing.
31403 (get_data_ptr): Rename to ...
31404 (grub_video_fb_get_video_ptr): ... this. All users updated.
31405 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31406
cc8c6faf 314072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31408
31409 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31410 grub_dprintf() that was just added.
31411
08aa61f0 314122009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31413
31414 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31415 (DEFAULT_VIDEO_MODE): Remove macros.
31416 (grub_linux_boot): Remove assumption that Linux has FB support,
31417 and use "text" as default video mode.
31418
7cef4f75 314192009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31420
31421 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31422 grub_dprintf.
31423 * fs/fat.c (grub_fat_read_data): Likewise.
31424
e1f39873 314252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31426
31427 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31428 payload.
31429 (grub_module): Likewise.
31430
c166d79e 314312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31432
31433 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31434 mbi->cmdline but free playground.
31435
c60cee8e 314362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31437
31438 Handle group offset on UFS1.
31439
31440 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31441 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31442
c0d8b5d4 314432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 Split ufs.mod into ufs1.mod and ufs2.mod.
31446
31447 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31448 (grub_fstest_SOURCES): Likewise.
31449 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31450 (ufs_mod_SOURCES): Remove.
31451 (ufs_mod_CFLAGS): Likewise.
31452 (ufs_mod_LDFLAGS): Likewise.
31453 (ufs1_mod_SOURCES): New variable.
31454 (ufs1_mod_CFLAGS): Likewise.
31455 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31456 (ufs2_mod_SOURCES): New variable.
31457 (ufs2_mod_CFLAGS): Likewise.
31458 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31460 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31461 Likewise.
31462 (grub_emu_SOURCES): Likewise.
31463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31464 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31465 (grub_setup_SOURCES): Likewise.
31466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31467 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31468 (grub_setup_SOURCES): Likewise.
31469 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31470 Likewise.
31471 * fs/ufs2.c: New file.
31472 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31473
d3539132 314742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31475
31476 Framebuffer split.
31477
31478 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31479 subsystem at the end.
31480 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31481 (video_fb_mod_SOURCES): New variable.
31482 (video_fb_mod_CFLAGS): Likewise.
31483 (video_fb_mod_LDFLAGS): Likewise.
31484 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31485 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31486 * video/i386/pc/vbeblit.c: Moved from here ...
31487 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31488 * video/i386/pc/vbefill.c: Moved from here ...
31489 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31490 * video/i386/pc/vbeutil.c: Moved from here ...
31491 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31492 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31493 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31494 * include/grub/i386/pc/vbefill.h: Moved from here ...
31495 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31496 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31497 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31498 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31499 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31500 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31501 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31502 (grub_video_adapter): Added 'get_info_and_fini'.
31503 (grub_video_get_info_and_fini): New prototype.
31504 (grub_video_set_mode): make modestring const char *.
31505 * loader/i386/linux.c (grub_linux_setup_video): Use
31506 grub_video_get_info_and_fini.
31507 (grub_linux_boot): Move modesetting just before booting.
31508 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31509 grub_video_get_info_and_fini.
31510 * video/i386/pc/vbe.c: Moved framebuffer part ...
31511 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31512 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31513 grub_video_fbstd_colors and grub_video_fb_set_palette.
31514 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31515 grub_video_fb_init.
31516 (grub_video_vbe_fini): Use grub_video_fb_fini.
31517 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31518 render_target and use grub_video_fb_set_active_render_target and
31519 grub_video_fb_set_palette.
31520 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31521 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31522 (grub_video_vbe_adapter): Use framebuffer.
31523 * video/video.c (grub_video_get_info_and_fini): New function.
31524 (grub_video_set_mode): Make modestring const char *.
31525 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31526 values are already initialised.
31527
d404ee56 315282009-08-14 Pavel Roskin <proski@gnu.org>
31529
31530 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31531 ABS and APPLE_CC.
31532 * boot/i386/pc/diskboot.S: Likewise.
31533 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31534 sectors allow compilation on MacOSX.
31535 * conf/i386-pc.rmk: Enable unconditional compilation of
31536 lnxboot.img.
31537
9a10df16 315382009-08-13 Colin Watson <cjwatson@ubuntu.com>
31539
31540 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31541 * util/grub.d/00_header.in: Enter interruptible sleep if
31542 GRUB_HIDDEN_TIMEOUT is set.
31543
be3c9ca7 315442009-08-13 Yves Blusseau <blusseau@zetam.org>
31545
31546 * include/grub/symbol.h: Add the LOCAL macro.
31547 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31548 starting with "L_".
31549
1f9e557e 315502009-08-13 Pavel Roskin <proski@gnu.org>
31551
9ca62843 31552 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31553 any modern compilers we support.
31554
1f9e557e 31555 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31556 Use local labels starting with "L_" so that Apple assembler
31557 knows they are local.
31558
81623db6 315592009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31560
31561 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31562 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31563 (bsd_kernel_types): ... this enum.
31564
31565 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31566 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31567 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31568
31569 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31570 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31571 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31572 messages.
31573
f5d35e7a 315742009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31575
31576 * util/grub-dumpdevtree: Moved from here ...
31577 * util/i386/efi/grub-dumpdevtree: ... to here.
31578 (hexify): New function. Converts a string to its hex version.
31579 Generate hex versions of "efi" and "device-properties" by calling
31580 hexify() on the ASCII strings rather than by hardcoding numbers.
31581
d1e1d527 315822009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31583
31584 * fs/jfs.c: Update copyright year.
31585
1ebbe064 315862009-08-08 Felix Zielcke <fzielcke@z-51.de>
31587
31588 * util/grub.d/00_header.in: Fix a comment.
31589 * util/grub.d/10_linux.in: Likewise.
31590 * util/grub.d/10_windows.in: Likewise.
31591 * util/grub.d/10_hurd.in: Likewise.
31592
a78c8d24 315932009-08-08 Felix Zielcke <fzielcke@z-51.de>
31594
31595 * util/grub-mkconfig.in: Allow the user to specify the used font
31596 with GRUB_FONT.
31597
29a6b9e8 315982009-08-08 Pavel Roskin <proski@gnu.org>
31599
b5f16cc4 31600 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31601 available, xfs.mod needs it now.
31602
2f5cb827 31603 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31604 the "g" modifier in sed when the intention is to strip something
31605 once. This fixes comparison of kernels with multiple dashes.
31606
29a6b9e8 31607 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31608 on it. Add missing space before closing bracket. Fix
31609 misleading formatting.
31610
892a3d98 316112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31612
31613 * docs/grub.texi: Major overhaul. Remove all sections that are
31614 specific to GRUB Legacy, or mostly composed of Legacy-specific
31615 information.
31616
ed94253f 316172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31618
31619 * docs/version.texi: New file. Provides version information for
31620 grub.texi.
31621
126d6628 316222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31623
31624 * docs/grub.texi: Update CVS information to SVN.
31625 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31626
998b5aa9 316272009-08-07 Felix Zielcke <fzielcke@z-51.de>
31628
31629 * util/grub-mkconfig.in: Remove a wrong `fi'.
31630
818e094a 316312009-08-07 Felix Zielcke <fzielcke@z-51.de>
31632
31633 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31634 (grub_jfs_uuid): New function.
31635 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31636
b969c52f 316372009-08-07 Felix Zielcke <fzielcke@z-51.de>
31638
31639 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31640 of it to ...
31641 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31642 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31643
7a4894cc 316442009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31645
31646 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31647 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31648 Update all users.
31649
31650 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31651 not just "vmlinu[zx]".
31652 Moved from here ...
31653 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31654 all users.
31655
31656 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31657 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31658 all users.
31659
4e2171f8 316602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31661
31662 * util/grub.d/10_freebsd.in: Use an absolute device path for
31663 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31664
6dcfcb32 316652009-08-06 Felix Zielcke <fzielcke@z-51.de>
31666
31667 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31668 handling of multiple abstraction modules.
31669
f56a8756 316702009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31671
31672 Fix a bug resulting in black screen when loading Linux using a
31673 packed video mode.
31674
31675 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31676 function.
31677
31678 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31679 (grub_vbe_bios_getset_dac_palette_width): New function.
31680 (grub_vbe_bios_get_dac_palette_width)
31681 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31682 grub_vbe_bios_getset_dac_palette_width()).
31683
31684 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31685 check for return status.
31686 (grub_vbe_get_video_mode_info): When getting information for a packed
31687 mode (<= 8 bpp), obtain DAC palette width using
31688 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31689 {red,green,blue}_mark_size.
31690
222671b2 316912009-08-04 Felix Zielcke <fzielcke@z-51.de>
31692
ecb1a6d9 31693 * commands/search.c (options): Fix help output to match actual code.
222671b2 31694
f84114f5 316952009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31696
31697 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31698 of homegrown code.
31699
bd288a20 317002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31701
31702 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31703 on XFS or ReiserFS.
31704
8aab5e25 317052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31706
31707 Support Apple partition map with sector size different from 512 bytes.
31708
31709 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31710 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31711 and 'apart.partmap_size'.
31712
6ad6258a 317132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
317142009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31715
31716 Fix cpuid command.
31717
31718 * commands/i386/cpuid.c (options): New variable.
31719 (grub_cmd_cpuid): Return real error.
31720 (GRUB_MOD_INIT(cpuid)): Declare options.
31721
67459bc6 317222009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31723
31724 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31725 valid.
31726
fbc6ab54 317272009-07-31 Bean <bean123ch@gmail.com>
31728
31729 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31730 log2_inode.
31731 (grub_fshelp_node): Move inode field to the end.
31732 (grub_xfs_data): Remove inode field.
31733 (grub_xfs_inode_block): Calculate inode size using sblock.
31734 (grub_xfs_inode_offset): Likewise.
31735 (grub_xfs_read_inode): Calculate inode size using sblock.
31736 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31737 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31738 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31739 to match inode size.
31740 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31741 not accessible when data is null.
31742 (grub_xfs_open): Likewise.
31743
f45d6cfc 317442009-07-31 Bean <bean123ch@gmail.com>
31745
31746 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31747 Don't change pv->disk if it's already set.
31748
31749 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31750 (grub_raid_register): ... here.
31751 (grub_raid_rescan): Removed.
31752
31753 * include/grub/raid.h (grub_raid_rescan): Removed.
31754
31755 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31756 (fstest): Replace grub_raid_rescan with module fini function followed
31757 by init function.
31758
31759 * util/grub-probe.c: Add include file <grub/raid.h>.
31760 (probe_raid_level): New function.
31761 (probe): Detect abstraction by walking the disk device, support two
31762 level of abstraction (LVM on RAID) when detecting partition map.
31763
24443b5a 317642009-07-31 Pavel Roskin <proski@gnu.org>
31765
31766 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31767 to grub_zalloc(), it was erroneous.
31768 Reported by Bean <bean123ch@gmail.com>
31769
a275d9e7 317702009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31771
31772 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31773 embedding zone, not only the first one.
a275d9e7 31774
56c5a47f 317752009-07-29 Joe Auricchio <jauricchio@gmail.com>
31776
31777 * term/gfxterm.c (clear_char): New function.
31778 (grub_virtual_screen_setup): Use clear_char.
31779 (scroll_up): Likewise.
31780 (grub_virtual_screen_cls): Likewise.
31781
67bb323a 317822009-07-29 Felix Zielcke <fzielcke@z-51.de>
31783
31784 * util/deviceiter.c (get_acceleraid_disk_name): New static
31785 function.
31786 (grub_util_iterate_devices): Handle Accelraid devices.
31787 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31788
388a7c75 317892009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31790
31791 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31792 separator for the suggested gfxpayload string (';' collides with the
31793 parser and needs escaping).
31794
3bb7abcf 317952009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31796
31797 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31798 Clear direction flag before jumping to OS.
31799 (grub_multiboot2_real_boot): Likewise.
31800
2ddd36d7 318012009-07-28 Felix Zielcke <fzielcke@z-51.de>
31802
31803 * util/i386/pc/grub-install: Fix parsing of --disk-module
31804 option.
31805
c521b62b 318062009-07-28 Felix Zielcke <fzielcke@z-51.de>
31807
31808 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31809 when embedding.
31810
880e0a0c 318112009-07-26 Felix Zielcke <fzielcke@z-51.de>
31812
31813 * util/grub-mkconfig.in (package_version): New variable.
31814 Use it do display the version.
31815
2366e356 318162009-07-25 Felix Zielcke <fzielcke@z-51.de>
31817
31818 * kern/file.c (grub_file_open): Revert to previous check with
31819 grub_errno.
31820
7ad8c80e 318212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31822
31823 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31824 from help line. It's out of sync with code.
31825
72b9658b 318262009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31827
31828 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31829 entries on failed boot.
31830
77435277 318312009-07-25 Felix Zielcke <fzielcke@z-51.de>
31832
31833 * kern/file.c (grub_file_open): Fix an error check.
31834
fcaa8b21 318352009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31836
35d16c74 31837 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31838 partition map couldn't be identified.
fcaa8b21 31839
48904cd1 318402009-07-23 Pavel Roskin <proski@gnu.org>
31841
ef3c317f 31842 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31843 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31844 case of little endian words becomes just an optimization.
31845 Respect const modifier.
ad8ea1f4 31846 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31847
48904cd1 31848 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31849 to avoid loss of upper bits if align is unsigned and shorter
31850 than addr.
31851
260c9a89 318522009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 UUID support for UFS
31855
31856 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31857 (grub_ufs_uuid): New function.
31858 (grub_ufs_fs): add .uuid
31859
f76ce889 318602009-07-21 Pavel Roskin <proski@gnu.org>
31861
31862 * kern/dl.c (grub_dl_check_header): Make static.
31863
6a6cbcaf 318642009-07-21 Felix Zielcke <fzielcke@z-51.de>
31865
31866 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31867 add drivemap for Vista. It breaks Windows 7.
31868
cffcddb2 318692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31870
31871 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31872 128 bytes
31873
1ef44b80 318742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31875
31876 Add BFS support
31877
31878 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31879 (grub_fstest_SOURCES): Likewise.
31880 (pkglib_MODULES): Add befs.mod.
31881 (befs_mod_SOURCES): New variable.
31882 (befs_mod_CFLAGS): Likewise.
31883 (befs_mod_LDFLAGS): Likewise.
31884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31885 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31887 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31888 (grub_setup_SOURCES): Likewise.
31889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31890 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31891 (grub_setup_SOURCES): Likewise.
31892 * fs/befs.c: New file.
31893 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31894 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31895 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31896 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31897 (B_KEY_INDEX_ALIGN): New declaration.
31898 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31899 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31900 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31901 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31902 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31903 (grub_afs_mount) [MODE_BFS]: Likewise.
31904 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31905 (grub_afs_fs): Use GRUB_AFS_FSNAME
31906 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31907 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31908 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31909 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31910
4f253044 319112009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31912
31913 * util/getroot.c (find_root_device): Add support for MacOSX.
31914 * util/hostdisk.c: Likewise.
31915
57a55913 319162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31917
31918 * font/font.c (find_glyph): Check whether a font is present to avoid
31919 segmentation fault.
75421ca9 31920
319212009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31922
31923 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31924
e98cd0c2 319252009-07-20 Pavel Roskin <proski@gnu.org>
31926
31927 * configure.ac: Trim excessively wordy excuses.
31928
1d2d169a 319292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31930
31931 Add symlink, mtime and label support to AtheFS.
31932
31933 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31934 (grub_afs_iterate_dir): Handle symlinks.
31935 (grub_afs_open): Use grub_afs_read_symlink.
31936 (grub_afs_dir): Likewise.
31937 Pass mtime.
31938 (grub_afs_label): New function.
31939 (grub_afs_fs): Add grub_afs_label.
31940 (grub_afs_read_symlink): New function.
31941
186f3189 319422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31943
31944 Fix AtheFS support.
31945
31946 * fs/afs.c: Fix comments style.
31947 (grub_afs_blockrun): Declare as packed.
31948 (grub_afs_datastream): Likewise.
31949 (grub_afs_bnode): Likewise.
31950 (grub_afs_btree): Likewise.
31951 (grub_afs_sblock): Likewise.
31952 Declare `name' as char.
31953 (grub_afs_inode): Declare as packed.
31954 Change void *vnode to grub_uint32_t unused.
31955 (grub_afs_iterate_dir): Check that key_size is positive.
31956 (grub_afs_mount): Don't read superblock twice.
75421ca9 31957 (grub_afs_dir): Don't free node in case of error,
186f3189 31958 grub_fshelp_find_file already handles this.
31959 (grub_afs_open): Likewise.
31960
5680109e 319612009-07-19 Pavel Roskin <proski@gnu.org>
31962
31963 * Makefile.in: Remove LIBLZO and enable_lzo.
31964 * conf/i386-pc.rmk: Remove lzo support.
31965 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31966 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31967 support.
31968 * kern/i386/pc/lzo1x.S: Remove.
31969 * kern/i386/pc/startup.S: Remove lzo support.
31970 * util/i386/pc/grub-mkimage.c: Likewise.
31971
ac70fa32 319722009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31973
31974 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31975 * fs/xfs.c (grub_xfs_dir): Likewise.
31976 * fs/afs.c (grub_afs_dir): Likewise.
31977 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31978 (grub_iso9660_open): Likewise.
31979 * fs/jfs.c (grub_jfs_open): Likewise.
31980 * fs/ext2.c (grub_ext2_dir): Likewise.
31981 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31982 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31983
eab58da2 319842009-07-16 Pavel Roskin <proski@gnu.org>
31985
d2838156 31986 * configure.ac: Never add "-c" to CFLAGS.
31987
55c70904 31988 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31989
43e6200c 31990 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31991 grub_cv_cc_efiemu should be used.
31992
ce7a733d 31993 * configure.ac: Typo fixes.
31994
eab58da2 31995 * kern/mm.c (grub_zalloc): New function.
31996 (grub_debug_zalloc): Likewise.
31997 * include/grub/mm.h: Declare grub_zalloc() and
31998 grub_debug_zalloc().
31999 * util/misc.c (grub_zalloc): New function.
32000 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32001 instead of grub_malloc(), remove unneeded initializations.
32002 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32003 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32004 * commands/parttool.c (grub_cmd_parttool): Likewise.
32005 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32006 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32007 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32008 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32009 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32010 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32011 (grub_cmd_efiemu_pnvram): Likewise.
32012 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32013 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32014 (grub_iso9660_iterate_dir): Likewise.
32015 * fs/jfs.c (grub_jfs_opendir): Likewise.
32016 * fs/ntfs.c (list_file): Likewise.
32017 (grub_ntfs_mount): Likewise.
32018 * kern/disk.c (grub_disk_open): Likewise.
32019 * kern/dl.c (grub_dl_load_core): Likewise.
32020 * kern/elf.c (grub_elf_file): Likewise.
32021 * kern/env.c (grub_env_context_open): Likewise.
32022 (grub_env_set): Likewise.
32023 (grub_env_set_data_slot): Likewise.
32024 * kern/file.c (grub_file_open): Likewise.
32025 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32026 * loader/i386/multiboot.c (grub_module): Likewise.
32027 * loader/xnu.c (grub_xnu_create_key): Likewise.
32028 (grub_xnu_create_value): Likewise.
32029 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32030 (read_config_file): Likewise.
32031 * normal/menu_entry.c (make_screen): Likewise.
32032 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32033 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32034 * script/sh/script.c (grub_script_parse): Likewise.
32035 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32036 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32037 * video/readers/png.c (grub_png_output_byte): Likewise.
32038 (grub_video_reader_png): Likewise.
32039
830afef7 320402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32041
32042 Enable all targets that can be built by default
32043
830afef7 32044 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32045 grub-mkfont and grub-fstest if they can be built
32046
ee293aee 320472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32048
32049 Fix hang and segmentation fault in grub-emu-usb
32050
32051 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32052 * util/usb.c (grub_libusb_devices): likewise
32053 (grub_libusb_init): rename to ...
32054 (GRUB_MOD_INIT (libusb)):...this
32055 (grub_libusb_fini): rename to ..
32056 (GRUB_MOD_FINI (libusb)):...this
32057 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32058 * include/grub/disk.h (grub_raid_init): removed, it's useless
32059 (grub_raid_fini): likewise
32060 (grub_lvm_init): likewise
32061 (grub_lvm_fini): likewise
32062 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32063 by grub_init_all
32064
94414221 320652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32066
32067 Fix libusb
32068
32069 * Makefile.in (LIBUSB): new macro
32070 * genmk.rb (Utility/print_tail): new method
32071 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32072 (top level): call util.print_tail at the end.
32073
59ade63d 320742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32075
32076 Make FreeBSD accept zpool.cache
32077
32078 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32079 type is /boot/zfs/zpool.cache
32080
a58da8c7 320812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32082
32083 Fix 64-bit efiemu
32084
32085 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32086 correct wrong typedef
32087 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32088
20591577 320892009-07-15 Pavel Roskin <proski@gnu.org>
32090
560ca572 32091 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32092 * kern/disk.c (struct grub_disk_cache): Likewise.
32093
e8e8e4fd 32094 * commands/probe.c (options): Typo fix.
32095
fde24e10 32096 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32097 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32098 accordingly.
32099 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32100
379c54c1 32101 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32102 the end of "Error" to make the message more readable.
32103
7bd8f5bf 32104 * boot/i386/pc/boot.S (kernel_segment): Remove.
32105 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32106 for destination.
32107
40b132c5 32108 * boot/i386/pc/boot.S (boot_version): Remove.
32109 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32110 Remove.
32111
20591577 32112 * include/grub/i386/pc/boot.h: Sort all offsets.
32113 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32114 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32115 * boot/i386/pc/boot.S: Assert location of every offset listed in
32116 include/grub/i386/pc/boot.h.
32117
2df32b2c 321182009-07-13 Pavel Roskin <proski@gnu.org>
32119
44b5d879 32120 * include/grub/i386/coreboot/machine.h: Rename
32121 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32122 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32123 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32124
17dc3751 32125 * kern/dl.c: Force native word size to suppress warnings when
32126 compiling grub-emu.
32127
2df32b2c 32128 * kern/device.c (grub_device_iterate): Change struct part_ent to
32129 hold the name, not a pointer to it. Use one grub_malloc() per
32130 partition, not two. Free partition_name if grub_malloc() fails.
32131 Set ents to NULL only before grub_partition_iterate() is called.
32132
75c59f59 321332009-07-11 Bean <bean123ch@gmail.com>
32134
32135 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32136 childname.
32137
0ae1bf88 321382009-07-10 Bean <bean123ch@gmail.com>
321392009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32140
32141 * kern/ieee1275/openfw.c (grub_children_iterate)
32142 (grub_devalias_iterate): Fix size evaluation for property or path
32143 strings, which was broken since r2132.
32144
8279cade 321452009-07-07 Pavel Roskin <proski@gnu.org>
32146
7d8a52d3 32147 * commands/search.c (search_file): Merge into ...
32148 (search_fs): ... this. Accept search type as argument.
32149 (grub_cmd_search): Pass search type to search_fs().
32150
25f9a05a 32151 * include/grub/util/console.h: New file.
32152 * util/console.c: Use it instead of grub/machine/console.h.
32153 * util/grub-emu.c: Likewise.
32154
8279cade 32155 * lib/arg.c (find_long_option): Remove.
32156 (find_long): Add `len' argument, make `s' const char *.
32157 (grub_arg_parse): Parse long options in place, not in a
32158 temporary buffer.
32159
4a11b60f 321602009-07-06 Pavel Roskin <proski@gnu.org>
32161
99f68041 32162 * commands/search.c (search_fs): Fix potential NULL pointer
32163 dereference.
32164
4a11b60f 32165 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32166 function pointer.
32167
e110f4de 321682009-07-06 Daniel Mierswa <impulze@impulze.org>
32169
32170 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32171 comparison.
32172
46eeb6a2 321732009-07-05 Pavel Roskin <proski@gnu.org>
32174
bab74958 32175 * include/grub/i386/linux.h (struct linux_kernel_params):
32176 Restore padding3, it's still needed.
32177
46eeb6a2 32178 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32179 FreeBSD.
32180 * util/osdetect.lua: Likewise.
32181
b4a1dc79 321822009-07-05 Bean <bean123ch@gmail.com>
32183
32184 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32185
32186 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32187 (grub_lua_getenv): Likewise.
32188 (grub_lua_setenv): Likewise.
32189 (save_errno): New function.
32190 (push_result): Likewise.
32191 (grub_lua_enum_device): Likewise.
32192 (grub_lua_enum_file): Likewise.
32193 (grub_lua_file_open): Likewise.
32194 (grub_lua_file_close): Likewise.
32195 (grub_lua_file_seek): Likewise.
32196 (grub_lua_file_read): Likewise.
32197 (grub_lua_file_getline): Likewise.
32198 (grub_lua_file_getsize): Likewise.
32199 (grub_lua_file_getpos): Likewise.
32200 (grub_lua_file_eof): Likewise.
32201 (grub_lua_file_exist): Likewise.
32202 (grub_lua_add_menu): Likewise.
32203
32204 * script/lua/grub_lua.h (isupper): New inline function.
32205 (islower): Likewise.
32206 (ispunct): Likewise.
32207 (isxdigit): Likewise.
32208 (strcspn): Change to normal function.
32209 (strpbkr): New function declaration.
32210 (memchr): Likewise.
32211
32212 * script/lua/grub_main.c (scan_str): New function.
32213 (strcspn): Likewise.
32214 (strpbrk): Likewise.
32215 (memchr): Likewise.
32216
32217 * script/lua/linit.c (lualibs): Enable the string library.
32218
32219 * util/osdetect.lua: New file.
32220
2da92295 322212009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32222
32223 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32224 `capabilities' member.
32225
b2582ec9 322262009-07-02 Pavel Roskin <proski@gnu.org>
32227
32228 * genparttoollist.sh: Add missing newline at the end.
32229
32622956 322302009-07-01 Pavel Roskin <proski@gnu.org>
32231
87a7339e 32232 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32233
d23af54e 32234 * util/hostdisk.c (open_device): Remove `const' from
32235 `sysctl_size', as sysctlbyname() can change it (in this case it
32236 doesn't actually happen).
32237
c94b18a9 32238 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32239 using signed long int constants.
32240
c6cd3ef0 32241 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32242 constant to avoid a warning on FreeBSD.
32243
0df63420 32244 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32245 where it's needed.
32246
999577f1 32247 * Makefile.in: Install include/grub/machine symlink.
32248
6f41557f 32249 * Makefile.in: When installing symlinks, use "cp -fR", which
32250 works on FreeBSD and MacOSX.
32251 From Yves Blusseau <cl7m42e02@sneakemail.com>
32252
c8d22988 32253 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32254 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32255
1b96e952 32256 * util/misc.c: Move grub_reboot() and grub_halt() ...
32257 * util/grub-emu.c: ... here. Make main_env static.
32258 * include/grub/util/misc.h: Remove main_env.
32259
2ef0084d 32260 * kern/mm.c: Use correct format to print size_t.
32261
32622956 32262 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32263 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32264 * kern/powerpc/dl.c: Likewise.
32265 * kern/sparc64/dl.c: Likewise.
32266 * kern/x86_64/dl.c: Likewise.
32267
3f7f0cd0 322682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32269
32270 Fix grub-emu build on sparc64-ieee1275.
32271
75421ca9 32272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32274
211d06b5 322752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32276
32277 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32278 (grub_reboot, grub_halt): New functions.
32279
32280 * util/i386/pc/misc.c: Delete. Update all users.
32281 * util/sparc64/ieee1275/misc.c: Likewise.
32282 * util/powerpc/ieee1275/misc.c: Likewise.
32283
aaf53e3c 322842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32285
32286 * conf/i386.rmk (setjmp_mod_SOURCES)
32287 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32288 * conf/common.rmk (setjmp_mod_SOURCES)
32289 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32290 to use $(target_cpu).
32291 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32292 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32293 * conf/powerpc-ieee1275.rmk: Likewise.
32294 * conf/sparc64-ieee1275.rmk: Likewise.
32295
32296 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32297 $(target_cpu) for kern/$(target_cpu)/dl.c.
32298 * conf/i386-efi.rmk: Likewise.
32299 * conf/i386-ieee1275.rmk: Likewise.
32300 * conf/x86_64-efi.rmk: Likewise.
32301 * conf/i386-coreboot.rmk: Likewise.
32302 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32303 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32304 kern/$(target_cpu)/cache.S.
32305 * conf/sparc64-ieee1275.rmk: Likewise.
32306
a337130b 323072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32310 type to `grub_uint8_t', and adjust `padding9' accordingly.
32311
c6fe4d53 323122009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32313
b09db61d 32314 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32315
c6fe4d53 32316 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32317 assembly in final jump, using register constraints.
32318
b09db61d 32319 (grub_linux_boot): For text mode, initialize `have_vga' using
32320 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32321
32322 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32323 right before the final jump.
32324
32325 Set `video_mode' to 0x3.
32326
32327 Document initialization of `video_page', `video_mode' and
32328 `video_ega_bx'.
32329
28333ad0 323302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32333 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32334 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32335
02164e1b 323362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32337
32338 Fix build on Debian / sparc.
32339
32340 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32341
18b6c557 323422009-06-28 Pavel Roskin <proski@gnu.org>
32343
85f2aab6 32344 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32345 fix a warning.
32346
18b6c557 32347 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32348
ad760f81 323492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32350
32351 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32352 `err'.
32353
87a4623b 323542009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32355
32356 Revert r2338.
32357
32358 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32359 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32360 grub_errno / grub_errmsg appropriately.
87a4623b 32361 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32362
8231fb77 323632009-06-27 Pavel Roskin <proski@gnu.org>
323642009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32365
32366 * include/grub/dl.h: Include grub/elf.h.
32367 (struct grub_dl): Add symtab field.
32368 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32369 GRUB_MODULES_MACHINE_READONLY.
32370 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32371 of the header for read-only modules.
32372 (grub_dl_unload): Free mod->symtab for read-only modules.
32373 * kern/i386/dl.c: Use mod->symtab.
32374 * kern/powerpc/dl.c: Likewise.
32375 * kern/sparc64/dl.c: Likewise.
32376 * kern/x86_64/dl.c: Likewise.
32377
32378 * conf/i386-qemu.rmk: New file.
32379 * kern/i386/qemu/startup.S: Likewise.
32380 * kern/i386/qemu/mmap.c: Likewise.
32381 * boot/i386/qemu/boot.S: Likewise.
32382 * include/grub/i386/qemu/time.h: Likewise.
32383 * include/grub/i386/qemu/serial.h: Likewise.
32384 * include/grub/i386/qemu/kernel.h: Likewise.
32385 * include/grub/i386/qemu/console.h: Likewise.
32386 * include/grub/i386/qemu/boot.h: Likewise.
32387 * include/grub/i386/qemu/init.h: Likewise.
32388 * include/grub/i386/qemu/machine.h: Likewise.
32389 * include/grub/i386/qemu/loader.h: Likewise.
32390 * include/grub/i386/qemu/memory.h: Likewise.
32391
32392 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32393 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32394 [qemu] (pkglib_IMAGES): Add `boot.img'.
32395 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32396 [qemu] (boot_img_FORMAT): New variables.
32397 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32398 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32399 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32400 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32401 [qemu] (kernel_img_FORMAT): New variables.
32402
32403 * configure.ac: Recognise `i386-qemu'.
32404
32405 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32406 (for no compression).
32407 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32408 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32409 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32410 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32411 ifdefs).
32412
97fe384e 324132009-06-27 Pavel Roskin <proski@gnu.org>
32414
32415 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32416 read.
32417 * efiemu/prepare32.c: Likewise.
32418 * efiemu/prepare64.c: Likewise.
32419
c402ab17 324202009-06-26 Pavel Roskin <proski@gnu.org>
32421
32422 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32423 * include/grub/elf.h: Define symbols without "32" or "64" based
32424 on GRUB_TARGET_WORDSIZE.
32425 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32426 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32427 ELF definitions.
32428 * efiemu/loadcore64.c: Likewise.
32429 * loader/i386/bsd32.c: Likewise.
32430 * loader/i386/bsd64.c: Likewise.
32431 * kern/dl.c: Remove own ELF definitions.
32432 * util/i386/efi/grub-mkimage.c: Likewise.
32433
9bbdfd4d 324342009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32435
32436 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32437 segment 0x0 unconditionally, because the reference generated by
32438 GAS is an absolute address.
32439
a42ce6e9 324402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32441
32442 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32443 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32444
c952cf92 324452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32446
32447 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32448 indexes. Check for -f explicitly.
cc3752ad 32449 (search_file): Improve error message.
32450 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32451
132a0a59 324522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32453
32454 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32455 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32456
387a140c 324572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32458
32459 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32460 * conf/i386-ieee1275.rmk: Likewise.
32461 * conf/i386-coreboot.rmk: Likewise.
32462
32463 * kern/i386/pc/startup.S (grub_stop): Remove function.
32464 * kern/i386/ieee1275/startup.S: Likewise.
32465 * kern/i386/coreboot/startup.S: Likewise.
32466 * kern/i386/misc.S (grub_stop): New function.
32467
41da9665 324682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32469
32470 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32471 * kern/i386/realmode.S (real_to_prot): ... to here.
32472
bf337234 324732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32474
32475 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32476 with `kernel.img'.
32477 (kernel_elf_SOURCES): Rename to ...
32478 (kernel_img_SOURCES): ... this.
32479 (kernel_elf_HEADERS): Rename to ...
32480 (kernel_img_HEADERS): ... this. Update all users.
32481 (kernel_elf_ASFLAGS): Rename to ...
32482 (kernel_img_ASFLAGS): ... this.
32483 (kernel_elf_CFLAGS): Rename to ...
32484 (kernel_img_CFLAGS): ... this.
32485 (kernel_elf_LDFLAGS): Rename to ...
32486 (kernel_img_LDFLAGS): ... this.
32487 * conf/i386-coreboot.rmk: Likewise.
32488 * conf/powerpc-ieee1275.rmk: Likewise.
32489
32490 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32491 with "kernel.img".
32492
f52196ff 324932009-06-21 Pavel Roskin <proski@gnu.org>
32494
c3cee413 32495 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32496 to match nested functions.
32497 * loader/sparc64/ieee1275/linux.c: Likewise.
32498
f52196ff 32499 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32500
58750afc 325012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32502
32503 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32504 all i386 platforms.
32505
15355c7d 325062009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32507
32508 Fix asm file handling on ELF, and remove workarounds.
32509
32510 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32511 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32512 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32513 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32514
3f3ec72b 325152009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32516
32517 Load BSD ELF modules
32518
32519 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32520 and loader/i386/bsd64.c
32521 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32522 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32523 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32524 (grub_freebsd_load_elfmodule32): New declaration
32525 (grub_freebsd_load_elfmoduleobj64): Likewise
32526 (grub_freebsd_load_elf_meta32): Likewise
32527 (grub_freebsd_load_elf_meta64): Likewise
32528 (grub_freebsd_add_meta): Likewise
32529 (grub_freebsd_add_meta_module): Likewise
32530 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32531 (grub_freebsd_add_meta_module): Likewise and move module-specific
32532 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32533 (grub_cmd_freebsd): Add elf-kernel specific parts
32534 based on grub_freebsd_add_meta_module
32535 (grub_cmd_freebsd_module): Add type parsing moved from
32536 grub_freebsd_add_meta_module
32537 (grub_cmd_freebsd_module_elf): New function
32538 (cmd_freebsd_module_elf): New variable
32539 (GRUB_MOD_INIT): Register freebsd_module_elf
32540 * loader/i386/bsd32.c: New file
32541 * loader/i386/bsd64.c: Likewise
32542 * loader/i386/bsdXX.c: Likewise
32543 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32544 (grub_elf64_load): Likewise
32545 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32546 All users updated
32547 (grub_elf64_load_hook_t): Likewise
32548
0db15301 325492009-06-21 Colin Watson <cjwatson@ubuntu.com>
32550
32551 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32552 variable.
32553 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32554 don't write a menu entry for recovery mode.
32555
546796c1 325562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32557
32558 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32559 after it's no longer needed.
32560
cd7310d5 325612009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * include/grub/i386/loader.h (grub_linux_prot_size)
32564 (grub_linux_tmp_addr, grub_linux_real_addr)
32565 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32566 GRUB_MACHINE_PCBIOS.
32567 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32568 common grub_util_info() call to ...
32569 (generate_image): ... here.
32570 Fix use of uninitialized memory, comparison of signed with
32571 unsigned integers and memory leak.
32572 Remove bogus module address message.
32573
ab32d3b5 325742009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32575
32576 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32577 grub_raid_register
32578 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32579
024ef597 325802009-06-19 Pavel Roskin <proski@gnu.org>
32581
32582 * configure.ac: Remove stray AC_MSG_CHECKING.
32583
3ac72b51 325842009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32585
32586 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32587
e14cd814 325882009-06-18 Pavel Roskin <proski@gnu.org>
32589
32590 * conf/common.rmk: Add fs_file.mod.
32591 * disk/fs_file.c: New file.
32592 * include/grub/disk.h (enum grub_disk_dev_id): Add
32593 GRUB_DISK_DEVICE_FILE_ID.
32594
26586d98 325952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32596
32597 Fix build with Apple's toolchain. Part 2
32598
32599 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32600 a fake start
32601
26de2bcd 326022009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32603
32604 Fix build with Apple's toolchain. Part 1
32605
32606 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32607 for long calls
32608 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32609 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32610 Apple's toolchain
32611
09b3490b 326122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32613
32614 Fix warnings
32615
32616 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32617 (decomp_block): initialize ch
32618 use grub_memcpy instead of memcpy
32619
c22a006a 326202009-06-17 Pavel Roskin <proski@gnu.org>
32621
d3638678 32622 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32623 version, use declarations needed to use vga_text as the startup
32624 console.
32625
c22a006a 32626 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32627 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32628 the kernel.
32629 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32630 and grub_at_keyboard_fini(), it's done on module load and
32631 unload.
32632
05b129e0 326332009-06-17 Felix Zielcke <fzielcke@z-51.de>
32634
32635 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32636 file can't be found.
32637 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32638
cf24ed9e 326392009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32640
32641 Fix newline handling
32642
32643 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32644 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32645 (grub_script_yylex): don't segfault on unterminated script
32646 newline terminates command and variable
32647
74aa8e4b 326482009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32649
32650 avoid double grub_adjust_range call. Bug reported by David Simner
32651
32652 * kern/disk.c (grub_disk_write): change to raw disk access before
32653 calling disk_read
32654
1bd265f3 326552009-06-17 Colin Watson <cjwatson@ubuntu.com>
32656
32657 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32658 spaces, for the benefit of help2man.
32659 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32660
a2d08c06 326612009-06-16 Pavel Roskin <proski@gnu.org>
32662
32663 * kern/i386/halt.c: Include grub/machine/init.h.
32664 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32665
b97bcb19 326662009-06-16 Felix Zielcke <fzielcke@z-51.de>
32667
32668 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32669 drivemap menuentry.
32670
0644f96c 326712009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32672
32673 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32674 `echo' command.
32675
3ef17a2e 326762009-06-16 Pavel Roskin <proski@gnu.org>
32677
32678 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32679 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32680 save %dx, we only need %dl and we never change it.
32681 * boot/i386/pc/cdboot.S: Don't set the root drive.
32682 * boot/i386/pc/pxeboot.S: Likewise.
32683 * include/grub/i386/pc/boot.h: Remove
32684 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32685 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32686 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32687 * kern/i386/pc/init.c (make_install_device): Remove references
32688 to grub_root_drive.
32689 * kern/i386/pc/startup.S: Likewise.
32690 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32691
693fe637 326922009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32693
32694 xnu_uuid command
32695
32696 * commands/xnu_uuid.c: new file
32697 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32698 (xnu_uuid_mod_SOURCES): new variable
32699 (xnu_uuid_mod_CFLAGS): likewise
32700 (xnu_uuid_mod_LDFLAGS): likewise
32701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32702 * conf/i386-ieee1275.rmk: likewise
32703 * conf/i386-pc.rmk: likewise
32704 * conf/powerpc-ieee1275.rmk: likewise
32705 * conf/sparc64-ieee1275.rmk: likewise
32706 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32707
c9da87d0 327082009-06-16 Pavel Roskin <proski@gnu.org>
32709
32710 * configure.ac: Avoid '==' in test command, it's not portable.
32711
9c6f4596 327122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32713
32714 Probe command
32715
32716 * commands/probe.c: new file
32717 * conf/common.rmk (pkglib_MODULES): add probe.mod
32718 (probe_mod_SOURCES): new variable
32719 (probe_mod_CFLAGS): likewise
32720 (probe_mod_LDFLAGS): likewise
32721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32722 * conf/i386-ieee1275.rmk: likewise
32723 * conf/i386-pc.rmk: likewise
32724 * conf/powerpc-ieee1275.rmk: likewise
32725 * conf/sparc64-ieee1275.rmk: likewise
32726
70b7f9fd 327272009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32728
32729 Fix handling of string like \"hello\" and "a
32730 b"
32731
32732 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32733 (grub_script_yylex): fix parsing of quoting, escaping and newline
32734
71c79a6b 327352009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32736
dd74360c 32737 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32738 handling
dd74360c 32739
0644f96c 327402009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32741
32742 * util/grub-mkconfig.in: Fix parsing of --output option.
32743
e40893c3 327442009-06-12 Pavel Roskin <proski@gnu.org>
32745
32746 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32747 genmk.rb don't need to be generated or installed.
32748
3a1acfe2 327492009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32750
32751 * commands/i386/pc/drivemap_int13h.S: add more comments
32752
3a4575d4 327532009-06-11 Pavel Roskin <proski@gnu.org>
32754
0658e928 32755 * Makefile.in (uninstall): Uninstall manuals.
32756
ca0388f0 32757 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32758 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32759 and update-grub_lib in two places.
32760 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32761
e3b27c39 32762 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32763 a compiler warning.
32764
3a4575d4 32765 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32766 `entry_lo' to fix variable shadowing.
32767
af1f4f55 327682009-06-11 Christian Franke <franke@computer.org>
32769
32770 * kern/misc.c (__enable_execute_stack): Add missing return type
32771 to prevent gcc warning.
32772
5225e649 327732009-06-11 Felix Zielcke <fzielcke@z-51.de>
32774
32775 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32776
7d83bd47 327772009-06-11 Pavel Roskin <proski@gnu.org>
32778
c1cb63ba 32779 * Makefile.in: Don't rely on any scripts being executable.
32780 Always use $(SHELL) to run shell scripts.
32781
7d83bd47 32782 * configure.ac: Always define ___main if using -nostdlib. This
32783 fixes tests on Cygwin.
32784
948f48e7 327852009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32786
32787 UDF fix
32788
7d83bd47 32789 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32790 is in bytes and not in blocks
7d83bd47 32791
8ada9bc1 327922009-06-11 Pavel Roskin <proski@gnu.org>
32793
32794 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32795 warning.
32796
25ad2323 327972009-06-11 Felix Zielcke <fzielcke@z-51.de>
32798
32799 * util/grub.d/30_os-prober.in: Fix a comment. Source
32800 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32801 to set the root device. Place drivemap command in the generated
32802 chain entry.
32803
e65acb0c 328042009-06-11 Pavel Roskin <proski@gnu.org>
32805
32806 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32807 have long been resolved.
32808
f285fe2d 328092009-06-11 Colin Watson <cjwatson@ubuntu.com>
32810
bd47b0b5 32811 * util/grub.d/10_linux.in: Capitalise "Linux".
32812
f285fe2d 32813 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32814
a0c62e4e 328152009-06-11 Pavel Roskin <proski@gnu.org>
32816
b6783cb2 32817 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32818 fix a gcc warning and ensure that the function won't ever exit.
32819
dde032e8 32820 * kern/i386/ieee1275/init.c: Add missing prototype for
32821 grub_stop_floppy().
32822
22cd079d 32823 * loader/ieee1275/multiboot2.c [__i386__]: Include
32824 grub/cpu/multiboot.h.
32825
a0c62e4e 32826 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32827 casts to short - they are not portable and cause warnings. Fix
32828 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32829
63963d17 328302009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32831
32832 Drivemap fixes
32833
32834 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32835 new function
32836 (grub_get_root_biosnumber_saved): new variable
32837 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32838 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32839 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32840 %dx after the call if necessary
32841 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32842 (boot_mod_SOURCES): remove
32843 (boot_mod_CFLAGS): remove
32844 (boot_mod_LDFLAGS): remove
32845 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32846 (boot_mod_SOURCES): new variable
32847 (boot_mod_CFLAGS): likewise
32848 (boot_mod_LDFLAGS): likewise
32849 * conf/i386-efi.rmk: likewise
32850 * conf/i386-ieee1275.rmk: likewise
32851 * conf/i386-pc.rmk: likewise
32852 * conf/powerpc-ieee1275.rmk: likewise
32853 * conf/sparc64-ieee1275.rmk: likewise
32854 * conf/x86_64-efi.rmk: likewise
32855 * include/grub/i386/pc/biosnum.h: new file
32856 * lib/i386/pc/biosnum.c: likewise
32857 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32858 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32859 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32860
33abf7ae 328612009-06-10 Pavel Roskin <proski@gnu.org>
32862
5ac35b35 32863 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32864 Use separate variables. Read only the file size at the end, but
32865 not the checksum that we don't use.
32866
5c5215d5 32867 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32868 Adjust all callers.
32869
27d5fef7 32870 * kern/ieee1275/openfw.c: Remove libc includes.
32871 * kern/ieee1275/cmain.c: Likewise.
32872 * include/grub/ieee1275/ieee1275.h: Likewise.
32873
33abf7ae 32874 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32875 compiler warnings.
32876
19d50c2b 328772009-06-10 Felix Zielcke <fzielcke@z-51.de>
32878
32879 * Makefile.in: Remove all trailing whitespace.
32880 * conf/i386-pc.rmk: Likewise.
32881 * conf/powerpc-ieee1275.rmk: Likewise.
32882 * conf/sparc64-ieee1275.rmk: Likewise.
32883 * docs/grub.texi: Likewise.
32884 * docs/texinfo.tex: Likewise.
32885 * disk/fs_uuid.c: Likewise.
32886 * disk/lvm.c: Likewise.
32887 * disk/scsi.c: Likewise.
32888 * disk/ata.c: Likewise.
32889 * disk/ieee1275/ofdisk.c: Likewise.
32890 * disk/i386/pc/biosdisk.c: Likewise.
32891 * disk/host.c: Likewise.
32892 * disk/raid.c: Likewise.
32893 * disk/efi/efidisk.c: Likewise.
32894 * disk/usbms.c: Likewise.
32895 * disk/memdisk.c: Likewise.
32896 * disk/loopback.c: Likewise.
32897 * kern/powerpc/dl.c: Likewise.
32898 * kern/device.c: Likewise.
32899 * kern/dl.c: Likewise.
32900 * kern/sparc64/dl.c: Likewise.
32901 * kern/ieee1275/ieee1275.c: Likewise.
32902 * kern/term.c: Likewise.
32903 * kern/fs.c: Likewise.
32904 * kern/i386/dl.c: Likewise.
32905 * kern/i386/pc/startup.S: Likewise.
32906 * kern/i386/pc/init.c: Likewise.
32907 * kern/i386/pc/mmap.c: Likewise.
32908 * kern/i386/pc/lzo1x.S: Likewise.
32909 * kern/i386/ieee1275/init.c: Likewise.
32910 * kern/i386/realmode.S: Likewise.
32911 * kern/i386/tsc.c: Likewise.
32912 * kern/partition.c: Likewise.
32913 * kern/corecmd.c: Likewise.
32914 * kern/file.c: Likewise.
32915 * kern/efi/efi.c: Likewise.
32916 * kern/efi/init.c: Likewise.
32917 * kern/efi/mm.c: Likewise.
32918 * kern/main.c: Likewise.
32919 * kern/err.c: Likewise.
32920 * kern/env.c: Likewise.
32921 * kern/disk.c: Likewise.
32922 * kern/generic/millisleep.c: Likewise.
32923 * kern/generic/rtc_get_time_ms.c: Likewise.
32924 * kern/misc.c: Likewise.
32925 * kern/parser.c: Likewise.
32926 * genmk.rb: Likewise.
32927 * configure.ac: Likewise.
32928 * boot/i386/pc/diskboot.S: Likewise.
32929 * boot/i386/pc/pxeboot.S: Likewise.
32930 * boot/i386/pc/boot.S: Likewise.
32931 * boot/i386/pc/lnxboot.S: Likewise.
32932 * boot/i386/pc/cdboot.S: Likewise.
32933 * parttool/pcpart.c: Likewise.
32934 * video/readers/tga.c: Likewise.
32935 * video/video.c: Likewise.
32936 * video/bitmap.c: Likewise.
32937 * lib/envblk.c: Likewise.
32938 * lib/i386/setjmp.S: Likewise.
32939 * fs/xfs.c: Likewise.
32940 * fs/afs.c: Likewise.
32941 * fs/fat.c: Likewise.
32942 * fs/ntfs.c: Likewise.
32943 * fs/udf.c: Likewise.
32944 * fs/affs.c: Likewise.
32945 * fs/iso9660.c: Likewise.
32946 * fs/hfs.c: Likewise.
32947 * fs/fshelp.c: Likewise.
32948 * fs/ext2.c: Likewise.
32949 * fs/jfs.c: Likewise.
32950 * fs/reiserfs.c: Likewise.
32951 * fs/hfsplus.c: Likewise.
32952 * fs/minix.c: Likewise.
32953 * fs/cpio.c: Likewise.
32954 * fs/sfs.c: Likewise.
32955 * fs/ufs.c: Likewise.
32956 * efiemu/prepare.c: Likewise.
32957 * efiemu/loadcore_common.c: Likewise.
32958 * efiemu/runtime/efiemu.sh: Likewise.
32959 * efiemu/runtime/efiemu.S: Likewise.
32960 * efiemu/runtime/efiemu.c: Likewise.
32961 * efiemu/pnvram.c: Likewise.
32962 * efiemu/main.c: Likewise.
32963 * efiemu/i386/pc/cfgtables.c: Likewise.
32964 * efiemu/i386/loadcore64.c: Likewise.
32965 * efiemu/i386/loadcore32.c: Likewise.
32966 * efiemu/loadcore.c: Likewise.
32967 * efiemu/symbols.c: Likewise.
32968 * efiemu/mm.c: Likewise.
32969 * include/grub/autoefi.h: Likewise.
32970 * include/grub/datetime.h: Likewise.
32971 * include/grub/term.h: Likewise.
32972 * include/grub/hfs.h: Likewise.
32973 * include/grub/lvm.h: Likewise.
32974 * include/grub/i386/tsc.h: Likewise.
32975 * include/grub/i386/linux.h: Likewise.
32976 * include/grub/i386/xnu.h: Likewise.
32977 * include/grub/i386/efiemu.h: Likewise.
32978 * include/grub/i386/pc/biosdisk.h: Likewise.
32979 * include/grub/i386/pc/memory.h: Likewise.
32980 * include/grub/i386/pc/vbe.h: Likewise.
32981 * include/grub/parttool.h: Likewise.
32982 * include/grub/video.h: Likewise.
32983 * include/grub/memory.h: Likewise.
32984 * include/grub/fs.h: Likewise.
32985 * include/grub/partition.h: Likewise.
32986 * include/grub/xnu.h: Likewise.
32987 * include/grub/efi/api.h: Likewise.
32988 * include/grub/efi/pe32.h: Likewise.
32989 * include/grub/efi/memory.h: Likewise.
32990 * include/grub/multiboot.h: Likewise.
32991 * include/grub/usbdesc.h: Likewise.
32992 * include/grub/multiboot2.h: Likewise.
32993 * include/grub/acpi.h: Likewise.
32994 * include/grub/efiemu/efiemu.h: Likewise.
32995 * include/grub/disk.h: Likewise.
32996 * include/grub/ieee1275/ieee1275.h: Likewise.
32997 * include/grub/net.h: Likewise.
32998 * include/grub/machoload.h: Likewise.
32999 * include/grub/macho.h: Likewise.
33000 * include/multiboot.h: Likewise.
33001 * genmoddep.awk: Likewise.
33002 * normal/main.c: Likewise.
33003 * normal/menu_entry.c: Likewise.
33004 * normal/menu_viewer.c: Likewise.
33005 * normal/completion.c: Likewise.
33006 * normal/cmdline.c: Likewise.
33007 * normal/misc.c: Likewise.
33008 * normal/datetime.c: Likewise.
33009 * bus/usb/usbtrans.c: Likewise.
33010 * bus/usb/ohci.c: Likewise.
33011 * bus/usb/uhci.c: Likewise.
33012 * bus/usb/usb.c: Likewise.
33013 * mmap/efi/mmap.c: Likewise.
33014 * mmap/i386/pc/mmap_helper.S: Likewise.
33015 * mmap/i386/pc/mmap.c: Likewise.
33016 * mmap/i386/mmap.c: Likewise.
33017 * mmap/i386/uppermem.c: Likewise.
33018 * mmap/mmap.c: Likewise.
33019 * commands/acpi.c: Likewise.
33020 * commands/echo.c: Likewise.
33021 * commands/blocklist.c: Likewise.
33022 * commands/loadenv.c: Likewise.
33023 * commands/usbtest.c: Likewise.
33024 * commands/boot.c: Likewise.
33025 * commands/parttool.c: Likewise.
33026 * commands/search.c: Likewise.
33027 * commands/cat.c: Likewise.
33028 * commands/i386/pc/play.c: Likewise.
33029 * commands/i386/pc/drivemap.c: Likewise.
33030 * commands/i386/pc/vbeinfo.c: Likewise.
33031 * commands/i386/pc/acpi.c: Likewise.
33032 * commands/i386/pc/vbetest.c: Likewise.
33033 * commands/ls.c: Likewise.
33034 * commands/cmp.c: Likewise.
33035 * commands/test.c: Likewise.
33036 * commands/efi/acpi.c: Likewise.
33037 * commands/gptsync.c: Likewise.
33038 * commands/help.c: Likewise.
33039 * partmap/amiga.c: Likewise.
33040 * partmap/apple.c: Likewise.
33041 * partmap/acorn.c: Likewise.
33042 * partmap/pc.c: Likewise.
33043 * partmap/sun.c: Likewise.
33044 * partmap/gpt.c: Likewise.
33045 * script/sh/lexer.c: Likewise.
33046 * script/sh/function.c: Likewise.
33047 * font/font.c: Likewise.
33048 * font/font_cmd.c: Likewise.
33049 * loader/powerpc/ieee1275/linux.c: Likewise.
33050 * loader/efi/chainloader.c: Likewise.
33051 * loader/multiboot_loader.c: Likewise.
33052 * loader/macho.c: Likewise.
33053 * loader/i386/multiboot.c: Likewise.
33054 * loader/i386/linux.c: Likewise.
33055 * loader/i386/pc/linux.c: Likewise.
33056 * loader/i386/pc/multiboot2.c: Likewise.
33057 * loader/i386/pc/chainloader.c: Likewise.
33058 * loader/i386/pc/xnu.c: Likewise.
33059 * loader/i386/bsd_trampoline.S: Likewise.
33060 * loader/i386/efi/linux.c: Likewise.
33061 * loader/i386/multiboot_elfxx.c: Likewise.
33062 * loader/i386/bsd_helper.S: Likewise.
33063 * loader/i386/bsd.c: Likewise.
33064 * loader/i386/linux_trampoline.S: Likewise.
33065 * loader/i386/xnu_helper.S: Likewise.
33066 * loader/i386/xnu.c: Likewise.
33067 * loader/i386/bsd_pagetable.c: Likewise.
33068 * loader/i386/multiboot_helper.S: Likewise.
33069 * loader/xnu.c: Likewise.
33070 * loader/xnu_resume.c: Likewise.
33071 * io/gzio.c: Likewise.
33072 * term/efi/console.c: Likewise.
33073 * term/terminfo.c: Likewise.
33074 * term/ieee1275/ofconsole.c: Likewise.
33075 * term/i386/pc/serial.c: Likewise.
33076 * term/i386/pc/vesafb.c: Likewise.
33077 * term/i386/pc/vga.c: Likewise.
33078 * term/usb_keyboard.c: Likewise.
33079 * term/gfxterm.c: Likewise.
33080 * aclocal.m4: Likewise.
33081 * util/lvm.c: Likewise.
33082 * util/grub.d/30_os-prober.in: Likewise.
33083 * util/grub.d/10_hurd.in: Likewise.
33084 * util/console.c: Likewise.
33085 * util/grub-macho2img.c: Likewise.
33086 * util/grub-probe.c: Likewise.
33087 * util/hostfs.c: Likewise.
33088 * util/i386/pc/grub-mkimage.c: Likewise.
33089 * util/i386/pc/grub-setup.c: Likewise.
33090 * util/i386/efi/grub-mkimage.c: Likewise.
33091 * util/grub-mkconfig.in: Likewise.
33092 * util/raid.c: Likewise.
33093 * util/resolve.c: Likewise.
33094 * util/grub-mkdevicemap.c: Likewise.
33095 * util/grub-emu.c: Likewise.
33096 * util/getroot.c: Likewise.
33097 * util/hostdisk.c: Likewise.
33098 * util/usb.c: Likewise.
33099 * util/grub-editenv.c: Likewise.
33100 * util/misc.c: Likewise.
33101
d2d49665 331022009-06-10 Felix Zielcke <fzielcke@z-51.de>
33103
33104 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33105 `genparttoollist.sh'.
33106 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33107 Add `*.sh' to the list find searches for and change `mdate.sh'
33108 to `mdate-sh'.
33109
fe052e37 331102009-06-10 Pavel Roskin <proski@gnu.org>
33111
2763ac18 33112 * include/grub/multiboot2.h: Provide compatibility defines for
33113 multiboot2.h.
33114 * include/multiboot2.h: Include stdint.h only if needed, using
33115 angle brackets.
33116 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33117 grub/multiboot2.h.
33118 * loader/ieee1275/multiboot2.c: Likewise.
33119 * loader/multiboot2.c: Likewise.
33120 * loader/multiboot_loader.c: Likewise.
33121
437e6adc 33122 * configure.ac: Use -nostdlib when probing for the target. It
33123 should not be required to have libc for the target.
33124
06a6836c 33125 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33126 they fail without libc headers for the target.
33127 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33128 exports.
33129 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33130 preprocessor conditionals.
33131
fe052e37 33132 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33133 build system doesn't need to be aware of the tar.c internals.
33134
afd22553 331352009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33136
afd22553 33137 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33138
6b787c4f 331392009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33140
33141 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33142 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33143
331442009-06-09 Felix Zielcke <fzielcke@z-51.de>
33145
33146 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33147 aren't available if ata.mod gets used.
6b787c4f 33148
473d1e45 331492009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33150
473d1e45 33151 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33152 initialising controller.
473d1e45 33153 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33154
255a27d4 331552009-06-08 Felix Zielcke <fzielcke@z-51.de>
33156
33157 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33158 to choose between ata and biosdisk module on i386-pc.
33159
473d1e45 331602009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33161
d55842d8 33162 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33163 Subclass and Programming Interface fields in terms of the 3 byte
33164 Class Code register.
33165 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33166
fa5db0b1 33167 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33168 interface is OHCI. Add grub_dprintf for symmetry with
33169 bus/usb/uhci.c.
33170 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33171 interface is UHCI. Add interf variable for programming
33172 interface. Print interface with class/subclass.
33173
c0947beb 33174 * bus/usb/ohci.c: Set interf with correct field.
33175
69da8877 33176 * bus/usb/uhci.c: Remove unneeded doubled lines.
33177 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33178 Remove whitespace inside comment.
33179
9e172e30 331802009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33181
33182 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33183 as fallback an equivalent option without depth.
33184
de65ee2b 331852009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33186
33187 Not fail if unable to retrieve C/H/S on LBA disks
33188
473d1e45 33189 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33190 if unable to retrieve C/H/S on LBA disks
33191
b57ea2c9 331922009-06-08 Pavel Roskin <proski@gnu.org>
33193
33194 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33195 about aliasing.
33196
af361263 331972009-06-08 Felix Zielcke <fzielcke@z-51.de>
33198
33199 * Makefile.in (uninstall): Remove all $lib_DATA files.
33200
4c9ec6b3 332012009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33202
33203 Bugfix: install on partitionless device
33204
33205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33206 is a whole disk
33207
e76fc924 332082009-06-08 Felix Zielcke <fzielcke@z-51.de>
33209
33210 * Makefile.in (uninstall): Remove all $include_DATA files.
33211
ba5a0d05 332122009-06-08 Felix Zielcke <fzielcke@z-51.de>
33213
33214 * commands/true.c: New file. Implement the true and false commands.
33215 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33216 (true_mod_SOURCES): New variable.
33217 (true_mod_CFLAGS): Likewise.
33218 (true_mod_LDFLAGS): Likewise.
33219
c8048e32 332202009-06-05 Colin D Bennett <colin@gibibit.com>
33221
33222 Optimized font character lookup using binary search instead of linear
33223 search. Fonts now are required to have the character index ordered by
33224 code point.
33225
33226 * font/font.c (load_font_index): Verify that fonts have ordered
33227 character indices.
33228 (find_glyph): Use binary search instead of linear search to find a
33229 character in a font.
33230
408305be 332312009-06-05 Michael Scherer <misc@mandriva.org>
33232
33233 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33234 uses case sensitive btree.
33235 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33236 only for case insensitive filesystems.
33237
8ee1e0d9 332382009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33239
33240 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33241 * conf/common.rmk (search_mod_CFLAGS): likewise
33242
a9966eb1 332432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33244
473d1e45 33245 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33246 compensate a compiler bug
33247
9e7100fb 332482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33249
473d1e45 33250 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33251 instead of '\b'
473d1e45 33252
ede21d71 332532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33254
33255 Definitions for creating asm symbols with Apple's CC
33256
33257 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33258 [APPLE_CC] (VARIABLE): likewise
33259
9dbf7653 332602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33261
33262 Disable lnxboot.img when compiled
33263 with Apple's CC
33264
33265 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33266 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33267 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33268 [! APPLE_CC] (CODE_LENG): skip
33269 [! APPLE_CC] (setup_sects): likewise
33270 [! APPLE_CC]: skip filling
473d1e45 33271
e93cdc3d 332722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33273
33274 Address in trampolines based on 32-bit registers when compiled
33275 with Apple's CC
33276
473d1e45 33277 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33278 for addresses
33279 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33280
6c688477 332812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33282
33283 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33284
33285 * kern/misc.c [APPLE_CC] (memcpy): new function
33286 [APPLE_CC] (memmove): likewise
33287 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33288 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33289 (memset): likewise
33290 (abort): likewise
33291 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33292 APPLE_CC are defined
33293 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33294 (grub_assert_fail): make prototype conditional
33295
e37ffc5c 332962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33297
33298 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33299
473d1e45 33300 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33301 grub-macho2img
e37ffc5c 33302 (CLEANFILES): add grub-macho2img
33303 (grub_macho2img_SOURCES): new variable
33304 * kern/i386/pc/startup.S (bss_start): new variable
33305 (bss_end): likewise
33306 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33307 * util/grub-macho2img.c: new file
33308
cf00df31 333092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33310
33311 Use objconv when compiling with Apple's CC
33312
33313 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33314 (efiemu64.o): likewise
33315 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33316 when compiling with Apple's CC
33317 (efiemu64_s.o): likewise
33318 * configure.ac: check for objconv when compiling with Apple's CC
33319 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33320
d119a20c 333212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33322
33323 Define segment as well as section when compiling with
33324 Apple's CC
33325
33326 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33327 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33328 (efiemu_convert_pointer): likewise
33329 (efiemu_set_virtual_address_map): likewise
33330 (efiemu_convert_pointer): likewise
33331 (efiemu_getcrc32): likewise
33332 (init_crc32_table): likewise
33333 (reflect): likewise
33334 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33335 (GRUB_MOD_DEP): likewise
473d1e45 33336
c8600122 333372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33338
33339 Allow a compilation without -mcmodel=large
33340
33341 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33342 when compiled without -mcmodel=large
473d1e45 33343 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33344 without -mcmodel=large
473d1e45 33345 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33346 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33347
e8df1d4e 333482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33349
33350 Remove nested functions in efiemu core
33351
33352 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33353
cc6c3ac1 333542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33355
33356 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33357
33358 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33359 temporary storage
473d1e45 33360 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33361 using Apple's CC
cc6c3ac1 33362 (grub_cpu_is_tsc_supported): likewise
33363 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33364
3e325901 333652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33366
33367 Absolute addressing through constant with Apple's cc
33368
33369 * kern/i386/pc/startup.S: Define necessary constants
33370 and address through it when using ABS with Apple's CC
33371 * boot/i386/pc/diskboot.S: likewise
33372 * boot/i386/pc/boot.S: likewise
33373 * boot/i386/pc/lnxboot.S: likewise
33374 * boot/i386/pc/cdboot.S: likewise
33375 * mmap/i386/pc/mmap_helper.S: likewise
33376 * commands/i386/pc/drivemap_int13h.S: likewise
33377
2b167a72 333782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33379
33380 Check if compiler is apple cc
33381
33382 * Makefile.in (ASFLAGS): new variable
33383 (TARGET_ASFLAGS): likewise
33384 (TARGET_MODULE_FORMAT): likewise
33385 (TARGET_APPLE_CC): likewise
33386 (OBJCONV): likewise
33387 (TARGET_IMG_CFLAGS): likewise
33388 (TARGET_CPPFLAGS): add includedir
33389 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33390 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33391 Check for linker script only if compiler isn't Apple's CC
33392 (TARGET_MODULE_FORMAT): set
33393 (TARGET_APPLE_CC): likewise
33394 (TARGET_ASFLAGS): likewise
33395 (ASFLAGS): likewise
33396 Check for objcopy only if compiler isn't Apple's CC
33397 Check for BSS symbol only if compiler isn't Apple's CC
33398 * genmk.rb: adapt nm options if we use Apple's utils
33399 * aclocal.m4 (grub_apple_cc): new test
33400 (grub_apple_target_cc): likewise
473d1e45 33401
fb14123e 334022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33403
33404 Simplify sed expressions and improve awk
33405
33406 * Makefile.in (install-local): simplify sed expression
33407 * gencmdlist.sh: likewise
33408 * genmoddep.awk: avoid adding module as a dependency of itself
33409
5b889789 334102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33411
33412 Add missing start symbols
33413
33414 * boot/i386/pc/boot.S: add start
fb14123e 33415 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33416
fd2bf2e3 334172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33418
33419 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33420
33421 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33422 (relocate_addresses): consider both r_addend and value at offset
33423 (make_mods_section): zerofill modinfo and header
33424 (convert_elf): write prefix here
473d1e45 33425
5389763d 334262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33427
33428 Use .asciz instead of .string
33429
33430 * i386/pc/diskboot.S: use .asciz instead of .string
33431 * i386/pc/boot.S: likewise
33432 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33433 (GRUB_MOD_NAME): likewise
473d1e45 33434
3eb5ed4e 334352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33436
33437 gfxpayload support
33438
33439 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33440 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33441 (grub_video_setup): remove
33442 (grub_video_set_mode): new prototype
33443 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33444 (vid_mode): remove
33445 (linux_vesafb_res): compile only on PCBIOS
33446 (grub_linux_boot): support gfxpayload
33447 * loader/i386/pc/xnu.c (video_hook): new function
33448 (grub_xnu_set_video): support gfxpayload
33449 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33450 (DEFAULT_VIDEO_HEIGHT): likewise
33451 (DEFAULT_VIDEO_FLAGS): likewise
33452 (DEFAULT_VIDEO_MODE): new definition
33453 (video_hook): new function
33454 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33455 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33456 loading xnu
33457 * video/video.c (grub_video_setup): removed
473d1e45 33458 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33459 grub_video_setup
33460
4b0e1143 334612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33462
33463 Avoid calling biosdisk in drivemap
33464
33465 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33466 (revparse_biosdisk): likewise
33467 (list_mappings): derive name from id directly
33468 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33469
fda6cb98 334702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33471
33472 Script fixes
33473
33474 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33475 (grub_lexer_param): add tokenonhold
33476 (grub_script_create_cmdline): remove cmdline. All callers updated
33477 (grub_script_function_create): make functionname
33478 grub_script_arg. All callers updated
33479 (grub_script_execute_argument_to_string): new prototype
33480 * kern/parser.c (state_transitions): reorder
33481 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33482 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33483 make global
33484 (grub_script_execute_cmdline): use new format
33485 * script/sh/function.c (grub_script_function_create): make functionname
33486 grub_script_arg. All callers updated
473d1e45 33487 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33488 (grub_script_yylex): remove
33489 (grub_script_yylex2): renamed to ...
33490 (grub_script_yylex): ...renamed
33491 parse the expressions like a${b}c
33492 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33493 (GRUB_PARSER_TOKEN_VAR): remove
33494 (GRUB_PARSER_TOKEN_NAME): likewise
33495 ("if"): declare as typeless
33496 ("while"): likewise
33497 ("function"): likewise
33498 ("else"): likewise
33499 ("then"): likewise
33500 ("fi"): likewise
33501 (text): remove
33502 (argument): likewise
33503 (script): accept empty scripts and make exit on error
33504 (arguments): use GRUB_PARSER_TOKEN_ARG
33505 (function): likewise
33506 (command): move error handling to script
33507 (menuentry): move grub_script_lexer_ref before
473d1e45 33508 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33509 argument. All callers updated
33510
f4448a07 335112009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33512
33513 Prevent GRUB from probing floppies during boot.
33514
33515 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33516 * commands/search.c (options): Add --no-floppy.
33517 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33519 --no-floppy when searching for UUIDs.
33520
2bf5885a 335212009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33522
33523 Simplify the code duplication in commands/search.c.
33524
33525 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33526 (search_fs): ... this. Update all users.
33527
f6fd460a 335282009-06-03 Felix Zielcke <fzielcke@z-51.de>
33529
33530 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33531
cbb3c83e 335322009-05-28 Pavel Roskin <proski@gnu.org>
33533
57788cfd 33534 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33535 Remove the original symlink explicitly.
33536
cbb3c83e 33537 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33538 just one slash. That's how grub_fshelp_find_file() does it.
33539
cd0d5e30 335402009-05-26 Pavel Roskin <proski@gnu.org>
33541
f0f8bbe2 33542 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33543 to `str'.
33544
cd0d5e30 33545 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33546 possibly unused.
33547
8c2cab51 335482009-05-25 Christian Franke <franke@computer.org>
33549
33550 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33551 register.
33552 (grub_atapi_identify): Add wait after drive select.
33553 (grub_ata_identify): Do more strict status register check before
33554 calling grub_atapi_identify (). Suppress error message if status
33555 register is 0x00 after command failure. Add status register
33556 check after PIO read to avoid bogus identify due to stuck DRQ.
33557 Thanks to Pavel Roskin for testing.
33558 (grub_device_initialize): Remove unsafe status register check.
33559 Thanks to 'phcoder' for problem report and patch.
33560 Prevent sign extension in debug message.
33561
230c0ad6 335622009-05-23 Colin D Bennett <colin@gibibit.com>
33563
33564 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33565 definition file, and functions defined in `normal/menu.c' have had
33566 their prototypes moved to `include/grub/menu.h' for consistency.
33567
33568 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33569 from normal.h.
33570 (grub_menu_get_entry): Likewise.
33571 (grub_menu_get_timeout): Likewise.
33572 (grub_menu_set_timeout): Likewise.
33573 (grub_menu_execute_entry): Likewise.
33574 (grub_menu_execute_with_fallback): Likewise.
33575 (grub_menu_entry_run): Likewise.
33576
33577 * include/grub/normal.h: Re-ordered and grouped function
33578 prototypes by file that the function is defined in.
33579 (grub_menu_execute_callback): Removed; moved to menu.h.
33580 (grub_menu_get_entry): Likewise.
33581 (grub_menu_get_timeout): Likewise.
33582 (grub_menu_set_timeout): Likewise.
33583 (grub_menu_execute_entry): Likewise.
33584 (grub_menu_execute_with_fallback): Likewise.
33585 (grub_menu_entry_run): Likewise.
33586 (grub_menu_addentry): Renamed from this ...
33587 (grub_normal_add_menu_entry): ... to this.
33588
33589 * normal/main.c (grub_menu_addentry): Renamed from this ...
33590 (grub_normal_add_menu_entry): ... to this.
33591
33592 * script/sh/execute.c (grub_script_execute_menuentry): Update
33593 reference to renamed grub_menu_addentry function.
33594
861f03a5 335952009-05-23 Felix Zielcke <fzielcke@z-51.de>
33596
33597 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33598
96b1619a 335992009-05-22 Pavel Roskin <proski@gnu.org>
33600
bf6a5fb2 33601 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33602 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33603 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33604 compiling for the i386 targets, but not for the utilities.
33605
96b1619a 33606 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33607 to grub_uint8_t.
33608 (grub_root_drive): Likewise.
33609 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33610 remove alignment.
33611 (grub_root_drive): Change size to byte.
33612 (grub_start_addr): Remove.
33613 (grub_end_addr): Likewise.
33614 (grub_apm_bios_info): Likewise.
33615
b729776b 336162009-05-21 Felix Zielcke <fzielcke@z-51.de>
33617
33618 * normal/i386: Remove.
33619 * normal/powerpc: Likewise.
33620 * normal/sparc64: Likewise.
33621 * normal/x86_64: Likewise.
33622
0a15ce80 336232009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33624
33625 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33626 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33627 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33628
33db9015 336292009-05-18 Colin D Bennett <colin@gibibit.com>
33630
d6da58e6 33631 Display error messages when parsing a Lua statement fails.
33632 Previously, executing a syntactically invalid statement like
33633 ")foo" or "bar;" would silently fail.
33db9015 33634
33635 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33636 (grub_lua_parse_line): Improved reporting of Lua parser and
33637 execution errors.
33db9015 33638
46422c89 336392009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33640
33641 Remove -Werror which causes build to fail on some systems
33642
33643 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33644 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33645 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33646
22f53a96 336472009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33648
33649 trampoline for linux on 64-bit platform
33650
18f547ad 33651 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33652 loader/i386/efi/linux_trampoline.S
33653 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33654 declaration
d6da58e6 33655 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33656 here
22f53a96 33657 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33658 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33659 trampoline
22f53a96 33660 (jumpvector): removed
33661 (grub_linux_trampoline_start): new declaration
33662 (grub_linux_trampoline_end): likewise
33663 (grub_linux_boot): use trampoline when on 64-bit platform
33664 * loader/i386/linux.c: likewise
33665
cb5a0f40 336662009-05-16 Pavel Roskin <proski@gnu.org>
33667
33668 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33669 const to avoid a warning.
33670 (grub_lua_setenv): Likewise.
33671 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33672 lmsg to fix a warning.
33673
334f2c28 336742009-05-16 Felix Zielcke <fzielcke@z-51.de>
33675
33676 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33677 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33678 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33679 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33680 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33681 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33682 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33683 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33684
59e5d3ec 336852009-05-16 Felix Zielcke <fzielcke@z-51.de>
33686
33687 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33688
9d87a1ba 336892009-05-16 Bean <bean123ch@gmail.com>
33690
33691 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33692 (lua_mod_SOURCES): New variable.
33693 (lua_mod_CFLAGS): Likewise.
33694 (lua_mod_LDFLAGS): Likewise.
33695
33696 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33697 (setjmp_mod_SOURCES): New variable.
33698 (setjmp_mod_CFLAGS): Likewise.
33699 (setjmp_LDFLAGS): Likewise.
33700
33701 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33702 (setjmp_mod_SOURCES): New variable.
33703 (setjmp_mod_CFLAGS): Likewise.
33704 (setjmp_LDFLAGS): Likewise.
33705
33706 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33707 (setjmp_mod_SOURCES): New variable.
33708 (setjmp_mod_CFLAGS): Likewise.
33709 (setjmp_LDFLAGS): Likewise.
33710
33711 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33712 (setjmp_mod_SOURCES): New variable.
33713 (setjmp_mod_CFLAGS): Likewise.
33714 (setjmp_LDFLAGS): Likewise.
33715
33716 * normal/i386/setjmp.S: Moved from here ...
33717 * lib/i386/setjmp.S: ... Moved here
33718 * normal/x86_64/setjmp.S: Moved from here ...
33719 * lib/x86_64/setjmp.S: ... Moved here
33720 * normal/powerpc/setjmp.S: Moved from here ...
33721 * lib/powerpc/setjmp.S: ... Moved here
33722 * normal/sparc64/setjmp.S: Moved from here ...
33723 * lib/sparc64/setjmp.S: ... Moved here
33724
33725 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33726 returns_twice in mingw.
33727
33728 * script/lua/grub_lib.c: New file.
33729 * script/lua/grub_lib.h: Likewise.
33730 * script/lua/grub_lua.h: Likewise.
33731 * script/lua/grub_main.c: Likewise.
33732 * script/lua/lapi.c: Likewise.
33733 * script/lua/lapi.h: Likewise.
33734 * script/lua/lauxlib.c: Likewise.
33735 * script/lua/lauxlib.h: Likewise.
33736 * script/lua/lbaselib.c: Likewise.
33737 * script/lua/lcode.c: Likewise.
33738 * script/lua/lcode.h: Likewise.
33739 * script/lua/ldblib.c: Likewise.
33740 * script/lua/ldebug.c: Likewise.
33741 * script/lua/ldebug.h: Likewise.
33742 * script/lua/ldo.c: Likewise.
33743 * script/lua/ldo.h: Likewise.
33744 * script/lua/ldump.c: Likewise.
33745 * script/lua/lfunc.c: Likewise.
33746 * script/lua/lfunc.h: Likewise.
33747 * script/lua/lgc.c: Likewise.
33748 * script/lua/lgc.h: Likewise.
33749 * script/lua/linit.c: Likewise.
33750 * script/lua/liolib.c: Likewise.
33751 * script/lua/llex.c: Likewise.
33752 * script/lua/llex.h: Likewise.
33753 * script/lua/llimits.h: Likewise.
33754 * script/lua/lmathlib.c: Likewise.
33755 * script/lua/lmem.c: Likewise.
33756 * script/lua/lmem.h: Likewise.
33757 * script/lua/loadlib.c: Likewise.
33758 * script/lua/lobject.c: Likewise.
33759 * script/lua/lobject.h: Likewise.
33760 * script/lua/lopcodes.c: Likewise.
33761 * script/lua/lopcodes.h: Likewise.
33762 * script/lua/loslib.c: Likewise.
33763 * script/lua/lparser.c: Likewise.
33764 * script/lua/lparser.h: Likewise.
33765 * script/lua/lstate.c: Likewise.
33766 * script/lua/lstate.h: Likewise.
33767 * script/lua/lstring.c: Likewise.
33768 * script/lua/lstring.h: Likewise.
33769 * script/lua/lstrlib.c: Likewise.
33770 * script/lua/ltable.c: Likewise.
33771 * script/lua/ltable.h: Likewise.
33772 * script/lua/ltablib.c: Likewise.
33773 * script/lua/ltm.c: Likewise.
33774 * script/lua/ltm.h: Likewise.
33775 * script/lua/lua.h: Likewise.
33776 * script/lua/luaconf.h: Likewise.
33777 * script/lua/lualib.h: Likewise.
33778 * script/lua/lundump.c: Likewise.
33779 * script/lua/lundump.h: Likewise.
33780 * script/lua/lvm.c: Likewise.
33781 * script/lua/lvm.h: Likewise.
33782 * script/lua/lzio.c: Likewise.
33783 * script/lua/lzio.h: Likewise.
33784
5e898c9d 337852009-05-16 Bean <bean123ch@gmail.com>
33786
33787 * include/grub/kernel.h (grub_module_header_types): Add type
33788 OBJ_TYPE_CONFIG.
33789
33790 * kern/main.c (grub_load_config): New function.
33791 (grub_main): Call grub_load_config to read boot config.
33792
33793 * grub-mkimage (generate_image): New parameter config_path.
33794 (options): New option --config.
33795 (main): Parse --config option, and pass it to generate_image.
33796
cf353a47 337972009-05-14 Christian Franke <franke@computer.org>
33798
33799 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33800 This fixes build on Cygwin.
33801
3834887f 338022009-05-14 Pavel Roskin <proski@gnu.org>
33803
33804 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33805 jump. This saves two bytes, so the typical case of 2 swapped
33806 drives would fit 32 bytes.
33807
8090fc01 338082009-05-13 Pavel Roskin <proski@gnu.org>
33809
ac963883 33810 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33811 grub_uint32_t to avoid a warning.
33812
8090fc01 33813 * loader/i386/linux.c (allocate_pages): When assigning
33814 real_mode_mem, cast through grub_size_t to fix a warning. The
33815 code already makes sure that the value would fit a pointer.
33816 (grub_linux_setup_video): Cast render_target->data to
33817 grub_size_t to fix a warning.
33818
18f547ad 338192009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33820
33821 * commands/i386/pc/drivemap.c: New file - implement drivemap
33822 command.
33823 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33824 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33825
6f6a8b28 338262009-05-13 Pavel Roskin <proski@gnu.org>
33827
33828 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33829 embedding_area_exists.
33830
15fbf4c4 338312009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33832
33833 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33834 it easier to understand / work with.
59978c8a 33835 Improve warning messages for cases where there's no embedding area,
33836 or when it is too small (or core.img too large).
15fbf4c4 33837
238e871f 338382009-05-13 Pavel Roskin <proski@gnu.org>
33839
0ab3a9a4 33840 * loader/i386/pc/multiboot2.c: Add necessary includes for
33841 grub_multiboot2_real_boot().
33842
a2c8c5f8 33843 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33844 PX record is always little-endian. We only need the lower 2
33845 bytes of the mode.
33846
faec96af 33847 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33848 facilitate code reuse.
33849 (grub_cpio_mount): Use "struct head", not a char buffer. This
33850 fixes a warning reported by gcc 4.4.
33851
238e871f 33852 * kernel/disk.c (grub_disk_read): Use void pointer for the
33853 buffer.
33854 (grub_disk_write): Use const void pointer for the buffer.
33855 Adjust all callers. Remove unnecessary casts.
33856
901d2f0c 338572009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33858
33859 * util/i386/pc/grub-install.in: Update copyright year.
33860
18f547ad 338612009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33862
33863 gptsync
33864
33865 * commands/gptsync.c: new file
33866 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33867 (gptsync_mod_SOURCES): new variable
33868 (gptsync_mod_CFLAGS): likewise
33869 (gptsync_mod_LDFLAGS): likewise
18f547ad 33870 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33871 new definition
33872 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33873 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33874 * conf/i386-ieee1275.rmk: likewise
33875 * conf/i386-pc.rmk: likewise
33876 * conf/powerpc-ieee1275.rmk: likewise
33877
b4ba690a 338782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 Fixed grub-emu
33881
33882 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33883 (grub_dl_ref): likewise
33884
317e1a44 338852009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33886
33887 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33888 split in two functions (one for msdos and one for gpt).
33889
041b8094 338902009-05-08 Pavel Roskin <proski@gnu.org>
33891
752473c2 33892 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33893 not modified.
33894
041b8094 33895 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33896 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33897 Initialize them with -1. Add sanity check for bad1. Eliminate
33898 nerr variable.
33899
172800ce 339002009-05-08 David S. Miller <davem@davemloft.net>
33901
33902 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33903
29aa5e81 339042009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33905
33906 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33907 existence.
29aa5e81 33908
96613b62 339092009-05-05 Felix Zielcke <fzielcke@z-51.de>
33910
33911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33912 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33913
eef73c8a 339142009-05-05 David S. Miller <davem@davemloft.net>
33915
33916 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33917
119494b5 339182009-05-05 Pavel Roskin <proski@gnu.org>
33919
33920 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33921 of grub_dl_ref() and grub_dl_unref().
33922 * commands/parttool.c: Remove preprocessor conditionals around
33923 grub_dl_ref() and grub_dl_unref().
33924 * fs/affs.c: Likewise.
33925 * fs/afs.c: Likewise.
33926 * fs/cpio.c: Likewise.
33927 * fs/ext2.c: Likewise.
33928 * fs/fat.c: Likewise.
33929 * fs/hfs.c: Likewise.
33930 * fs/hfsplus.c: Likewise.
33931 * fs/iso9660.c: Likewise.
33932 * fs/jfs.c: Likewise.
33933 * fs/minix.c: Likewise.
33934 * fs/ntfs.c: Likewise.
33935 * fs/reiserfs.c: Likewise.
33936 * fs/sfs.c: Likewise.
33937 * fs/udf.c: Likewise.
33938 * fs/ufs.c: Likewise.
33939 * fs/xfs.c: Likewise.
33940 * include/grub/dl.h: Likewise.
33941 * loader/xnu.c: Likewise.
33942
de5fd76e 339432009-05-04 Pavel Roskin <proski@gnu.org>
33944
33945 * commands/acpi.c: Remove unused variable my_mod.
33946 * partmap/amiga.c: Likewise.
33947 * partmap/apple.c: Likewise.
33948 * partmap/gpt.c: Likewise.
33949 * partmap/pc.c: Likewise.
33950 * partmap/sun.c: Likewise.
33951 * term/gfxterm.c: Likewise.
33952 * term/i386/pc/vesafb.c: Likewise.
33953 * term/i386/pc/vga.c: Likewise.
33954
983598ad 339552009-05-04 David S. Miller <davem@davemloft.net>
33956
33957 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33958 pointer args to grub_ieee1275_get_property().
33959
8aadec43 33960 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33961
9554b15e 33962 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33963 devices, and do not traverse down under controller nodes.
33964
67e23c90 33965 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33966 (grub_ofdisk_open): Use it to un-escape "," characters.
33967 * kern/disk.c (find_part_sep): New.
33968 (grub_disk_open): Use it to find the first non-escaped ','
33969 character in the disk name.
33970 * util/ieee1275/devicemap.c (escape_of_path): New.
33971 (grub_util_emit_devicemap_entry): Use it.
33972 * util/sparc64/ieee1275/grub-install.in: Update script to
33973 strip partition specifiers properly by not triggering on
33974 '\' escaped ',' characters.
33975
74bfdd2f 339762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33977
33978 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33979 to 0x300.
33980 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33981 resolutions.
33982 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33983 on documentation from Wikipedia).
33984
4241d2b1 339852009-05-04 Pavel Roskin <proski@gnu.org>
33986
33987 * disk/ata.c: Spelling fixes.
33988 * disk/raid.c: Likewise.
33989 * disk/usbms.c: Likewise.
33990 * disk/dmraid_nvidia.c: Likewise.
33991 * kern/ieee1275/openfw.c: Likewise.
33992 * kern/ieee1275/init.c: Likewise.
33993 * kern/ieee1275/cmain.c: Likewise.
33994 * boot/i386/pc/cdboot.S: Likewise.
33995 * video/readers/png.c: Likewise.
33996 * video/i386/pc/vbe.c: Likewise.
33997 * fs/udf.c: Likewise.
33998 * fs/hfs.c: Likewise.
33999 * fs/reiserfs.c: Likewise.
34000 * efiemu/runtime/efiemu.c: Likewise.
34001 * efiemu/main.c: Likewise.
34002 * efiemu/mm.c: Likewise.
34003 * include/grub/elf.h: Likewise.
34004 * include/grub/xnu.h: Likewise.
34005 * include/grub/usbdesc.h: Likewise.
34006 * include/grub/usb.h: Likewise.
34007 * include/grub/script_sh.h: Likewise.
34008 * include/grub/lib/LzmaEnc.h: Likewise.
34009 * include/grub/efiemu/efiemu.h: Likewise.
34010 * include/grub/command.h: Likewise.
34011 * normal/menu.c: Likewise.
34012 * normal/main.c: Likewise.
34013 * normal/datetime.c: Likewise.
34014 * bus/usb/uhci.c: Likewise.
34015 * mmap/i386/uppermem.c: Likewise.
34016 * mmap/mmap.c: Likewise.
34017 * commands/acpi.c: Likewise.
34018 * commands/test.c: Likewise.
34019 * partmap/apple.c: Likewise.
34020 * font/font.c: Likewise.
34021 * loader/sparc64/ieee1275/linux.c: Likewise.
34022 * loader/macho.c: Likewise.
34023 * loader/i386/bsd_trampoline.S: Likewise.
34024 * loader/i386/bsd.c: Likewise.
34025 * loader/xnu.c: Likewise.
34026 * term/i386/pc/vesafb.c: Likewise.
34027 * term/usb_keyboard.c: Likewise.
34028 * util/resolve.c: Likewise.
34029 * util/getroot.c: Likewise.
34030
0cfc0083 340312009-05-04 Felix Zielcke <fzielcke@z-51.de>
34032
34033 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34034
7c1d00cd 340352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34036
34037 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34038 build error.
34039
b01f0548 340402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34041
34042 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34043 parameter only available on BIOS.
34044
ecc3eb22 340452009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34046
34047 Removed wrong semicolon in declaration
34048
34049 * grub/misc.h (grub_dprintf): remove semicolon
34050
112972a9 340512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34052
34053 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34054 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34055 is done by grub_cmd_linux() now).
34056 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34057 restore video to text mode.
34058 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34059 indicates lack of "vga=" parameter. "vga=0" is mapped to
34060 `GRUB_LINUX_VID_MODE_NORMAL'.
34061
afd5c115 340622009-05-04 Felix Zielcke <fzielcke@z-51.de>
34063
34064 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34065 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34066 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34067 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34068 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34069 `grub_script.tab.c'.
34070
34071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34072 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34075 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34076
faa517ce 34077 * Makefile.in: Remove duplicated 2008 in Copyright line.
34078
ae0c0bdc 340792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34080
473d1e45 34081 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34082 unconditionally.
34083 * include/grub/util/misc.h (grub_util_warn): New declaration.
34084
34085 * util/i386/pc/grub-install.in: Understand --force and pass it down
34086 to grub-setup.
34087
34088 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34089 down to setup().
34090 (setup): Improve error messages and add warnings when requested to
34091 install in odd layouts. Refuse to install using blocklists unless
34092 --force was set.
34093
18f547ad 340942009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34095
34096 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34097
6d260daa 340982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34099
34100 Updated copyright year
34101
34102 * fs/hfsplus.c: updated copyright year
18f547ad 34103
69f853f8 341042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34105
34106 HFS+ UUID
34107
18f547ad 34108 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34109 in the space previously used by unused3
34110 (grub_hfsplus_uuid): new function
34111 (grub_hfsplus_fs): added uuid field
34112
4c402e73 341132009-05-03 Pavel Roskin <proski@gnu.org>
34114
34115 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34116 suppress warnings. It's no longer needed.
34117 * disk/host.c: Likewise.
34118 * disk/ata_pthru.c: Likewise.
34119 * disk/loopback.c: Likewise.
34120 * hook/datehook.c: Likewise.
34121 * parttool/pcpart.c: Likewise.
34122 * fs/i386/pc/pxe.c: Likewise.
34123 * fs/ntfscomp.c: Likewise.
34124 * efiemu/main.c: Likewise.
34125 * mmap/mmap.c: Likewise.
34126 * commands/crc.c: Likewise.
34127 * commands/hexdump.c: Likewise.
34128 * commands/hdparm.c: Likewise.
34129 * commands/acpi.c: Likewise.
34130 * commands/echo.c: Likewise.
34131 * commands/minicmd.c: Likewise.
34132 * commands/blocklist.c: Likewise.
34133 * commands/memrw.c: Likewise.
34134 * commands/loadenv.c: Likewise.
34135 * commands/usbtest.c: Likewise.
34136 * commands/lsmmap.c: Likewise.
34137 * commands/boot.c: Likewise.
34138 * commands/parttool.c: Likewise.
34139 * commands/configfile.c: Likewise.
34140 * commands/search.c: Likewise.
34141 * commands/ieee1275/suspend.c: Likewise.
34142 * commands/cat.c: Likewise.
34143 * commands/i386/pc/pxecmd.c: Likewise.
34144 * commands/i386/pc/play.c: Likewise.
34145 * commands/i386/pc/halt.c: Likewise.
34146 * commands/i386/pc/vbeinfo.c: Likewise.
34147 * commands/i386/pc/vbetest.c: Likewise.
34148 * commands/lspci.c: Likewise.
34149 * commands/date.c: Likewise.
34150 * commands/handler.c: Likewise.
34151 * commands/ls.c: Likewise.
34152 * commands/test.c: Likewise.
34153 * commands/cmp.c: Likewise.
34154 * commands/efi/loadbios.c: Likewise.
34155 * commands/efi/fixvideo.c: Likewise.
34156 * commands/halt.c: Likewise.
34157 * commands/help.c: Likewise.
34158 * commands/reboot.c: Likewise.
34159 * hello/hello.c: Likewise.
34160 * script/sh/main.c: Likewise.
34161 * loader/xnu.c: Likewise.
34162 * term/terminfo.c: Likewise.
34163 * term/i386/pc/serial.c: Likewise.
34164 * term/usb_keyboard.c: Likewise.
34165
515b5079 341662009-05-03 David S. Miller <davem@davemloft.net>
34167
34168 * normal/menu.c: Include grub/parser.h
34169
dfc31a22 341702009-05-03 Pavel Roskin <proski@gnu.org>
34171
2fee74f1 34172 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34173 not char*.
34174 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34175 Suggested by Javier Martín <lordhabbit@gmail.com>
34176
dfc31a22 34177 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34178 efiemu??.o doesn't exist.
34179 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34180 copying.
34181
18f547ad 341822009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34183
34184 FreeBSD 64-bit support
34185
18f547ad 34186 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34187 and loader/i386/bsd_trampoline.S
34188 (bsd_mod_ASFLAGS): new variable
34189 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34190 (FREEBSD_MODTYPE_KERNEL64): likewise
34191 (grub_bsd64_trampoline_start): likewise
34192 (grub_bsd64_trampoline_end): likewise
34193 (grub_bsd64_trampoline_selfjump): likewise
34194 (grub_bsd64_trampoline_gdt): likewise
34195 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34196 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34197 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34198 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34199 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34200 of "attrib" member
34201 * loader/i386/bsd_pagetable.c: new file
34202 * loader/i386/bsd_trampoline.S: likewise
34203 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34204 (ALIGN_VAR): likewise
34205 (entry_hi): new variable
34206 (kern_end_mdofs): likewise
34207 (is_64bit): likewise
34208 (grub_freebsd_add_meta): use ALIGN_VAR
34209 (grub_e820_mmap): new declaration
34210 (grub_freebsd_add_mmap): new function
34211 (grub_freebsd_add_meta_module): support 64 bit kernels
34212 (grub_freebsd_list_modules): use ALIGN_VAR
34213 (gdt_descriptor): new declaration
34214 (grub_freebsd_boot): support 64 bit kernels
34215 (grub_bsd_elf64_hook): new function
34216 (grub_bsd_load_elf): support elf64
34217
038c5720 342182009-05-03 Bean <bean123ch@gmail.com>
34219
34220 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34221 after we get the result of if statement.
34222
fc45fb58 342232009-05-03 Bean <bean123ch@gmail.com>
34224
34225 * Makefile.in (enable_efiemu): New variable.
34226
34227 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34228 set.
34229 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34230 path.
34231 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34232 path, add -mno-red-zone option.
34233 (efiemu64_s.o): Likewise.
34234 (efiemu64.o): Use macro $^ for source file.
34235
34236 * configure.ac (--enable-efiemu): New option.
34237
bbee0f2b 342382009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34239
34240 xnu support
34241
34242 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34243 (pkglib_MODULES): add xnu.mod
34244 (xnu_mod_SOURCES): new variable
34245 (xnu_mod_CFLAGS): likewise
34246 (xnu_mod_LDFLAGS): likewise
34247 (xnu_mod_ASFLAGS): likewise
34248 * conf/i386-pc.rmk: likewise
34249 * conf/x86_64-efi.rmk: likewise
7dd4a573 34250 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34251 new declaration
34252 * include/grub/i386/macho.h: new file
34253 * include/grub/i386/xnu.h: likewise
34254 * include/grub/macho.h: likewise
34255 * include/grub/machoload.h: likewise
34256 * include/grub/x86_64/macho.h: likewise
34257 * include/grub/x86_64/xnu.h: likewise
34258 * include/grub/xnu.h: likewise
34259 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34260 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34261 * loader/i386/efi/xnu.c: new file
34262 * loader/i386/pc/xnu.c: likewise
34263 * loader/i386/xnu.c: likewise
34264 * loader/i386/xnu_helper.S: likewise
34265 * loader/macho.c: likewise
34266 * loader/xnu.c: likewise
34267 * loader/xnu_resume.c: likewise
34268 * util/grub-dumpdevtree: likewise
34269 * include/grub/i386/pit.h: include grub/err.h
34270 (grub_pit_wait): export
34271 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34272
5caf964d 342732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34274
34275 Efiemu
7dd4a573 34276
5caf964d 34277 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34278 _linux_efi, linux_efi.
34279 new files in grub-emu
5caf964d 34280 new targets efiemu32.o and efiemu64.o
34281 * loader/linux_normal_efiemu.c: likewise
34282 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34283 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34284 files to copy
34285 * include/grub/autoefi.h: new file
7dd4a573 34286 * include/grub/i386/efiemu.h: likewise
5caf964d 34287 * include/grub/i386/pc/efiemu.h: likewise
34288 * include/grub/efi/api.h: add LL suffix when necessary
34289 new definitions relating to tables
34290 * include/grub/efiemu/efiemu.h: new file
34291 * include/grub/efiemu/runtime.h: likewise
34292 * efiemu/prepare.c: likewise
34293 * efiemu/loadcore_common.c: likewise
34294 * efiemu/loadcore64.c: likewise
34295 * efiemu/runtime/efiemu.sh: likewise
34296 * efiemu/runtime/efiemu.S: likewise
34297 * efiemu/runtime/efiemu.c: likewise
34298 * efiemu/runtime/config.h: likewise
34299 * efiemu/prepare32.c: likewise
34300 * efiemu/main.c: likewise
34301 * efiemu/modules/pnvram.c: likewise
34302 * efiemu/modules/i386: likewise
34303 * efiemu/modules/i386/pc: likewise
34304 * efiemu/modules/acpi.c: likewise
34305 * efiemu/i386/pc/cfgtables.c: likewise
34306 * efiemu/i386/loadcore64.c: likewise
34307 * efiemu/i386/loadcore32.c: likewise
34308 * efiemu/prepare64.c: likewise
34309 * efiemu/loadcore.c: likewise
34310 * efiemu/symbols.c: likewise
34311 * efiemu/mm.c: likewise
34312 * efiemu/loadcore32.c: likewise
7dd4a573 34313
343142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34315
34316 ACPI spoofing
34317
34318 * commands/acpi.c: new file
34319 * commands/i386/pc/acpi.c: likewise
34320 * commands/efi/acpi.c: likewise
34321 * include/grub/acpi.h: likewise
34322 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34323 (acpi_mod_SOURCES): new variable
34324 (acpi_mod_CFLAGS): likewise
34325 (acpi_mod_LDFLAGS): likewise
34326 * conf/i386-efi.rmk: likewise
34327 * conf/x86_64-efi.rmk: likewise
34328
7dd4a573 343292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34330
34331 Missing part from mmap patch
34332
34333 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34334 (grub_mmap_unregister)
34335 (grub_mmap_free_and_unregister): use grub_mmap_register
34336
7dd4a573 343372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34338
34339 Mmap services
34340
34341 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34342 * loader/i386/linux.c (find_mmap_size): likewise
34343 (allocate_pages): likewise
34344 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34345 (grub_fill_multiboot_mmap): likewise
34346 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34347 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34348 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34349 (OPENBSD_MMAP_RESERVED): likewise
34350 * include/grub/i386/pc/memory.h: include grub/memory.h
34351 (grub_lower_mem): removed
34352 (grub_upper_mem): likewise
34353 (GRUB_MACHINE_MEMORY_ACPI): new definition
34354 (GRUB_MACHINE_MEMORY_NVS): likewise
34355 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34356 (GRUB_MACHINE_MEMORY_HOLE): likewise
34357 (grub_machine_mmap_register): likewise
34358 (grub_machine_mmap_unregister): likewise
34359 (grub_machine_get_upper): likewise
34360 (grub_machine_get_lower): likewise
34361 (grub_machine_get_post64): likewise
34362 * include/grub/i386/efi/memory.h: new file
34363 * include/grub/x86_64/efi/memory.h: likewise
34364 * include/grub/efi/memory.h: likewise
34365 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34366 (mmap_mod_SOURCES): new variable
34367 (mmap_mod_LDFLAGS): likewise
34368 (mmap_mod_ASFLAGS): likewise
34369 * conf/i386-coreboot.rmk: likewise
34370 * conf/i386-ieee1275.rmk: likewise
34371 * conf/i386-efi.rmk: likewise
34372 * conf/x86_64-efi.rmk: likewise
34373 * include/grub/types.h (UINT_TO_PTR): new macro
34374 (PTR_TO_UINT32): likewise
34375 (PTR_TO_UINT64): likewise
34376 * include/grub/memory.h: new file
34377 * mmap/i386/pc/mmap.c: likewise
34378 * mmap/i386/pc/mmap_helper.S: likewise
34379 * mmap/i386/uppermem.c: likewise
34380 * mmap/mmap.c: likewise
34381 * mmap/efi/mmap.c: likewise
7dd4a573 34382 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34383 grub_upper_mem
34384 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34385 (grub_upper_mem): likewise
34386 (grub_machine_init): don't use grub_upper_mem,
34387 make grub_lower_mem local
34388 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34389 grub_mmap_iterate and grub_mmap_get_upper
34390 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34391
d558e6b5 343922009-05-02 Bean <bean123ch@gmail.com>
34393
34394 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34395 script/sh/parser.y.
34396 (pkglib_MODULES): Add normal.mod and sh.mod.
34397 (normal_SOURCES): New variable.
34398 (normal_mod_CFLAGS): Likewise.
34399 (normal_mod_LDFLAGS): Likewise.
34400 (sh_mod_SOURCES): Likewise.
34401 (sh_mod_CFLAGS): Likewise.
34402 (sh_mod_LDFLAGS): Likewise.
34403
34404 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34405 script/sh/lexer.c_DEPENDENCIES.
34406 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34407 kern/rescue_reader.c and kern/rescue_parser.c.
34408 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34409 (grub_emu_SOURCES): Change source files.
34410 (pkglib_MODULES): Remove normal.mod.
34411 (normal_SOURCES): Removed.
34412 (normal_mod_CFLAGS): Likewise.
34413 (normal_mod_LDFLAGS): Likewise.
34414 * conf/i386-coreboot.rmk: Likewise.
34415 * conf/i386-efi.rmk: Likewise.
34416 * conf/i386-ieee1276.rmk: Likewise.
34417 * conf/powerpc-ieee1275.rmk: Likewise.
34418 * conf/sparc64-ieee1275.rmk: Likewise.
34419 * conf/x86_64-efi.rmk: Likewise.
34420
34421 * include/grub/command.h (grub_command_execute): New inline function.
34422
34423 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34424
34425 * include/grub/normal.h: Remove <grub/setjmp.h>.
34426 (grub_fs_module_list): Moved to normal/autofs.c.
34427 (grub_exit_env): Removed.
34428 (grub_command_execute): Likewise.
34429 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34430 parameter script.
34431 (read_command_list): New function declaration.
34432 (read_fs_list): Likewise.
34433
34434 * include/parser.h: Include <grub/reader.h>.
34435 (grub_parser_split_cmdline): Change type of getline parameter.
34436 (grub_parser): New structure.
34437 (grub_parser_class): New variable.
34438 (grub_parser_execute): New function declaration.
34439 (grub_register_rescue_parser): Likewise.
34440 (grub_parser_register): New inline function.
34441 (grub_parser_unregister): Likewise.
34442 (grub_parser_get_current): Likewise.
34443 (grub_parser_set_current): Likewise.
34444
34445 * include/grub/reader.h: New file.
34446 * kern/reader.c: Likewise.
34447 * kern/rescue_parser.c: Likewise.
34448 * kern/rescue_reader.c: Likewise.
34449 * normal/autofs.c: Likewise.
34450 * normal/dyncmd.c: Likewise.
34451
34452 * include/grub/rescue.h: Removed.
34453 * normal/command.h: Likewise.
34454
34455 * include/grub/script.h: Moved to ...
34456 * include/grub/script_sh.h: ... Moved here.
34457 * normal/execute.c: Moved to ...
34458 * script/sh/execute.c: ... Moved here.
34459 * normal/function.c: Moved to ...
34460 * script/sh/function.c: ... Moved here.
34461 * normal/lexer.c: Moved to ...
34462 * script/sh/lexer.c: ... Moved here.
34463 * normal/parser.y: Moved to ...
34464 * script/sh/parser.y: ... Moved here.
34465 * normal/script.c: Moved to ...
34466 * script/sh/script.c: ... Moved here.
34467
34468 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34469 <grub/reader.h>.
34470 (grub_exit_env): Removed.
34471 (fs_module_list): Moved to normal/autofs.c.
34472 (grub_file_getline): Don't handle comment here.
34473 (free_menu): Skip removed field entry->commands.
34474 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34475 script parameter.
34476 (read_config_file): Removed nested parameter, change getline function.
34477 (grub_enter_normal_mode): Removed.
34478 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34479 (read_command_list): Likewise.
34480 (autoload_fs_module): Moved to normal/autofs.c.
34481 (read_fs_list): Likewise.
34482 (reader_nested): New variable.
34483 (grub_normal_execute): Run parser.sh to switch to sh parser.
34484 (grub_cmd_rescue): Removed.
34485 (cmd_normal): Removed.
34486 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34487 rescue command.
34488 (grub_cmdline_run): New function.
34489 (grub_normal_reader_init): Likewise.
34490 (grub_normal_read_line): Likewise.
34491 (grub_env_write_pager): Likewise.
34492 (cmdline): New variable.
34493 (grub_normal_reader): Likewise.
34494 (GRUB_MOD_INIT): Register normal reader and set as current, register
34495 pager hook, register normal command with grub_register_command_prio,
34496 so that it won't show up in command.lst.
34497 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34498 grub_fs_autoload_hook.
34499
34500 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34501 (grub_menu_execute_entry): Replace grub_script_execute with
34502 grub_parser_execute, change parameter to grub_command_execute.
34503
34504 * normal/menu_text.c: Remove <grub/script.h>.
34505
34506 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34507 and <grub/parser.h>.
34508 (run): Change editor_getline to use new parser interface. Change
34509 parameter to grub_command_execute.
34510
34511 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34512 <grub/reader.h> and <grub/parser.h>.
34513 (grub_load_normal_mode): Execute normal command.
34514 (grub_main): Call grub_register_core_commands,
34515 grub_register_rescue_parser and grub_register_rescue_reader, use
34516 grub_reader_loop to enter input loop.
34517
7dd4a573 34518 * kern/parser.c (grub_parser_split_cmdline): Change type of
34519 getline parameter.
d558e6b5 34520 (grub_parser_class): New variable.
34521 (grub_parser_execute): New function.
34522
34523 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34524 * loader/multiboot2.c: Likewise.
34525 * loader/sparc64/ieee1275/linux.c: Likewise.
34526
34527 * util/grub-emu.c (read_command_list): New dummy function.
34528
18db813d 345292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34530
34531 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34532 count to 16 for CCISS and IDA.
34533
6c67de15 345342009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34535
34536 * normal/menu_text.c (grub_wait_after_message): Print a newline
34537 after waiting for user input.
34538
34539 * loader/i386/linux.c: Include `<grub/normal.h>'.
34540 (grub_cmd_linux): Improve the error message about `ask' mode, by
34541 waiting for user input so it's not missed (we can do this, since
34542 user requested interaction).
34543
d9dc87b0 345442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34545
34546 Added missing lst to grub-mkrescue
34547
34548 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34549 and ${input_dir}/parttool.lst
34550
ac8a2baa 345512009-04-30 David S. Miller <davem@davemloft.net>
34552
ad22a610 34553 * util/hostdisk.c (device_is_wholedisk): New function.
34554 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34555 zero only if device_is_wholedisk() returns true.
34556
6966215d 34557 * util/hostdisk.c (convert_system_partition_to_system_disk):
34558 Handle virtual disk devices named /dev/vdiskX as found on sparc
34559 and powerpc.
34560
ac8a2baa 34561 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34562 lettered partition specifier is found, convert to numbered.
34563
979b4fb4 345642009-04-29 David S. Miller <davem@davemloft.net>
34565
e2bf39b2 34566 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34567 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34568
3c64e104 34569 * normal/command.c: Add missing newline at end of file.
34570
979b4fb4 34571 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34572 warnings.
34573 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34574 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34575 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34576 ihandles have a 32-bit type but need to be stored in a "void *".
34577
136d9f82 345782009-04-28 Pavel Roskin <proski@gnu.org>
34579
9459c306 34580 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34581 not disk. Adjust all dependencies.
2e08a26a 34582 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34583 grub_disk_close().
34584
136d9f82 34585 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34586 parent's partition, don't copy it by reference, as it gets freed
34587 on close.
34588
7dd4a573 345892009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34590
34591 Preboot hooks support
34592
34593 * commands/boot.c (struct grub_preboot_t): new declaration
34594 (preboots_head): new variable
34595 (preboots_tail): likewise
34596 (grub_loader_register_preboot_hook): new function
34597 (grub_loader_unregister_preboot_hook): likewise
34598 (grub_loader_set): launch preboot hooks
34599 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34600 (grub_loader_register_preboot_hook): new declaration
34601 (grub_loader_unregister_preboot_hook): likewise
34602
5af922b5 346032009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34604
34605 Warning fix
34606
7dd4a573 34607 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34608 calling grub_dprintf
34609
a5562c30 346102009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34611
34612 Bug and warning fixes
34613
7dd4a573 34614 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34615 declaration
34616 * commands/test.c (test_parse): fixed bug with file tests and corrected
34617 declaration of find_file
34618
4006f85c 346192009-04-26 Pavel Roskin <proski@gnu.org>
34620
34621 * Makefile.in: Don't install empty manual pages if help2man is
34622 missing. Use help2man option for output, not shell redirection.
34623
5c77c3de 346242009-04-26 David S. Miller <davem@davemloft.net>
34625
34626 * util/grub-mkdevicemap.c (make_device_map): Add missing
34627 NESTED_FUNC_ATTR to process_device().
34628
033b10a8 346292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34630
34631 Test command
34632
34633 * commands/test.c: rewritten to use bash-like test
34634
e4343593 346352009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34636
34637 Parttool autoloading and improvements
34638
7dd4a573 34639 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34640 (parttool.lst): new target
34641 * genmk.rb: generate parttool-*
34642 (CLEANFILES): add #{parttool}
34643 (PARTTOOLFILES): new variable
34644 * genparttoollist.sh: new file
7dd4a573 34645 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34646 (grub_pcpart_type): likewise
34647 * commands/parttool.c (helpmsg): new variable
34648 (grub_cmd_parttool): output help if not enough arguments are supplied
34649 autoload modules
34650 (GRUB_MOD_INIT(parttool)): use helpmsg
34651
0d312500 346522009-04-24 David S. Miller <davem@davemloft.net>
34653
7dd4a573 34654 Avoiding opening same device multiple times in device iterator.
0d312500 34655
34656 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34657 and use it to build a list of partitions in iterate_disk() and
0d312500 34658 iterate_partition().
34659
ac20caff 34660 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34661 on disk->data.
34662
0dcf7495 34663 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34664 grub_devalias_iterate() result instead of unconditional 0.
34665 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34666 Also, capture hook return value, either directly or via
34667 grub_children_iterate(), and propagate to caller.
34668 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34669 grub_children_iterate): Return value is now 'int' instead of
34670 'grub_err_t'.
34671 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34672 like a proper iterator, stopping when hooks return non-zero.
34673 (grub_devalias_iterate): Likewise.
34674
c8c08833 346752009-04-23 David S. Miller <davem@davemloft.net>
34676
34677 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34678
f01005a8 346792009-04-22 David S. Miller <davem@davemloft.net>
34680
34681 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34682 is larger than address_cells, use that value for address_cells too.
34683
4e8269da 34684 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34685 IEEE1275_MAX_PATH_LEN): Define.
34686 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34687 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34688 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34689 'devtype'. Explicitly NULL terminate devalias expansion.
34690
a1447506 34691 * util/sparc64/ieee1275/misc.c: New file.
34692 * util/sparc64/ieee1275/grub-setup.c: New file.
34693 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34694 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34695 * util/sparc64/ieee1275/grub-install.in: New file.
34696 * util/ieee1275/ofpath.c: New file.
34697 * util/ieee1275/devicemap.c: New file.
34698 * util/devicemap.c: New file.
34699 * util/deviceiter.c: New file.
34700 * kern/sparc64/ieee1275/init.c: New file.
34701 * include/grub/util/ofpath.h: New file.
34702 * include/grub/util/deviceiter.h: New file.
34703 * util/grub-mkdevicemap.c: Include deviceiter.h.
34704 Implement using grub_util_emit_devicemap_entry and
34705 grub_util_iterate_devices.
34706 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34707 util/devicemap.c into grub-mkdevicemap
34708 * conf/i386-efi.rmk: Likewise.
34709 * conf/i386-ieee1275.rmk: Likewise.
34710 * conf/i386-pc.rmk: Likewise.
34711 * conf/powerpc-ieee1275.rmk: Likewise.
34712 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34713 images and installation utilities. Build kernel as image
34714 instead of as elf binary. Use common rules as much as possible.
34715
7dd4a573 347162009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34717
34718 Correct GPT definition
34719
7dd4a573 34720 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34721 of "attrib" member
34722
c6c5219f 347232009-04-19 Felix Zielcke <fzielcke@z-51.de>
34724
34725 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34726
0552ff9f 347272009-04-19 David S. Miller <davem@davemloft.net>
34728
34729 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34730 (grub_rescue_cmd_linux): Rename to...
34731 (grub_cmd_linux): and fix prototype.
34732 (grub_rescue_cmd_initrd): Rename to...
34733 (grub_cmd_initrd): and fix prototype.
34734 (cmd_linux, cmd_initrd): New.
34735 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34736 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34737
d1a282fc 347382009-04-17 Pavel Roskin <proski@gnu.org>
34739
07c5039f 34740 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34741 format.
34742 (grub_ohci_transfer): Likewise.
34743
b012002d 34744 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34745
1bc09c35 34746 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34747 return without a value. Fix inconsistent indentation.
34748
e0ff9126 34749 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34750 match struct grub_fs.
34751
d1a282fc 34752 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34753 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34754 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34755 * commands/lspci.c (grub_lspci_iter): Likewise.
34756
a96df3f2 347572009-04-16 Bean <bean123ch@gmail.com>
34758
34759 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34760 value.
34761
41bb0fe9 347622009-04-15 Pavel Roskin <proski@gnu.org>
34763
34764 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34765 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34766 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34767 definitions.
34768
596c6970 347692009-04-15 Felix Zielcke <fzielcke@z-51.de>
34770
34771 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34772 that no multiple data or metadata areas are supported and `Unknown
596c6970 34773 metadata header'.
34774
7dd4a573 347752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34776
34777 Move loader out of the kernel
34778
34779 * kern/loader.c: moved to ...
34780 * commands/boot.c: ... moved here
34781 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34782 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34783 * include/grub/kernel.h (grub_machine_fini): export
34784 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34785 (grub_loader_set): likewise
34786 (grub_loader_unset): likewise
34787 (grub_loader_boot): likewise
34788 * conf/common.rmk: new module boot.mod
34789 (pkglib_MODULES): add boot.mod
34790 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34791 (grub_emu_SOURCES): likewise
34792 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34793 (grub_emu_SOURCES): likewise
34794 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34795 (grub_emu_SOURCES): likewise
34796 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34797 (grub_emu_SOURCES): likewise
34798 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34799 (grub_emu_SOURCES): likewise
7dd4a573 34800 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34801 (grub_emu_SOURCES): likewise
0d5d5653 34802 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34803 (grub_emu_SOURCES): likewise
0d5d5653 34804
7dd4a573 348052009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34806
34807 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34808
5999d619 34809 * kern/misc.c (grub_itoa): Removed function
34810 (grub_ltoa): likewise
34811 (grub_vsprintf): use grub_lltoa
34812
7dd4a573 348132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34814
34815 Restore grub-emu
34816
34817 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34818 * conf/i386-coreboot.rmk: likewise
34819 * conf/i386-ieee1275.rmk: likewise
34820 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34821
20318222 348222009-04-15 Felix Zielcke <fzielcke@z-51.de>
34823
34824 * INSTALL: Add that `./autogen.sh' needs to be run before
34825 `./configure.'.
34826
d05f0df3 348272009-04-14 Bean <bean123ch@gmail.com>
34828
34829 * Makefile.in (pkglib_DATA): Add handler.lst.
34830 (handler.lst): New rule.
34831
34832 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34833 * conf/i386-coreboot.rmk: Likewise.
34834 * conf/i386-ieee1275.rmk: Likewise.
34835 * conf/i386-efi.rmk: Likewise.
34836 * conf/x86_64-efi.rmk: Likewise.
34837 * conf/powerpc-ieee1275.rmk: Likewise.
34838 * conf/sparc64-ieee1275.rmk: Likewise.
34839
34840 * genhandlerlist.sh: New file.
34841
34842 * genmk.rb: Add rules to generate handler.lst.
34843
34844 * include/grub/normal.h (grub_file_getline): New function definition.
34845 (read_handler_list): Likewise.
34846 (free_handler_list): Likewise.
34847
34848 * include/grub/term.h (grub_term_register_input): Add name parameter
34849 for auto generation of handler.lst.
34850 (grub_term_register_output): Likewise.
34851
34852 * normal/handler.c: New file.
34853
34854 * normal/main.c (get_line): Renamed to grub_file_getline.
34855 (read_config_file): Use the newly renamed grub_file_getline.
34856 (read_command_list): Likewise.
34857 (read_fs_list): Likewise.
34858 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34859 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34860
34861 * term/efi/console.c (grub_console_init): Add name parameter for auto
34862 generation of handler.lst.
34863 * term/gfxterm.c: Likewise.
34864 * term/i386/pc/at_keyboard.c: Likewise.
34865 * term/i386/pc/console.c: Likewise.
34866 * term/i386/pc/serial.c: Likewise.
34867 * term/i386/pc/vesafb.c: Likewise.
34868 * term/i386/pc/vga.c: Likewise.
34869 * term/i386/pc/vga_text.c: Likewise.
34870 * term/ieee1275/ofconsole.c: Likewise.
34871 * term/usb_keyboard.c: Likewise.
34872
33c846be 348732009-04-14 Bean <bean123ch@gmail.com>
34874
34875 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34876 properly with null character.
34877
4484e01e 348782009-04-14 Felix Zielcke <fzielcke@z-51.de>
34879
34880 * configure: Remove.
34881 * config.h.in: Likewise.
f93d668e 34882 * stamp-h.in: Likewise.
4484e01e 34883 * DISTLIST: Likewise.
34884 * conf/common.mk: Likewise.
34885 * conf/i386-coreboot.mk: Likewise.
34886 * conf/i386-efi.mk: Likewise.
34887 * conf/i386-ieee1275.mk: Likewise.
34888 * conf/i386.mk: Likewise.
34889 * conf/i386-pc.mk: Likewise.
34890 * conf/powerpc-ieee1275.mk: Likewise.
34891 * conf/sparc64-ieee1275.mk: Likewise.
34892 * conf/x86_64-efi.mk: Likewise.
34893
34894 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34895 develop on GRUB.
34896
7dd4a573 348972009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34898 David S. Miller <davem@davemloft.net>
34899
34900 * util/hostdisk.c (make_device_name): Fix buffer length
34901 calculations.
34902
e25b5a8c 349032009-04-14 Felix Zielcke <fzielcke@z-51.de>
34904
34905 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34906 <sys/param.h> and <sys/sysctl.h>.
34907 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34908 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34909 opening the device and reset them afterwards.
34910
1f1f580c 349112009-04-13 Pavel Roskin <proski@gnu.org>
34912
34913 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34914 Reported by John Stanley <jpsinthemix@verizon.net>
34915
7ebc2d6b 349162009-04-13 Robert Millan <rmh@aybabtu.com>
34917
34918 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34919 that name for menuentries when appropriate.
7ebc2d6b 34920
d8ba3667 349212009-04-13 Felix Zielcke <fzielcke@z-51.de>
34922
34923 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34924
cba416eb 349252009-04-13 Robert Millan <rmh@aybabtu.com>
34926
34927 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34928 to Linux, simply abort telling the user it's no longer supported.
34929
a547a745 349302009-04-13 Felix Zielcke <fzielcke@z-51.de>
34931
34932 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34933 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34934 `freebsd_loadenv' only when devices.hints exist.
34935
232a769c 349362009-04-13 Pavel Roskin <proski@gnu.org>
34937
34938 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34939
c3012039 349402009-04-13 Felix Zielcke <fzielcke@z-51.de>
34941
34942 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34943 partition number.
34944 (grub_drive): Likewise.
34945
234022fe 349462009-04-13 David S. Miller <davem@davemloft.net>
34947
34948 * kern/sparc64/ieee1275/ieee1275.c: New file.
34949 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34950 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34951 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34952 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34953 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34954 grub_ieee1275_alloc_physmem): Declare new exported functions.
34955
d8e1836c 34956 * include/grub/sparc64/ieee1275/loader.h: New file.
34957 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34958 * include/grub/sparc64/kernel.h: Likewise.
34959 * loader/sparc64/ieee1275/linux.c: Likewise.
34960
96bd81ec 34961 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34962 (grub_fstest_SOURCES): Likewise.
34963
6a4737e5 34964 * util/hostdisk.c (make_device_name): Do not make any assumptions
34965 about the length of drive names.
34966
1d7a72fd 34967 * kern/dl.c (grub_dl_load_file): Close file immediately when
34968 we are done using it.
34969
56bc2471 349702009-04-12 David S. Miller <davem@davemloft.net>
34971
34972 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34973 values. Noticed by Pavel Roskin.
34974
df38d0bb 34975 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34976 target compiler.
7dd4a573 34977
e382e93a 34978 * genmk.rb: Add more flexible image type specification, also
34979 pass --strip-unneeded to objcopy.
34980 * conf/i386-pc.rmk: Use *_FORMAT.
34981 * conf/i386-pc.mk: Rebuilt.
34982
f5dbbca9 34983 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34984 (OFDISK_HASH_SZ): Define.
34985 (ofdisk_hash): New hash table.
34986 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34987 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34988 instead of device phandle which is not unique.
34989
91c88b12 34990 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34991 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34992 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34993 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34994 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34995 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34996 GRUB_KERNEL_MACHINE_DATA_END): Define.
34997 (grub_kernel_image_size, grub_total_module_size): Declare.
34998
5b5d4aa5 349992009-04-12 Pavel Roskin <proski@gnu.org>
35000
7dd4a573 35001 * configure.ac: Change the logic when we check for target tools.
35002 Do it when the target is specified and it's different from the
35003 specified value of the host.
5b5d4aa5 35004
c91e1793 350052009-04-11 Felix Zielcke <fzielcke@z-51.de>
35006
35007 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35008 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35009 GNU/kFreeBSD. Check if a device is a character device. Use
35010 DIOCGMEDIASIZE to get the size.
35011 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35012 support for GNU/kFreeBSD.
35013 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35014 is a character device instead of a block device. Add support for
35015 FreeBSD device names.
35016
35017 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35018 is a character device instead of a block device.
35019
35020 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35021 is a character device instead of a block device.
35022
b1ac8644 350232009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35024
35025 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35026 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35027 FreeBSD. Check if a device is a character device. Use
35028 DIOCGMEDIASIZE to get the size.
35029 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35030 support for FreeBSD.
35031 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35032 is a character device instead of a block device. Add support for
35033 FreeBSD device names.
35034
35035 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35036 a character device instead of a block device.
35037 (grub_util_check_char_device): New function.
35038
35039 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35040 a character device instead of a block device.
35041
35042 * include/grub/util/getroot.h (grub_util_check_char_device): New
35043 prototype.
35044
a3f7515a 350452009-04-11 David S. Miller <davem@davemloft.net>
35046
35047 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35048 static libgcc.
35049 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35050 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35051 function, if present.
35052 (__bswapdi2): Likewise.
35053
0d44993d 35054 * include/grub/sparc64/ieee1275/boot.h: New file.
35055 * boot/sparc64/ieee1275/boot.S: Likewise.
35056 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35057
ed3d2bc2 35058 * kern/misc.c (grub_ltoa): New function.
35059 (grub_vsprintf): Use it to format 'long' integers.
35060
d3bfb59c 350612009-04-10 David S. Miller <davem@davemloft.net>
35062
35063 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35064 slots are of type grub_ieee1275_cell_t.
35065 (grub_nand_read): Likewise.
35066 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35067 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35068 macros are used to compare values in arg/ret block of the call.
35069 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35070 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35071 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35072 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35073 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35074 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35075 grub_ieee1275_close, grub_ieee1275_set_property,
35076 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35077 grub_ieee1275_cell_t.
35078 * kern/ieee1275/openfw.c (grub_map): Likewise.
35079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35080 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35081
450e2238 35082 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35083 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35084 (grub_devalias_iterate): Likewise.
35085
7dd4a573 350862009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35087
35088 UFS improvements
35089
35090 * fs/ufs.c (INODE_NBLOCKS): new definition
35091 (struct grub_ufs_dirent): added fields for non-BSD dirents
35092 (grub_ufs_get_file_block): fixed double indirect handling
35093 (grub_ufs_lookup_symlink): use more robust way to determine whether
35094 symlink is inline
35095 (grub_ufs_find_file): support for non-BSD dirents
35096 (grub_ufs_dir): support for non-BSD dirents
35097
e7e6862a 350982009-04-10 Bean <bean123ch@gnail.com>
35099
35100 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35101 attribute, otherwise the size would be wrong for i386 platform.
35102
35103 * include/grub/pci.h (grub_pci_read_word): New inline function.
35104 (grub_pci_read_byte): Likewise.
35105 (grub_pci_write): Likewise.
35106 (grub_pci_write_word): Likewise.
35107 (grub_pci_write_byte): Likewise.
35108
35109 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35110
35111 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35112 (find_framebuf): Scan pci to locate the frame buffer address.
35113
35114 * commands/efi/fixvideo.c: New file.
35115
35116 * commands/efi/loadbios.c: Likewise.
35117
35118 * commands/memrw.c: Likewise.
35119
35120 * util/grub-dumpbios.in: Likewise.
35121
35122 * conf/common.rmk (grub-dumpbios): New utility.
35123 (pkglib_MODULES): New module memrw.mod.
35124 (memrw_mod_SOURCE): New macro.
35125 (memrw_mod_CFLAGS): Likewise.
35126 (memrw_mod_LDFLAGS): Likewise.
35127
7dd4a573 35128 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35129 fixvideo.mod.
35130 (loadbios_mod_SOURCE): New macro.
35131 (loadbios_mod_CFLAGS): Likewise.
35132 (loadbios_mod_LDFLAGS): Likewise.
35133 (fixvideo_mod_SOURCE): Likewise.
35134 (fixvideo_mod_CFLAGS): Likewise.
35135 (fixvideo_mod_LDFLAGS): Likewise.
35136
7dd4a573 35137 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35138 fixvideo.mod.
35139 (loadbios_mod_SOURCE): New macro.
35140 (loadbios_mod_CFLAGS): Likewise.
35141 (loadbios_mod_LDFLAGS): Likewise.
35142 (fixvideo_mod_SOURCE): Likewise.
35143 (fixvideo_mod_CFLAGS): Likewise.
35144 (fixvideo_mod_LDFLAGS): Likewise.
35145
af63ada2 351462009-04-08 Felix Zielcke <fzielcke@z-51.de>
35147
35148 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35149
c2cdde70 351502009-04-07 David S. Miller <davem@davemloft.net>
35151
35152 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35153 support for R_SPARC_OLO10 relocations. Fix compile warning for
35154 R_SPARC_WDISP30 case.
ea3f72cf 35155 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35156
761319cf 351572009-04-06 Pavel Roskin <proski@gnu.org>
35158
1007d1f5 35159 * include/grub/misc.h (ARRAY_SIZE): New macro.
35160 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35161 New macro.
35162 * loader/i386/linux.c (allocate_pages): Use free_pages().
35163 (grub_linux_unload): Don't use free_pages().
35164 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35165 wrong index. Treat all other modes as text modes.
35166 (grub_cmd_linux): Initialize vid_mode unconditionally to
35167 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35168
761319cf 35169 * commands/help.c (print_command_help): Use cmd->prio, not
35170 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35171
ea761d40 351722009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35173
ea761d40 35174 Parttool
35175
35176 * parttool/pcpart.c: new file
35177 * commands/parttool.c: likewise
35178 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35179 (parttool_mod_SOURCES): new variable
35180 (parttool_mod_CFLAGS): likewise
35181 (parttool_mod_LDFLAGS): likewise
35182 (pcpart_mod_SOURCES): likewise
35183 (pcpart_mod_CFLAGS): likewise
35184 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35186 and parttool/pcpart.c
35187 * conf/i386-efi.rmk: likewise
35188 * conf/i386-ieee1275.rmk: likewise
35189 * conf/i386-pc.rmk: likewise
35190 * conf/powerpc-ieee1275.rmk: likewise
35191 * conf/sparc64-ieee1275.rmk: likewise
35192 * conf/x86_64-ieee1275.rmk: likewise
35193
05aaebfb 351942009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35195
35196 Support for mtime and further expandability of dir command
35197
35198 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35199 * include/grub/datetime.h: ... moved here and added
05aaebfb 35200 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35201 * include/grub/fs.h: new syntax for dir and mtime functions in
35202 struct grub_fs
05aaebfb 35203 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35204 and GRUB_FSHELP_FLAGS_MASK
35205 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35206 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35207 (grub_ext2_mtime): new function
35208 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35209 (grub_hfsplus_mtime): new function
35210 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35211 (GRUB_UFS_ATTR_FILE): likewise
35212 (GRUB_UFS_ATTR_LNK): likewise
35213 (struct grub_ufs_sblock): new fields mtime
35214 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35215 all users updated
35216 (grub_ufs_dir): mtime support
35217 (grub_ufs_mtime): new function
35218 * fs/affs.c (grub_affs_dir): use new dir syntax
35219 * fs/afs.c (grub_afs_dir): likewise
35220 * fs/cpio.c (grub_cpio_dir): likewise
35221 * fs/fat.c (grub_fat_find_dir): likewise
35222 * fs/hfs.c (grub_hfs_dir): likewise
35223 * fs/iso9660.c (grub_iso9660_dir): likewise
35224 * fs/jfs.c (grub_jfs_dir): likewise
35225 * fs/minix.c (grub_minix_dir): likewise
35226 * fs/ntfs.c (grub_ntfs_dir): likewise
35227 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35228 * fs/sfs.c (grub_sfs_dir): likewise
35229 * fs/xfs.c (grub_xfs_dir): likewise
35230 * util/hostfs.c (grub_hostfs_dir): likewise
35231 * lib/datetime.c: moved to ...
35232 * normal/datetime.c: ... moved here
35233 (grub_unixtime2datetime): new function
35234 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35235 * normal/completion.c (iterate_dir): use new dir syntax
35236 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35237 last modification time of a volume
7dd4a573 35238 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35239 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35240 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35241 (normal_mod_SOURCES): likewise
35242 (datetime_mod_SOURCES): Removed lib/datetime.c
35243 * conf/i386-efi.rmk: likewise
7dd4a573 35244 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35245 * conf/i386-pc.rmk: likewise
35246 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35247 * conf/sparc64-ieee1275.rmk: likewise
35248 * conf/x86_64-efi.rmk: likewise
05aaebfb 35249
8a7e1a14 352502009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35251
35252 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35253
35254 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35255 on grub_fat_find_dir
35256 (grub_fat_find_dir): use grub_fat_iterate_dir
35257 (grub_fat_label): likewise
35258
04186a9c 352592009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35260
7dd4a573 35261 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35262 and command.h
35263 remove extraneous kernel_elf_HEADERS
35264
da4c0bb6 352652009-04-04 Bean <bean123ch@gnail.com>
35266
35267 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35268
35269 * util/misc.c: Likewise.
35270
54ad9555 352712009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35272
35273 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35274 instead of grub_printf.
35275
7a6bf9f2 352762009-04-03 Robert Millan <rmh@aybabtu.com>
35277
35278 * loader/i386/linux.c (grub_linux_setup_video): Fill
35279 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35280 values from `mode info' structure instead of hardcoded
35281 values.
35282
3fcc2083 352832009-04-01 Pavel Roskin <proski@gnu.org>
35284
35285 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35286 unused now.
35287 * genmk.rb: Likewise.
35288 * configure.ac: Likewise.
35289
5ec9740b 352902009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35291
35292 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35293 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35294
5270cec8 352952009-04-01 David S. Miller <davem@davemloft.net>
35296
35297 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35298 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35299 (grub_setjmp): Mark with 'returns_twice' attribute.
35300 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35301 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35302 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35303
9c3dd854 353042009-04-01 Robert Millan <rmh@aybabtu.com>
35305
35306 Reapply fix from 2008-07-28 which was accidentally reverted; also
35307 perform the same fix to a similar check in same function.
35308
35309 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35310 with the same number are found, just use issue a warning with
35311 grub_dprintf(), as this error has been reported to be non-fatal.
35312
0d818b7e 353132009-03-31 Pavel Roskin <proski@gnu.org>
35314
35315 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35316 for cross-compilation.
35317
95646d92 353182009-03-30 Robert Millan <rmh@aybabtu.com>
35319
35320 Fix i386-ieee1275 build.
35321
35322 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35323 Remove declaration.
35324
6a003ed1 353252009-03-30 Pavel Roskin <proski@gnu.org>
35326
35327 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35328 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35329 zero-terminated, rely only on the strlen value. Fix comparison
35330 of strings differing in length.
35331
92f33540 353322009-03-30 Robert Millan <rmh@aybabtu.com>
35333
35334 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35335 checking for abi version. Improve error messages on BIOS to notify
35336 user about `linux16' command.
35337
a8c48fd5 353382009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35339
f968172e 35340 Leak fixes
a8c48fd5 35341
f968172e 35342 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35343 in case of collision
35344 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35345
9c323f09 353462009-03-29 Robert Millan <rmh@aybabtu.com>
35347
35348 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35349 set `vid_mode' accordingly.
35350 (grub_linux_boot): Process `vid_mode' and set video mode.
35351
ae68f423 353522009-03-29 Robert Millan <rmh@aybabtu.com>
35353
35354 * util/grub.d/10_linux.in (linux_entry): New function.
35355 Factorize generation of Linux boot entries.
35356
5709cfc4 353572009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35358
35359 Make the format of Environment Block plain text. The boot loader
35360 part is not tested well yet.
7dd4a573 35361
5709cfc4 35362 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35363 (buffer): Removed.
35364 (envblk): Likewise.
35365 (usage): Remove "info" and "clear". Add "unset". Update the
35366 description of "set", as this does not delete variables any
35367 longer.
35368 (create_envblk_file): Complete rewrite.
35369 (open_envblk_file): Likewise.
35370 (cmd_info): Removed.
35371 (cmd_list): Likewise.
35372 (cmd_set): Likewise.
35373 (cmd_clear): Likewise.
35374 (list_variables): New function.
35375 (write_envblk): Likewise.
35376 (set_variables): Likewise.
35377 (unset_variables): Likewise.
35378 (main): Complete rewrite.
35379
35380 * commands/loadenv.c (buffer): Removed.
35381 (envblk): Likewise.
35382 (open_envblk_file): New function.
35383 (read_envblk_file): Complete rewrite.
35384 (grub_cmd_load_env): Likewise.
35385 (grub_cmd_list_env): Likewise.
35386 (struct blocklist): New struct.
35387 (free_blocklists): New function.
35388 (check_blocklists): Likewise.
35389 (write_blocklists): Likewise.
35390 (grub_cmd_save_env): Complete rewrite.
35391
35392 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35393 a plain text signature.
35394 (GRUB_ENVBLK_MAXLEN): Removed.
35395 (struct grub_envblk): Complete rewrite.
35396 (grub_envblk_find): Removed.
35397 (grub_envblk_insert): Likewise.
35398 (grub_envblk_open): New prototype.
35399 (grub_envblk_set): Likewise.
35400 (grub_envblk_delete): Put const to VALUE.
35401 (grub_envblk_iterate): Put const to NAME and VALUE.
35402 (grub_envblk_close): New prototype.
35403 (grub_envblk_buffer): New inline function.
35404 (grub_envblk_size): Likewise.
35405
35406 * lib/envblk.c: Include grub/mm.h.
35407 (grub_env_find): Removed.
35408 (grub_envblk_open): New function.
35409 (grub_envblk_close): Likewise.
35410 (escaped_value_len): Likewise.
35411 (find_next_line): Likewise.
35412 (grub_envblk_insert): Removed.
35413 (grub_envblk_set): New function.
35414 (grub_envblk_delete): Complete rewrite.
35415 (grub_envblk_iterate): Likewise.
35416
a9368fd3 354172009-03-28 Robert Millan <rmh@aybabtu.com>
35418
35419 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35420 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35421 variables. Use 16-bit loader.
35422 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35423 loader.
35424 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35425 (grub_linux16_boot): ... this. Update all users.
35426 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35427 (grub_linux_boot): ... this. Update all users.
35428
35429 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35430 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35431 commands to `linux16' and `initrd16'.
35432 (GRUB_MOD_FINI(linux)): Rename to ...
35433 (GRUB_MOD_FINI(linux16)): ... this.
35434
e4dd5a7e 354352009-03-24 Pavel Roskin <proski@gnu.org>
35436
35437 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35438 not just for compilation.
35439
c04d6e05 354402009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35441
35442 Move multiboot helper out of kernel
35443
35444 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35445 `loader/i386/multiboot_helper.S'.
35446 * conf/i386-coreboot.rmk: Likewise
35447 * conf/i386-ieee1275.rmk: Likewise
35448
35449 * kern/i386/loader.S: Move multiboot helpers from here...
35450 * loader/i386/multiboot_helper.S: ...moved here
35451 * include/grub/i386/loader.h: Move declarations of multiboot
35452 helpers from here...
35453 * include/grub/i386/multiboot.h: ...moved here
35454 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35455
42a5b3fc 354562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35457
35458 * kern/env.c (grub_env_context_open): Added an argument to specify
35459 whether a new context inherits exported variables from current
35460 one. This is useful when making a sandbox to interpret a config
35461 file.
35462 All callers updated.
35463
35464 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35465
b28bbc4e 354662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35467
35468 * kern/env.c (grub_env_context_close): Fix memory leaks.
35469
f04f02e4 354702009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35471
35472 * normal/main.c (grub_normal_execute): Added an argument
35473 BATCH to specify if an interactive interface should be provided
35474 after reading a config file.
35475 All callers updated.
35476 (read_command_list): Prevent being executed twice.
35477 (read_fs_list): Likewise.
35478
42a5b3fc 35479 * include/grub/normal.h (grub_normal_execute): Updated the
35480 prototype.
f04f02e4 35481
41473ac2 354822009-03-22 Pavel Roskin <proski@gno.org>
35483
fbc00b0c 35484 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35485 _start.
35486 * kern/i386/pc/startup.S: Likewise.
35487 * kern/i386/efi/startup.S: Likewise.
35488 * kern/i386/ieee1275/startup.S: Likewise.
35489 * kern/i386/coreboot/startup.S: Likewise.
35490 * kern/x86_64/efi/startup.S: Likewise.
35491
41473ac2 35492 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35493 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35494 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35495
2274cc8f 354962009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35497
35498 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35499
35500 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35501 limit detection.
35502 Use vaddr of correct segment for entry_point.
35503
b1b797cb 355042009-03-21 Bean <bean123ch@gmail.com>
35505
35506 * commands/blocklist.c: Add include file <grub/command.h>, remove
35507 <grub/normal.h> and <grub/arg.h>.
35508 (grub_cmd_blocklist): Use the new command interface.
35509 (GRUB_MOD_INIT): Likewise.
35510 (GRUB_MOD_FINI): Likewise.
35511 * commands/boot.c: Likewise.
35512 * commands/cat.c: Likewise.
35513 * commands/cmp.c: Likewise.
35514 * commands/configfile.c: Likewise.
35515 * commands/crc.c: Likewise.
35516 * commands/echo.c: Likewise.
35517 * commands/halt.c: Likewise.
35518 * commands/handler.c: Likewise.
35519 * commands/hdparm.c: Likewise.
35520 * commands/help.c: Likewise.
35521 * commands/hexdump.c: Likewise.
35522 * commands/loadenv.c: Likewise.
35523 * commands/ls.c: Likewise.
35524 * commands/lsmmap.c: Likewise.
35525 * commands/lspci.c: Likewise.
35526 * commands/loadenv.c: Likewise.
35527 * commands/read.c: Likewise.
35528 * commands/reboot.c: Likewise.
35529 * commands/search.c: Likewise.
35530 * commands/sleep.c: Likewise.
35531 * commands/test.c: Likewise.
35532 * commands/usbtest.c: Likewise.
35533 * commands/videotest.c: Likewise.
35534 * commands/i386/cpuid.c: Likewise.
35535 * commands/i386/pc/halt.c: Likewise.
35536 * commands/i386/pc/play.c: Likewise.
35537 * commands/i386/pc/pxecmd.c: Likewise.
35538 * commands/i386/pc/vbeinfo.c: Likewise.
35539 * commands/i386/pc/vbetest.c: Likewise.
35540 * commands/ieee1275/suspend.c: Likewise.
35541 * disk/loopback.c: Likewise.
35542 * font/font_cmd.c: Likewise.
35543 * hello/hello.c: Likewise.
35544 * loader/efi/appleloader.c: Likewise.
35545 * loader/efi/chainloader.c: Likewise.
35546 * loader/i386/bsd.c: Likewise.
35547 * loader/i386/efi/linux.c: Likewise.
35548 * loader/i386/ieee1275/linux.c: Likewise.
35549 * loader/i386/linux.c: Likewise.
35550 * loader/i386/pc/chainloader.c: Likewise.
35551 * loader/i386/pc/linux.c: Likewise.
35552 * loader/powerpc/ieee1275/linux.c: Likewise.
35553 * loader/multiboot_loader.c: Likewise.
35554 * term/gfxterm.c: Likewise.
35555 * term/i386/pc/serial.c: Likewise.
35556 * term/terminfo.c: Likewise.
35557
35558 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35559 * term/i386/pc/vga.c: Likewise.
35560 * video/readers/jpeg.c: Likewise.
35561 * video/readers/png.c: Likewise.
35562 * video/readers/tga.c: Likewise.
35563
35564 * util/grub-fstest (cmd_loopback): Removed.
35565 (cmd_blocklist): Likewise.
35566 (cmd_ls): Likewise.
35567 (grub_register_command): Likewise.
35568 (grub_unregister_command): Likewise.
35569 (execute_command): Use grub_command_find to locate command and execute
35570 it.
35571
35572 * include/grub/efi/chainloader.h: Removed.
35573 * loader/efi/chainloader_normal.c: Likewise.
35574 * loader/i386/bsd_normal.c: Likewise.
35575 * loader/i386/pc/chainloader_normal.c: Likewise.
35576 * loader/i386/pc/multiboot_normal.c: Likewise.
35577 * loader/linux_normal.c: Likewise.
35578 * loader/multiboot_loader_normal.c: Likewise.
35579 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35580
35581 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35582 and grub_register_command_p1.
35583
35584 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35585 kern/command.c, lib/arg.c and commands/extcmd.c.
35586 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35587 (minicmd_mod_SOURCES): New variable.
35588 (minicmd_mod_CFLAGS): Likewise.
35589 (minicmd_mod_LDFLAGS): Likewise.
35590 (extcmd_mod_SOURCES): Likewise.
35591 (extcmd_mod_CFLAGS): Likewise.
35592 (extcmd_mod_LDFLAGS): Likewise.
35593 (boot_mod_SOURCES): Removed.
35594 (boot_mod_CFLAGS): Likewise.
35595 (boot_mod_LDFLAGS): Likewise.
35596
35597 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35598 kern/corecmd.c.
35599 (kernel_img_HEADERS): Add command.h.
35600 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35601 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35602 and lib/arg.c.
35603 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35604 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35605 remove the corresponding normal mode command.
35606 (normal_mod_SOURCES): Remove normal/arg.c.
35607 * conf/i386-coreboot.rmk: Likewise.
35608 * conf/i386-efi.rmk: Likewise.
35609 * conf/i386-ieee1275.rmk: Likewise.
35610 * conf/powerpc-ieee1275.rmk: Likewise.
35611 * conf/x86_64-efi.rmk: Likewise.
35612
35613 * include/grub/arg.h: Move from here ...
35614 * include/grub/lib/arg.h: ... to here.
35615
35616 * normal/arg.c: Move from here ...
35617 * lib/arg.c: ... to here.
35618
35619 * commands/extcmd.c: New file.
35620 * commands/minicmd.c: Likewise.
35621 * include/grub/command.h: Likewise.
35622 * include/grub/extcmd.h: Likewise.
35623 * kern/command.c: Likewise.
35624 * kern/corecmd.c: Likewise.
35625
35626 * kern/list.c (grub_list_iterate): Return int instead of void.
35627 (grub_list_insert): New function.
35628 (grub_prio_list_insert): Likewise.
35629
35630 * kern/rescue.c (grub_rescue_command): Removed.
35631 (grub_rescue_command_list): Likewise.
35632 (grub_rescue_register_command): Likewise.
35633 (grub_rescue_unregister_command): Likewise.
35634 (grub_rescue_cmd_boot): Move to minicmd.c
35635 (grub_rescue_cmd_help): Likewise.
35636 (grub_rescue_cmd_info): Likewise.
35637 (grub_rescue_cmd_boot): Likewise.
35638 (grub_rescue_cmd_testload): Likewise.
35639 (grub_rescue_cmd_dump): Likewise.
35640 (grub_rescue_cmd_rmmod): Likewise.
35641 (grub_rescue_cmd_lsmod): Likewise.
35642 (grub_rescue_cmd_exit): Likewise.
35643 (grub_rescue_print_devices): Moved to corecmd.c.
35644 (grub_rescue_print_files): Likewise.
35645 (grub_rescue_cmd_ls): Likewise.
35646 (grub_rescue_cmd_insmod): Likewise.
35647 (grub_rescue_cmd_set): Likewise.
35648 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35649 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35650 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35651 commands, remove grub_rescue_register_command calls.
b1b797cb 35652
7d074e3c 35653 * normal/command.c (grub_register_command): Removed.
b1b797cb 35654 (grub_unregister_command): Likewise.
35655 (grub_command_find): Likewise.
35656 (grub_iterate_commands): Likewise.
35657 (rescue_command): Likewise.
35658 (export_command): Moved to corecmd.c.
35659 (set_command): Removed.
35660 (unset_command): Likewise.
35661 (insmod_command): Likewise.
35662 (rmmod_command): Likewise.
35663 (lsmod_command): Likewise.
35664 (grub_command_init): Likewise.
35665
35666 * normal/completion.c (iterate_command): Use cmd->prio to check for
35667 active command.
35668 (complete_arguments): Use grub_extcmd_t structure to find options.
35669 (grub_normal_do_completion): Change function grub_iterate_commands to
35670 grub_command_iterate.
35671
35672 * normal/execute.c (grub_script_execute_cmd): No need to parse
35673 argument here.
35674
35675 * normal/main.c (grub_dyncmd_dispatcher): New function.
35676 (read_command_list): Register unload commands as dyncmd.
35677 (grub_cmd_normal): Use new command interface, register rescue,
35678 unregister normal at entry, register normal, unregister rescue at exit.
35679
35680 * include/grub/list.h (grub_list_test_t): New type.
35681 (grub_list_iterate): Return int instead of void.
35682 (grub_list_insert): New function.
35683 (GRUB_AS_NAMED_LIST_P): New macro.
35684 (GRUB_AS_PRIO_LIST): Likewise.
35685 (GRUB_AS_PRIO_LIST_P): Likewise.
35686 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35687 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35688 (grub_prio_list): New structure.
35689 (grub_prio_list_insert): New function.
35690 (grub_prio_list_remove): New inline function.
35691
35692 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35693 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35694 (GRUB_COMMAND_FLAG_MENU): Likewise.
35695 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35696 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35697 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35698 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35699 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35700 (grub_command): Likewise.
35701 (grub_register_command): Likewise.
35702 (grub_command_find): Likewise.
35703 (grub_iterate_commands): Likewise.
35704 (grub_command_init): Likewise.
35705 (grub_arg_parse): Likewise.
35706 (grub_arg_show_help): Likewise.
35707
35708 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35709 (grub_rescue_unregister_command): Likewise.
35710
35711 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35712 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35713 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35714
35715 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35716 grub_rescue_cmd_initrd.
35717 * include/grub/i386/loader.h: Likewise.
35718 * include/grub/x86_64/loader.h: Likewise.
35719
35720 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35721
1f4147aa 357222009-03-21 Bean <bean123ch@gmail.com>
35723
35724 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35725 instead of stat in mingw environment.
35726
35727 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35728
35729 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35730
35731 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35732 AC_CONFIG_LINKS.
35733
2156d5ba 357342009-03-21 Bean <bean123ch@gmail.com>
35735
35736 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35737 out of range error.
35738
177b82ca 357392009-03-18 Michel Dänzer <michel@daenzer.net>
35740
35741 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35742 checking inode flags for EXT4_EXTENTS_FLAG.
35743
14aad807 357442009-03-18 Robert Millan <rmh@aybabtu.com>
35745
35746 * loader/i386/linux.c: Include `<grub/video.h>' and
35747 `<grub/i386/pc/vbe.h>'..
35748 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35749 (grub_linux32_boot): Attempt to configure video settings with
35750 grub_linux_setup_video().
35751 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35752 to avoid grub_console_fini() which would step out of graphical mode
35753 unconditionally.
35754
8cf83a27 357552009-03-14 Robert Millan <rmh@aybabtu.com>
35756
35757 Fix build on powerpc.
35758 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35759
40164e75 357602009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35761
35762 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35763 background image command.
35764
c58bc32a 357652009-03-12 Colin D Bennett <colin@gibibit.com>
35766
35767 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35768 (grub_gfxterm_putchar): Extract pairs of identical calls to
35769 draw_cursor out of conditional blocks.
35770
5415144a 357712009-03-11 Pavel Roskin <proski@gnu.org>
35772
35773 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35774 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35775
6394042e 357762009-03-11 Robert Millan <rmh@aybabtu.com>
35777
35778 * loader/i386/multiboot_elfxx.c
35779 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35780
b7b50e5f 357812009-03-11 Felix Zielcke <fzielcke@z-51.de>
35782
35783 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35784 `kern/handler.c'.
35785
1ca7fc96 357862009-03-11 Robert Millan <rmh@aybabtu.com>
35787
35788 * loader/i386/multiboot.c (code_size): New variable.
35789 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35790 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35791 4-byte alignment to MBI and others by increasing
7d074e3c 35792 `boot_loader_name_length' appropriately.
1ca7fc96 35793
35794 * loader/i386/multiboot_elfxx.c
35795 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35796
a83ea1d2 357972009-03-09 Felix Zielcke <fzielcke@z-51.de>
35798
35799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35800 `fs/ext2.c'.
35801
aa9f3bff 358022009-03-08 Robert Millan <rmh@aybabtu.com>
35803
35804 Make loader/i386/linux.c usable on i386-pc again.
35805
35806 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35807 memory to heap.
35808 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35809 `#error' stanza.
35810
d8b3b60e 358112009-03-07 Bean <bean123ch@gmail.com>
35812
35813 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35814 allocation.
35815
b362c9e9 358162009-03-06 Robert Millan <rmh@aybabtu.com>
35817
35818 Fix display issue on terminals with screen size other than 80x25
35819 (e.g. gfxterm with resolution higher than 640x480).
35820
35821 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35822 position relative to the center of the terminal instead of relying
b362c9e9 35823 on a hardcoded offset.
35824
9304eef1 358252009-03-04 Robert Millan <rmh@aybabtu.com>
35826
35827 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35828 installed.
35829
35830 * Makefile.in (host_kernel): New variable.
35831 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35832 scripts instead of just the windows one.
35833 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35834
eabc95fb 358352009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35836
35837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35838 `kern/handler.c'.
35839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35840 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35843 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35844 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35845
ceb1223c 358462009-03-04 Felix Zielcke <fzielcke@z-51.de>
35847
35848 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35849 or if there's no space for the disk label and print the partition number on a
35850 invalid magic.
35851
4910684a 358522009-03-04 Felix Zielcke <fzielcke@z-51.de>
35853
35854 * util/misc.c: Include <time.h>.
35855 (grub_millisleep): New function.
35856
7e9ca17a 358572009-03-04 Bean <bean123ch@gmail.com>
35858
35859 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35860 another option -mno-red-zone.
35861
35862 * commands/handler.c: Change module description.
35863
35864 * kern/handler.c: Add missing space at the end of description line.
35865
35866 * kern/list.c: Likewise.
35867
f501677c 358682009-03-03 Robert Millan <rmh@aybabtu.com>
35869
35870 Move more components to the relocation area, and fix mbi pointer
35871 handling to use the destination rather than the origin (thanks to
35872 Vladimir Serbinenko for spotting).
35873
35874 * loader/i386/multiboot.c (mbi_dest): New variable.
35875 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35876 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35877 relocation area.
35878
9902d047 358792009-03-01 Bean <bean123ch@gmail.com>
35880
50fb7002 35881 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35882 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35883 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35884 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35885
35886 * loader/i386/efi/linux.c (acpi_guid): New variable.
35887 (acpi_guid): Likewise.
35888 (EBDA_SEG_ADDR): New constant.
35889 (LOW_MEM_ADDR): Likewise.
35890 (FAKE_EBDA_SEG): Likewise.
35891 (fake_bios_data): New function.
35892 (grub_linux_boot): Call fake_bios_data.
35893
71b9f361 358942009-03-01 Bean <bean123ch@gmail.com>
35895
35896 * commands/terminal.c: Removed.
35897
35898 * commands/handler.c: New file.
35899
35900 * include/grub/list.h: Likewise.
35901
35902 * include/grub/handler.h: Likewise.
35903
35904 * kern/list.c: Likewise.
35905
35906 * kern/handler.c: Likewise.
35907
35908 * kern/term.h: Include header file <grub/handler.h>.
35909 (grub_term_input): Move next field to the beginning.
35910 (grub_term_output): Likewise.
35911 (grub_term_input_class): New variable.
35912 (grub_term_output_class): Likewise.
35913 (grub_term_register_input): Changed to inline function.
35914 (grub_term_register_output): Likewise.
35915 (grub_term_unregister_input): Likewise.
35916 (grub_term_unregister_output): Likewise.
35917 (grub_term_set_current_input): Likewise.
35918 (grub_term_set_current_output): Likewise.
35919 (grub_term_get_current_input): Likewise.
35920 (grub_term_get_current_output): Likewise.
35921 (grub_term_iterate_input): Removed.
35922 (grub_term_iterate_output): Likewise.
35923
35924 * kern/term.c (grub_term_list_input): Removed.
35925 (grub_term_list_output): Likewise.
35926 (grub_term_input_class): New variable.
35927 (grub_term_output_class): Likewise.
50fb7002 35928 (grub_cur_term_input): Change variable as macro.
71b9f361 35929 (grub_cur_term_output): Likewise.
35930 (grub_term_register_input): Removed.
35931 (grub_term_register_output): Likewise.
35932 (grub_term_unregister_input): Likewise.
35933 (grub_term_unregister_output): Likewise.
35934 (grub_term_set_current_input): Likewise.
35935 (grub_term_set_current_output): Likewise.
35936 (grub_term_iterate_input): Likewise.
35937 (grub_term_iterate_output): Likewise.
35938 (grub_term_get_current_input): Likewise.
35939 (grub_term_get_current_output): Likewise.
35940
35941 * util/grub-editenv.c: Include header file <grub/handler.h>.
35942 (grub_term_get_current_input): Removed.
35943 (grub_term_get_current_output): Likewise.
35944 (grub_term_input_class): New variable.
50fb7002 35945 (grub_term_output_class): Likewise.
71b9f361 35946
35947 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35948 (grub_term_get_current_output): Likewise.
35949 (grub_term_input_class): New variable.
50fb7002 35950 (grub_term_output_class): Likewise.
71b9f361 35951
35952 * util/grub-probe.c (grub_term_get_current_input): Removed.
35953 (grub_term_get_current_output): Likewise.
35954 (grub_term_input_class): New variable.
50fb7002 35955 (grub_term_output_class): Likewise.
71b9f361 35956
35957 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35958 (grub_term_get_current_output): Likewise.
35959 (grub_term_input_class): New variable.
50fb7002 35960 (grub_term_output_class): Likewise.
71b9f361 35961
35962 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35963 (terminal_mod_SOURCES): Likewise.
35964 (terminal_mod_CFLAGS): Likewise.
35965 (terminal_mod_LDFLAGS): Likewise.
35966
35967 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35968 handler.c.
35969 (kernel_img_SOURCES): Add list.c and handler.c.
35970 (kernel_img_HEADERS): Add list.h and handler.h.
35971
35972 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35973 handler.c.
35974 (kernel_mod_SOURCES): Add list.c and handler.c.
35975 (kernel_mod_HEADERS): Add list.h and handler.h.
35976
35977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35978 handler.c.
35979 (kernel_elf_SOURCES): Add list.c and handler.c.
35980 (kernel_elf_HEADERS): Add list.h and handler.h.
35981
35982 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35983 handler.c.
35984 (kernel_elf_SOURCES): Add list.c and handler.c.
35985 (kernel_elf_HEADERS): Add list.h and handler.h.
35986
35987 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35988 handler.c.
35989 (kernel_mod_SOURCES): Add list.c and handler.c.
35990 (kernel_mod_HEADERS): Add list.h and handler.h.
35991
35992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35993 handler.c.
35994 (kernel_elf_SOURCES): Add list.c and handler.c.
35995 (kernel_elf_HEADERS): Add list.h and handler.h.
35996
8a31787f 359972009-02-27 Robert Millan <rmh@aybabtu.com>
35998
35999 Factorize elf32 / elf64 code in Multiboot loader. This will
36000 prevent it from getting out of sync again.
36001
36002 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36003 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36004 grub_multiboot_load_elf64): Move from here ...
36005 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36006 grub_multiboot_load_elf): ... to here (new file).
36007
51cd3dfc 360082009-02-27 Robert Millan <rmh@aybabtu.com>
36009
36010 * util/grub.d/10_linux.in: Rename "single-user mode" to
36011 "recovery mode".
36012
6e8c9c3a 360132009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36014
36015 Don't leak in SCSI code.
36016 * disk/scsi.c (grub_scsi_close): free `scsi'.
36017
4b6bf4f9 360182009-02-27 Robert Millan <rmh@aybabtu.com>
36019
36020 * loader/i386/pc/multiboot.c: Move from here ...
36021 * loader/i386/multiboot.c: ... to here. Update all users.
36022
b9413424 360232009-02-27 Robert Millan <rmh@aybabtu.com>
36024
36025 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36026 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36027
50fb7002 360282009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36029
36030 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36031 b-tree.
36032
8cc50345 360332009-02-27 Robert Millan <rmh@aybabtu.com>
36034
36035 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36036 `0x' qualifier as 0 when base is specified as parameter).
36037
6e09b8b7 360382009-02-24 Bean <bean123ch@gmail.com>
36039
36040 * configure.ac: Check for -mcmodel=large in x86_64 target.
36041
36042 * include/grub/efi/api.h (efi_call_10): New macro.
36043 (efi_wrap_10): New function.
36044
36045 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36046 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36047 (GRUB_PE32_REL_BASED_LOW): Likewise.
36048 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36049 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36050 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36051 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36052 (GRUB_PE32_REL_BASED_REL): Likewise.
36053 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36054 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36055 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36056
36057 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36058 issue.
36059
36060 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36061 (efi_wrap_10): New function.
36062
36063 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36064
36065 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36066 MB/MBP model (NV chipset).
36067 (devdata_devs): Add devpath_5 to the list.
36068
36069 * load/i386/efi/linux.c (video_base): Remove variable.
36070 (RGB_MASK): New macro.
36071 (RGB_MAGIC): Likewise.
36072 (LINE_MIN): Likewise.
36073 (LINE_MAX): Likewise.
36074 (FBTEST_STEP): Likewise.
36075 (FBTEST_COUNT): Likewise.
36076 (fb_list): New variable.
36077 (grub_find_video_card): Remove function.
36078 (find_framebuf): New function.
36079 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36080 line length.
36081
36082 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36083 problem for x86_64.
36084
74b21bee 360852009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36086
36087 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36088
36089 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36090 coding tool name.
36091
a455f472 360922009-02-22 Robert Millan <rmh@aybabtu.com>
36093
36094 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36095 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36096 in our relocation, instead of using it directly from heap. Also
36097 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36098
6374daf3 360992009-02-21 Robert Millan <rmh@aybabtu.com>
36100
36101 Implement USB keyboard support (based on patch by Marco Gerards)
36102
36103 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36104 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36105 (usb_keyboard_mod_LDFLAGS): New variables.
36106
36107 * term/usb_keyboard.c: New file.
36108
8fa4ea70 361092009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36110
36111 Corrected wrong declaration
36112
36113 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36114
353976ac 361152009-02-14 Christian Franke <franke@computer.org>
36116
36117 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36118 (grub_lspci_iter): Print class code and programming interface byte.
36119
6aa1169b 361202009-02-14 Christian Franke <franke@computer.org>
36121
36122 * gendistlist.sh: Ignore `.svn' directories.
36123
265372ca 361242009-02-14 Felix Zielcke <fzielcke@z-51.de>
36125
36126 * fs/fat.c: Add 2009 to Copyright line.
36127
9ff516f3 361282009-02-14 Christian Franke <franke@computer.org>
36129
36130 * commands/hdparm.c: New file. Provides `hdparm' command
36131 which sends ATA commands via grub_disk_ata_pass_through ().
36132
36133 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36134
36135 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36136 and <grub/cpu/io.h> to include/grub/ata.h.
36137 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36138 (GRUB_CDROM_SECTOR_SIZE): Remove.
36139 (GRUB_ATA_*): Move to include/grub/ata.h.
36140 (GRUB_ATAPI_*): Likewise.
36141 (enum grub_ata_commands): Likewise.
36142 (enum grub_ata_timeout_milliseconds): Likewise.
36143 (struct grub_ata_device): Likewise.
36144 (grub_ata_regset): Likewise.
36145 (grub_ata_regget): Likewise.
36146 (grub_ata_regset2): Likewise.
36147 (grub_ata_regget2): Likewise.
36148 (grub_ata_check_ready): Likewise.
36149 (grub_ata_wait_not_busy): Remove static, exported in
36150 include/grub/ata.h.
36151 (grub_ata_wait_drq): Likewise.
36152 (grub_ata_pio_read): Likewise.
36153
36154 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36155 function for hdparm.mod.
36156
36157 * include/grub/ata.h: New file, contains declarations from
36158 disk/ata.c.
36159 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36160
36161 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36162 (grub_disk_ata_pass_through): New exported variable.
36163
36164 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36165
772e23da 361662009-02-13 Colin D Bennett <colin@gibibit.com>
36167
36168 Support multiple fallback entries, and provide an API to support
36169 executing default+fallback menu entries. Renamed the `terminal' menu
36170 viewer to `text'.
36171
36172 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36173 variable declaration.
36174 (grub_menu_execute_callback): New structure declaration.
36175 (grub_menu_execute_callback_t): New typedef.
36176 (grub_menu_execute_with_fallback): New function declaration.
36177 (grub_menu_get_entry): Likewise.
36178 (grub_menu_get_timeout): Likewise.
36179 (grub_menu_set_timeout): Likewise.
36180
36181 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36182
36183 * normal/menu.c (grub_wait_after_message): Moved to
36184 `normal/menu_text.c'.
36185 (draw_border): Likewise.
36186 (print_message): Likewise.
36187 (print_entry): Likewise.
36188 (print_entries): Likewise.
36189 (grub_menu_init_page): Likewise.
36190 (get_entry_number): Likewise.
36191 (print_timeout): Likewise.
36192 (run_menu): Likewise.
36193 (grub_menu_execute_entry): Likewise.
36194 (show_text_menu): Likewise.
36195 (get_and_remove_first_entry_number): New function.
36196 (grub_menu_execute_with_fallback): Likewise.
36197 (get_entry): Renamed to ...
36198 (grub_menu_get_entry): .. this and made it global.
36199 (get_timeout): Renamed to ...
36200 (grub_menu_get_timeout): ... this and made it global.
36201 (set_timeout): Renamed to ...
36202 (grub_menu_set_timeout): ... this and made it global.
36203 (grub_normal_terminal_menu_viewer): Renamed to ...
36204 (grub_normal_text_menu_viewer): ... this.
36205
36206 * normal/menu_text.c: New file. Extracted text-menu-specific code
36207 from normal/menu.c.
36208
36209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36210 (normal_mod_SOURCES): Likewise.
36211
36212 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36213 (normal_mod_SOURCES): Likewise.
36214
36215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36216 (normal_mod_SOURCES): Likewise.
36217
36218 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36219 (normal_mod_SOURCES): Likewise.
36220
36221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36222 (normal_mod_SOURCES): Likewise.
36223
36224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36225 (normal_mod_SOURCES): Likewise.
36226
36227 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36228 (normal_mod_SOURCES): Likewise.
36229
16ac430e 362302009-02-11 Robert Millan <rmh@aybabtu.com>
36231
36232 * util/grub.d/00_header.in: Update old reference to `font' command.
36233
06ff20fc 362342009-02-10 Felix Zielcke <fzielcke@z-51.de>
36235
36236 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36237
36238 Based on patch from Javier Martín.
36239
96da9407 362402009-02-09 Felix Zielcke <fzielcke@z-51.de>
36241
36242 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36243 to avoid false positives with FAT.
96da9407 36244 (grub_fstest_SOURCES): Likewise.
36245 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36250 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36251
6dca6fe4 362522009-02-09 Felix Zielcke <fzielcke@z-51.de>
36253
06ff20fc 36254 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36255 bpb.version_specific.fat12_or_fat16.fstype and
36256 bpb.version_specific.fat32.fstype.
36257
2550c62f 362582009-02-08 Robert Millan <rmh@aybabtu.com>
36259
be110b30 36260 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36261
56978920 362622009-02-08 Robert Millan <rmh@aybabtu.com>
36263
36264 * Makefile.in (host_os, host_cpu): New variables.
36265 (target_os): Remove. Update all users.
36266
d64399b5 362672009-02-08 Marco Gerards <marco@gnu.org>
36268
36269 * Makefile.in (enable_grub_emu_usb): New variable.
36270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36271 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36272 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36273 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36274 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36275 `usbtest.mod' and `usbms.mod'.
36276 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36277 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36278 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36279 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36280 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36281 variables.
36282
36283 * disk/usbms.c: New file.
36284
36285 * include/grub/usb.h: Likewise.
36286
36287 * include/grub/usbtrans.h: Likewise.
36288
36289 * include/grub/usbdesc.h: Likewise.
36290
36291 * bus/usb/usbtrans.c: Likewise.
36292
36293 * bus/usb/ohci.c: Likewise.
36294
36295 * bus/usb/uhci.c: Likewise.
36296
36297 * bus/usb/usbhub.c: Likewise.
36298
36299 * bus/usb/usb.c: Likewise.
36300
36301 * commands/usbtest.c: Likewise.
36302
36303 * util/usb.c: Likewise.
50fb7002 36304
d64399b5 36305 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36306
36307 * configure.ac: Test for libusb presence.
50fb7002 36308
d64399b5 36309 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36310
2b40d6bb 363112009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36312
36313 * kern/mm.c: Add more comments.
36314
73a4ce81 363152009-02-08 Robert Millan <rmh@aybabtu.com>
36316
36317 Patch from Javier Martín.
36318 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36319 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36320
f821ce59 363212009-02-08 Robert Millan <rmh@aybabtu.com>
36322
36323 * fs/cpio.c: Split tar functionality to ...
36324 * fs/tar.c: ... here (new file). Update all users.
36325
aebfc4b0 363262009-02-07 Robert Millan <rmh@aybabtu.com>
36327
36328 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36329 backward-incompatible features.
36330
36331 Based on patch from Javier Martín, with some adjustments.
36332
50fb7002 363332009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36334
36335 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36336
0bb5115e 363372009-02-07 Robert Millan <rmh@aybabtu.com>
36338
36339 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36340 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36341 after the RAID stuff.
36342
38a0f8e7 363432009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36344
50fb7002 36345 Fixes problem when running vbetest command as reported by
38a0f8e7 36346 Vladimir Serbinenko <phcoder@gmail.com>.
36347
36348 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36349
3143cc1c 363502009-02-04 Felix Zielcke <fzielcke@z-51.de>
36351
36352 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36353 /dev/md/NpN style mdraid devices.
36354
9cba6fce 363552009-02-03 Felix Zielcke <fzielcke@z-51.de>
36356
36357 * util/unifont2pff.rb: Remove.
36358
e507a2c1 363592009-02-03 Felix Zielcke <fzielcke@z-51.de>
36360
36361 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36362 `#'.
36363
d2c2b4cd 363642009-02-03 Felix Zielcke <fzielcke@z-51.de>
36365
36366 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36367 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36368 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36369 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36371 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36373
b4315fb0 363742009-02-02 Christian Franke <franke@computer.org>
36375
36376 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36377
de3aa260 363782009-02-01 Felix Zielcke <fzielcke@z-51.de>
36379
7c3ff286 36380 * INSTALL: Note that we now require at least autoconf 2.59 and
36381 that LZO is optional.
de3aa260 36382
825a182b 363832009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36384
36385 Base on patch on bug #24154 created by Tomas Tintera
36386 <trosos@seznam.cz>.
36387
36388 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36389
a69ef770 363902009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36391
7c3ff286 36392 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36393 <bero@arklinux.org>.
36394
36395 * normal/parser.y (script_init): Add missing semicolon.
36396
6fa42fa6 363972009-01-31 Colin D Bennett <colin@gibibit.com>
36398
7c3ff286 36399 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36400 (free_menu_entry_classes): Added.
36401 (grub_normal_menu_addentry): Added class property handling.
36402 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36403 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36404
36405 * normal/menu_viewer.c: New file.
36406
36407 * normal/menu.c (run_menu_entry): Renamed to ...
36408 (grub_menu_execute_entry): ... this and made it as global.
36409 (grub_menu_run): Renamed to ...
36410 (show_text_menu): ... this and made it local.
36411 (show_text_menu): Adapt to new function names.
36412 (grub_normal_terminal_menu_viewer): New global variable.
36413
36414 * include/grub/menu.h: New file.
36415
36416 * include/grub/menu_viewer.h: New file.
36417
36418 * include/grub/normal.h: Added include to grub/menu.h.
36419 (grub_menu_entry): Moved to include/grub/menu.h.
36420 (grub_menu_entry_t): Likewise.
36421 (grub_menu): Likewise.
36422 (grub_menu_t): Likewise.
36423 (grub_normal_terminal_menu_viewer): Added.
36424 (grub_menu_execute_entry): Likewise.
36425 (grub_menu_run): Removed.
36426
36427 * DISTLIST: Added include/grub/menu.h.
36428 Added include/grub/menu_viewer.h.
36429 Added normal/menu_viewer.c.
36430
364312009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36432
36433 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36434 arglist for menutitle arguments.
36435
36436 * normal/main.c (grub_normal_menu_addentry): Likewise.
36437
36438 * normal/parser.y (menuentry): Likewise.
36439
36440 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36441
36442 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36443 (grub_script_create_cmdmenu): Likewise.
36444
36445 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36446
36447 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36448 changes.
36449
36450 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36451
36452 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36453
36454 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36455
36456 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36457
36458 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36459
36460 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36461
56192c23 364622009-01-30 Christian Franke <franke@computer.org>
36463
36464 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36465 in option help text.
36466
d72521b3 364672009-01-27 Pavel Roskin <proski@gnu.org>
36468
36469 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36470
994b5e84 364712009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36472
36473 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36474
36475 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36476
36477 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36478 unregister function.
36479
6a7eab2c 364802009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36481
36482 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36483
36484 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36485
36486 * util/grub-mkfont.c (usage): Fix typo.
36487
36488 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36489
1806b56e 364902009-01-26 Daniel Mierswa <impulze@impulze.org>
36491
3fb18f09 36492 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36493
336e1fb9 36494 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36495
1806b56e 36496 * kern/misc.c (grub_strcasecmp): New function.
36497 (grub_strcasecmp): Use grub_size_t instead of int for length.
36498 Fix return value.
36499 * include/grub/misc.h: Update function prototypes.
36500
580b2a0f 365012009-01-26 Robert Millan <rmh@aybabtu.com>
36502
36503 * configure.ac: Fix cross-compilation check.
ef257b36 36504
d31c24f1 365052009-01-22 Christian Franke <franke@computer.org>
36506
36507 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36508 (precision) digit string. Allow `.format2' without `format1' (width).
36509 Limit input chars for `%s' output to `format2' if specified. This is
36510 compatible with standard printf ().
36511
3138b44c 365122009-01-22 Christian Franke <franke@computer.org>
36513
36514 * disk/ata.c (grub_ata_wait_status): Replace by ...
36515 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36516 other status bits may be invalid while BSY is asserted.
36517 (grub_ata_check_ready): New function.
36518 (grub_ata_cmd): Removed.
36519 (grub_ata_wait_drq): New function.
36520 (grub_ata_strncpy): Remove inline.
36521 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36522 and error check now done by grub_ata_wait_drq ().
36523 (grub_ata_pio_write): Likewise.
36524 (grub_atapi_identify): Set DEV before check for !BSY. Use
36525 grub_ata_wait_drq () to wait for data.
36526 (grub_ata_device_initialize): Add status register check to
36527 detect missing SATA slave devices. Add debug messages.
36528 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36529 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36530 transfer loop by grub_ata_pio_write ().
36531 (grub_ata_identify): Set DEV before check for !BSY. Use
36532 grub_ata_wait_drq () to wait for data.
ef257b36 36533 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36534 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36535 read/write in one loop. Fix invalid command on write. Fix incomplete
36536 command on (size % batch) == 0. Add missing error check after write of
36537 last block. Add debug messages.
36538 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36539
59a64ef6 365402009-01-19 Christian Franke <franke@computer.org>
36541
36542 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36543 (GRUB_ATAPI_IREASON_*): Likewise.
36544 (grub_ata_pio_write): Fix timeout error return.
36545 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36546 (grub_atapi_wait_drq): New function.
36547 (grub_atapi_packet): New parameter `size'.
36548 Use grub_atapi_wait_drq () and direct write instead of
36549 grub_ata_pio_write ().
36550 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36551 reads the number of bytes requested by the device for each DRQ
36552 assertion.
36553 (grub_atapi_write): Remove old implementation, return not
36554 implemented instead.
36555
1cfe20b3 365562009-01-19 Christian Franke <franke@computer.org>
36557
36558 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36559 of 512 to calculate data size.
36560 (grub_scsi_read12): Likewise.
36561 (grub_scsi_write10): Likewise.
36562 (grub_scsi_write12): Likewise.
36563 (grub_scsi_read): Adjust size according to blocksize.
36564 Add checks for invalid blocksize and unaligned transfer.
36565
bee5fe5d 365662009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36567
36568 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36569
ef257b36 36570 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36571 width glyphs.
36572
3e643f8c 365732009-01-19 Robert Millan <rmh@aybabtu.com>
36574
36575 * config.guess: Update to latest version from config git.
36576 * config.sub: Likewise.
36577
4fa80998 365782009-01-17 Felix Zielcke <fzielcke@z-51.de>
36579
36580 * Makefile.in: Change font compilation to use new grub-mkfont instead
36581 of java version.
36582
36583 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36584 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36585 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36586 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36587 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36588 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36589 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36590 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36591 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36592
7086085b 365932009-01-16 Christian Franke <franke@computer.org>
36594
36595 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36596 (enum grub_ata_timeout_milliseconds): New enum.
36597 (grub_ata_wait_status): Add parameter milliseconds.
36598 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36599 recovery from timed-out commands.
36600 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36601 return grub_errno instead of REG_ERROR.
36602 (grub_ata_pio_write): Add parameter milliseconds.
36603 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36604 Pass milliseconds to grub_ata_wait_status () and
36605 grub_ata_pio_read ().
36606 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36607 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36608 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36609 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36610 It is not suitable for device detection, because DEV bit is ignored,
36611 the command may run too long, and not all devices set the signature
36612 properly.
36613 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36614 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36615 Fix device selection, DEV bit must be set first to address the registers
36616 of the correct device.
36617 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36618 grub_ata_pio_read/write ().
36619 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36620 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36621
4a412913 366222009-01-13 Carles Pina i Estany <carles@pina.cat>
36623
36624 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36625
7795c55e 366262009-01-13 Bean <bean123ch@gmail.com>
d913988c 36627
36628 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36629
7795c55e 366302009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36631
36632 * Makefile.in: (enable_grub_mkfont): New variable.
36633 (freetype_cflags): Likewise.
36634 (freetype_libs): Likewise.
36635
36636 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36637 (grub_mkfont_SOURCES): New variable.
36638 (grub_mkfont_CFLAGS): Likewise.
36639 (grub_mkfont_LDFLAGS): Likewise.
36640
36641 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36642 library if `--enable-grub-mkfont' is requested.
36643 (enable_grub_mkfont): New variable.
36644 (freetype_cflags): Likewise.
36645 (freetype_libs): Likewise.
36646
36647 * util/grub-mkfont.c: New file.
36648
093af1fe 366492009-01-12 Christian Franke <franke@computer.org>
36650
36651 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36652 mode check. Fix setting of compat_use[].
36653
f36cc108 366542009-01-10 Robert Millan <rmh@aybabtu.com>
36655
36656 Update a few copyright years which we forgot to do in 2008 (only for
36657 files whose changes made in 2008 were copyright-significant)
36658
36659 * Makefile.in: Add 2008 to Copyright line.
36660 * disk/ieee1275/ofdisk.c: Likewise.
36661 * disk/efi/efidisk.c: Likewise.
36662 * kern/dl.c: Likewise.
36663 * kern/sparc64/ieee1275/init.c: Likewise.
36664 * kern/mm.c: Likewise.
36665 * kern/efi/mm.c: Likewise.
36666 * boot/i386/pc/boot.S: Likewise.
36667 * genfslist.sh: Likewise.
36668 * fs/iso9660.c: Likewise.
36669 * fs/hfs.c: Likewise.
36670 * fs/jfs.c: Likewise.
36671 * fs/minix.c: Likewise.
36672 * fs/ufs.c: Likewise.
36673 * gensymlist.sh.in: Likewise.
36674 * genkernsyms.sh.in: Likewise.
36675 * include/grub/misc.h: Likewise.
36676 * include/grub/types.h: Likewise.
36677 * include/grub/symbol.h: Likewise.
36678 * include/grub/elf.h: Likewise.
36679 * include/grub/kernel.h: Likewise.
36680 * include/grub/disk.h: Likewise.
36681 * include/grub/dl.h: Likewise.
36682 * include/grub/i386/linux.h: Likewise.
36683 * include/grub/i386/pc/biosdisk.h: Likewise.
36684 * include/grub/efi/api.h: Likewise.
36685 * include/grub/efi/pe32.h: Likewise.
36686 * include/grub/util/misc.h: Likewise.
36687 * normal/execute.c: Likewise.
36688 * normal/arg.c: Likewise.
36689 * normal/completion.c: Likewise.
36690 * normal/lexer.c: Likewise.
36691 * normal/parser.y: Likewise.
36692 * normal/misc.c: Likewise.
36693 * commands/i386/pc/vbeinfo.c: Likewise.
36694 * commands/hexdump.c: Likewise.
36695 * commands/terminal.c: Likewise.
36696 * commands/ls.c: Likewise.
36697 * commands/help.c: Likewise.
36698 * partmap/pc.c: Likewise.
36699 * loader/efi/chainloader.c: Likewise.
36700 * loader/multiboot_loader.c: Likewise.
36701 * loader/i386/pc/multiboot2.c: Likewise.
36702 * term/efi/console.c: Likewise.
36703 * term/i386/pc/serial.c: Likewise.
36704 * util/lvm.c: Likewise.
36705 * util/console.c: Likewise.
36706 * util/i386/efi/grub-mkimage.c: Likewise.
36707 * util/raid.c: Likewise.
36708
7f02114b 367092009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36710
36711 * commands/videotest.c: Removed include to grub/machine/memory.h.
36712
36713 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36714 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36715 (video_mod_SOURCES): Removed.
36716 (video_mod_CFLAGS): Likewise.
36717 (video_mod_LDFLAGS): Likewise.
36718 (gfxterm_mod_SOURCES): Likewise.
36719 (gfxterm_mod_CFLAGS): Likewise.
36720 (gfxterm_mod_LDFLAGS): Likewise.
36721 (videotest_mod_SOURCES): Likewise.
36722 (videotest_mod_CFLAGS): Likewise.
36723 (videotest_mod_LDFLAGS): Likewise.
36724 (bitmap_mod_SOURCES): Likewise.
36725 (bitmap_mod_CFLAGS): Likewise.
36726 (bitmap_mod_LDFLAGS): Likewise.
36727 (tga_mod_SOURCES): Likewise.
36728 (tga_mod_CFLAGS): Likewise.
36729 (tga_mod_LDFLAGS): Likewise.
36730 (jpeg_mod_SOURCES): Likewise.
36731 (jpeg_mod_CFLAGS): Likewise.
36732 (jpeg_mod_LDFLAGS): Likewise.
36733 (png_mod_SOURCES): Likewise.
36734 (png_mod_CFLAGS): Likewise.
36735 (png_mod_LDFLAGS): Likewise.
36736
36737 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36738 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36739 (video_mod_SOURCES): Added.
36740 (video_mod_CFLAGS): Likewise.
36741 (video_mod_LDFLAGS): Likewise.
36742 (videotest_mod_SOURCES): Likewise.
36743 (videotest_mod_CFLAGS): Likewise.
36744 (videotest_mod_LDFLAGS): Likewise.
36745 (bitmap_mod_SOURCES): Likewise.
36746 (bitmap_mod_CFLAGS): Likewise.
36747 (bitmap_mod_LDFLAGS): Likewise.
36748 (tga_mod_SOURCES): Likewise.
36749 (tga_mod_CFLAGS): Likewise.
36750 (tga_mod_LDFLAGS): Likewise.
36751 (jpeg_mod_SOURCES): Likewise.
36752 (jpeg_mod_CFLAGS): Likewise.
36753 (jpeg_mod_LDFLAGS): Likewise.
36754 (png_mod_SOURCES): Likewise.
36755 (png_mod_CFLAGS): Likewise.
36756 (png_mod_LDFLAGS): Likewise.
36757 (gfxterm_mod_SOURCES): Likewise.
36758 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36759 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36760
36761 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36762 grub/machine/console.h.
36763
644fff97 367642009-01-04 Jerone Young <jerone@gmail.com>
36765
36766 Make on screen instructions clearer
36767
36768 Based on patch created by Jidanni <jidanni@jidanni.org>
36769
36770 * normal/menu.c: print clearer instructions on the screen
36771
1e901a75 367722009-01-02 Colin D Bennett <colin@gibibit.com>
36773
36774 New font engine.
34c44600 36775
1e901a75 36776 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36777 build system and fixed gfxterm.c to work with different sized fonts.
36778
36779 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36780
1e901a75 36781 * configure: Re-generated.
34c44600 36782
1e901a75 36783 * DISTLIST: Removed font/manager.c.
36784 Added font/font.c.
36785 Added font/font_cmd.c.
34c44600 36786
1e901a75 36787 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36788 compilation.
34c44600 36789
1e901a75 36790 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36791
36792 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36793
36794 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36795
1e901a75 36796 * normal/menu.c: Likewise.
34c44600 36797
1e901a75 36798 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36799 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36800
1e901a75 36801 * include/grub/font.h: Replaced with new file.
34c44600 36802
1e901a75 36803 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36804 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36805 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36806 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36807 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36808 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36809 fg_red, fg_green, fg_blue, fg_alpha.
36810 (grub_video_adapter): Removed blit_glyph.
34c44600 36811 (grub_video_blit_glyph): Removed.
36812
1e901a75 36813 * font/manager.c: Removed file.
34c44600 36814
36815 * font/font.c: New file.
36816
1e901a75 36817 * font/font_cmd.c: Likewise.
34c44600 36818
1e901a75 36819 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36820
1e901a75 36821 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36822 (grub_video_vbe_map_rgba): Likewise.
36823 (grub_video_vbe_unmap_color_int): Likewise.
36824 (grub_video_vbe_blit_glyph): Removed.
36825 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36826
1e901a75 36827 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36828 (get_pixel): Likewise.
34c44600 36829 (set_pixel): Likewise.
36830
1e901a75 36831 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36832
1e901a75 36833 * term/gfxterm.c: Adapted to new font engine.
34c44600 36834
1e901a75 36835 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36836
1e901a75 36837 * term/i386/pc/vga.c: Likewise.
34c44600 36838
1e901a75 36839 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36840
1e901a75 36841 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36842
1e901a75 36843 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36844
1e901a75 36845 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36846
1e901a75 36847 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36848
1e901a75 36849 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36850
1e901a75 36851 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36852
1e901a75 36853 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36854
1e901a75 36855 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36856
36857 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36858
1e901a75 36859 * util/grub-mkconfig_lib.in: Changed font extension.
36860
278922e8 368612008-12-28 Felix Zielcke <fzielcke@z-51.de>
36862
36863 * util/getroot.c (grub_util_get_grub_dev): Add support for
36864 /dev/md/dNNpNN style partitionable mdraid devices.
36865
3ced05cf 368662008-12-12 Alex Smith <alex@alex-smith.me.uk>
36867
36868 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36869 at a time limit of the PXE TFTP API correctly.
36870 (grub_pxefs_close): Likewise.
36871
7fd0ee30 368722008-11-29 Robert Millan <rmh@aybabtu.com>
36873
34c44600 36874 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36875 grub_ata_device_initialize() calls.
36876
34c44600 368772008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36878
36879 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36880 iteration failed.
36881 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36882
89313780 368832008-11-28 Robert Millan <rmh@aybabtu.com>
36884
36885 Fix build on powerpc-ieee1275. Based on patch created by
36886 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36887 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36888 `kern/ieee1275/mmap.c'.
36889 * include/grub/powerpc/ieee1275/memory.h: New file.
36890
15257703 36891 Provide grub-install on coreboot.
36892 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36893 (grub_install_SOURCES): New variable.
36894 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36895 usable on coreboot.
36896
9fc5388a 368972008-11-25 Felix Zielcke <fzielcke@z-51.de>
36898
36899 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36900 to `grub_term_input_t'.
36901 (grub_term_get_current_output): Change return type to
36902 `grub_term_output_t'.
36903
bc3a2f31 369042008-11-22 Robert Millan <rmh@aybabtu.com>
36905
34c44600 36906 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36907 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36908 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36909 grub_vga_text_cls().
36910
80fc88f2 36911 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36912 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36913
cbf36fd3 36914 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36915 to 0x200000 (avoids trouble with some OFW implementations, and matches
36916 with the one in Yaboot).
36917 Reported by Manoel Abranches
36918
73e8e268 369192008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36920
36921 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36922 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36923
73e8e268 36924 * util/grub-mkconfig_lib.in (grub_warn): New function.
36925 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36926 warnings, to obtain consistent formatting.
36927 * util/grub.d/00_header.in: Likewise.
36928 * util/update-grub_lib.in: Likewise.
36929
e94045a1 36930 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36931 Move comment text to `#error' stanza.
e94045a1 36932
79d29fd7 36933 Harmonize ieee1275's grub_available_iterate() with the generic
36934 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36935 build problem on i386-ieee1275):
36936 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36937 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36938 parameter `type'. Update all users of this function.
36939 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36940 `kern/ieee1275/mmap.c'.
36941 * kern/ieee1275/init.c
36942 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36943 with ...
36944 (grub_machine_mmap_iterate): ... this.
36945 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36946 return type to `grub_err_t'. Update all implementations of this
36947 function prototype.
36948 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36949 Likewise.
36950
60d6b16e 36951 Add `lsmmap' command (lists firmware-provided memory map):
36952 * commands/lsmmap.c: New file.
36953 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36954 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36955 variables.
36956 * conf/powerpc-ieee1275.rmk: Likewise.
36957 * conf/i386-coreboot.rmk: Likewise.
36958 * conf/i386-ieee1275.rmk: Likewise.
36959
ebaaf49b 369602008-11-19 Robert Millan <rmh@aybabtu.com>
36961
36962 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36963 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36964 constraints to initrd allocation (based on code from
36965 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36966 for Linux to find it.
ebaaf49b 36967
dfab719f 369682008-11-14 Robert Millan <rmh@aybabtu.com>
36969
36970 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36971 order to cope with duplicate slashes.
36972
10fc3eb9 369732008-11-14 Robert Millan <rmh@aybabtu.com>
36974
36975 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36976 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36977 don't want to mess with lower memory, because it is used in the Linux
36978 loader.
36979
36980 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36981 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36982 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36983 is in our heap (probably as a result of it being corrupted during
2f2a3442 36984 decompression). Add #error instance with comment to explain why this
36985 loader isn't currently usable on PC/BIOS.
10fc3eb9 36986
e2e07847 369872008-11-14 Robert Millan <rmh@aybabtu.com>
36988
36989 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36990 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36991
fe8e8d69 369922008-11-12 Robert Millan <rmh@aybabtu.com>
36993
36994 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36995
36996 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36997 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36998 from here ...
36999 * include/grub/i386/pc/memory.h: ... to here.
37000
976b07d0 370012008-11-12 Robert Millan <rmh@aybabtu.com>
37002
37003 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37004 split).
37005
37006 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37007 (grub_console_cur_color, grub_console_real_putchar)
37008 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37009 (grub_console_setcolorstate, grub_console_setcolor)
37010 (grub_console_getcolor): Move from here ...
37011 * include/grub/i386/vga_common.h: ... to here (new file).
37012
37013 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37014 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37015 `<grub/i386/io.h>'.
37016 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37017 `<grub/i386/vga_common.h>'.
37018
76679cd3 370192008-11-12 Robert Millan <rmh@aybabtu.com>
37020
37021 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37022 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37023 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37024 variables.
37025 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37026 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37027
37028 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37029 grub_console_init() with call to grub_vga_text_init().
37030 (grub_machine_fini): Replace call to
37031 grub_console_fini() with call to grub_vga_text_fini() and
37032 grub_at_keyboard_fini().
37033
37034 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37035 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37036 (grub_console_setcolorstate, grub_console_setcolor)
37037 (grub_console_getcolor): New function prototypes.
37038
37039 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37040 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37041 (grub_vga_text_setcursor): Static-ize.
37042 (grub_vga_text_term): New structure.
37043 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37044
37045 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37046 (grub_console_cur_color, grub_console_standard_color)
37047 (grub_console_normal_color, grub_console_highlight_color)
37048 (map_char, grub_console_putchar, grub_console_getcharwidth)
37049 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37050 (grub_console_getcolor): Move from here ...
37051 * term/i386/vga_common.c: ... to here (same function names).
37052
95b841d3 370532008-11-12 Robert Millan <rmh@aybabtu.com>
37054
37055 Use newly-added Multiboot support in coreboot.
37056
37057 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37058 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37059
37060 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37061 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37062 (codestart): Store the MBI in `startup_multiboot_info' when we're
37063 being loaded using Multiboot.
37064
37065 * kern/i386/coreboot/init.c (grub_machine_init): Move
37066 grub_at_keyboard_init() call to beginning of function (useful for
37067 debugging). Call grub_machine_mmap_init() before attempting to use
37068 grub_machine_mmap_iterate().
37069 (grub_lower_mem, grub_upper_mem): Move from here ...
37070 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37071 here (new file).
37072
37073 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37074 function prototype.
37075
761ca975 370762008-11-12 Robert Millan <rmh@aybabtu.com>
37077
37078 Fix a regression introduced by the at_keyboard.mod split. Because
37079 some terminals are default on some platforms and non-default on
37080 others, the first terminal being registered determines which is
37081 going to be default.
37082
37083 * kern/term.c (grub_term_register_input): If this is the first
37084 terminal being registered, set it as the current one.
37085 (grub_term_register_output): Likewise.
37086
37087 * term/efi/console.c (grub_console_init): Do not call
37088 grub_term_set_current_output() or grub_term_set_current_input().
37089 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37090 * term/i386/pc/console.c (grub_console_init): Likewise.
37091 (grub_console_fini): Do not call grub_term_set_current_input()
37092 (but leave grub_term_set_current_output() to restore text mode).
37093
6c529df7 370942008-11-10 Robert Millan <rmh@aybabtu.com>
37095
37096 * util/grub.d/00_header.in: Add backward compatibility check for
37097 versions of terminal.mod that don't understand `terminal_input' or
37098 `terminal_output'.
37099
132e4113 371002008-11-09 Robert Millan <rmh@aybabtu.com>
37101
37102 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37103 `terminal_input' / `terminal_output', not `terminal'.
37104
ac293d50 371052008-11-08 Robert Millan <rmh@aybabtu.com>
37106
37107 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37108 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37109
0025933a 371102008-11-08 Robert Millan <rmh@aybabtu.com>
37111
37112 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37113 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37114 members. Update all users.
37115 * util/console.c (grub_ncurses_term): Split in ...
37116 (grub_ncurses_term_input): ... this, and ...
37117 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37118 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37119
37c86336 371202008-11-08 Robert Millan <rmh@aybabtu.com>
37121
37122 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37123 (PKGDATA): Add $(pkgdata_SRCDIR).
37124 (pkglib_BUILDDIR): New variable.
37125 (pkgdata_SRCDIR): New variable.
37126 (build_env.mk): New target.
37127 (include_DATA): New variable.
37128 (install-local): Install $(include_DATA) files in $(includedir).
37129
b6c15a2d 371302008-11-07 Pavel Roskin <proski@gnu.org>
37131
d99d46f1 37132 * gendistlist.sh: Use C locale for sorting to ensure consistent
37133 output on all systems.
37134
b6c15a2d 37135 * util/grub.d/00_header.in: Remove incorrect space before
37136 "serial".
37137
c32ee8c9 371382008-11-07 Robert Millan <rmh@aybabtu.com>
37139
37140 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37141 per specification.
37142 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37143 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37144 (based on find_multi_boot1_header).
37145 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37146 using find_multi_boot2_header(), and abort if neither Multiboot or
37147 Multiboot headers were found.
37148
651c29b7 371492008-11-07 Robert Millan <rmh@aybabtu.com>
37150
37151 Modularize at_keyboard.mod:
37152
37153 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37154 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37155 (at_keyboard_mod_LDFLAGS): New variables.
37156
37157 Actual terminal split:
37158
37159 * include/grub/term.h (struct grub_term): Split in ...
37160 (struct grub_term_input): ... this, and ...
37161 (struct grub_term_output): ... this. Update all users.
37162 (grub_term_set_current): Split in ...
37163 (grub_term_set_current_input): ... this, and ...
37164 (grub_term_set_current_output): ... this.
37165 (grub_term_get_current): Split in ...
37166 (grub_term_get_current_input): ... this, and ...
37167 (grub_term_get_current_output): ... this.
37168 (grub_term_register): Split in ...
37169 (grub_term_register_input): ... this, and ...
37170 (grub_term_register_output): ... this.
37171 (grub_term_unregister): Split in ...
37172 (grub_term_unregister_input): ... this, and ...
37173 (grub_term_unregister_output): ... this.
37174 (grub_term_iterate): Split in ...
37175 (grub_term_iterate_input): ... this, and ...
37176 (grub_term_iterate_output): ... this.
37177
37178 * kern/term.c (grub_term_list): Split in ...
37179 (grub_term_list_input): ... this, and ...
37180 (grub_term_list_output): ... this. Update all users.
37181 (grub_cur_term): Split in ...
37182 (grub_cur_term_input): ... this, and ...
37183 (grub_cur_term_output): ... this. Update all users.
37184 (grub_term_set_current): Split in ...
37185 (grub_term_set_current_input): ... this, and ...
37186 (grub_term_set_current_output): ... this.
37187 (grub_term_get_current): Split in ...
37188 (grub_term_get_current_input): ... this, and ...
37189 (grub_term_get_current_output): ... this.
37190 (grub_term_register): Split in ...
37191 (grub_term_register_input): ... this, and ...
37192 (grub_term_register_output): ... this.
37193 (grub_term_unregister): Split in ...
37194 (grub_term_unregister_input): ... this, and ...
37195 (grub_term_unregister_output): ... this.
37196 (grub_term_iterate): Split in ...
37197 (grub_term_iterate_input): ... this, and ...
37198 (grub_term_iterate_output): ... this.
37199
37200 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37201 a check for input and one for output (and only attempt to get keys
37202 from user when input works).
37203
37204 * util/grub-probe.c (grub_term_get_current): Split in ...
37205 (grub_term_get_current_input): ... this, and ...
37206 (grub_term_get_current_output): ... this.
37207 * util/grub-fstest.c: Likewise.
37208 * util/i386/pc/grub-setup.c: Likewise.
37209 * util/grub-editenv.c: Likewise.
37210
37211 Portability adjustments:
37212
37213 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37214 `term/i386/pc/at_keyboard.c'.
37215 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37216 grub_keyboard_controller_init() (now handled by terminal .init).
37217 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37218 grub_at_keyboard_init().
37219 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37220 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37221 at_keyboard.mod via input terminal interface).
37222 * include/grub/i386/coreboot/console.h: Convert into a stub for
37223 `<grub/i386/pc/console.h>'.
37224
37225 Migrate full terminals to new API:
37226
37227 * term/efi/console.c (grub_console_term): Split into ...
37228 (grub_console_term_input): ... this, and ...
37229 (grub_console_term_output): ... this. Update all users.
37230 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37231 (grub_ofconsole_init): Split into ...
37232 (grub_ofconsole_init_input): ... this, and ...
37233 (grub_ofconsole_init_output): ... this.
37234 (grub_ofconsole_term): Split into ...
37235 (grub_ofconsole_term_input): ... this, and ...
37236 (grub_ofconsole_term_output): ... this. Update all users.
37237 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37238 (grub_serial_term_input): ... this, and ...
37239 (grub_serial_term_output): ... this. Update all users.
37240 * term/i386/pc/console.c (grub_console_term): Split into ...
37241 (grub_console_term_input): ... this, and ...
37242 (grub_console_term_output): ... this. Update all users.
37243 (grub_console_term_input): Only enable it on PC/BIOS platform.
37244 (grub_console_init): Remove grub_keyboard_controller_init() call.
37245
37246 Migrate input terminals to new API:
37247
37248 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37249 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37250 i386-specific anyway).
37251 (grub_console_checkkey): Rename to ...
37252 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37253 users.
37254 (grub_keyboard_controller_orig): New variable.
37255 (grub_console_getkey): Rename to ...
37256 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37257 users.
37258 (grub_keyboard_controller_init): Static-ize. Save original
37259 controller value so that it can be restored ...
37260 (grub_keyboard_controller_fini): ... here (new function).
37261 (grub_at_keyboard_term): New structure.
37262 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37263 functions.
37264
37265 Migrate output terminals to new API:
37266
37267 * term/i386/pc/vga.c (grub_vga_term): Change type to
37268 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37269 members. Update all users.
37270 * term/gfxterm.c (grub_video_term): Change type to
37271 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37272 members. Update all users.
37273 * include/grub/i386/pc/console.h (grub_console_checkkey)
37274 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37275 etc).
37276
37277 Migrate `terminal' command and userland tools to new API:
37278
37279 * commands/terminal.c (grub_cmd_terminal): Split into ...
37280 (grub_cmd_terminal_input): ... this, and ...
37281 (grub_cmd_terminal_output): ... this.
37282 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37283 `terminal_input' and `terminal_output'.
37284 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37285 `terminal_input' / `terminal_output' API.
37286 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37287 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37288 provided ${GRUB_TERMINAL}, convert it).
37289
96e5d876 372902008-11-04 Robert Millan <rmh@aybabtu.com>
37291
37292 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37293 for FreeBSD.
37294 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37295
556f3775 372962008-11-03 Bean <bean123ch@gmail.com>
37297
37298 * kern/elf.c (grub_elf32_load): Revert to previous code.
37299 (grub_elf64_load): Likewise.
37300
37301 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37302
926b9823 373032008-11-01 Robert Millan <rmh@aybabtu.com>
37304
37305 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37306 (TARGET_CPPFLAGS): Likewise.
37307 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37308
1432e958 373092008-11-01 Carles Pina i Estany <carles@pina.cat>
37310
37311 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37312
dba3f844 373132008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37314
37315 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37316 addition of objects until the code is not going to be able to fail.
37317
dba3f844 373182008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37319
37320 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37321 (add a missing NULL check, and correct them by moving the pointer
37322 operations after the actual check).
37323
7ab28c21 373242008-10-29 Robert Millan <rmh@aybabtu.com>
37325
37326 * util/i386/pc/grub-install.in: Handle empty string as output from
37327 make_system_path_relative_to_its_root().
37328
1b7748eb 373292008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37330
37331 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37332 circular metadata worst case scenario. If the metadata is circular
37333 then copy the wrap in place.
37334 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37335 project lib/format_text/layout.h
37336 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37337
c9618ab2 373382008-10-03 Felix Zielcke <fzielcke@z-51.de>
37339
7a36edca 37340 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37341
bf981c62 373422008-10-03 Felix Zielcke <fzielcke@z-51.de>
37343
37344 * util/update-grub_lib.in: Mention filename in warning message.
37345
6d994591 373462008-09-29 Felix Zielcke <fzielcke@z-51.de>
37347
37348 * NEWS: Update for rename of update-grub to grub-mkconfig.
37349
18ade780 373502008-09-29 Felix Zielcke <fzielcke@z-51.de>
37351
37352 * util/update-grub_lib.in: Copy to ...
37353 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37354 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37355 * util/update-grub.in: Rename to ...
37356 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37357 option. Add `--output' option to allow users to specify the generated
37358 configuration file. Default to stdout.
37359 (update_grub_dir): Rename to ...
37360 (grub_mkconfig_dir): ... this.
37361 (grub_cfg): Default to an empty string.
37362 * conf/common.rmk (update-grub): Rename to ...
37363 (grub-mkconfig): ... this.
37364 (update-grub_lib): Copy to ...
37365 (grub-mkconfig_lib): ... this.
37366 (update-grub_SCRIPTS): Copy to ...
37367 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37368 (update-grub_DATA): Rename to ...
37369 (grub-mkconfig_DATA): ... this.
37370
556ce6ac 373712008-09-28 Robert Millan <rmh@aybabtu.com>
37372
37373 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37374 to `modified'. Add the real `created' field.
37375 (grub_iso9660_uuid): Use `modified' rather than `created' for
37376 constructing the UUID.
37377
373782008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37379
37380 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37381 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37382
92274e85 373832008-09-28 Bean <bean123ch@gmail.com>
37384
37385 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37386 Thanks to Christian Franke for finding this bug.
37387
add6f17a 373882008-09-25 Robert Millan <rmh@aybabtu.com>
37389
37390 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37391 instances of grub_util_get_disk_name() (see previous commit).
37392
d2a367b8 373932008-09-25 Robert Millan <rmh@aybabtu.com>
37394
37395 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37396 `util/i386/get_disk_name.c'.
37397 * conf/i386-efi.rmk: Likewise.
37398 * conf/x86_64-efi.rmk: Likewise.
37399 * conf/i386-coreboot.rmk: Likewise.
37400 * conf/i386-ieee1275.rmk: Likewise.
37401 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37402 `util/ieee1275/get_disk_name.c'.
37403 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37404 * util/ieee1275/get_disk_name.c: Remove file.
37405 * util/i386/get_disk_name.c: Remove file.
37406 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37407 "hd%d" for device.map entries, rather than using
37408 grub_util_get_disk_name().
37409
81a06771 374102008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37411
37412 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37413 warning.
37414 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37415
5a004279 374162008-09-24 Carles Pina i Estany <carles@pina.cat>
37417
37418 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37419 Changed to 0x5100.
37420 (GRUB_TERM_PPAGE): Changed to 0x4900.
37421
397093d3 374222008-09-24 Robert Millan <rmh@aybabtu.com>
37423
37424 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37425 macros (they were i386-pc specific).
37426 * include/grub/sparc64/ieee1275/console.h: Likewise.
37427 * include/grub/efi/console.h: Likewise.
37428
a91b6c7c 374292008-09-22 Bean <bean123ch@gmail.com>
37430
37431 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37432 resident and in attribute list.
37433
37434 * include/grub/ntfs.h (BMP_LEN): Removed.
37435
c40fd116 374362008-09-22 Bean <bean123ch@gmail.com>
37437
81a06771 37438 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37439 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37440
37441 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37442 error occurs, as grub_disk_open will call grub_disk_close, which will
37443 call p->close (scsi).
37444
81a06771 374452008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37446
37447 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37448 (AC_PREREQ): Bumped to 2.59.
37449 (AC_TRY_COMPILE): Replace obsolete macro with ...
37450 (AC_COMPILE_IFELSE): ... this.
37451 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37452 (AC_LINK_IFELSE): ... this.
37453
5dc43410 374542008-09-21 Felix Zielcke <fzielcke@z-51.de>
37455
37456 * autogen.sh: Add a call to `gendistlist.sh'.
37457
9035dce4 374582008-09-19 Christian Franke <franke@computer.org>
37459
37460 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37461 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37462 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37463 Export __enable_execute_stack() to modules.
37464 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37465 New function.
37466
7fd75377 374672008-09-09 Felix Zielcke <fzielcke@z-51.de>
37468
040030b3 37469 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37470 Sort the list.
37471
374722008-09-09 Felix Zielcke <fzielcke@z-51.de>
37473
37474 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37475 #include <grub/util/hostdisk.h>.
37476
89d5ffcf 374772008-09-08 Robert Millan <rmh@aybabtu.com>
37478
37479 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37480 segments when their filesz is zero (grub_file_read() interprets
81a06771 37481 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37482 Use `lowest_segment' rather than 0 for calculating the current
37483 segment load address.
37484
40da438f 374852008-09-08 Robert Millan <rmh@aybabtu.com>
37486
37487 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37488 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37489 clobbered useful information.
37490
ddbf5556 374912008-09-08 Robert Millan <rmh@aybabtu.com>
37492
37493 * include/grub/util/biosdisk.h: Move to ...
37494 * include/grub/util/hostdisk.h: ... here. Update all users.
37495 * util/biosdisk.c: Move to ...
37496 * util/hostdisk.c: ... here. Update all users.
37497
783d0f48 374982008-09-07 Robert Millan <rmh@aybabtu.com>
37499
37500 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37501 variables.
37502 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37503 and length can be stored directly in the `mbi->mmap_addr' and
37504 `mbi->mmap_length' struct fields.
37505
548e2ea5 375062008-09-07 Robert Millan <rmh@aybabtu.com>
37507
37508 * conf/i386.rmk: New file. Provides declaration for building
37509 `cpuid.mod'.
37510 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37511 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37512 variables.
37513 Include `conf/i386.mk'.
37514 * conf/i386-efi.rmk: Likewise.
37515 * conf/x86_64-efi.rmk: Likewise.
37516 * conf/i386-coreboot.rmk: Likewise.
37517 * conf/i386-ieee1275.rmk: Likewise.
37518
0ea85a37 375192008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37520
37521 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37522 Adds optimization support for BGR based modes.
37523
37524 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37525 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37526 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37527 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37528 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37529 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37530 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37532 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37533 (grub_video_i386_vbeblit_index_index): Likewise.
37534 (grub_video_i386_vbeblit_replace_directN): Added.
37535 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37536 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37537 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37538 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37539 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37540 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37541 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37542 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37543 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37544 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37545 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37546 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37547 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37548
37549 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37550 (grub_video_i386_vbefill_R8G8B8): Likewise.
37551 (grub_video_i386_vbefill_index): Likewise.
37552 (grub_video_i386_vbefill_direct32): Added.
37553 (grub_video_i386_vbefill_direct24): Likewise.
37554 (grub_video_i386_vbefill_direct16): Likewise.
37555 (grub_video_i386_vbefill_direct8): Likewise.
37556
81a06771 37557 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37558 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37559 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37560 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37561 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37562 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37563
0ea85a37 37564 * video/video.c (grub_video_get_blit_format): Updated to use new
37565 blit formats. Added handling for 16 bit color modes.
81a06771 37566
37567 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37568 fillers.
37569 (common_blitter): Updated to use new blitters.
37570
37571 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37572 Removed.
37573 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37574 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37575 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37576 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37577 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37578 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37579 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37580 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37581 (grub_video_i386_vbeblit_index_index): Likewise.
37582 (grub_video_i386_vbeblit_replace_directN): Added.
37583 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37584 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37585 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37586 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37587 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37588 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37589 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37590 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37591 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37592 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37593 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37594 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37595 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37596
0ea85a37 37597 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37598 (grub_video_i386_vbefill_R8G8B8): Likewise.
37599 (grub_video_i386_vbefill_index): Likewise.
37600 (grub_video_i386_vbefill_direct32): Added.
37601 (grub_video_i386_vbefill_direct24): Likewise.
37602 (grub_video_i386_vbefill_direct16): Likewise.
37603 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37604
0ea85a37 37605 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37606 types.
81a06771 37607
0ea85a37 37608 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37609 types.
81a06771 37610
0ea85a37 37611 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37612 blitter types.
81a06771 37613
0ea85a37 37614 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37615 types.
37616
e8a83df6 376172008-09-06 Felix Zielcke <fzielcke@z-51.de>
37618
37619 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37620 RAID level 1.
37621
6bcd8ee5 376222008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37623
6bcd8ee5 37624 * fs/iso9660.c (grub_iso9660_date): New structure.
37625 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37626 (grub_iso9660_uuid): New function.
c375ae58 37627
59261157 376282008-09-05 Bean <bean123ch@gmail.com>
37629
37630 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37631
37632 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37633 insensitive bit for names in Win32 and Win32 & DOS namespace.
37634
37635 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37636
37637 * include/grub/types.h (LONG_MAX): Likewise.
37638
58b6645a 376392008-09-04 Felix Zielcke <fzielcke@z-51.de>
37640
4ee55921 37641 * util/getroot.c: Include <config.h>.
37642 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37643 add support for /dev/md/N devices and handle LVM double dash escaping.
37644
376452008-09-04 Felix Zielcke <fzielcke@z-51.de>
37646
37647 * config.guess: Update to latest version from config git.
37648 * config.sub: Likewise.
58b6645a 37649
9124f65d 376502008-09-03 Robert Millan <rmh@aybabtu.com>
37651
37652 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37653 `disk->total_sectors'.
37654
81a06771 376552008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37656
37657 * include/grub/normal.h: Fixed incorrect comment for
37658 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37659
81a06771 376602008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37661
37662 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37663 values with defines.
37664
37665 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37666 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37667 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37668 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37669 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37670 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37671 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37672 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37673 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37674 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37675 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37676 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37677 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37678 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37679 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37680 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37681 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37682 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37683 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37684
93d5cbf8 376852008-08-31 Robert Millan <rmh@aybabtu.com>
37686
37687 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37688 declaration.
37689 (grub_multiboot): Fix a few warnings.
37690
21751d50 376912008-08-31 Robert Millan <rmh@aybabtu.com>
37692
37693 * loader/i386/pc/multiboot.c: Update comment not to say that
37694 boot_device support is unimplemented.
37695
e27a75c5 376962008-08-31 Robert Millan <rmh@aybabtu.com>
37697
37698 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37699 or memory map support are unimplemented.
37700
81a06771 377012008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37702
37703 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37704
81a06771 377052008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37706
37707 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37708 total video memory in 'vbeinfo' output; show color format details for
37709 each video mode.
37710
7c5d8d95 377112008-08-30 Pavel Roskin <proski@gnu.org>
37712
37713 * util/genmoddep.c: Remove for real this time.
37714 * DISTLIST: Remove util/genmoddep.c.
37715
4cebd25a 377162008-08-30 Robert Millan <rmh@aybabtu.com>
37717
37718 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37719 as required by Multiboot spec (it was already 4-byte aligned, but
37720 only by chance).
37721
b497a269 377222008-08-29 Pavel Roskin <proski@gnu.org>
37723
e3925185 37724 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37725 * kern/powerpc/ieee1275/startup.S: ... this.
37726 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37727 * DISTLIST: Likewise.
37728
b497a269 37729 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37730 grub/cpu/kernel.h. Add start label for consistency with other
37731 platforms. Add grub_prefix immediately after start. Add jump
37732 to the code after grub_prefix.
37733 * include/grub/powerpc/kernel.h: Provide valid values for
37734 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37735
6e5a42fe 377362008-08-29 Bean <bean123ch@gmail.com>
37737
37738 * configure.ac: Change host_os to cygwin for mingw.
37739 (asprintf): New check for function.
37740
37741 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37742 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37743
37744 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37745 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37746 sync, sleep and grub_util_get_disk_size for mingw.
37747
37748 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37749 to get size in mingw.
37750 (open_device): Use flag O_BINARY if it's defined.
37751 (find_root_device): Add dummy code for mingw.
37752
37753 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37754 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37755 (get_scsi_disk_name): Return 0 for mingw.
37756
37757 * util/hostfs.c: #include <grub/util/misc.h>.
37758 (grub_hostfs_open): Use "rb" flag to open file, use
37759 grub_util_get_disk_size to get disk size for mingw.
37760
37761 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37762 (asprintf): New function if HAVE_ASPRINTF is not set.
37763 (sync): New function for mingw.
37764 (sleep): Likewise.
37765 (grub_util_get_disk_size): Likewise.
37766
ab3f2673 377672008-08-28 Pavel Roskin <proski@gnu.org>
37768
37769 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37770 kern/time.c.
37771
1c282483 377722008-08-28 Robert Millan <rmh@aybabtu.com>
37773
37774 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37775
678e849c 377762008-08-28 Robert Millan <rmh@aybabtu.com>
37777
37778 Change find_grub_drive() syntax so it doesn't prevent it from
37779 detecting NULL names as errors.
37780
37781 * util/biosdisk.c (find_grub_drive): Move free slot search code
37782 from here ...
37783 (find_free_slot): ... to here.
37784 (read_device_map): Use find_free_slot() to search for free slots.
37785
965c75ca 377862008-08-27 Marco Gerards <marco@gnu.org>
37787
37788 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37789 (scsi_mod_SOURCES): New variable.
37790 (scsi_mod_CFLAGS): Likewise
37791 (scsi_mod_LDFLAGS): Likewise.
37792
37793 * disk/scsi.c: New file.
37794
37795 * include/grub/scsi.h: Likewise.
37796
37797 * include/grub/scsicmd.h: Likewise.
37798
37799 * disk/ata.c: Include <grub/scsi.h>.
37800 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37801 instead.
37802 (grub_ata_iterate): Skip ATAPI devices.
37803 (grub_ata_open): Only handle ATAPI devices.
37804 (struct grub_atapi_read): Removed.
37805 (grub_atapi_readsector): Likewise.
37806 (grub_ata_read): No longer handle ATAPI devices.
37807 (grub_ata_write): Likewise.
37808 (grub_atapi_iterate): New function.
37809 (grub_atapi_read): Likewise.
37810 (grub_atapi_write): Likewise.
37811 (grub_atapi_open): Likewise.
37812 (grub_atapi_close): Likewise.
37813 (grub_atapi_dev): New variable.
37814 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37815 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37816
37817 * include/grub/disk.h (enum grub_disk_dev_id): Add
37818 `GRUB_DISK_DEVICE_SCSI_ID'.
37819
c07ae501 378202008-08-26 Robert Millan <rmh@aybabtu.com>
37821
37822 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37823 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37824 descriptive.
37825
5ed20adc 378262008-08-23 Bean <bean123ch@gmail.com>
37827
37828 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37829 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37830 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37831 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37832 dm_nv.mod.
37833 (raid5rec_mod_SOURCES): New macro.
37834 (raid5rec_mod_CFLAGS): Likewise.
37835 (raid5rec_mod_LDFLAGS): Likewise.
37836 (raid6rec_mod_SOURCES): Likewise.
37837 (raid6rec_mod_CFLAGS): Likewise.
37838 (raid6rec_mod_LDFLAGS): Likewise.
37839 (mdraid_mod_SOURCES): Likewise.
37840 (mdraid_mod_CFLAGS): Likewise.
37841 (mdraid_mod_LDFLAGS): Likewise.
37842 (dm_nv_mod_SOURCES): Likewise.
37843 (dm_nv_mod_CFLAGS): Likewise.
37844 (dm_nv_mod_LDFLAGS): Likewise.
37845
37846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37847 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37848 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37849
37850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37851 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37852
37853 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37854
37855 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37856
37857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37858
37859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37860
37861 * disk/raid5_recover.c: New file.
37862
37863 * disk/raid6_recover.c: Likewise.
37864
37865 * disk/mdraid_linux.c: Likewise.
37866
37867 * disk/dmraid_nvidia.c: Likewise.
37868
37869 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37870 ULONG_MAX.
37871
37872 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37873 calculate the size of raid device.
37874 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37875 different layout of raid5.
37876 (grub_raid_scan_device): Remove code specific to mdraid.
37877 (grub_raid_list): New variable.
37878 (free_array): New function.
37879 (grub_raid_register): Likewise.
37880 (grub_raid_unregister): Likewise.
37881 (grub_raid_rescan): Likewise.
37882 (GRUB_MOD_INIT): Don't iterate device here.
37883 (GRUB_MOD_FINI): Use free_array to release resource.
37884
37885 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37886 (grub_raid5_recover_func_t): New function variable type.
37887 (grub_raid6_recover_func_t): Likewise.
37888 (grub_raid5_recover_func): New variable.
37889 (grub_raid6_recover_func): Likewise.
37890 (grub_raid_register): New function.
37891 (grub_raid_unregister): Likewise.
37892 (grub_raid_rescan): Likewise.
37893 (grub_raid_block_xor): Likewise.
37894
37895 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37896 (CMD_CRC): New macro.
37897 (part): Removed.
37898 (read_file): Handle device as well as file.
37899 (cmd_crc): New function.
37900 (fstest): Handle multiple disks.
37901 (options): Remove part, raw and long, add root and diskcount.
37902 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37903 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37904 add handling for the new options, support multiple disks.
37905
37906 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37907
29c18915 379082008-08-23 Bean <bean123ch@gmail.com>
37909
37910 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37911
37912 * genfslist.sh: Ignore kernel.mod.
37913
37914 * genpartmaplist.sh: Likewise.
37915
8415f261 379162008-08-23 Robert Millan <rmh@aybabtu.com>
37917
37918 * util/getroot.c (find_root_device): Skip anything that starts with
37919 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37920
d5a7dc5b 379212008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37922
d5a7dc5b 37923 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37924 * util/grub.d/00_header.in: Allow the administrator to change default
37925 gfxmode via ${GRUB_GFXMODE}.
37926
380cfbb4 379272008-08-21 Felix Zielcke <fzielcke@z-51.de>
37928
37929 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37930
c9baafe7 379312008-08-21 Robert Millan <rmh@aybabtu.com>
37932
37933 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37934 loader.
37935 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37936 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37937
e290bef2 379382008-08-20 Carles Pina i Estany <carles@pina.cat>
37939
37940 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37941 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37942
f9dbfc96 379432008-08-19 Robert Millan <rmh@aybabtu.com>
37944
37945 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37946 (struct grub_virtual_screen): Remove `cursor_color'.
37947 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37948 initialization.
37949 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37950
dd6bd6ab 379512008-08-18 Robert Millan <rmh@aybabtu.com>
37952
37953 Unify (identical) linux_normal.c files.
37954 * loader/i386/efi/linux_normal.c: Move from here ...
37955 * loader/linux_normal.c: ... to here. Update all users.
37956 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37957 * loader/i386/ieee1275/linux_normal.c: Likewise.
37958
7f42f83e 379592008-08-18 Robert Millan <rmh@aybabtu.com>
37960
37961 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37962 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37963 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37964 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37965 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37966 New macros.
37967 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37968 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37969 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37970 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37971 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37972 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37973 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37974 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37975 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37976 portably using grub_getxy().
37977 Replace `-EFI' with `-bzImage' in boot message.
37978
38487ddb 379792008-08-17 Robert Millan <rmh@aybabtu.com>
37980
37981 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37982
deceb3ec 379832008-08-17 Robert Millan <rmh@aybabtu.com>
37984
37985 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37986
37987 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37988 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37989 (grub_machine_mmap_iterate): New function declaration.
37990 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37991 structure.
37992 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37993 macros.
37994
37995 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37996 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37997 Move e820 parsing from here ...
37998 * kern/i386/pc/mmap.c: New file.
37999 (grub_machine_mmap_iterate): ... to here.
38000
38001 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38002 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38003 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38004 (grub_available_iterate): Redeclare to return `void', and redeclare
38005 its hook to use grub_uint64_t as addr and size parameters, and rename
38006 to ...
38007 (grub_machine_mmap_iterate): ... this. Update all users.
38008
38009 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38010 to make it more readable. Rename to ...
38011 (grub_machine_mmap_iterate): ... this.
38012
38013 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38014 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38015 (grub_multiboot): Allocate an extra region after the payload, and fill
38016 it with a Multiboot memory map. Adjust a.out loader to calculate size
38017 with the extra space.
38018 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38019 with the extra space.
38020
f8aa0f43 380212008-08-17 Carles Pina i Estany <carles@pina.cat>
38022
9807deb9 38023 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38024
605f5bb6 380252008-08-17 Felix Zielcke <fzielcke@z-51.de>
38026
38027 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38028 mdate-sh to the list `find' searches for.
38029 * DISTLIST: Regenerated.
38030
210db6c6 380312008-08-16 Felix Zielcke <fzielcke@z-51.de>
38032
38033 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38034 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38035 genmoddep.awk, gensymlist.sh.in.
38036 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38037 * DISTLIST: Regenerated.
48cdbfd4 38038 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38039
1082b929 380402008-08-16 Robert Millan <rmh@aybabtu.com>
38041
38042 * disk/raid.c (grub_raid_init): Handle/report errors set by
38043 grub_device_iterate().
38044 * disk/lvm.c (grub_lvm_init): Likewise.
38045
42ce5170 380462008-08-15 Bean <bean123ch@gmail.com>
38047
38048 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38049 and datehook.mod.
38050 (datetime_mod_SOURCES): New macro.
38051 (datetime_mod_CFLAGS): Likewise.
38052 (datetime_mod_LDFLAGS): Likewise.
38053 (date_mod_SOURCES): Likewise.
38054 (date_mod_CFLAGS): Likewise.
38055 (date_mod_LDFLAGS): Likewise.
38056 (datehook_mod_SOURCES): Likewise.
38057 (datehook_mod_CFLAGS): Likewise.
38058 (datehook_mod_LDFLAGS): Likewise.
38059
38060 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38061 and datehook.mod.
38062 (datetime_mod_SOURCES): New macro.
38063 (datetime_mod_CFLAGS): Likewise.
38064 (datetime_mod_LDFLAGS): Likewise.
38065 (date_mod_SOURCES): Likewise.
38066 (date_mod_CFLAGS): Likewise.
38067 (date_mod_LDFLAGS): Likewise.
38068 (datehook_mod_SOURCES): Likewise.
38069 (datehook_mod_CFLAGS): Likewise.
38070 (datehook_mod_LDFLAGS): Likewise.
38071
38072 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38073 and datehook.mod.
38074 (datetime_mod_SOURCES): New macro.
38075 (datetime_mod_CFLAGS): Likewise.
38076 (datetime_mod_LDFLAGS): Likewise.
38077 (date_mod_SOURCES): Likewise.
38078 (date_mod_CFLAGS): Likewise.
38079 (date_mod_LDFLAGS): Likewise.
38080 (datehook_mod_SOURCES): Likewise.
38081 (datehook_mod_CFLAGS): Likewise.
38082 (datehook_mod_LDFLAGS): Likewise.
38083
38084 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38085 and datehook.mod.
38086 (datetime_mod_SOURCES): New macro.
38087 (datetime_mod_CFLAGS): Likewise.
38088 (datetime_mod_LDFLAGS): Likewise.
38089 (date_mod_SOURCES): Likewise.
38090 (date_mod_CFLAGS): Likewise.
38091 (date_mod_LDFLAGS): Likewise.
38092 (datehook_mod_SOURCES): Likewise.
38093 (datehook_mod_CFLAGS): Likewise.
38094 (datehook_mod_LDFLAGS): Likewise.
38095
38096 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38097 and datehook.mod.
38098 (datetime_mod_SOURCES): New macro.
38099 (datetime_mod_CFLAGS): Likewise.
38100 (datetime_mod_LDFLAGS): Likewise.
38101 (date_mod_SOURCES): Likewise.
38102 (date_mod_CFLAGS): Likewise.
38103 (date_mod_LDFLAGS): Likewise.
38104 (datehook_mod_SOURCES): Likewise.
38105 (datehook_mod_CFLAGS): Likewise.
38106 (datehook_mod_LDFLAGS): Likewise.
38107
38108 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38109
38110 * commands/date.c: New file.
38111
38112 * hook/datehook.c: Likewise.
38113
38114 * include/grub/lib/datetime.h: Likewise.
38115
38116 * include/grub/i386/cmos.h: Likewise.
38117
38118 * lib/datetime.c: Likewise.
38119
38120 * lib/i386/datetime.c: Likewise.
38121
38122 * lib/efi/datetime.c: Likewise.
38123
0e9242da 381242008-08-14 Robert Millan <rmh@aybabtu.com>
38125
38126 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38127 (grub_mkelfimage_SOURCES): New variable.
38128 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38129
38130 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38131 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38132 * conf/powerpc-ieee1275.rmk: Likewise.
38133 * conf/i386-ieee1275.rmk: Likewise.
38134
38135 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38136 * kern/i386/coreboot/init.c: Likewise.
38137
38138 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38139 with `<grub/cpu/kernel.h>'.
38140 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38141 to ...
38142 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38143 * kern/i386/coreboot/startup.S: Likewise.
38144
38145 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38146 (GRUB_MOD_GAP): Remove.
38147 * include/grub/powerpc/kernel.h: New file.
38148 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38149 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38150 * include/grub/i386/kernel.h: New file.
38151 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38152 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38153 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38154
38155 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38156 `grub-mkelfimage'.
38157 Use --directory when invoking grub_mkimage.
38158
38159 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38160 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38161 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38162 and GRUB_KERNEL_CPU_PREFIX.
38163
b86408f8 381642008-08-14 Felix Zielcke <fzielcke@z-51.de>
38165
d5e619ca 38166 * include/grub/err.h (grub_err_printf): New function prototype.
38167 * util/misc.c (grub_err_printf): New function.
38168 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38169 grub_printf.
38170 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38171
7161f0e0 381722008-08-13 Robert Millan <rmh@aybabtu.com>
38173
38174 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38175
a1967522 381762008-08-13 Robert Millan <rmh@aybabtu.com>
38177
38178 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38179 boot entry.
38180
371458b5 381812008-08-12 Robert Millan <rmh@aybabtu.com>
38182
38183 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38184 of the relocation code from here ...
38185 (grub_multiboot): ... to here.
38186 (forward_relocator, backward_relocator): Move from here ...
38187 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38188 (grub_multiboot_backward_relocator): ... to here.
38189 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38190 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38191 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38192 (grub_multiboot_forward_relocator_end)
38193 (grub_multiboot_backward_relocator)
38194 (grub_multiboot_backward_relocator_end): New variables.
38195
05f9452b 381962008-08-12 Bean <bean123ch@gmail.com>
38197
38198 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38199
20024ab0 382002008-08-11 Robert Millan <rmh@aybabtu.com>
38201
38202 * kern/i386/linuxbios/startup.S: Move from here ...
38203 * kern/i386/coreboot/startup.S: ... to here.
38204
38205 * kern/i386/linuxbios/init.c: Move from here ...
38206 * kern/i386/coreboot/init.c: ... to here.
38207
38208 * kern/i386/linuxbios/table.c: Move from here ...
38209 * kern/i386/coreboot/mmap.c: ... to here.
38210
38211 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38212
e352e9cd 382132008-08-11 Robert Millan <rmh@aybabtu.com>
38214
38215 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38216 errors. Leave it to the upper layer to handle them.
38217
2d05bc6a 382182008-08-09 Christian Franke <franke@computer.org>
38219
38220 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38221 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38222 Install `grub.d/10_windows' only on Cygwin.
38223 * configure.ac: Add subst of `target_os'.
38224 Check `target_os' also before setting TARGET_OBJ2ELF.
38225 Add `--enable-grub-pe2elf'.
38226
042bd419 382272008-08-08 Robert Millan <rmh@aybabtu.com>
38228
38229 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38230 (grub_last_time): Change type to grub_uint64_t.
38231 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38232 (grub_disk_close): Likewise.
38233
38234 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38235 (run_menu): Migrate code from to using grub_get_time_ms().
38236
38237 * util/misc.c (grub_get_time_ms): New function.
38238
7f280db5 382392008-08-08 Marco Gerards <marco@gnu.org>
38240
38241 * disk/ata.c (grub_ata_regget): Change return type to
38242 `grub_uint8_t'.
38243 (grub_ata_regget2): Likewise.
38244 (grub_ata_wait_status): New function.
38245 (grub_ata_wait_busy): Removed function, updated all users to use
38246 `grub_ata_wait_status'.
38247 (grub_ata_wait_drq): Likewise.
38248 (grub_ata_cmd): New function.
38249 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38250 error handling.
38251 (grub_ata_pio_write): Add error handling.
38252 (grub_atapi_identify): Likewise.
38253 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38254 handling.
38255 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38256 handling. Actually use the detected registers. Reorder the
38257 detection logic such that it is easier to read.
38258 (grub_ata_pciinit): Do not assign the same ID to each controller.
38259 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38260 handling.
38261 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38262
38263 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38264
1fbc5e66 382652008-08-08 Marco Gerards <marco@gnu.org>
38266
38267 * NEWS: Update.
38268
819ce6c0 382692008-08-07 Bean <bean123ch@gmail.com>
38270
38271 * include/grub/x86_64/pci.h: New file.
38272
5c41d44d 382732008-08-07 Christian Franke <franke@computer.org>
38274
38275 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38276 (TIMER2_GATE): Likewise.
38277 (grub_pit_wait): Add enable/disable of the timer2 gate
38278 bit of port 0x61. This fixes a possible infinite loop.
38279
5ebc275d 382802008-08-07 Bean <bean123ch@gmail.com>
38281
38282 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38283 kern/i386/tsc.c and kern/i386/pit.c.
38284
38285 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38286 x86_64 platform.
38287
38288 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38289 <grub/i386/tsc.h>.
38290
38291 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38292
e383b3d0 382932008-08-07 Bean <bean123ch@gmail.com>
38294
38295 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38296
38297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38298
38299 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38300 multiple inclusion. Add #include <grub/types.h>.
38301
1cbb58ac 383022008-08-06 Christian Franke <franke@computer.org>
38303
38304 * conf/common.rmk: Build and install `10_windows'.
38305 * util/grub.d/10_windows.in: New script.
38306
337f5a1e 383072008-08-06 Pavel Roskin <proski@gnu.org>
38308
38309 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38310
057bc4ac 383112008-08-06 Robert Millan <rmh@aybabtu.com>
38312
38313 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38314 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38315
2b99f123 383162008-08-06 Bean <bean123ch@gmail.com>
38317
38318 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38319 (grub_pxefs_fs_int): Remove dummy definition.
38320 (grub_pxefs_open): Use data->block_size to store the current block
38321 size setting.
38322 (grub_pxefs_read): Use block size stored in data->block_size. As the
38323 value of grub_pxe_blksize can be changed after the file is opened.
38324
9f0234cb 383252008-08-06 Bean <bean123ch@gmail.com>
38326
38327 * fs/i386/pc/pxe.c (curr_file): new variable.
38328 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38329 require the dummy internal file system anymore.
38330 (grub_pxefs_read): Removed.
38331 (grub_pxefs_close): Likewise.
38332 (grub_pxefs_fs_int): Likewise.
38333 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38334 connection when we switch file.
38335 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38336
a55d42e0 383372008-08-06 Robert Millan <rmh@aybabtu.com>
38338
38339 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38340 `halt.mod'.
38341 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38342 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38343
38344 * kern/i386/halt.c: New file.
38345 * kern/i386/reboot.c: Likewise.
38346 * include/grub/i386/reboot.h: Likewise.
38347 * include/grub/i386/halt.h: Likewise.
38348
38349 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38350 Include `<grub/cpu/halt.h>'.
38351 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38352 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38353
38354 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38355 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38356 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38357 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38358 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38359 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38360 from here ...
38361 * include/grub/i386/at_keyboard.h: ... to here.
38362
24371d26 383632008-08-05 Robert Millan <rmh@aybabtu.com>
38364
38365 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38366 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38367 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38368 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38369 `kern/generic/millisleep.c'.
38370
38371 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38372 instead of grub_get_rtc().
38373 (grub_tsc_init): Initialize `tsc_boot_time'.
38374
38375 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38376 (grub_machine_init): Use grub_tsc_init() rather than
38377 installing an RTC-based handler via grub_install_get_time_ms().
38378
38379 * kern/i386/pit.c: New file.
38380 * include/grub/i386/pit.h: Likewise.
38381
9e7007b3 383822008-08-05 Bean <bean123ch@gmail.com>
38383
38384 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38385
38386 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38387 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38388 (pxe_mod_SOURCES): New macro.
38389 (pxe_mod_CFLAGS): Likewise.
38390 (pxe_mod_LDFLAGS): Likewise.
38391 (pxecmd_mod_SOURCES): Likewise.
38392 (pxecmd_mod_CFLAGS): Likewise.
38393 (pxecmd_mod_LDFLAGS): Likewise.
38394
38395 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38396 (grub_pxe_call): Likewise.
38397
38398 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38399
38400 * commands/i386/pc/pxecmd.c: New file.
38401
9f0234cb 38402 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38403
38404 * include/grub/i386/pc/pxe.h: Likewise.
38405
6977d49f 384062008-08-05 Bean <bean123ch@gmail.com>
38407
38408 * util/console.c (grub_console_cur_color): New variable.
38409 (grub_console_standard_color): Likewise.
38410 (grub_console_normal_color): Likewise.
38411 (grub_console_highlight_color): Likewise.
38412 (color_map): Likewise.
38413 (use_color): Likewise.
38414 (NUM_COLORS): New macro.
38415 (grub_ncurses_setcolorstate): Handle color properly.
38416 (grub_ncurses_setcolor): Don't change color here, just remember the
38417 settings, color will be set in grub_ncurses_setcolorstate.
38418 (grub_ncurses_getcolor): New function.
38419 (grub_ncurses_init): Initialize color pairs.
38420 (grub_ncurses_term): New member grub_ncurses_getcolor.
38421
9c2ff3ee 384222008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38423
9c2ff3ee 38424 High resolution timer support. Implemented for x86 CPUs using TSC.
38425 Extracted generic grub_millisleep() so it's linked in only as needed.
38426 This requires a Pentium compatible CPU; if the RDTSC instruction is
38427 not supported, then it falls back on the generic grub_get_time_ms()
38428 implementation that uses the machine's RTC.
38429
38430 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38431 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38432 `kern/generic/millisleep.c'.
38433
38434 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38435 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38436
38437 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38438 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38439
38440 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38441
38442 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38443 `kern/generic/millisleep.c'.
38444
38445 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38446
38447 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38448
38449 * kern/generic/rtc_get_time_ms.c: New file.
38450
38451 * kern/generic/millisleep.c: New file.
337f5a1e 38452
9c2ff3ee 38453 * kern/misc.c: Don't include
38454 <kern/time.h> anymore.
38455 (grub_millisleep_generic): Removed.
38456
38457 * commands/sleep.c (grub_interruptible_millisleep): Uses
38458 grub_get_time_ms() instead of grub_get_rtc().
38459
38460 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38461 function.
38462 (grub_cpu_is_cpuid_supported): New inline function.
38463 (grub_cpu_is_tsc_supported): New inline function.
38464 (grub_tsc_init): New function prototype.
38465 (grub_tsc_get_time_ms): New function prototype.
38466
38467 * kern/i386/tsc.c (grub_get_time_ms): New file.
38468
38469 * include/grub/time.h: Include <grub/types.h.
38470 (grub_millisleep_generic): Removed.
38471 (grub_get_time_ms): New prototype.
38472 (grub_install_get_time_ms): New prototype.
38473 (grub_rtc_get_time_ms): New prototype.
38474
38475 * kern/time.c (grub_get_time_ms): New function.
38476 (grub_install_get_time_ms): New function.
38477
38478 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38479 <grub/time.h> anymore.
38480 (grub_millisleep): Removed.
38481 (grub_machine_init): Call grub_tsc_init.
38482
38483 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38484 get_time_ms() implementation.
38485
38486 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38487 (ieee1275_get_time_ms): New function.
38488 (grub_machine_init): Install get_time_ms() implementation.
38489
38490 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38491 (grub_machine_init): Call grub_tsc_init().
38492 (grub_millisleep): Removed.
bf06a93f 38493
9c2ff3ee 38494 * kern/ieee1275/init.c (grub_millisleep): Removed.
38495 (grub_machine_init): Install ieee1275_get_time_ms()
38496 implementation.
38497 (ieee1275_get_time_ms): New function.
38498 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38499 real work.
38500
9ec92aaf 385012008-08-05 Marco Gerards <marco@gnu.org>
38502
38503 * disk/ata.c: Include <grub/pci.h>.
38504 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38505 (grub_ata_initialize): Rewritten.
38506 (grub_ata_device_initialize): New function.
38507
8d23f507 385082008-08-04 Pavel Roskin <proski@gnu.org>
38509
38510 * kern/main.c: Include grub/mm.h.
38511
5e15ee3d 385122008-08-04 Robert Millan <rmh@aybabtu.com>
38513
38514 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38515 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38516 corruption problem).
38517
a9053f8f 385182008-08-04 Robert Millan <rmh@aybabtu.com>
38519
38520 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38521 warnings introduced in my last commit.
38522
dd19c7d7 385232008-08-03 Robert Millan <rmh@aybabtu.com>
38524
38525 Make PCI available on all i386 architectures.
38526
38527 * include/grub/i386/pc/pci.h: Move from here ...
38528 * include/grub/i386/pci.h: ... to here.
38529
38530 * include/grub/i386/pc/pci.h: Remove.
38531 * include/grub/i386/efi/pci.h: Remove.
38532 * include/grub/x86_64/efi/pci.h: Remove.
38533
38534 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38535 `<grub/cpu/pci.h>'.
38536
38537 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38538 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38539 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38540
38541 * conf/i386-ieee1275.rmk: Likewise.
38542
e14a6184 385432008-08-03 Robert Millan <rmh@aybabtu.com>
38544
38545 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38546 (grub_console_setcursor): Make it possible to set cursor off.
38547
52768e37 385482008-08-03 Robert Millan <rmh@aybabtu.com>
38549
38550 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38551 of modules instead of assuming which platform provides what.
38552 * util/update-grub.in: Likewise.
38553
2d52f57f 385542008-08-03 Robert Millan <rmh@aybabtu.com>
38555
38556 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38557 instead of `grub_install_dos_part' to determine whether a drive needs
38558 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38559 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38560
2a5cd121 385612008-08-02 Robert Millan <rmh@aybabtu.com>
38562
38563 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38564
93808428 385652008-08-02 Robert Millan <rmh@aybabtu.com>
38566
38567 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38568 of informational grub_dprintf() calls.
38569
3bd0a12a 385702008-08-02 Robert Millan <rmh@aybabtu.com>
38571
38572 * disk/memdisk.c (memdisk_size): Don't initialize.
38573 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38574
38575 * include/grub/i386/pc/kernel.h
38576 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38577 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38578 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38579 (grub_arch_memdisk_size): Remove.
38580
38581 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38582 field (was only used to transfer a constant). Add `type' field to
38583 support multiple module types.
38584 (grub_module_iterate): New function.
38585
38586 * kern/device.c (grub_device_open): Do not hide error messages
38587 when grub_disk_open() fails. Use grub_print_error() instead.
38588
38589 * kern/i386/pc/init.c (grub_arch_modules_addr)
38590 (grub_arch_memdisk_size): Remove functions.
38591 (grub_arch_modules_addr): Return the module address in high memory
38592 (now that it isn't copied anymore).
38593
38594 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38595 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38596 decompression routine (grub_total_module_size already includes that
38597 now). Don't copy modules back to low memory.
38598
38599 * kern/main.c: Include `<grub/mm.h>'.
38600 (grub_load_modules): Split out (and use) ...
38601 (grub_module_iterate): ... this function, which iterates through
38602 module objects and runs a hook.
38603 Comment out grub_mm_init_region() call, as it would cause non-ELF
38604 modules to be overwritten.
38605
38606 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38607 the memdisk image in its own region, make it part of the module list.
38608 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38609 (main): Parse --memdisk|-m option, and pass user-provided path as
38610 parameter to generate_image().
38611 (add_segments): Pass `memdisk_path' down to load_modules().
38612 (load_modules): Embed memdisk image in module section when requested.
38613 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38614 `header.type' instead of `header.offset'.
38615
38616 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38617 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38618 (memdisk_mod_LDFLAGS): New variables.
38619 * conf/i386-coreboot.rmk: Likewise.
38620 * conf/i386-ieee1275.rmk: Likewise.
38621
a927cc73 386222008-08-02 Robert Millan <rmh@aybabtu.com>
38623
38624 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38625 (backward_relocator): New variables. Used to allocate and relocate
38626 the payload, respectively.
38627 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38628 address, install the appropriate relocator code in each bound of
a927cc73 38629 the payload, and set the entry point such that
38630 grub_multiboot_real_boot() will jump to one of them.
38631
38632 * kern/i386/loader.S (grub_multiboot_payload_size)
38633 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38634 (grub_multiboot_payload_entry_offset): New variables.
38635 (grub_multiboot_real_boot): Set cpu context to what the relocator
38636 expects, and jump to the relocator instead of the payload.
38637
38638 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38639 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38640 (grub_multiboot_payload_entry_offset): Export.
38641
b15d8a0c 386422008-08-01 Bean <bean123ch@gmail.com>
38643
38644 * normal/menu_entry.c (editor_getline): Don't return the original
38645 string as result, as it will be released by lexer once it has done
38646 using it.
38647
cdfb3d22 386482008-08-01 Robert Millan <rmh@aybabtu.com>
38649
38650 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38651 within menuentries, not before them.
38652 util/grub.d/10_hurd.in: Likewise.
38653
9175e93d 386542008-08-01 Bean <bean123ch@gmail.com>
38655
38656 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38657 (bufio_mod_SOURCES): New macro.
38658 (bufio_mod_CFLAGS): Likewise.
38659 (bufio_mod_LDFLAGS): Likewise.
38660
38661 * include/grub/bufio.h: New file.
38662
38663 * io/bufio.c: Likewise.
38664
38665 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38666 (grub_video_reader_png): Use grub_buffile_open to open file.
38667
38668 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38669 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38670
38671 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38672 (grub_video_reader_tga): Use grub_buffile_open to open file.
38673
38674 * font/manager.c: Include <grub/bufio.h>.
38675 (add_font): Use grub_buffile_open to open file.
38676
3d8383e7 386772008-07-31 Robert Millan <rmh@aybabtu.com>
38678
38679 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38680 ELF segments, use a macro for arbitrarily accessing any of them instead
38681 of preparing a pointer that allows access to one at a time.
38682 (grub_multiboot_load_elf64): Likewise.
38683
16e641b6 386842008-07-31 Bean <bean123ch@gmail.com>
38685
38686 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38687 GRUB_KERNEL_MACHINE_DATA_END.
38688
59198b72 386892008-07-30 Robert Millan <rmh@aybabtu.com>
38690
38691 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38692 Increase from 0x50 to 0x60.
38693 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38694 use UUIDs to identify the root drive for them. If that's not
38695 possible, abort.
38696 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38697 check, for cross-disk installs.
38698
ae88bca3 386992008-07-30 Robert Millan <rmh@aybabtu.com>
38700
38701 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38702 is non-empty, use it to set the `prefix' environment variable instead
38703 of the usual approach.
38704 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38705 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38706 environment variable instead of dummy make_install_device().
38707
38708 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38709 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38710 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38711
38712 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38713 New variable reference.
38714 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38715 New macro. Defines offset of `grub_prefix' within startup.S (relative
38716 to `start').
38717 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38718 section within startup.S (relative to `start').
38719 * include/grub/i386/coreboot/kernel.h: Likewise.
38720
38721 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38722 Overwrite grub_prefix with its contents, at the beginning of the
38723 first segment.
38724 (main): Understand -p|--prefix.
38725
14f41dd1 387262008-07-30 Robert Millan <rmh@aybabtu.com>
38727
38728 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38729
4ca049a3 387302008-07-30 Robert Millan <rmh@aybabtu.com>
38731
38732 * term/i386/pc/vga_text.c (grub_console_cls): Use
38733 grub_console_gotoxy() to go back to beginning of the screen.
38734 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38735
2921d337 387362008-07-29 Christian Franke <franke@computer.org>
38737
38738 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38739 Add conversion of emulated mount points on Cygwin.
38740
b609876d 387412008-07-29 Christian Franke <franke@computer.org>
38742
38743 * util/update-grub.in: Add a check for admin
38744 group on Cygwin.
38745 Remove old `grub.cfg.new' before creation.
38746 Add `-f' to `mv' to handle the different filesystem
38747 semantics of Windows.
38748
e93e4679 387492008-07-29 Bean <bean123ch@gmail.com>
38750
38751 * normal/main.c (get_line): Fix buffer overflow bug.
38752
41694fd0 387532008-07-28 Robert Millan <rmh@aybabtu.com>
38754
38755 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38756 (struct grub_apple_header): New struct. Describes the layout of
38757 the partmap header.
38758 (apple_partition_map_iterate): Check the header magic as well as the
38759 partition magic (which was already being checked).
38760
cfd0b4e6 387612008-07-28 Pavel Roskin <proski@gnu.org>
38762
38763 * genmk.rb: Add a warning to the beginning of the output that
38764 it's a generated file and should not be edited.
38765
93cce016 387662008-07-28 Robert Millan <rmh@aybabtu.com>
38767
38768 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38769 with the same number are found, just use issue a warning with
38770 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38771
cd1df915 387722008-07-27 Robert Millan <rmh@aybabtu.com>
38773
38774 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38775 information.
38776
b70a8427 387772008-07-27 Bean <bean123ch@gmail.com>
38778
38779 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38780 (grub_fat_find_dir): Ignore case when comparing filename.
38781
8f5e379f 387822008-07-27 Bean <bean123ch@gmail.com>
38783
38784 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38785 smallino, as it's more descriptive, and i8count can be confused with
38786 the other field count.
38787 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38788 inode type.
38789
a85cd5a0 387902008-07-27 Bean <bean123ch@gmail.com>
38791
38792 * commands/crc.c: New file.
38793
38794 * lib/crc.c: Likewise.
38795
38796 * include/grub/lib/crc.h: Likewise.
38797
38798 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38799
38800 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38801 (hexdump): Move this function to ...
38802
38803 * lib/hexdump.c: ... here.
38804
38805 * include/grub/hexdump.h: Renamed to ...
38806
38807 * include/grub/lib/hexdump.h: ... this.
38808
38809 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38810
38811 * util/grub-editenv.c: Likewise.
38812
38813 * include/envblk.h: Renamed to ...
38814
38815 * include/lib/envblk.h: ... this.
38816
38817 * util/envblk.c: Renamed to ...
38818
38819 * lib/envblk.c: ... this.
38820
38821 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38822 lib/hexdump.c.
38823 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38824 (pkglib_MODULES): Add crc.mod.
38825 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38826 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38827 (crc_mod_SOURCES): New macro.
38828 (crc_mod_CFLAGS): Likewise.
38829 (crc_mod_LDFLAGS): Likewise.
38830
38831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38832
38833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38834
38835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38836
38837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38838
38839 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38840
c298def0 388412008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38842
38843 * commands/help.c: Include <grub/term.h>.
38844 (TERM_WIDTH): Removed. Updated all users.
38845
cc349fb3 388462008-07-27 Pavel Roskin <proski@gnu.org>
38847
38848 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38849 spurious warnings about a comment within a comment.
38850
9051607e 388512008-07-25 Robert Millan <rmh@aybabtu.com>
38852
38853 * util/getroot.c (find_root_device): Skip devices that match
38854 /dev/dm-[0-9]. This lets the real device be found for any type of
38855 abstraction (LVM, EVMS, RAID..).
38856 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38857 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38858 device is found first, find_root_device() will now skip it.
38859
01453bfc 388602008-07-24 Pavel Roskin <proski@gnu.org>
38861
38862 * include/grub/types.h: Use __builtin_bswap32() and
38863 __builtin_bswap64() with gcc 4.3 and newer.
38864
6af9849f 388652008-07-24 Christian Franke <franke@computer.org>
38866
3a0fa256 38867 * util/i386/pc/grub-install.in: If `--debug' is specified,
38868 pass `--verbose' to grub-setup.
38869 Abort script if make_system_path_relative_to_its_root() fails.
38870
7810e747 388712008-07-24 Bean <bean123ch@gmail.com>
38872
38873 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38874 variable `target_platform' should be `platform'.
38875
42290e17 388762008-07-24 Bean <bean123ch@gmail.com>
38877
51cc5193 38878 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38879 (grub_png_init_fixed_block): New function.
38880 (grub_png_decode_image_data): Handle fixed huffman code compression.
38881
2a8a80e4 388822008-07-24 Bean <bean123ch@gmail.com>
38883
38884 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38885 (grub_pe2elf_SOURCES): New macro.
38886 (CLEANFILES): Add grub-pe2elf.
38887
38888 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38889 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38890 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38891 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38892 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38893 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38894 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38895 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38896 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38897 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38898 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38899 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38900 (GRUB_PE32_DT_FUNCTION): Likewise.
38901 (GRUB_PE32_REL_I386_DIR32): Likewise.
38902 (GRUB_PE32_REL_I386_REL32): Likewise.
38903 (grub_pe32_symbol): New structure.
38904 (grub_pe32_reloc): Likewise.
38905
38906 * util/grub-pe2elf.c: New file.
38907
38908 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38909 start symbol in non pc platform.
38910
38911 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38912
38913 The following patches are from Christian Franke.
38914
38915 * include/grub/dl.h: Remove .previous, gas supports this only
38916 for ELF format.
38917
38918 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38919 Remove .type, gas supports this only for ELF format.
38920
38921 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38922 nullbytes in symbol table. This fixes an infinite loop if table is
38923 zero filled.
38924
38925 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38926 TARGET_IMG_LDFLAGS and EXEEXT.
38927
38928 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38929 TARGET_IMG_LDFLAGS_AC.
38930 (grub_CHECK_STACK_ARG_PROBE): New function.
38931
38932 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38933
38934 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38935
38936 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38937 to set TARGET_IMG_LD* accordingly.
38938 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38939 Add call to grub_CHECK_STACK_ARG_PROBE.
38940 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38941
38942 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38943
38944 * genmk.rb: Add EXEEXT to CLEANFILES.
38945
12ccdb75 389462008-07-23 Robert Millan <rmh@aybabtu.com>
38947
38948 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38949 define the codes for arrows and lines used for the menu).
38950 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38951 as well.
38952
38953 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38954 fonts, because the latter are too slow.
38955
18eeaf04 389562008-07-21 Bean <bean123ch@gmail.com>
38957
38958 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38959 a20. Run keyboard test last, as it will cause macbook to halt.
38960
b095e2ad 389612008-07-18 Pavel Roskin <proski@gnu.org>
38962
38963 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38964 load foreign architecture modules correctly anyway. Keep
38965 support for loading host architecture modules, whether we
38966 compile them or not.
38967
737feb35 389682008-07-17 Pavel Roskin <proski@gnu.org>
38969
3f4ce737 38970 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38971 change target_cpu. The compiler default can mismatch target_cpu
38972 in any case.
38973
4ad2d049 38974 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38975 * kern/efi/efi.c: Likewise.
38976
f6130a12 38977 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38978 target compiler is functional.
38979 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38980 are set up.
38981
58393a2d 38982 * configure.ac: Default to efi platform for x86_64-apple. Allow
38983 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38984 adjustments from the rest, only do them if target is not
38985 explicitly given. Merge other adjustments with the final sanity
38986 check. Remove an extraneous check for supported CPU. Be
38987 specific which CPU and which platform is not supported.
38988
737feb35 38989 * configure.ac: Default to pc platform for x86_64.
38990
546f966a 389912008-07-17 Robert Millan <rmh@aybabtu.com>
38992
38993 Partial LinuxBIOS -> Coreboot rename.
38994
38995 * conf/i386-linuxbios.rmk: Renamed to ...
38996 * conf/i386-coreboot.rmk: ... this.
38997 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38998 * configure.ac: Accept "coreboot" as input platform (but maintain
38999 compatibility with "linuxbios").
39000 * include/grub/i386/linuxbios: Renamed to ...
39001 * include/grub/i386/coreboot: ... this.
39002
20011694 390032008-07-17 Bean <bean123ch@gmail.com>
39004
39005 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39006 (appleldr_mod_SOURCE): New variable.
20011694 39007 (appleldr_mod_CFLAGS): Likewise.
39008 (appleldr_mod_LDFLAGS): Likewise.
39009 (pci_mod_SOURCES): Likewise.
39010 (pci_mod_CFLAGS): Likewise.
39011 (pci_mod_LDFLAGS): Likewise.
39012 (lspci_mod_SOURCES): Likewise.
39013 (lspci_mod_CFLAGS): Likewise.
39014 (lspci_mod_LDFLAGS): Likewise.
39015
39016 * conf/x86_64-efi.rmk: New file.
39017
39018 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39019 macro.
39020 (grub_efidisk_write): Likewise.
39021
39022 * include/efi/api.h (efi_call_0): New macro.
39023 (efi_call_1): Likewise.
39024 (efi_call_2): Likewise.
39025 (efi_call_3): Likewise.
39026 (efi_call_4): Likewise.
39027 (efi_call_5): Likewise.
39028 (efi_call_6): Likewise.
39029
39030 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39031 grub_rescue_cmd_chainloader.
39032
39033 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39034 (grub_pe32_optional_header): Change some fields based on i386 or
39035 x86_64 platform.
39036 (GRUB_PE32_PE32_MAGIC): Likewise.
39037
39038 * include/grub/efi/uga_draw.h: New file.
39039
39040 * include/grub/elf.h (STN_ABS): New constant.
39041 (R_X86_64_NONE): Relocation constant for x86_64.
39042 (R_X86_64_64): Likewise.
39043 (R_X86_64_PC32): Likewise.
39044 (R_X86_64_GOT32): Likewise.
39045 (R_X86_64_PLT32): Likewise.
39046 (R_X86_64_COPY): Likewise.
39047 (R_X86_64_GLOB_DAT): Likewise.
39048 (R_X86_64_JUMP_SLOT): Likewise.
39049 (R_X86_64_RELATIVE): Likewise.
39050 (R_X86_64_GOTPCREL): Likewise.
39051 (R_X86_64_32): Likewise.
39052 (R_X86_64_32S): Likewise.
39053 (R_X86_64_16): Likewise.
39054 (R_X86_64_PC16): Likewise.
39055 (R_X86_64_8): Likewise.
39056 (R_X86_64_PC8): Likewise.
39057
39058 * include/grub/i386/efi/pci.h: New file.
39059
39060 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39061 Change it value based on platform.
39062 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39063 (GRUB_E820_RAM): Likewise.
39064 (GRUB_E820_RESERVED): Likewise.
39065 (GRUB_E820_ACPI): Likewise.
39066 (GRUB_E820_NVS): Likewise.
39067 (GRUB_E820_EXEC_CODE): Likewise.
39068 (GRUB_E820_MAX_ENTRY): Likewise.
39069 (grub_e820_mmap): New structure.
39070 (linux_kernel_header): Change the efi field according to different
39071 kernel version, also field from linux_kernel_header.
39072
39073 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39074
39075 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39076 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39077 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39078 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39079 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39080 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39081 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39082 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39083 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39084 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39085
39086 * include/grub/x86_64/efi/kernel.h: New file.
39087
39088 * include/grub/x86_64/efi/loader.h: Likewise.
39089
39090 * include/grub/x86_64/efi/machine.h: Likewise.
39091
39092 * include/grub/x86_64/efi/pci.h: Likewise.
39093
39094 * include/grub/x86_64/efi/time.h: Likewise.
39095
39096 * include/grub/x86_64/linux.h: Likewise.
39097
39098 * include/grub/x86_64/setjmp.h: Likewise.
39099
39100 * include/grub/x86_64/time.h: Likewise.
39101
39102 * include/grub/x86_64/types.h: Likewise.
39103
39104 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39105 GRUB_TARGET_SIZEOF_VOID_P.
39106
39107 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39108 (grub_efi_locate_handle): Likewise.
39109 (grub_efi_open_protocol): Likewise.
39110 (grub_efi_set_text_mode): Likewise.
39111 (grub_efi_stall): Likewise.
39112 (grub_exit): Likewise.
39113 (grub_reboot): Likewise.
39114 (grub_halt): Likewise.
39115 (grub_efi_exit_boot_services): Likewise.
39116 (grub_get_rtc): Likewise.
39117
39118 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39119 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39120 (grub_efi_allocate_pages): Wrap efi calls.
39121 (grub_efi_free_pages): Wrap efi calls.
39122 (grub_efi_get_memory_map): Wrap efi calls.
39123
39124 * kern/x86_64/dl.c: New file.
39125
39126 * kern/x86_64/efi/callwrap.S: Likewise.
39127
39128 * kern/x86_64/efi/startup.S: Likewise.
39129
39130 * loader/efi/appleloader.c: Likewise.
39131
39132 * loader/efi/chainloader.c (cmdline): New variable.
39133 (grub_chainloader_unload): Wrap efi calls.
39134 (grub_chainloader_boot): Likewise.
39135 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39136 command line.
39137
39138 * loader/efi/chainloader_normal.c (chainloader_command):
39139 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39140 command line.
39141
39142 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39143 method.
39144 (grub_e820_add_region): New function.
39145 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39146 booting.
39147 (grub_find_video_card): New function.
39148 (grub_linux_setup_video): New function.
39149 (grub_rescue_cmd_linux): Probe for video information.
39150
39151 * normal/x86_64/setjmp.S: New file.
39152
39153 * term/efi/console.c (map_char): New function.
39154 (grub_console_putchar): Map unicode char.
39155 (grub_console_checkkey): Wrap efi calls.
39156 (grub_console_getkey): Likewise.
39157 (grub_console_getwh): Likewise.
39158 (grub_console_gotoxy): Likewise.
39159 (grub_console_cls): Likewise.
39160 (grub_console_setcolorstate): Likewise.
39161 (grub_console_setcursor): Likewise.
39162
39163 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39164
59652a20 391652008-07-16 Pavel Roskin <proski@gnu.org>
39166
ef294055 39167 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39168 format strings.
39169
59652a20 39170 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39171 pointer, not an integer. This fixes a warning and prevents
39172 precision loss on 64-bit systems.
39173 (relocate_addresses): Remove unneeded cast.
39174
afc3b5d7 391752008-07-15 Pavel Roskin <proski@gnu.org>
39176
506b2b3e 39177 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39178
62ead89c 39179 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39180
c4cd51d7 39181 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39182 Fix comparison between signed and unsigned.
39183
0d3d8f28 39184 * include/grub/i386/ieee1275/console.h: Declare
39185 grub_console_init() and grub_console_fini().
39186
8804b286 39187 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39188 It's empty and unused.
39189
ee01cf35 39190 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39191 beginning to avoid warnings with some compilers.
39192
afc3b5d7 39193 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39194 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39195
e4e8eaa5 391962008-07-14 Pavel Roskin <proski@gnu.org>
39197
407aceb4 39198 * kern/env.c (grub_register_variable_hook): Don't copy empty
39199 string, it leaks memory. Pass "" to grub_env_set(), it should
39200 handle constant strings.
39201
e4e8eaa5 39202 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39203 * commands/cmp.c (grub_cmd_cmp): Likewise.
39204 * kern/dl.c (grub_dl_flush_cache): Likewise.
39205 (grub_dl_load_core): Likewise.
39206 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39207 (grub_elf64_load_phdrs): Likewise.
39208
d4e2dad3 392092008-07-13 Pavel Roskin <proski@gnu.org>
39210
39211 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39212 between signed and unsigned.
39213 (LzmaEnc_Finish): Fix warning about an unused parameter.
39214
aa24b516 392152008-07-13 Bean <bean123ch@gmail.com>
39216
39217 * Makefile.in (enable_lzo): New rule.
39218
39219 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39220
39221 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39222
39223 * boot/i386/pc/lnxboot.S: #include <config.h>.
39224
39225 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39226 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39227
39228 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39229 compression algorithm according to configure macro.
39230
39231 * kern/i386/pc/startup.S (codestart): Likewise.
39232
39233 * kern/i386/pc/lzma_decode.S: New file.
39234
39235 * include/grub/lib/LzFind.h: Likewise.
39236
39237 * include/grub/lib/LzHash.h: Likewise.
39238
39239 * include/grub/lib/LzmaDec.h: Likewise.
39240
39241 * include/grub/lib/LzmaEnc.h: Likewise.
39242
39243 * include/grub/lib/LzmaTypes.h: Likewise.
39244
39245 * lib/LzFind.c: Likewise.
39246
39247 * lib/LzmaDec.c: Likewise.
39248
39249 * lib/LzmaEnc.c: Likewise.
39250
4ae821ac 392512008-07-13 Bean <bean123ch@gmail.com>
39252
39253 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39254 (grub_ext4_extent_header): New structure.
39255 (grub_ext4_extent): Likewise.
39256 (grub_ext4_extent_idx): Likewise.
39257 (grub_ext4_find_leaf): New function.
39258 (grub_ext2_read_block): Handle extents.
39259
9a745147 392602008-07-12 Robert Millan <rmh@aybabtu.com>
39261
39262 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39263
d49a4cf6 392642008-07-11 Robert Millan <rmh@aybabtu.com>
39265
39266 * util/grub.d/40_custom.in: New file. Example on how to add custom
39267 entries to /etc/grub.d.
39268 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39269 40_custom (implicitly, by merging all the grub.d rules).
39270
947414b4 392712008-07-11 Pavel Roskin <proski@gnu.org>
39272
0059cf6f 39273 * commands/read.c (grub_getline): Fix invalid memory access.
39274 Don't add newline to the variable value.
39275
947414b4 39276 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39277 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39278 (serial_hw_get_port): Check validity of the port number.
39279 (grub_cmd_serial): Check return value of serial_hw_get_port().
39280
62a02d00 392812008-07-07 Pavel Roskin <proski@gnu.org>
39282
39283 * boot/i386/pc/diskboot.S (notification_string): Replace
39284 "Loading kernel" with just "loading". This is shorter, less
39285 confusing and saves a few bytes for possible future changes.
39286
3e5581b0 392872008-07-05 Pavel Roskin <proski@gnu.org>
39288
ea387a48 39289 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39290 size for ATAPI devices, they are undefined. Output sector
39291 number in decimal form.
39292
3e5581b0 39293 * disk/ata.c: Use named constants for status bits.
39294
fdecb8fd 392952008-07-04 Pavel Roskin <proski@gnu.org>
39296
bcd35b90 39297 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39298 grub_addr_t before casting it to the void pointer to fix a
39299 warning. Non-addressable regions are discarded earlier.
39300 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39301 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39302 (check_signature): Don't shadow table_header.
39303 (grub_linuxbios_table_iterate): Cast numeric constants to
39304 grub_linuxbios_table_header_t.
39305 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39306 grub_stop().
39307
af58ab3d 39308 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39309 prevent warnings.
39310
1759aa57 39311 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39312 pointer, which can cause warnings. Support 64-bit addresses.
39313
fdecb8fd 39314 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39315 of sizeof(long). This fixes PowerPC image generation on x86_64.
39316
8516d2a8 393172008-07-04 Robert Millan <rmh@aybabtu.com>
39318
39319 This fixes a performance issue when pc & gpt partmap iterators
39320 didn't abort iteration even after our hook found what it was
fe987087 39321 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39322
39323 Some callers relied on previous buggy behaviour, since they would
34c44600 39324 raise an error when their own hooks caused early abortion of its
8516d2a8 39325 iteration.
39326
39327 * kern/device.c (grub_device_open): Improve error message.
39328 * disk/lvm.c (grub_lvm_open): Likewise.
39329 * disk/raid.c (grub_raid_open): Likewise.
39330
39331 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39332 when hook requests it, independently of grub_errno.
39333 (pc_partition_map_probe): Do not fail when find_func() caused
39334 early abortion of pc_partition_map_iterate().
39335
39336 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39337 when hook requests it, independently of grub_errno.
39338 (gpt_partition_map_probe): Do not fail when find_func() caused
39339 early abortion of gpt_partition_map_iterate().
39340
39341 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39342 when hook requests it, independently of grub_errno. Do not fail when
39343 part_map_iterate_hook() caused early abortion of p->iterate().
39344
39345 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39346 when grub_partition_iterate() returned with non-zero.
39347
277d0de9 393482008-07-03 Pavel Roskin <proski@gnu.org>
39349
39350 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39351 like we do in grub_ata_pio_read().
39352 (grub_ata_readwrite): Always write individual sectors. Fix the
39353 sector count for the remainder.
39354 (grub_ata_write): Enable writing to ATA devices. Correctly
39355 report error for ATAPI devices.
39356
d4c9b428 393572008-07-02 Pavel Roskin <proski@gnu.org>
39358
e43fc690 39359 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39360 warning.
39361
f707af42 39362 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39363 for every read sector, we already increment it for the whole
39364 batch. This fixes reading more than 256 sectors at once.
39365
11e16b15 39366 * util/grub-editenv.c (cmd_info): Cast argument to long
39367 explicitly. ptrdiff_t reduces to int on i386.
39368
cbabfdd4 39369 * util/grub-editenv.c (main): Be specific which parameter is
39370 missing.
39371
b8fbce0a 39372 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39373 (memdisk): Make memdisk_orig_addr a pointer.
39374
c9c8e606 39375 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39376 for file offsets, use grub_off_t instead. Fix printf format
39377 warnings.
39378
ca62e598 39379 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39380 there. Real unexpected warnings should not drown in the noise
39381 about known problems.
39382
ce8d1766 39383 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39384 grub_disk_addr_t for memory addresses.
39385
00c7a56a 39386 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39387 explicitly to fix a warning.
39388
08d3ef09 39389 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39390
cb71ba20 39391 * Makefile.in (MODULE_LDFLAGS): New variable.
39392 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39393 the linker accepts --build-id=none.
39394 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39395 MODULE_LDFLAGS.
39396 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39397
d4c9b428 39398 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39399 those in Linux XFS code. Provide a way to access 64-bit parent
39400 inode.
39401 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39402 the end of struct grub_xfs_dir_header.
39403
d4156eee 394042008-07-02 Bean <bean123ch@gmail.com>
39405
39406 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39407 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39408 and GRUB_IEEE1275_FLAG_NO_ANSI.
39409
39410 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39411 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39412 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39413
39414 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39415 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39416
39417 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39418 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39419
39420 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39421 esc sequence on non ANSI terminal.
39422 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39423
39424 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39425 beginning of file.
39426
2270f77b 394272008-07-02 Bean <bean123ch@gmail.com>
39428
39429 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39430 (grub_editenv_SOURCES): New variable.
39431 (pkglib_MODULES): Add loadenv.mod.
39432 (loadenv_mod_SOURCES): New variable.
39433 (loadenv_mod_CFLAGS): Likewise.
39434 (loadenv_mod_LDFLAGS): Likewise.
39435
39436 * include/grub/envblk.h: New file.
39437
39438 * util/envblk.c: New file.
39439
39440 * util/grub-editenv.c: New file.
39441
39442 * commands/loadenv.c: New file.
39443
0e9e51ec 394442008-07-01 Pavel Roskin <proski@gnu.org>
39445
d89b7634 39446 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39447 not unsigned char. This fixes warnings and is consistent with
39448 other tags.
39449
bf1835b1 39450 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39451
8222a04b 39452 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39453
6a42d99d 39454 * term/tparm.c (analyze): Always set *popcount.
39455
10b159d1 39456 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39457 cast to fix a warning.
39458
b8789f6c 39459 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39460 cast to suppress a warning.
39461
29d7e38a 39462 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39463 grub_fshelp_read_file() expects.
39464
f341f669 39465 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39466 write uuid as a 32-bit value in CPU byte order, so declare and
39467 use it as such.
39468
0e9e51ec 39469 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39470 long if the format specifier expects it.
39471 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39472 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39473 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39474 long to fix a warning.
39475 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39476 grub_dprintf() arguments to fix warnings.
39477
3aefa857 394782008-06-30 Pavel Roskin <proski@gnu.org>
39479
56c7668b 39480 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39481 install_bsd_part immediately before core.img is embedded or
39482 modified on disk. This fixes core.img verification if core.img
39483 cannot be embedded.
39484
3aefa857 39485 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39486 core_path to calculate the blocklist.
39487 Patch from Javier Martín <lordhabbit@gmail.com>
39488
5444088d 394892008-06-29 Robert Millan <rmh@aybabtu.com>
39490
39491 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39492 block to disk block.
39493 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39494 Patch from Niels Böhm <bitbucket@arcor.de>
39495
674835c8 394962008-06-29 Robert Millan <rmh@aybabtu.com>
39497
39498 * util/update-grub_lib.in (font_path): Search for fonts in
39499 /boot/grub first, which is more likely to be readable (we aren't
39500 deciding where fonts live, just looking for them).
39501
f527dbc8 395022008-06-26 Pavel Roskin <proski@gnu.org>
39503
6c2d8df6 39504 * util/biosdisk.c (read_device_map): Don't leave dead map
39505 entries for devices failing stat() check.
39506
f527dbc8 39507 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39508 core_path_dev for the core.img path on the target device.
39509
aebe3d13 395102008-06-26 Robert Millan <rmh@aybabtu.com>
39511
39512 * disk/fs_uuid.c: New file.
39513 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39514 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39515 (fs_uuid_mod_LDFLAGS): New variables.
39516 * include/grub/disk.h (grub_disk_dev_id): Add
39517 `GRUB_DISK_DEVICE_UUID_ID'.
39518 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39519 implement iterate().
39520
37aaf354 395212008-06-26 Robert Millan <rmh@aybabtu.com>
39522
39523 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39524 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39525 Linux image includes no initrd.
39526
25ff262a 395272008-06-21 Javier Martín <lordhabbit@gmail.com>
39528
39529 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39530 call to resolve the core image location that effectively appended the
39531 name twice.
39532
76a2bd44 395332008-06-21 Robert Millan <rmh@aybabtu.com>
39534
39535 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39536 call from here ...
39537
39538 * util/grub.d/10_hurd.in: ... to here ...
39539 * util/grub.d/10_linux.in: ... and here.
39540
650e1c79 395412008-06-19 Robert Millan <rmh@aybabtu.com>
39542
fe987087 39543 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39544 after it has been set by grub_machine_set_prefix().
39545
6ce63911 395462008-06-19 Robert Millan <rmh@aybabtu.com>
39547
39548 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39549 search result when not saving to variable, not the other way around.
39550 When saving to variable, abort iteration as soon as a match is found.
39551
73940cec 395522008-06-19 Robert Millan <rmh@aybabtu.com>
39553
39554 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39555 check for partition that provides /boot/grub. Its logic is flawed,
39556 as it prevents prepare_grub_to_access_device() from being called
39557 multiple times.
39558
3c62a39d 395592008-06-19 Robert Millan <rmh@aybabtu.com>
39560
39561 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39562 "insmod" command directly when abstraction modules are needed,
fe987087 39563 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39564 since it had already been processed).
39565
47395a42 395662008-06-19 Pavel Roskin <proski@gnu.org>
39567
39568 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39569 changed. This is needed in case GRUB_LIBDIR changes.
39570 * conf/i386-ieee1275.rmk: Likewise.
39571 * conf/i386-linuxbios.rmk: Likewise.
39572 * conf/i386-pc.rmk: Likewise.
39573 * conf/powerpc-ieee1275.rmk: Likewise.
39574
a145ac2d 395752008-06-18 Pavel Roskin <proski@gnu.org>
39576
39577 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39578 kernel_elf_symlist.c to symlist.c for consistency with other
39579 architectures. Update all users.
39580 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39581
7847c51e 395822008-06-18 Robert Millan <rmh@aybabtu.com>
39583
39584 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39585 it in prefix.
39586
39587 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39588 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39589 a RAID device, run setup() for all members independently on whether
39590 LVM abstraction is being used.
39591 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39592 If grub-mkimage has set `*install_dos_part == -2', don't override this
39593 value.
39594 Perform *install_dos_part adjustments independently on whether
39595 we're embedding or not.
39596 Clarify error message when image is too big for embedding.
39597 Remove duplicate *install_dos_part stanza.
39598
b23e5644 395992008-06-17 Robert Millan <rmh@aybabtu.com>
39600
39601 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39602 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39603 variables.
39604 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39605 values in grub_ofconsole_normal_color and
39606 grub_ofconsole_highlight_color (they're not directly related to
39607 background and foreground).
39608 (grub_ofconsole_setcolorstate): Extract background and foreground
39609 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39610
0aac2f79 396112008-06-17 Robert Millan <rmh@aybabtu.com>
39612
39613 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39614 /boot/grub for the check in last commit, not /boot (they could be
39615 different partitions).
39616
3cca7ef3 396172008-06-16 Robert Millan <rmh@aybabtu.com>
39618
39619 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39620 asked to setup access for the same partition that provides /boot,
39621 don't bother using UUIDs since our root already has the value we
39622 want.
39623
347396d8 396242008-06-16 Robert Millan <rmh@aybabtu.com>
39625
39626 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39627 I2O devices.
39628 Patch from Sven Mueller <sven@debian.org>.
39629
991477f8 396302008-06-16 Robert Millan <rmh@aybabtu.com>
39631
39632 * util/update-grub.in: Check for $EUID instead of $UID.
39633 Reported by Vincent Zweije.
39634
d31a32a1 396352008-06-16 Bean <bean123ch@gmail.com>
39636
fe987087 39637 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39638 (grub_ext2_read_block): Likewise.
39639 (grub_ext2_read_inode): Likewise.
39640 (grub_ext2_mount): Likewise.
39641 (grub_ext2_close): Likewise.
39642 (grub_ext3_get_journal): Removed.
39643
fe987087 39644 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39645 (grub_reiserfs_read_symlink): Likewise.
39646 (grub_reiserfs_mount): Likewise.
39647 (grub_reiserfs_open): Likewise.
39648 (grub_reiserfs_read): Likewise.
39649 (grub_reiserfs_close): Likewise.
39650 (grub_reiserfs_get_journal): Removed.
39651
39652 * fs/fshelp.c (grub_fshelp_read): Removed.
39653 (grub_fshelp_map_block): Likewise.
39654
39655 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39656 (grub_fshelp_journal): Likewise.
39657 (grub_fshelp_read): Likewise.
39658 (grub_fshelp_map_block): Likewise.
39659
3540a760 396602008-06-16 Pavel Roskin <proski@gnu.org>
39661
39662 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39663 floating point anymore.
39664 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39665
95614c84 396662008-06-15 Pavel Roskin <proski@gnu.org>
39667
39668 * commands/ls.c (grub_ls_list_files): Use integer calculations
39669 for human readable format, avoid floating point use.
39670 * kern/misc.c (grub_ftoa): Remove.
39671 (grub_vsprintf): Remove floating point support.
39672
50465dd6 396732008-06-15 Robert Millan <rmh@aybabtu.com>
39674
fe6b695a 39675 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39676 devices.
39677 Reported by Max Vozeler.
39678
a9207284 396792008-06-15 Robert Millan <rmh@aybabtu.com>
39680
39681 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39682 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39683 skipped later.
39684 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39685 the beginning of the prefix.
39686
39687 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39688 It is assumed that if we have a memdisk, grub-mkimage has set
39689 grub_prefix to include the "(memdisk)" drive in it.
39690
a7cbd45a 396912008-06-15 Robert Millan <rmh@aybabtu.com>
39692
39693 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39694 Initialize keyboard controller after registering the terminal, so that
39695 grub_printf() can be called from grub_keyboard_controller_init().
39696
21cf716a 396972008-06-15 Robert Millan <rmh@aybabtu.com>
39698
39699 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39700 extent-btree which is written as big endian on disk.
39701 Reported by Alain Greppin <al@chilibi.org>.
39702
23a64d8e 397032008-06-14 Robert Millan <rmh@aybabtu.com>
39704
39705 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39706 * util/i386/pc/grub-install.in (modules): Likewise.
39707
d687651c 397082008-06-13 Pavel Roskin <proski@gnu.org>
39709
39710 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39711
dfe9ddd4 397122008-06-13 Bean <bean123ch@gmail.com>
39713
39714 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39715
39716 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39717
39718 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39719 to indicate sparse block.
39720
16ae7781 397212008-06-12 Pavel Roskin <proski@gnu.org>
39722
e6d1a308 39723 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39724 number, grub_fshelp_read() does it for us.
39725
16ae7781 39726 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39727 linear disk read with journal translation.
39728 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39729 * include/grub/fshelp.h: Declare grub_fshelp_read().
39730
40fd3a2b 397312008-06-09 Pavel Roskin <proski@gnu.org>
39732
39733 * fs/minix.c (grub_minix_mount): Handle error reading
39734 superblock.
39735
f5679726 397362008-06-08 Robert Millan <rmh@aybabtu.com>
39737
39738 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39739 don't append the RAID prefix afterwards.
39740 Reported by Clint Adams.
39741
ce525529 397422008-06-08 Robert Millan <rmh@aybabtu.com>
39743
39744 Based on description from Pavel:
39745 * kern/disk.c (grub_disk_check_range): Rename to ...
39746 (grub_disk_adjust_range): ... this. Add a comment explaining the
39747 tasks performed by this function.
39748
ad4936a0 397492008-06-08 Robert Millan <rmh@aybabtu.com>
39750
39751 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39752 `num_serial' (for consistency with other variables).
39753 (struct grub_ntfs_data): Add `uuid' member.
39754 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39755 (grub_ntfs_uuid): New function.
39756 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39757
dc20b0f9 397582008-06-07 Pavel Roskin <proski@gnu.org>
39759
39760 * util/biosdisk.c (open_device): Revert last change to the
39761 function, it broke installation. The sector needs to be
39762 different dependent on which device is opened.
39763
c5e3cfba 397642008-06-06 Robert Millan <rmh@aybabtu.com>
39765
39766 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39767 rest of GRUB, and breakage doesn't happen if its value were modified.
39768
39769 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39770 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39771 a constant (same value).
39772 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39773 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39774
26a1f8c4 397752008-06-06 Robert Millan <rmh@aybabtu.com>
39776
39777 * util/biosdisk.c (open_device): Do not modify sector offset when
39778 accessing a partition. kern/disk.c already handles this for us.
39779
25d6b327 397802008-06-06 Robert Millan <rmh@aybabtu.com>
39781
39782 * util/grub-emu.c (grub_machine_init): Move code in this function from
39783 here ...
39784 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39785 segfault in case grub_printf() is called).
39786
39787 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39788 grub_probe. Update all users not to explicitly add it again.
39789 (grub_device): New variable; contains corresponding device for grubdir.
39790 (fs_module, partmap_module, devabstraction_module): Pass
39791 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39792 every time.
39793
9ece62fb 397942008-06-05 Robert Millan <rmh@aybabtu.com>
39795
39796 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39797 is found, print it (same layout as with labels).
39798
1ad36d37 397992008-06-04 Robert Millan <rmh@aybabtu.com>
39800
39801 * util/biosdisk.c (get_drive): Rename to ...
39802 (find_grub_drive): ... this. Update all users.
39803
39804 (get_os_disk): Rename to ...
39805 (convert_system_partition_to_system_disk): ... this. Update all users.
39806
39807 (find_drive): Rename to ...
39808 (find_system_device): ... this. Update all users.
39809
e6a30859 398102008-06-04 Robert Millan <rmh@aybabtu.com>
39811
39812 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39813 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39814 (make_device_map): Likewise.
39815
00c108a4 398162008-06-01 Robert Millan <rmh@aybabtu.com>
39817
39818 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39819 before dereferencing it.
39820
39821 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39822 union with fat12/fat16-specific ones. Add some new fields, including
39823 `num_serial' for both versions.
39824 (struct grub_fat_data): Add `uuid' member.
39825 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39826 names. Initialize `data->uuid' using `num_serial'.
39827 (grub_fat_uuid): New function.
39828 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39829
39830 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39831 (grub_reiserfs_uuid): New function.
39832 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39833 member.
39834
39835 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39836 (grub_xfs_uuid): New function.
39837 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39838
1385c5bb 398392008-06-01 Robert Millan <rmh@aybabtu.com>
39840
39841 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39842 code that is backward compatible with pre-uuid search command.
39843
c682dfd7 398442008-05-31 Robert Millan <rmh@aybabtu.com>
39845
39846 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39847 floppies after everything else, to ensure floppy drive isn't accessed
39848 unnecessarily (patch from Bean).
39849
b7db5d47 398502008-05-31 Robert Millan <rmh@aybabtu.com>
39851
39852 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39853 not print device names when we were asked to set a variable.
39854
6e037aa9 398552008-05-31 Robert Millan <rmh@aybabtu.com>
39856
39857 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39858 using "cursor-on" and "cursor-off" commands (understood at least by
39859 the Open Firmware flavour on OLPC).
39860
41305bc8 398612008-05-31 Michael Gorven <michael@gorven.za.net>
39862
39863 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39864 on and off sequences.
39865
69ba137e 398662008-05-31 Robert Millan <rmh@aybabtu.com>
39867
39868 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39869 * util/update-grub.in: Likewise.
39870
520ae21b 398712008-05-30 Pavel Roskin <proski@gnu.org>
39872
39873 * util/biosdisk.c (linux_find_partition): Simplify logic and
39874 make the code more universal. Keep special processing for
39875 devfs, but use a simple rule for all other devices. If the
39876 device ends with a number, append 'p' and the partition number.
39877 Otherwise, append only the partition number.
39878
5786569b 398792008-05-30 Robert Millan <rmh@aybabtu.com>
39880
39881 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39882 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39883 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39884 the `root' parameter to Linux.
39885
51500452 398862008-05-30 Robert Millan <rmh@aybabtu.com>
39887
39888 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39889 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39890 --fs_uuid with --fs-uuid.
39891 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39892 all filesystems support them).
39893
811d3878 398942008-05-30 Robert Millan <rmh@aybabtu.com>
39895
39896 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39897 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39898
cab63c95 398992008-05-30 Robert Millan <rmh@aybabtu.com>
39900
39901 * util/grub.d/00_header.in: Remove obsolete comment referencing
39902 convert_system_path_to_grub_path().
39903 * util/update-grub.in: Likewise.
39904 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39905 (convert_system_path_to_grub_path): Add a warning message explaining
39906 that this function is deprecated. Rely on is_path_readable_by_grub()
39907 for the readability checks.
39908 (font_path): Use is_path_readable_by_grub() for the readability
39909 check rather than convert_system_path_to_grub_path().
39910
972e2f7a 399112008-05-30 Robert Millan <rmh@aybabtu.com>
39912
39913 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39914 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39915 converting it first.
39916 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39917 grub.cfg for access to font file, and afterwards call it again to set
39918 the root device.
39919
62191274 399202008-05-30 Robert Millan <rmh@aybabtu.com>
39921
39922 * commands/search.c (options): Add --fs_uuid option.
39923 (search_fs_uuid): New function.
39924 (grub_cmd_search): Fix --set argument passing.
39925 Use search_fs_uuid() when requested via --fs_uuid.
39926 (grub_search_init): Update help message.
39927 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39928 and redeclare it as an array of 16-bit words.
39929 (grub_ext2_uuid): New function.
39930 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39931 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39932 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39933 (GRUB_DEVICE_BOOT_UUID): New variables.
39934 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39935 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39936 whenever possible.
39937 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39938 just assume `root' variable has the right value.
39939 * util/grub.d/10_linux.in: Likewise.
39940 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39941 via PRINT_FS_UUID.
39942 (main): Recognise `-t fs_uuid' argument.
39943
01b73ec8 399442008-05-30 Robert Millan <rmh@aybabtu.com>
39945
39946 * util/biosdisk.c (map): Redefine structure to hold information
39947 about GRUB drive name.
fe6b695a 39948 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39949 drive names.
39950 (call_hook): Remove.
39951 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39952 member. Assume drive has partitions.
39953 (grub_util_biosdisk_open): Access device names via `.device' struct
39954 member.
39955 (open_device): Likewise.
39956 (find_drive): Likewise.
39957 (read_device_map): Adjust map[] usage to match the new struct
39958 definition. Don't check for duplicates (still possible, but not cheap
39959 anymore).
39960 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39961 (make_device_name): Remove assumption of BIOS-like drive names.
39962
22f16596 399632008-05-30 Pavel Roskin <proski@gnu.org>
39964
39965 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39966 compiling execute.c doesn't need grub_script.tab.h anymore.
39967 (normal/command.c_DEPENDENCIES): Likewise.
39968 (normal/function.c_DEPENDENCIES): Likewise.
39969 * conf/i386-ieee1275.rmk: Likewise.
39970 * conf/i386-linuxbios.rmk: Likewise.
39971 * conf/i386-pc.rmk: Likewise.
39972 * conf/powerpc-ieee1275.rmk: Likewise.
39973 * conf/sparc64-ieee1275.rmk: Likewise.
39974
528ad8f2 399752008-05-29 Pavel Roskin <proski@gnu.org>
39976
d1dff95d 39977 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39978 when scanning metadata for volume group name.
39979
528ad8f2 39980 * include/grub/script.h: Don't include grub_script.tab.h. It's
39981 a generated file, which may only be included from the files with
39982 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39983 use union YYSTYPE, as the later allows forward declaration.
39984 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39985
47248e08 399862008-05-29 Robert Millan <rmh@aybabtu.com>
39987
39988 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39989 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39990 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39991 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39992 scan codes.
39993
ee632529 399942008-05-29 Robert Millan <rmh@aybabtu.com>
39995
39996 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39997 control key combinations.
39998
eee96e08 399992008-05-29 Robert Millan <rmh@aybabtu.com>
40000
40001 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40002 * util/ieee1275/grub-install.in: ... to here.
40003 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40004 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40005 (grub_install_SOURCES): Likewise.
40006
da9a6a94 400072008-05-29 Robert Millan <rmh@aybabtu.com>
40008
40009 * fs/affs.c: Update copyright year.
40010 * fs/ext2.c: Likewise.
40011 * fs/fshelp.c: Likewise.
40012 * fs/hfsplus.c: Likewise.
40013 * fs/ntfs.c: Likewise.
40014 * fs/xfs.c: Likewise.
40015 * include/grub/fshelp.h: Likewise.
40016 * util/grub-mkdevicemap.c: Likewise.
40017
12e65f3a 400182008-05-28 Robert Millan <rmh@aybabtu.com>
40019
40020 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40021 might need to be fatfs to support some firmware implementations
40022 (e.g. OFW or EFI).
40023
23023641 400242008-05-28 Robert Millan <rmh@aybabtu.com>
40025
40026 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40027 devices.
40028 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40029 (make_device_map): Likewise.
40030
887d2619 400312008-05-20 Bean <bean123ch@gmail.com>
40032
40033 * fs/fshelp.c (grub_fshelp_map_block): New function.
40034 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40035 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40036
40037 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40038 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40039 (grub_fshelp_journal): New structure.
40040 (grub_fshelp_map_block): New function prototype.
40041 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40042 (grub_fshelp_map_block): Likewise.
40043
40044 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40045 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40046 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40047 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40048 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40049 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40050 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40051 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40052 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40053 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40054 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40055 (grub_ext2_sblock): New members for journal support.
40056 (grub_ext3_journal_header): New structure.
40057 (grub_ext3_journal_revoke_header): Likewise.
40058 (grub_ext3_journal_block_tag): Likewise.
40059 (grub_ext3_journal_sblock): Likewise.
40060 (grub_fshelp_node): New members logfile and journal.
40061 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40062 grub_fshelp_map_block to get real block number.
40063 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40064 number.
40065 (grub_ext2_read_inode): Likewise.
40066 (grub_ext3_get_journal): New function.
40067 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40068 (grub_ext2_close): Release memory used by journal.
40069
40070 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40071 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40072 (grub_reiserfs_transaction_header): Renamed to
40073 grub_reiserfs_description_block, replace field data with real_blocks.
40074 (grub_reiserfs_commit_block): New structure.
40075 (grub_reiserfs_data): New member journal.
40076 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40077 number.
40078 (grub_reiserfs_read_symlink): Likewise.
40079 (grub_reiserfs_iterate_dir): Likewise.
40080 (grub_reiserfs_open): Likewise.
40081 (grub_reiserfs_read): Likewise.
40082 (grub_reiserfs_get_journal): New function.
40083 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40084 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40085 using grub_reiserfs_get_journal.
40086 (grub_reiserfs_close): Release memory used by journal.
40087
40088 * fs/affs.c (grub_affs_read_block): Change block type to
40089 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40090
40091 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40092
40093 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40094
40095 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40096
40097 * fs/udf.c (grub_udf_read_block): Change block type to
40098 grub_disk_addr_t. Use type cast to avoid warning.
40099
40100 * fs/xfs.c (grub_xfs_read_block): Likewise.
40101
b7c6bed5 401022008-05-16 Christian Franke <franke@computer.org>
40103
40104 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40105 to ensure that break with ESC will always work.
40106 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40107 Remove ESC from keyboard queue.
40108
eedf167f 401092008-05-16 Christian Franke <franke@computer.org>
40110
40111 * util/biosdisk.c: [__CYGWIN__] Add includes.
40112 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40113 (get_os_disk): Move variable declarations to OS specific
40114 parts to avoid warning.
40115 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40116 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40117 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40118 Cygwin.
40119 * util/getroot.c: [__CYGWIN__] Add includes.
40120 (strip_extra_slashes): Fix "/" case.
40121 [__CYGWIN__] (get_win32_path): New function.
40122 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40123 [__CYGWIN__] (find_root_device): Disable.
40124 [__CYGWIN__] (get_bootsec_serial): New function.
40125 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40126 [__linux__] (grub_guess_root_device): Add early returns to simplify
40127 structure.
40128 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40129 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40130 check for Linux only.
40131
a079699e 401322008-05-15 Bean <bean123ch@gmail.com>
40133
40134 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40135 keyboard hang problem in apple's intel mac.
40136
1cf4059a 401372008-05-09 Robert Millan <rmh@aybabtu.com>
40138
40139 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40140 devices.
40141 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40142 (make_device_map): Likewise.
40143 Reported by Aurelien Jarno <aurel32@debian.org>
40144
ed759390 401452008-05-07 Ian Campbell <ijc@hellion.org.uk>
40146
40147 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40148 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40149 (make_device_map): Output entries for xvd type disks.
40150
b56c4eaa 401512008-05-07 Robert Millan <rmh@aybabtu.com>
40152
40153 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40154 devices.
40155 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40156 (make_device_map): Likewise.
40157 Reported by Roland Dreier <rdreier@cisco.com>
40158
7f8866ed 401592008-05-07 Robert Millan <rmh@aybabtu.com>
40160
40161 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40162 grub_strstr() call. Correct a few mistakes in failure path handling.
40163
b0346e0f 401642008-05-06 Robert Millan <rmh@aybabtu.com>
40165
40166 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40167 Do not print a trailing slash (therefore, the root directory is an
40168 empty string).
40169 (convert_system_path_to_grub_path): Do not remove trailing slash
40170 from make_system_path_relative_to_its_root() output.
40171
40172 * util/i386/pc/grub-install.in: Add trailing slash to output from
40173 make_system_path_relative_to_its_root().
40174
6cf12cbd 401752008-05-06 Robert Millan <rmh@aybabtu.com>
40176
40177 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40178 ensures that output lines aren't intermangled with those sent to
40179 stderr (via grub_util_info()).
40180 * util/grub-probe.c (grub_refresh): Likewise.
40181 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40182
0fbb3117 401832008-05-05 Christian Franke <franke@computer.org>
40184
40185 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40186 Add Cygwin device names.
40187 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40188 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40189 (check_device): Return error instead of success on empty name.
40190 (make_device_map): Move label inside linux specific code to
40191 prevent compiler warning.
40192
8124cdb7 401932008-04-30 Robert Millan <rmh@aybabtu.com>
40194
40195 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40196 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40197 first boot option.
40198 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40199
094c01d0 402002008-04-29 Robert Millan <rmh@aybabtu.com>
40201
40202 * docs/grub.cfg: New file (example GRUB configuration).
40203
f4b1fc02 402042008-04-26 Robert Millan <rmh@aybabtu.com>
40205
329ce2a5 40206 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40207 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40208 and `disk/ieee1275/nand.c'.
f4b1fc02 40209
25f16ec1 402102008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40211
25f16ec1 40212 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40213 i386-linuxbios.
40214
40215 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40216 change the buffer size to 4096 for cdrom device.
40217
40218 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40219 and nand.mod.
40220 (_linux_mod_SOURCES): New variable.
40221 (_linux_mod_CFLAGS): Likewise.
40222 (_linux_mod_LDFLAGS): Likewise.
40223 (linux_mod_SOURCES): Likewise.
40224 (linux_mod_CFLAGS): Likewise.
40225 (linux_mod_LDFLAGS): Likewise.
40226 (nand_mod_SOURCES): Likewise.
40227 (nand_mod_CFLAGS): Likewise.
40228 (nand_mod_LDFLAGS): Likewise.
40229
40230 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40231 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40232 type property. (nand device in olpc don't have this property)
40233
40234 * include/grub/disk.h (grub_disk_dev_id): New macro
40235 GRUB_DISK_DEVICE_NAND_ID.
40236
40237 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40238 function prototype.
40239 (grub_rescue_cmd_initrd): Likewise.
40240
40241 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40242 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40243 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40244
25f16ec1 40245 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40246 GRUB_MACHINE_IEEE1275 is defined.
40247
40248 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40249 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40250
40251 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40252 on nested function heap_init.
40253 (grub_upper_mem): New variable for i386-ieee1275.
40254 (grub_get_extended_memory): New function for i386-ieee1275.
40255 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40256
40257 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40258 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40259 property.
f19dbdb7 40260
25f16ec1 40261 * loader/i386/ieee1275/linux.c: New file.
40262
40263 * loader/i386/ieee1275/linux_normal.c: New file.
40264
40265 * disk/ieee1275/nand.c: New file.
40266
e89d61e9 402672008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40268
40269 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40270 value.
40271 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40272
602566f6 402732008-04-18 Robert Millan <rmh@aybabtu.com>
40274
40275 Restructures early code path on ieee1275 to unify grub_main() as
40276 the first C function that is executed in every platform.
40277
40278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40279 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40280 cmain().
40281 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40282 * kern/ieee1275/cmain.c (cmain): Rename to ...
40283 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40284 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40285 at the beginning.
40286
57490c2b 402872008-04-18 Robert Millan <rmh@aybabtu.com>
40288
40289 * util/update-grub.in: Fix syntax error when setting
40290 `GRUB_PRELOAD_MODULES'.
40291 Reported by Stephane Chazelas <stephane@artesyncp.com>
40292
1977517d 402932008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40294
40295 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40296 section into account, newer toolchains generate unique build ids
40297 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40298 we want build ids to be preserved
1977517d 40299 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40300 far from other sections don't cause the raw binary images grow
40301 size
40302
bfb1f1a2 403032008-04-15 Robert Millan <rmh@aybabtu.com>
40304
40305 * disk/lvm.c: Update copyright year.
40306 * kern/misc.c: Likewise.
40307
01979850 403082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40309
40310 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40311 there is no memory left for physical volume name.
01979850 40312
0a1150e2 403132008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40314
40315 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40316 volume name mapping to support bigger than 9 character names properly.
40317
82ead3fe 403182008-04-13 Robert Millan <rmh@aybabtu.com>
40319
40320 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40321 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40322
e54a72f5 403232008-04-13 Christian Franke <franke@computer.org>
40324
40325 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40326 to create a floppy emulation boot CD when non emulation mode
40327 does not work.
40328 Enable Joliet CD filesystem extension.
40329
9fe86034 403302008-04-13 Robert Millan <rmh@aybabtu.com>
40331
40332 * kern/misc.c (grub_strncat): Fix off-by-one error.
40333 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40334
40335 * kern/env.c (grub_env_context_close): Clear current context, not
40336 previous one.
40337 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40338
40339 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40340
7ceeee39 403412008-04-13 Robert Millan <rmh@aybabtu.com>
40342
40343 Improve robustness when handling LVM.
40344
40345 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40346 (and leave `*p' unmodified).
7ceeee39 40347 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40348 through it.
40349 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40350 iterating through it.
40351 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40352 through it.
fe6b695a 40353 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40354 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40355 Don't assume `vg->pvs != NULL' when iterating through it.
40356
58cd3d85 403572008-04-13 Robert Millan <rmh@aybabtu.com>
40358
40359 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40360 * genmk.rb (partmap): New variable.
40361 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40362 (#{partmap}): New target rule.
40363 * genpartmaplist.sh: New file.
40364 * Makefile.in (pkglib_DATA): Add partmap.lst.
40365 (partmap.lst): New target rule.
40366 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40367 modules (including all partition maps), instead of preloading them.
40368
78b51059 403692007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40370
40371 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40372 `linux-boot-prober' (if installed) to detect other operating
40373 systems which are installed on the computer and add them to
40374 the boot menu.
40375 * conf/common.rmk: Build and install 30_os-prober.
40376
a91627b4 403772008-04-12 Robert Millan <rmh@aybabtu.com>
40378
40379 * kern/powerpc/ieee1275/init.c: Move from here ...
40380 * kern/ieee1275/init.c: ... to here. Update all users.
40381
40382 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40383 * kern/ieee1275/cmain.c: ... to here. Update all users.
40384
40385 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40386 * kern/ieee1275/openfw.c: ... to here. Update all users.
40387
40388 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40389 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40390
322562ea 403912008-04-10 Pavel Roskin <proski@gnu.org>
40392
40393 * configure.ac: Always use "_cv_" in cache variables for
40394 compatibility with Autoconf 2.62.
40395
a02a73c5 403962008-04-07 Robert Millan <rmh@aybabtu.com>
40397
40398 Revert grub/machine/init.h addition by Pavel (since it breaks on
40399 i386-ieee1275 and others):
40400 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40401 * util/powerpc/ieee1275/misc.c: Likewise.
40402
25c024b1 404032008-04-07 Robert Millan <rmh@aybabtu.com>
40404
40405 * util/grub-probe.c (probe): Improve error message.
40406
3cbd2f98 404072008-04-07 Robert Millan <rmh@aybabtu.com>
40408
40409 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40410 (this prevents the presence of a bogus entry from ruining the whole
40411 thing).
40412
87a297bf 404132008-04-06 Pavel Roskin <proski@gnu.org>
40414
36747a62 40415 * util/biosdisk.c: Include grub/util/biosdisk.h.
40416 * util/grub-fstest.c (execute_command): Make static.
40417 * util/grub-mkdevicemap.c (check_device): Likewise.
40418 * util/i386/pc/misc.c: Include grub/machine/init.h.
40419 * util/powerpc/ieee1275/misc.c: Likewise.
40420 * util/lvm.c: Include grub/util/lvm.h.
40421 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40422 grub/cache.h.
40423 * util/raid.c: Include grub/util/raid.h.
40424 (grub_util_getdiskname): Make static.
40425
87a297bf 40426 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40427 grub_hostfs_fini(), as they are called from grub_init_all() and
40428 grub_fini_all() respectively. This fixes an infinite loop in
40429 grub-fstest due to double registration of hostfs.
40430 Reported by Christian Franke <Christian.Franke@t-online.de>
40431
f6ce7629 404322008-04-05 Pavel Roskin <proski@gnu.org>
40433
40434 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40435 all 8 functions. Otherwise, probe function 0 only.
40436
070e49e4 404372008-04-04 Pavel Roskin <proski@gnu.org>
40438
8b088a4c 40439 * commands/lspci.c (grub_lspci_iter): Print the bus number
40440 correctly.
40441
4f657021 40442 * commands/lspci.c (grub_pci_classes): Fix typos.
40443 (grub_lspci_iter): Don't print func twice. Print vendor ID
40444 before device ID, as it's normally done.
40445
070e49e4 40446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40447 Fix signedness warnings.
40448 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40449 Likewise.
40450 * util/ieee1275/get_disk_name.c: Include config.h so that
40451 _GNU_SOURCE is defined and getline() is declared. Mark an
40452 unused argument as such. Fix a signedness warning.
40453
ba7328dc 404542008-04-02 Pavel Roskin <proski@gnu.org>
40455
26887f22 40456 * genkernsyms.sh.in: Use more robust assignments for CC and
40457 srcdir. Quote srcdir.
40458 * gensymlist.sh.in: Likewise. Assert at the compile time that
40459 the symbol table is not empty.
40460
ba7328dc 40461 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40462 * fs/cpio.c (grub_cpio_read): Likewise.
40463
0f582c6b 404642008-04-01 Pavel Roskin <proski@gnu.org>
40465
4b6e1995 40466 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40467 * disk/host.c (grub_host_open): Likewise.
40468 * disk/loopback.c (grub_loopback_open): Likewise.
40469 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40470 disk->id as in disk/host.c, not a multi-character constant.
40471
828a2768 40472 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40473 later is obsolete, potentially dangerous and sets a bad example.
40474 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40475 * util/misc.c (grub_util_get_image_size): Likewise.
40476
2bb4fb47 40477 * disk/loopback.c (options): Improve help for "--partitions".
40478
0f582c6b 40479 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40480 options to align them with the short options, e.g. "echo -e".
40481
a33224e0 404822008-03-31 Bean <bean123ch@gmail.com>
40483
40484 * video/reader/png.c (grub_png_data): New member is_16bit and
40485 image_data.
40486 (grub_png_decode_image_header): Detect 16 bit png image.
40487 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40488 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40489 (grub_video_reader_png): Release memory occupied by image_data.
40490
40491 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40492 4096 bytes.
40493 (grub_nfs_mount): Skip the test for sector per cluster.
40494
40495 * include/grub/ntfs.h (MAX_SPC): Removed.
40496
86cb4f54 404972008-03-31 Bean <bean123ch@gmail.com>
40498
40499 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40500 (grub_probe_SOURCES): Add fs/afs.c.
40501 (grub_fstest_SOURCES): Likewise.
40502 (afs_mod_SOURCES): New variable.
40503 (afs_mod_CFLAGS): Likewise.
40504 (afs_mod_LDFLAGS): Likewise.
40505
40506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40507 (grub_emu_SOURCES): Likewise.
40508
40509 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40510
40511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40512
40513 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40514
40515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40516
40517 * fs/afs.c: New file.
40518
17c74c21 405192008-03-30 Pavel Roskin <proski@gnu.org>
40520
4cb68e89 40521 * disk/host.c: Include grub/misc.h to fix a warning.
40522 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40523 warnings about implicit declarations.
40524
8790bb04 40525 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40526 variable.
40527 * include/grub/i386/loader.h: Change declaration of
40528 grub_linux_boot() to match what grub_loader_set() expects.
40529 * util/getroot.c (grub_guess_root_device): Return const char* to
40530 fix a warning.
40531 * util/grub-probe.c (probe): Fix a warning about uninitialized
40532 abstraction_name variable.
40533 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40534 second argument as unused to fix a warning.
40535
9a3f3296 40536 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40537 missing grub_error() call.
40538
0ecef90d 40539 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40540 2.60 and newer uses it to define datadir.
40541
0bf6d401 40542 * commands/sleep.c: Fix warning about implicit declaration.
40543 * disk/memdisk.c: Likewise.
40544 * loader/aout.c: Likewise.
40545 * loader/i386/bsd_normal.c: Likewise.
40546 * util/grub-probe.c: Likewise.
40547
7cdacf97 40548 * commands/i386/cpuid.c (has_longmode): Make static.
40549 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40550 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40551
17c74c21 40552 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40553 GDT. This is more robust, as %ds can change.
40554 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40555 calling real_to_prot().
40556 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40557
80a3e68b 405582008-03-28 Pavel Roskin <proski@gnu.org>
40559
40560 * kern/i386/pc/startup.S: Assert that uncompressed functions
40561 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40562 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40563 code, as they push parts of the code (error handlers) beyond
40564 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40565 code as correctness and size.
40566
77bcd272 405672008-03-28 Pavel Roskin <proski@gnu.org>
40568
40569 * kern/i386/pc/startup.S
40570 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40571 data block address to the real mode, keep offset minimal. This
40572 works around a bug in AWARD BIOS on old Athlon systems, which
40573 makes CD detection hang.
40574
c5dfd43b 405752008-03-26 Pavel Roskin <proski@gnu.org>
40576
40577 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40578 const.
40579 * include/grub/normal.h: Add grub_parse_color_name_pair()
40580 declaration.
40581
bf962df2 405822008-03-24 Bean <bean123ch@gmail.com>
40583
40584 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40585 (cd_count): Removed.
40586 (cd_drive): New variable.
40587 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40588 (grub_biosdisk_call_hook): Likewise.
40589 (grub_biosdisk_iterate): Change cdrom detection method.
40590 (grub_biosdisk_open): Replace cd_start with cd_drive.
40591 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40592 detect cdrom device.
40593
40594 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40595 Removed.
40596 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40597 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40598 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40599 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40600 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40601 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40602 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40603 (grub_biosdisk_cdrp): New structure.
40604 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40605
40606 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40607
40608 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40609 device.
40610
40611 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40612 New function.
40613
68e7fc7a 406142008-03-20 Robert Millan <rmh@aybabtu.com>
40615
40616 Remove 2 TiB limit in ata.mod.
40617 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40618 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40619 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40620 grub_uint64_t instead of grub_uint32_t.
40621
38ad2cf5 406222008-03-05 Bean <bean123ch@gmail.com>
40623
40624 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40625 (grub_multiboot): Set boot device.
40626
40627 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40628
2b89344e 406292008-03-02 Bean <bean123ch@gmail.com>
40630
40631 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40632 symlink_buffer.
40633
87a95d1f 406342008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40635
40636 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40637 texinfo.tex.
40638
40639 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40640 modified.
40641
40642 * docs/fdl.texi: New file.
f19dbdb7 40643
87a95d1f 40644 * docs/mdate-sh: New file. Copied from gnulib.
40645 * docs/texinfo.tex: Likewise.
40646
40647 * config.guess: Updated from gnulib.
40648 * install-sh: Likewise.
40649
7dc15d8e 406502008-02-28 Robert Millan <rmh@aybabtu.com>
40651
40652 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40653 (aout_mod_SOURCES): New variable.
40654 (aout_mod_CFLAGS): Likewise.
40655 (aout_mod_LDFLAGS): Likewise.
40656
40657 * conf/i386-ieee1275.rmk: Likewise.
40658
b00ab696 406592008-02-28 Robert Millan <rmh@aybabtu.com>
40660
40661 * util/update-grub.in: Reorganise terminal validity check. Accept
40662 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40663 Based on suggestion by Franklin PIAT.
40664
79ca2d78 406652008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40666
40667 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40668 function.
40669 * util/getroot.c (grub_util_check_block_device): New function that
40670 returns the given argument if it is a block device and returns NULL else.
40671 * util/grub-probe.c (argument_is_device): New variable.
40672 (probe): Promote device_name from a variable to an argument. Receive
40673 device_name from grub_util_check_block_device() if path is NULL and from
40674 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40675 (options): Introduce new parameter '-d, --device'.
79ca2d78 40676 (main): Add description of the new parameter to the help screen.
40677 Rename path variable to argument. Set argument_is_device if the '-d'
40678 option is given. Pass argument to probe() depending on
40679 argument_is_device.
40680
0d16e571 406812008-02-24 Bean <bean123ch@gmail.com>
40682
40683 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40684 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40685 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40686 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40687 (GRUB_ISO9660_VOLDESC_END): Likewise.
40688 (grub_iso9660_primary_voldesc): New member escape.
40689 (grub_iso9660_data): New member joliet.
40690 (grub_iso9660_convert_string): New function.
40691 (grub_iso9660_mount): Detect joliet extension.
40692 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40693 (grub_iso9660_iso9660_label): Likewise.
40694
40695 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40696 (grub_setup_SOURCES): Add fs/udf.c.
40697 (grub_fstest_SOURCES): Likewise.
40698 (udf_mod_SOURCES): New variable.
40699 (udf_mod_CFLAGS): Likewise.
40700 (udf_mod_LDFLAGS): Likewise.
40701
40702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40703 (grub_emu_SOURCES): Likewise.
40704
40705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40706
40707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40708
40709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40710
40711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40712
40713 * fs/udf.c: New file.
40714
8a594a17 407152008-02-24 Robert Millan <rmh@aybabtu.com>
40716
40717 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40718 (normal/lexer.c_DEPENDENCIES): New variables.
40719 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40720 (normal/lexer.c_DEPENDENCIES): Likewise.
40721 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40722 (normal/lexer.c_DEPENDENCIES): Likewise.
40723 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40724 (normal/lexer.c_DEPENDENCIES): Likewise.
40725 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40726 (normal/lexer.c_DEPENDENCIES): Likewise.
40727 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40728 (normal/lexer.c_DEPENDENCIES): Likewise.
40729
2dc33c03 407302008-02-23 Robert Millan <rmh@aybabtu.com>
40731
40732 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40733 since they were intended to be in hex. This didn't break previously
40734 because of a bug in gpt_partition_map_iterate() (see below).
40735
40736 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40737 when checking the validity of GPT header.
40738 Remove `partno', since it always provides the same information as `i'.
40739
f6f4cfb0 407402008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40741
40742 * include/grub/efi/time.h: Fix a wrong comment.
40743
79ff665f 407442008-02-19 Pavel Roskin <proski@gnu.org>
40745
40746 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40747 message.
40748
d38e24c2 407492008-02-19 Bean <bean123ch@gmail.com>
40750
40751 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40752 (aout_mod_SOURCES): New variable.
40753 (aout_mod_CFLAGS): Likewise.
40754 (aout_mod_LDFLAGS): Likewise.
40755 (_bsd_mod_SOURCES): New variable.
40756 (_bsd_mod_CFLAGS): Likewise.
40757 (_bsd_mod_LDFLAGS): Likewise.
40758 (bsd_mod_SOURCES): New variable.
40759 (bsd_mod_CFLAGS): Likewise.
40760 (bsd_mod_LDFLAGS): Likewise.
40761
40762 * include/grub/aout.h: New file.
40763
40764 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40765
40766 * include/grub/i386/bsd.h: New file.
40767
40768 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40769 to make it public.
40770
40771 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40772 function is called, so that it's possible to change it inside the hook.
40773 (grub_elf64_load): Likewise.
40774 (grub_elf_file): Don't close the file if elf header is not found.
40775 (grub_elf_close): Close the file if grub_elf_file fails (The new
40776 grub_elf_file won't close it).
40777 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40778 (grub_elf64_size): Likewise.
40779
40780 * kern/i386/loader.S (grub_unix_real_boot): New function.
40781
40782 * loader/aout.c: New file.
40783
40784 * loader/i386/bsd.c: New file.
40785
40786 * loader/i386/bsd_normal.c: New file.
40787
40788 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40789
40790 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40791 can test other formats.
d38e24c2 40792
b93bdb0f 407932008-02-19 Robert Millan <rmh@aybabtu.com>
40794
40795 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40796 (grub_gpt_partition_type_empty): Redefine with macro from
40797 `<grub/gpt_partition.h>'.
40798 (gpt_partition_map_iterate): Adjust partition type comparison.
40799
40800 Export `entry' as partmap-specific `part.data' struct.
40801 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40802
40803 * include/grub/gpt_partition.h (grub_gpt_header)
40804 (grub_gpt_partentry): ... to here (new file).
40805
40806 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40807
40808 (grub_gpt_partition_type_bios_boot): New const variable, defined
40809 with macro from `<grub/gpt_partition.h>'.
40810
40811 (setup): Replace `first_start' with `embed_region', which keeps
40812 track of the embed region (and is partmap-agnostic).
40813
40814 Replace find_first_partition_start() with find_usable_region(),
40815 which finds a usable region for embedding using partmap-specific
40816 knowledge (supports PC/MSDOS and GPT).
40817
40818 Fix all assumptions that the embed region start at sector 1, using
40819 `embed_region.start' from now on. Similarly, use `embed_region.end'
40820 rather than `first_start' to calculate available size.
40821
40822 In grub_util_info() message, replace "into after the MBR" with an
40823 indication of the specific sector our embed region starts at.
40824
66cb40f6 408252008-02-19 Robert Millan <rmh@aybabtu.com>
40826
40827 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40828 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40829 `commands/reboot.c'.
40830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40831 (halt_mod_SOURCES): Likewise.
40832 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40833 (halt_mod_SOURCES): Likewise.
40834
b7202015 408352008-02-17 Christian Franke <franke@computer.org>
40836
40837 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40838
32b0fc49 408392008-02-17 Robert Millan <rmh@aybabtu.com>
40840
40841 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40842 set `first_start' to 0 for non-PC/MSDOS partition maps.
40843
aca63502 408442008-02-16 Robert Millan <rmh@aybabtu.com>
40845
40846 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40847 do not assume partition map is PC/MSDOS before performing checks that
40848 are specific to that layout.
40849
0de8be86 408502008-02-13 Robert Millan <rmh@aybabtu.com>
40851
40852 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40853 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40854 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40855
c3db8364 408562008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40857
40858 * configure.ac: Only a cosmetic change on the handling of
40859 -fno-stack-protector.
40860
f714229e 408612008-02-12 Alexandre Boeglin <alex@boeglin.org>
40862
c3db8364 40863 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40864 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40865 reboot.c.
f714229e 40866 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40867 (halt_mod_SOURCES): New variable.
40868 (halt_mod_CFLAGS): Likewise.
40869 (halt_mod_LDFLAGS): Likewise.
40870 (reboot_mod_SOURCES): Likewise.
40871 (reboot_mod_CFLAGS): Likewise.
40872 (reboot_mod_LDFLAGS): Likewise.
40873
c3db8364 40874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40875 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40876 reboot.c.
f714229e 40877 (halt_mod_SOURCES): Likewise.
40878 (reboot_mod_SOURCES): Likewise.
40879
c3db8364 40880 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40881 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40882 (reboot_mod_SOURCES): Likewise.
40883
40884 * commands/i386/pc/reboot.c: merge this file ...
40885
40886 * commands/ieee1275/reboot.c: ... and this file ...
40887
40888 * commands/reboot.c: ... to this file.
c3db8364 40889 Add some precompiler directive to include the correct header for
40890 each machine.
f714229e 40891
40892 * commands/ieee1275/halt.c: move this file ...
40893
40894 * commands/halt.c: ... to here.
c3db8364 40895 Add some precompiler directive to include the correct header for
40896 each machine.
f714229e 40897
40898 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40899 (grub_halt): Likewise.
40900
40901 * kern/efi/efi.c (grub_reboot): New function.
40902 (grub_halt): Likewise.
40903
c74493e0 409042008-02-12 Robert Millan <rmh@aybabtu.com>
40905
40906 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40907 /dev (like it is done for /dev/mapper). This doesn't provide support
40908 for EVMS, but at least it is now easy to identify the problem when it
40909 arises.
40910
d0db4b04 409112008-02-11 Robert Millan <rmh@aybabtu.com>
40912
40913 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40914 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40915 comparing it with -1, not 0.
40916
bf748642 409172008-02-10 Robert Millan <rmh@aybabtu.com>
40918
40919 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40920 `disk/lvm.c'.
40921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40922 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40923
40924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40925 `disk/lvm.c' to the end of the list.
40926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40927 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40928
b5db202a 409292008-02-10 Robert Millan <rmh@aybabtu.com>
40930
40931 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40932 grub_print_error() instead. This will let user know why we're entering
40933 rescue mode.
40934 Based on suggestions from Sam Morris.
40935
83abee31 409362008-02-10 Alexandre Boeglin <alex@boeglin.org>
40937
40938 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40939 on remaining N args, instead of "--" arg N times.
40940
78d5a08b 409412008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40942
40943 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40944 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40945 pattern for unknown glyphs.
40946
68807e5f 409472008-02-09 Robert Millan <rmh@aybabtu.com>
40948
40949 * configure.ac: Probe for `help2man'.
40950 * Makefile.in (builddir): New variable.
40951 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40952 or otherwise add a few flags/options to it.
40953 (install-local): For every executable utility or script that is
40954 installed, invoke $(HELP2MAN) to install a manpage based on --help
40955 output.
40956
40957 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40958 that it doesn't prevent --help from working in build tree.
40959
40960 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40961 with `bug-grub@gnu.org'.
40962 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40963 * util/update-grub.in (usage): New function.
40964 Implement proper argument check, with support for --help and --version
40965 (as well as existing -y).
40966
409672008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40968
40969 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40970 avoid overwriting previous output.
40971 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40972
c1962162 409732008-02-09 Robert Millan <rmh@aybabtu.com>
40974
40975 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40976 drawing the menu.
40977
3dac2e3f 409782008-02-09 Robert Millan <rmh@aybabtu.com>
40979
40980 * commands/sleep.c: New file.
40981 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40982 (sleep_mod_SOURCES): New variable.
40983 (sleep_mod_CFLAGS): Likewise.
40984 (sleep_mod_LDFLAGS): Likewise.
40985
7a634e08 409862008-02-09 Robert Millan <rmh@aybabtu.com>
40987
40988 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40989 situations in which we can deduce the RAID size and the superblock
40990 doesn't match it.
40991
b92f0c18 409922008-02-09 Robert Millan <rmh@aybabtu.com>
40993
40994 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40995 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40996 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40997
40998 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40999 and return a grub_diskmemberlist_t composed of physical array members.
41000 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41001
41002 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41003 prototype.
41004 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41005 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41006 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41007
41008 * util/grub-probe.c (probe): Move partmap probing code from here ...
41009 (probe_partmap): ... to here.
41010 (probe): Use probe_partmap() once for the disk we're probing, and
41011 additionally, when such disk contains a memberlist() struct member,
41012 once for each disk that is contained in the structure returned by
41013 memberlist().
41014
91a4bf68 410152008-02-09 Robert Millan <rmh@aybabtu.com>
41016
41017 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41018 environment variable to 'all' in order to obtain debug output from
41019 non-util/ code.
41020 * util/i386/pc/grub-setup.c (main): Likewise.
41021
a96f9caa 410222008-02-08 Robert Millan <rmh@aybabtu.com>
41023
41024 * disk/raid.c (grub_raid_scan_device): Check for
41025 `array->device[sb.this_disk.number]' rather than for
41026 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41027 guaranteed to be accessible.
a96f9caa 41028
b37a9222 410292008-02-08 Robert Millan <rmh@aybabtu.com>
41030
41031 * disk/raid.c: Update copyright.
41032 * fs/cpio.c: Likewise.
41033 * include/grub/raid.h: Likewise.
41034 * loader/i386/pc/multiboot.c: Likewise.
41035 * util/hostfs.c: Likewise.
41036
5626aee1 410372008-02-08 Robert Millan <rmh@aybabtu.com>
41038
41039 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41040 to a grub_disk_t array.
41041 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41042 `device[x]'.
41043 (grub_raid_scan_device): Replace `device[x].name' accesses with
41044 `device[x]->name'. Simplify initialization of `array->device[x]'.
41045
554f0187 410462008-02-08 Robert Millan <rmh@aybabtu.com>
41047
41048 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41049 grub_dprintf() calls.
41050 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41051 error message.
41052
1ec8425d 410532008-02-07 Christian Franke <franke@computer.org>
41054
41055 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41056 instead of fseek and ftell to support large files.
41057 (grub_hostfs_read): Likewise.
41058
f2156fda 410592008-02-07 Robert Millan <rmh@aybabtu.com>
41060
41061 Patch from Jeroen Dekkers.
41062 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41063 failure, since successfully reading all array members might not be
f2156fda 41064 required.
41065
9216e0e7 410662008-02-06 Robert Millan <rmh@aybabtu.com>
41067
41068 * util/grub-probe.c (probe): Simplify partmap probing (with the
41069 assumption that the first word up to the underscore equals to
41070 the module name).
41071
b0dfd29a 410722008-02-06 Christian Franke <franke@computer.org>
41073
41074 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41075 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41076 last block of a cpio or tar stream.
41077 Check for "TRAILER!!!" instead of any empty data
41078 block to detect last block of a cpio stream.
41079 (grub_cpio_dir): Fix constness of variable np.
41080 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41081 cpio or tar trailer is detected. This fixes a crash
41082 on open of a non existing file.
41083
c32865bf 410842008-02-05 Bean <bean123ch@gmail.com>
41085
41086 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41087 address of entry.
41088 (grub_multiboot_load_elf64): Likewise.
41089 (grub_multiboot): Initialize mbi structure.
41090
41091 * util/grub-fstest.c: Don't include unused header file script.h.
41092
fe6b695a 41093 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41094 of file.
41095 (grub_fstest_SOURCES): Likewise.
41096
409480b7 410972008-02-05 Robert Millan <rmh@aybabtu.com>
41098
41099 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41100 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41101 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41102 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41103
41104 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41105 (translation_table): Replace hardcoded values with macros
41106 provided by `<grub/term.h>'.
41107
41108 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41109 (keyboard_map): Correct/add a few values, with macros provided
41110 by `<grub/term.h>'.
41111 (keyboard_map_shift): Zero values that don't differ from their
41112 `keyboard_map' equivalents.
41113 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41114 Discard the second scan code that is always sent by Caps lock.
41115 Only use `keyboard_map_shift' when it provides a non-zero value,
41116 otherwise fallback to `keyboard_map'.
41117
99fadbaa 411182008-02-04 Bean <bean123ch@gmail.com>
41119
41120 * Makefile.in (enable_grub_fstest): New variable.
41121
41122 * conf/common.rmk (grub_fstest_init.lst): New rule.
41123 (grub_fstest_init.h): Likewise.
41124 (grub_fstest_init.c): Likewise.
41125 (util/grub-fstest.c_DEPENDENCIES): New variable.
41126 (grub_fstest_SOURCES): Likewise.
41127
41128 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41129
41130 * util/grub-fstest.c: New file.
41131
bf567c50 411322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41133
41134 Make grub-setup handle a separate root device.
f19dbdb7 41135
bf567c50 41136 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41137 so that the root device can be compared with the destination
41138 device.
41139 When embedding the core image, if the root and destination devices
41140 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41141 0xFF.
41142 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41143
9be6b98b 411442008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41145
41146 Add support for having a grub directory in a different drive. This
41147 is still only the data handling part.
f19dbdb7 41148
9be6b98b 41149 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41150 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41151 (grub_root_drive): New variable.
41152
41153 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41154 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41155 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41156 as it was.
41157
41158 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41159
41160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41161 macro.
41162 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41163
41164 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41165 is bogus, because PXE booting does not specify any drive
41166 correctly.
41167
41168 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41169 am not sure if this is really correct.
41170
41171 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41172 is always identical to the boot drive when booting from a CD.
41173
41174 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41175 longer.
41176 (root_drive): New variable.
41177 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41178 (setup_sectors): Push %dx right after popping it, because %dh will
41179 be modified later.
41180 (copy_buffer): Restore %dx.
41181
e0ca0677 411822008-02-03 Robert Millan <rmh@aybabtu.com>
41183
41184 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41185 use `cdboot.img' for cdrom images.
41186
3b3f6629 411872008-02-03 Robert Millan <rmh@aybabtu.com>
41188
41189 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41190 only setup gfxterm when `font' command has succeeded.
41191
d42b3672 411922008-02-03 Robert Millan <rmh@aybabtu.com>
41193
41194 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41195 (grub_rescue_cmd_multiboot_loader)
41196 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41197
fa370ea6 411982008-02-03 Pavel Roskin <proski@gnu.org>
41199
e0c5dacb 41200 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41201 %edx and %esi from stack only after grub_gate_a20() is called.
41202 grub_gate_a20() clobbers %edx.
41203
f2a76e1d 412042008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41205
41206 * configure.ac (AC_INIT): Bumped to 1.96.
41207
41208 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41209 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41210 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41211 video/readers/png.c.
41212
90fd32d1 412132008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41214
41215 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41216 (cdboot_img_SOURCES): New variable.
41217 (cdboot_img_ASFLAGS): New variable.
41218 (cdboot_img_LDFLAGS): New variable.
41219
41220 * boot/i386/pc/cdboot.S: New file.
41221
41222 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41223 (cd_count): Likewise.
41224 (grub_biosdisk_get_drive): Add support for cd device.
41225 (grub_biosdisk_call_hook): Likewise.
41226 (grub_biosdisk_iterate): Likewise.
41227 (grub_biosdisk_open): Likewise.
41228 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41229 (grub_biosdisk_rw): Support reading from cd device.
41230 (GRUB_MOD_INIT): Iterate cd devices.
41231
41232 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41233 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41234 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41235
41236 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41237
4020aa53 412382008-02-02 Robert Millan <rmh@aybabtu.com>
41239
41240 * commands/read.c: New file.
41241 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41242 (read_mod_SOURCES): New variable.
41243 (read_mod_CFLAGS): Likewise.
41244 (read_mod_LDFLAGS): Likewise.
41245
e03a1132 412462008-02-02 Robert Millan <rmh@aybabtu.com>
41247
41248 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41249 determining whether menu has to be displayed.
41250
58c69220 412512008-02-02 Marco Gerards <marco@gnu.org>
41252
41253 * bus/pci.c: New file.
41254
41255 * include/grub/pci.h: Likewise.
41256
41257 * include/grub/i386/pc/pci.h: Likewise.
41258
41259 * commands/lspci.c: Likewise.
41260
41261 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41262 `lspci.mod'.
41263 (pci_mod_SOURCES): New variable.
41264 (pci_mod_CFLAGS): Likewise.
41265 (pci_mod_LDFLAGS): Likewise.
41266 (lspci_mod_SOURCES): Likewise.
41267 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41268 (lspci_mod_LDFLAGS): Likewise.
58c69220 41269
c004e1b4 412702008-02-02 Bean <bean123ch@gmail.com>
41271
41272 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41273 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41274
41275 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41276 (grub_xfs_btree_node): New structure.
41277 (grub_xfs_btree_root): New structure.
41278 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41279 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41280 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41281 (GRUB_XFS_EXTENT_SIZE): Likewise.
41282 (grub_xfs_read_block): Support btree format type.
41283 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41284 Use directory block as basic unit.
41285
41286 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41287
41288 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41289 __attribute__ ((__regparm__ (1))).
41290
f95562bf 412912008-02-01 Robert Millan <rmh@aybabtu.com>
41292
41293 Correct a mistake in previous commit.
41294
41295 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41296 top.
41297 (normal/command.c_DEPENDENCIES): New variable.
41298
7d31f41f 412992008-02-01 Robert Millan <rmh@aybabtu.com>
41300
41301 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41302 top.
41303 (normal/command.c_DEPENDENCIES): New variable.
41304 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41305 * conf/i386-ieee1275.rmk: Likewise.
41306 * conf/i386-linuxbios.rmk: Likewise.
41307 * conf/i386-pc.rmk: Likewise.
41308 * conf/sparc64-ieee1275.rmk: Likewise.
41309 * conf/powerpc-ieee1275.rmk: Likewise.
41310 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41311
41312 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41313
60b6be74 413142008-02-01 Robert Millan <rmh@aybabtu.com>
41315
41316 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41317 call at beginning of function.
41318
078522ab 413192008-01-31 Pavel Roskin <proski@gnu.org>
41320
41321 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41322 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41323 (grub_mkrescue_SOURCES): Likewise.
078522ab 41324 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41325
ccaa8a5f 413262008-01-30 Robert Millan <rmh@aybabtu.com>
41327
41328 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41329 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41330 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41331 (grub_probe_SOURCES): ... to here.
41332
41333 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41334 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41335 * conf/i386-ieee1275.rmk: Likewise.
41336 * conf/i386-linuxbios.rmk: Likewise.
41337 * conf/powerpc-ieee1275.rmk: Likewise.
41338
ae5a9cd7 413392008-01-30 Tristan Gingold <gingold@free.fr>
41340
41341 * kern/rescue.c: Silently accept empty lines.
41342
70bc2ef2 413432008-01-29 Bean <bean123ch@gmail.com>
41344
41345 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41346 (real_code_2): Code cleanup and change comment style.
41347 (move_memory): Avoid using 32-bit address mode.
41348
6a4d50ea 413492008-01-29 Bean <bean123ch@gmail.com>
41350
41351 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41352 (png_mod_SOURCES): New variable.
41353 (png_mod_CFLAGS): Likewise.
41354 (png_mod_LDFLAGS): Likewise.
41355
41356 * video/readers/png.c: New file.
41357
11cc30ac 413582008-01-28 Robert Millan <rmh@aybabtu.com>
41359
41360 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41361 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41362 `ifndef GRUB_MOD_GAP' hack.
41363 * util/elf/grub-mkimage.c (add_segments): Likewise.
41364
3abc589f 413652008-01-27 Robert Millan <rmh@aybabtu.com>
41366
41367 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41368 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41369 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41370
e1907778 413712008-01-27 Robert Millan <rmh@aybabtu.com>
41372
41373 Get grub-emu to build again (including parallel builds).
41374
41375 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41376 Split into ...
41377 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41378 (normal/execute.c_DEPENDENCIES): ... this, ...
41379 (grub-emu_DEPENDENCIES): ... and this.
41380
41381 * conf/i386-efi.rmk: Likewise.
41382 * conf/i386-linuxbios.rmk: Likewise.
41383 * conf/i386-ieee1275.rmk: Likewise.
41384 * conf/powerpc-ieee1275.rmk: Likewise.
41385 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41386
2216b101 413872008-01-27 Robert Millan <rmh@aybabtu.com>
41388
41389 * NEWS: Add a few items.
41390
f75172d9 413912008-01-27 Robert Millan <rmh@aybabtu.com>
41392
41393 Fix parallel builds with grub-emu. Based on earlier commit for
41394 grub-probe and grub-setup.
41395
41396 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41397 (util/grub-emu.c_DEPENDENCIES): ... this.
41398 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41399 (util/grub-emu.c_DEPENDENCIES): ... this.
41400 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41401 (util/grub-emu.c_DEPENDENCIES): ... this.
41402 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41403 (util/grub-emu.c_DEPENDENCIES): ... this.
41404 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41405 (util/grub-emu.c_DEPENDENCIES): ... this.
41406
3f51de77 414072008-01-27 Pavel Roskin <proski@gnu.org>
41408
41409 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41410 to create a gap between _end and the modules added to the image
41411 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41412 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41413 * util/elf/grub-mkimage.c (add_segments): Likewise.
41414
2033f53e 414152008-01-26 Pavel Roskin <proski@gnu.org>
41416
41417 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41418 just return an error.
41419
22da1f6f 414202008-01-26 Bean <bean123ch@gmail.com>
41421
41422 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41423 (grub_reiserfs_get_item): Save offset of the next item.
41424 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41425
2a9525e6 414262008-01-25 Robert Millan <rmh@aybabtu.com>
41427
41428 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41429 make all filesystem sources appear together (possibly fixing omissions
41430 while at it).
41431 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41433 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41435
41436 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41437 add `kern/file.c'.
41438 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41439 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41440 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41441 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41442
41443 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41444 (probe): Add a sanity check to make sure of our ability to read
41445 requested files when probing for filesystem type.
41446
41447 * genmk.rb: Update copyright year (2007).
41448
41449 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41450 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41451 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41452 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41453 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41454 : Remove function prototypes.
41455
b95f71b5 414562008-01-25 Robert Millan <rmh@aybabtu.com>
41457
41458 Revert my previous commits (based on wrong assumption of how grub_errno
41459 works).
41460
fe6b695a 41461 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41462 * kern/file.c (grub_file_open): Likewise.
41463
d08bbb49 414642008-01-24 Pavel Roskin <proski@gnu.org>
41465
41466 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41467 that hang if GRUB tries to setup colors.
41468 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41469 colors for firmwares that don't support it.
41470 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41471 Recognize Open Hack'Ware, set flags to work around its
41472 limitations.
41473
605e36ed 414742008-01-24 Robert Millan <rmh@aybabtu.com>
41475
41476 * kern/file.c (grub_file_open): Do not account previous failures of
41477 unrelated functions when grub_errno is checked for.
41478 Reported by Oleg Strikov.
41479
bac332a1 414802008-01-24 Bean <bean123ch@gmail.com>
41481
41482 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41483 (grub_ufs_sblock): New member volume name.
41484 (grub_ufs_find_file): Fix string copy bug.
41485 (grub_ufs_label): Implement this function properly.
41486
41487 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41488 (grub_hfs_iterate_records): Use the correct file number for extents
41489 and catalog file. Fix problem in next index calculation.
41490 (grub_hfs_find_node): Replace recursive function call with loop.
41491 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41492
15c80c09 414932008-01-23 Robert Millan <rmh@aybabtu.com>
41494
41495 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41496 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41497 (grub_multiboot2_real_boot): New function prototype.
41498
41499 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41500 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41501
41502 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41503 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41504
305338fd 415052008-01-23 Robert Millan <rmh@aybabtu.com>
41506
41507 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41508 #ifdef'ed out grub_printf().
41509
3ea52685 415102008-01-23 Robert Millan <rmh@aybabtu.com>
41511
41512 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41513 grub_dprintf calls, since they make "debug=all" mode unusable.
41514 (grub_console_checkkey): Likewise.
41515
5882ae4b 415162008-01-23 Robert Millan <rmh@aybabtu.com>
41517
41518 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41519 `term/i386/pc/at_keyboard.c'.
41520 (pkglib_MODULES): Add `serial.mod'.
41521 (serial_mod_SOURCES): New variable.
41522 (serial_mod_CFLAGS): Likewise.
41523 (serial_mod_LDFLAGS): Likewise.
41524
41525 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41526 `<grub/powerpc/ieee1275/console.h>'.
41527 (grub_keyboard_controller_init): New function prototype.
41528 (grub_console_checkkey): Likewise.
41529 (grub_console_getkey): Likewise.
41530
41531 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41532 keyboard on i386.
41533
41534 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41535 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41536
06ab5303 415372008-01-23 Robert Millan <rmh@aybabtu.com>
41538
41539 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41540 present, "(memdisk)/boot/grub" becomes the default prefix.
41541
41542 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41543 a memdisk tarball with all the modules. Add --overlay=DIR option that
41544 allows users to overlay additional files into the image.
41545
dbb475a4 415462008-01-23 Robert Millan <rmh@aybabtu.com>
41547
41548 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41549 and `machine/memory.h'.
41550 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41551 (_multiboot_mod_SOURCES): New variable.
41552 (_multiboot_mod_CFLAGS): Likewise.
41553 (_multiboot_mod_LDFLAGS): Likewise.
41554 (multiboot_mod_SOURCES): Likewise.
41555 (multiboot_mod_CFLAGS): Likewise.
41556 (multiboot_mod_LDFLAGS): Likewise.
41557
41558 * include/grub/i386/ieee1275/loader.h: New file.
41559
41560 * include/grub/i386/ieee1275/machine.h: Likewise.
41561
41562 * include/grub/i386/ieee1275/memory.h: Likewise.
41563
41564 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41565 variable declaration.
41566 (grub_os_area_size): Likewise.
41567
41568 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41569 (grub_lower_mem, grub_upper_mem): New variables.
41570 (grub_stop_floppy): New function (just to make
41571 grub_multiboot2_real_boot() happy).
41572
41573 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41574 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41575 (grub_stop): New function.
41576 Include `"../realmode.S"' and `"../loader.S"'.
41577
41578 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41579 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41580
41581 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41582 rely on grub_multiboot2_real_boot() for final boot.
41583
25638629 415842008-01-22 Robert Millan <rmh@aybabtu.com>
41585
41586 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41587 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41588 device that doesn't look like an SD card.
41589 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41590 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41591 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41592 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41593 found.
41594
9dad816d 415952008-01-22 Robert Millan <rmh@aybabtu.com>
41596
41597 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41598 avoid claiming over our own code.
41599
34842f2d 416002008-01-22 Bean <bean123ch@gmail.com>
41601
41602 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41603 (jpeg_mod_SOURCES): New variable.
41604 (jpeg_mod_CFLAGS): Likewise.
41605 (jpeg_mod_LDFLAGS): Likewise.
41606
41607 * video/readers/jpeg.c : New file.
41608
44023a28 416092008-01-22 Bean <bean123ch@gmail.com>
41610
41611 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41612 there are no more items.
41613
bc2d8ac6 416142008-01-21 Robert Millan <rmh@aybabtu.com>
41615
41616 * kern/mm.c (grub_mm_init_region): Improve debug message.
41617
261bd4bc 416182008-01-21 Robert Millan <rmh@aybabtu.com>
41619
41620 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41621 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41622 address.
41623 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41624 a C macro.
41625 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41626 Indicates start of upper memory.
41627 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41628 (generate_image): Abort when image size is big enough to corrupt
41629 upper memory.
41630
41631 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41632 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41633 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41634 instead of hardcoding 0xA0000.
41635 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41636 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41637 instead of hardcoding 0xA0000.
41638
f970b55e 416392008-01-21 Robert Millan <rmh@aybabtu.com>
41640
41641 * disk/memdisk.c (memdisk_size): New variable.
41642 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41643 `memdisk_size'.
41644 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41645 image to dynamic memory.
41646 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41647 `memdisk_size'. Free memdisk block.
41648
1a8b0526 416492008-01-21 Robert Millan <rmh@aybabtu.com>
41650
41651 Fix detection of very small filesystems (like tar).
41652
41653 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41654 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41655 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41656 a problem with this disk).
41657
6e9b4aab 416582008-01-21 Robert Millan <rmh@aybabtu.com>
41659
41660 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41661 on grub_biosdisk_rw_standard() error.
41662
0d8837b2 416632008-01-21 Robert Millan <rmh@aybabtu.com>
41664
41665 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41666 recent changes.
41667 * kern/elf.c: Likewise.
41668 * kern/ieee1275/ieee1275.c: Likewise.
41669 * kern/powerpc/ieee1275/openfw.c: Likewise.
41670 * term/ieee1275/ofconsole.c: Likewise.
41671
ffd36e34 416722008-01-21 Robert Millan <rmh@aybabtu.com>
41673
41674 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41675
3f0093d0 41676 * include/grub/kernel.h (grub_arch_memdisk_addr)
41677 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41678
3f0093d0 41679 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41680 (grub_arch_memdisk_size): ... to here.
ffd36e34 41681
6c391b21 416822008-01-21 Robert Millan <rmh@aybabtu.com>
41683
41684 Mostly based on bugfix from Bean.
41685
41686 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41687 attribute with hook() parameter.
41688 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41689 declaration.
41690 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41691 attribute with hook() parameter.
41692 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41693 declaration.
41694
55a581dc 416952008-01-21 Robert Millan <rmh@aybabtu.com>
41696
41697 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41698 (pkglib_MODULES): Add `memdisk.mod'.
41699 (memdisk_mod_SOURCES): New variable.
41700 (memdisk_mod_CFLAGS): Likewise.
41701 (memdisk_mod_LDFLAGS): Likewise.
41702
41703 * disk/memdisk.c: New file.
41704
41705 * include/grub/disk.h (grub_disk_dev_id): Add
41706 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41707
41708 * include/grub/i386/pc/kernel.h
41709 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41710 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41711 (grub_kernel_image_size): New variable declaration.
41712 (grub_total_module_size): Likewise.
41713 (grub_memdisk_image_size): Likewise.
41714
41715 * include/grub/i386/pc/memory.h
41716 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41717
41718 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41719 (grub_arch_memdisk_addr): New variable declaration.
41720 (grub_arch_memdisk_size): Likewise.
41721
41722 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41723 (grub_arch_memdisk_size): Likewise.
41724
41725 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41726 (codestart): Replace hardcoded `0x100000' with
41727 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41728
41729 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41730 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41731 not NULL, append the contents of the file it refers to, at the end of
41732 the compressed kernel image. Initialize `grub_memdisk_image_size'
41733 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41734 (options): Add "memdisk"|'m' option.
41735 (main): Parse --memdisk|-m option, and pass user-provided path as
41736 parameter to generate_image().
41737
3d7f54c9 417382008-01-20 Robert Millan <rmh@aybabtu.com>
41739
41740 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41741 grub_dprintf() calls from here ...
41742 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41743
0bf74728 417442008-01-20 Robert Millan <rmh@aybabtu.com>
41745
41746 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41747
41748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41749 declaration.
41750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41751 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41752 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41753 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41754 property).
41755 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41756 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41757
33bf70a7 417582008-01-19 Robert Millan <rmh@aybabtu.com>
41759
fe6b695a 41760 Get rid of confusing function (superseded by
33bf70a7 41761 `grub_ieee1275_get_integer_property')
41762 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41763 prototype.
41764 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41765 function.
41766 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41767 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41768 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41769
e2da7d26 417702008-01-19 Robert Millan <rmh@aybabtu.com>
41771
41772 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41773 command after "shut-down", since implementations differ on which
41774 the command for halt is.
41775
59f1fd8d 417762008-01-19 Robert Millan <rmh@aybabtu.com>
41777
41778 * include/grub/i386/linuxbios/console.h: Add header protection.
41779 (grub_keyboard_controller_init): New function prototype.
41780 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41781 (KEYBOARD_COMMAND_READ): Likewise.
41782 (KEYBOARD_COMMAND_WRITE): Likewise.
41783 (KEYBOARD_SCANCODE_SET1): Likewise.
41784 (grub_keyboard_controller_write): New function.
41785 (grub_keyboard_controller_read): Likewise.
41786 (grub_keyboard_controller_init): Likewise.
41787
41788 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41789 (grub_console_init): On coreboot/LinuxBIOS, call
41790 grub_keyboard_controller_init().
41791
5f5a7c15 417922008-01-19 Robert Millan <rmh@aybabtu.com>
41793
41794 PowerPC changes provided by Pavel Roskin.
41795
41796 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41797 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41798 don't rely on cmain() doing it.
41799 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41800 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41801
1210e168 418022008-01-16 Robert Millan <rmh@aybabtu.com>
41803
41804 * include/grub/i386/linuxbios/memory.h
41805 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41806 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41807 receive `table_header' as argument. Instead, probe for it in the
41808 known memory ranges where it can be present.
41809 (grub_available_iterate): Do not pass a fixed `table_header' address
41810 to grub_linuxbios_table_iterate().
41811
3d04eab8 418122008-01-15 Robert Millan <rmh@aybabtu.com>
41813
41814 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41815 * conf/i386-ieee1275.rmk: New file.
41816 * include/grub/i386/ieee1275/console.h: Likewise.
41817 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41818 * include/grub/i386/ieee1275/kernel.h: Likewise.
41819 * include/grub/i386/ieee1275/time.h: Likewise.
41820 * kern/i386/ieee1275/init.c: Likewise.
41821 * kern/i386/ieee1275/startup.S: Likewise.
41822
d1bc1b73 418232008-01-15 Robert Millan <rmh@aybabtu.com>
41824
41825 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41826 when pointers are 32-bit (but still do set it to one when they are
41827 64-bit).
41828
66a65807 418292008-01-15 Robert Millan <rmh@aybabtu.com>
41830
41831 * include/grub/ieee1275/ieee1275.h
41832 (grub_ieee1275_get_integer_property): New function prototype.
41833
41834 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41835 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41836 grub_ieee1275_get_property() to handle endianness.
66a65807 41837
41838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41839 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41840 where appropriate.
66a65807 41841 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41842 (grub_map): Likewise.
41843 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41844
a83ccafd 418452008-01-15 Bean <bean123ch@gmail.com>
41846
41847 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41848 (grub_script_execute_cmdline): Reset grub_errno.
41849
41850 * normal/main.c (read_config_file): Reset grub_errno.
41851
41852 * normal/parse.y (script_init): New.
41853 (script): Move function and menuentry here.
41854 (delimiter): New.
41855 (command): Add delimiter at the end of command.
41856 (commands): Adjust to match the new command.
41857 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41858 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41859 (if): Use the new commands.
41860
41861 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41862
df6ecfc6 418632008-01-15 Robert Millan <rmh@aybabtu.com>
41864
41865 * normal/menu.c (run_menu): Move timeout message from here ...
41866 (print_timeout): ... to here.
41867 (run_menu): Use print_timeout() once during initial draw to print
41868 the whole message, and again in every clock tick to update only
41869 the number of seconds.
41870
87ae25eb 418712008-01-15 Robert Millan <rmh@aybabtu.com>
41872
41873 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41874 actual size of `available' from grub_ieee1275_get_property(), and
41875 restrict parsing to that bound.
41876
47bf09a4 418772008-01-15 Christian Franke <franke@computer.org>
41878
41879 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41880 (argp_program_version): Remove variable.
41881 (argp_program_bug_address): Likewise.
41882 (options): Convert from struct argp_option to struct option.
41883 (struct arguments): Remove.
41884 (parse_opt): Remove.
41885 (usage): New function.
41886 (main): Replace struct args members by simple variables.
41887 Replace argp_parse() by getopt_long().
41888 Add switch to evaluate options.
41889 Add missing "(...)" around root_dev in prefix string.
41890
c86f1469 418912008-01-14 Robert Millan <rmh@aybabtu.com>
41892
41893 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41894 for grub_ieee1275_exit(), in order to improve portability.
41895
e622c559 418962008-01-14 Robert Millan <rmh@aybabtu.com>
41897
41898 * util/grub.d/10_linux.in (prefix): Define.
41899 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41900
44cb1ec8 419012008-01-13 Pavel Roskin <proski@gnu.org>
41902
41903 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41904 grub_errno if no errors have been detected.
41905
1eb8c802 419062008-01-12 Robert Millan <rmh@aybabtu.com>
41907
41908 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41909 (grub_util_get_dev_abstraction): New function prototype.
41910
41911 * util/getroot.c: Include `<grub/util/getroot.h>'
41912 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41913 (grub_util_get_dev_abstraction): ... here (new function).
41914
41915 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41916 `PRINT_ABSTRACTION'.
41917 (probe): Probe for abstraction type when requested.
41918 (main): Understand `--target=abstraction'.
41919
41920 * util/i386/efi/grub-install.in: Add abstraction module to core
41921 image when it is found to be necessary.
41922 * util/i386/pc/grub-install.in: Likewise.
41923 * util/powerpc/ieee1275/grub-install.in: Likewise.
41924
41925 * util/update-grub_lib.in (font_path): Return system path without
41926 converting to GRUB path.
41927 * util/update-grub.in: Convert system path returned by font_path()
41928 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41929 abstraction module is needed for loading fonts (if any). Export
41930 that as `GRUB_PRELOAD_MODULES'.
41931 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41932 insmod commands).
41933
52bd3de9 419342008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41935
41936 Remove some unused code from reiserfs.
f19dbdb7 41937
52bd3de9 41938 * fs/reiserfs.c (struct grub_reiserfs_key)
41939 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41940 (struct grub_reiserfs_node_body): Removed.
41941 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41942 Likewise.
41943 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41944 Likewise.
41945 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41946 Likewise.
41947 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41948 Likewise.
41949 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41950 Likewise.
41951 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41952 Likewise.
41953 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41954 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41955 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41956
2f80039d 419572008-01-10 Robert Millan <rmh@aybabtu.com>
41958
41959 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41960 Determines if a file is garbage left by packaging systems, etc.
41961 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41962 for processing /etc/grub.d scripts.
41963 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41964 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41965 as a condition for processing Linux images.
41966
87888032 419672008-01-10 Pavel Roskin <proski@gnu.org>
41968
41969 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41970 to compile reiserfs.c on PowerPC.
41971
7e54fced 419722008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41973
41974 * kern/device.c (grub_device_iterate): Do not abort device iteration
41975 when one of the devices cannot be opened.
41976 * kern/disk.c (grub_disk_open): Do not account previous failures of
41977 unrelated functions when grub_errno is checked for.
41978
5aa541e6 419792008-01-08 Robert Millan <rmh@aybabtu.com>
41980
41981 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41982 `! grub_linux_is_bzimage', change order of address comparison to make
41983 it more intuitive, and improve "too big zImage" error message.
41984
7076340d 419852008-01-08 Robert Millan <rmh@aybabtu.com>
41986
41987 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41988 `$(update-grub_DATA)'.
41989 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41990 targets.
41991
9ca70333 419922008-01-07 Robert Millan <rmh@aybabtu.com>
41993
41994 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41995 which instruction is modified by grub-setup during installation
41996 (since it wasn't obvious by only looking at this file).
41997
38ccf575 419982008-01-07 Robert Millan <rmh@aybabtu.com>
41999
42000 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42001 listing actual TODO items.
42002
f5db4291 420032008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42004
868967cf 42005 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42006 correctly.
42007 (grub_reiserfs_get_key_offset): Likewise.
42008 (grub_reiserfs_set_key_offset): Likewise.
42009 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42010 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42011
42012 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42013 better to remove the bitfield version completely.
f19dbdb7 42014
868967cf 420152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42016
f5db4291 42017 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42018 allocated from the heap, due to the fshelp implementation.
42019 (grub_reiserfs_dir): Free NODE, due to the same reason.
42020
492e6d9d 420212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42022
42023 Mostly from Vincent Pelletier:
f19dbdb7 42024
492e6d9d 42025 * fs/reiserfs.c: New file.
f19dbdb7 42026
492e6d9d 42027 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42028 (reiserfs_mod_SOURCES): New variable.
42029 (reiserfs_mod_CFLAGS): Likewise.
42030 (reiserfs_mod_LDFLAGS): Likewise.
42031
42032 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42033 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42034 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42035 normal/color.c.
42036
9ce3e7c1 420372008-01-06 Robert Millan <rmh@aybabtu.com>
42038
42039 * normal/color.c: Remove `<grub/env.h>'.
42040
f3b58148 420412008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42042
42043 * include/grub/normal.h: Include <grub/env.h>.
42044
7ac3bcfa 420452008-01-05 Robert Millan <rmh@aybabtu.com>
42046
42047 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42048 usage example with `(hd0,1)'.
fb358190 42049 Reported by Samuel Thibault.
7ac3bcfa 42050
c8ee99d7 420512008-01-05 Robert Millan <rmh@aybabtu.com>
42052
42053 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42054 (grub_linux_boot_zimage): Rename to ...
42055 (grub_linux_boot): ... this.
42056 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42057 (grub_linux_boot_zimage): Conditionalize zImage copy.
42058
42059 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42060 (grub_linux_boot_bzimage): Remove prototype.
42061 (grub_linux_boot_zimage): Rename to ...
42062 (grub_linux_boot): ... this.
42063
42064 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42065 (grub_linux_boot): Remove function.
42066
0ece25b1 420672008-01-05 Robert Millan <rmh@aybabtu.com>
42068
42069 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42070 (grub_env_write_color_highlight): Likewise.
42071 (grub_wait_after_message): Likewise.
42072
42073 * normal/color.c: New file.
42074
42075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42076 (normal_mod_DEPENDENCIES): Likewise.
42077
42078 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42079 (normal_mod_DEPENDENCIES): Likewise.
42080
42081 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42082 (normal_mod_DEPENDENCIES): Likewise.
42083
42084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42085 (normal_mod_DEPENDENCIES): Likewise.
42086
42087 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42088 for waiting after a message is printed.
42089 * normal/main.c (read_config_file): Likewise.
42090 (grub_normal_init): Register grub_env_write_color_normal() and
42091 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42092 `color_highlight' variables as global.
42093
42094 * normal/menu.c (grub_wait_after_message): New function.
42095 (grub_color_menu_normal): New variable. Replaces ...
42096 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42097 (grub_color_menu_highlight): New variable. Replaces ...
42098 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42099 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42100 `GRUB_TERM_COLOR_STANDARD'.
42101 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42102 `normal_code' and `highlight_code' to `old_color_normal' and
42103 `old_color_highlight', respectively.
42104 (grub_menu_init_page): Update colors when drawing the menu, based on
42105 `menu_color_normal' and `menu_color_highlight' variables.
42106 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42107 a message is printed.
42108
182dd4e5 421092008-01-05 Robert Millan <rmh@aybabtu.com>
42110
42111 * kern/env.c (grub_env_context_open): Propagate hooks for global
42112 variables to new context.
42113
42114 * kern/main.c (grub_set_root_dev): Export `root' variable.
42115
ddf8f6ad 421162008-01-05 Robert Millan <rmh@aybabtu.com>
42117
42118 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42119 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42120 them.
42121
d8b43d9b 421222008-01-05 Robert Millan <rmh@aybabtu.com>
42123
42124 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42125
2bff2de3 421262008-01-04 Christian Franke <franke@computer.org>
42127
42128 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42129 of eisa_mmap.
42130
97eab917 421312008-01-03 Pavel Roskin <proski@gnu.org>
42132
42133 * kern/i386/linuxbios/init.c: Put "void" to all function
42134 declarations with no arguments.
42135 * kern/powerpc/ieee1275/init.c: Likewise.
42136 * term/i386/pc/at_keyboard.c: Likewise.
42137 * term/i386/pc/vga_text.c: Likewise.
42138 * util/grub-mkdevicemap.c: Likewise.
42139
b9416d00 421402008-01-02 Robert Millan <rmh@aybabtu.com>
42141
42142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42143 message when loaded image is out of bounds.
42144 (grub_multiboot_load_elf64): Likewise.
42145
92695df9 421462008-01-02 Pavel Roskin <proski@gnu.org>
42147
42148 * util/grub.d/10_linux.in: Try version without ".old" when
42149 looking for initrd. It's better to use initrd from the newer
42150 kernel of the same version than no initrd at all.
42151
d98d9cad 421522008-01-01 Robert Millan <rmh@aybabtu.com>
42153
42154 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42155
dbfdce36 421562008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42157
f19dbdb7 42158 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42159 grub_video_get_active_render_target.
42160 (grub_video_adapter): Added unmap_color and get_active_render_target.
42161
f19dbdb7 42162 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42163 grub_video_get_active_render_target.
42164 (grub_video_get_info): Changed method to accept NULL pointer as an
42165 argument to allow detection of active video adapter.
42166
42167 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42168 grub_video_vbe_unmap_color_int.
42169 Added grub_video_vbe_unmap_color and
42170 grub_video_vbe_get_active_render_target.
42171 (grub_video_vbe_adapter): Added unmap_color and
42172 get_active_render_target.
42173
f19dbdb7 42174 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42175 with grub_video_vbe_unmap_color_int.
42176
42177 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42178 (DEFAULT_NORMAL_COLOR): Likewise.
42179 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42180 (DEFAULT_FG_COLOR): Removed.
42181 (DEFAULT_BG_COLOR): Likewise.
42182 (DEFAULT_CURSOR_COLOR): Changed value.
42183 (grub_virtual_screen): Added standard_color_setting,
42184 normal_color_setting, highlight_color_setting and term_color.
42185 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42186 (bitmap_width): Added.
42187 (bitmap_height): Likewise.
42188 (bitmap): Likewise.
42189 (set_term_color): Likewise.
42190 (grub_virtual_screen_setup): Changed to use new terminal coloring
42191 settings.
42192 (grub_gfxterm_init): Added init for bitmap.
42193 (grub_gfxterm_fini): Added destroy for bitmap.
42194 (redraw_screen_rect): Updated to use background bitmap and new
42195 terminal coloring.
42196 (scroll_up): Added optimization for case when there is no bitmap.
42197 (grub_gfxterm_cls): Fixed to use correct background color.
42198 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42199 coloring.
42200 (grub_virtual_screen_setcolor): Likewise.
42201 (grub_virtual_screen_getcolor): Added.
42202 (grub_gfxterm_background_image_cmd): Likewise.
42203 (grub_video_term): Added setcolor and getcolor.
42204 (MOD_INIT): Added registration of background_image command.
42205 (MOD_TERM): Added unregistration for background_image command.
42206
c3c20931 422072007-12-30 Pavel Roskin <proski@gnu.org>
42208
42209 * loader/multiboot_loader.c: Fix multiboot command
42210 unregistration. Fix all typos in the word "multiboot".
42211
df266716 422122007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42213
42214 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42215 support for initrd names used in Fedora.
42216
fc6e896c 422172007-12-26 Bean <bean123ch@gmail.com>
42218
42219 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42220 (cpio_mod_SOURCES): New variable.
42221 (cpio_mod_CFLAGS): Likewise.
42222 (cpio_mod_LDFLAGS): Likewise.
42223
42224 * fs/cpio.c: New file.
42225
42226 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42227
42228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42229
42230 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42231
42232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42233
533110ad 422342007-12-25 Robert Millan <rmh@aybabtu.com>
42235
42236 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42237 (grub_getcolor): New function.
42238
42239 * kern/term.c (grub_getcolor): New function.
42240 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42241 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42242 (print_entry): Set normal and highlight colors to
42243 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42244 respectively, before printing and restore them to old
42245 values afterwards.
42246 (grub_menu_init_page): Likewise. Fill an additional colored space
42247 that would otherwise be left blank.
42248
42249 * term/efi/console.c (grub_console_getcolor): New function.
42250 (struct grub_console_term.getcolor): New variable.
42251 * term/i386/pc/console.c (grub_console_getcolor): New function.
42252 (struct grub_console_term.getcolor): New variable.
42253 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42254 (struct grub_console_term.getcolor): New variable.
42255
42256 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42257 (struct grub_console_term.setcolor): Remove variable.
42258 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42259 (struct grub_console_term.setcolor): Remove variable.
42260 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42261 (struct grub_console_term.setcolor): Remove variable.
42262 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42263 (struct grub_console_term.setcolor): Remove variable.
42264
4931827f 422652007-12-25 Robert Millan <rmh@aybabtu.com>
42266
42267 * configure.ac: Search for possible unifont.hex locations, and
42268 define UNIFONT_HEX if found.
42269
42270 * Makefile.in (UNIFONT_HEX): Define variable.
42271 (DATA): Rename to ...
42272 (PKGLIB): ... this. Update all users.
42273 (PKGDATA): New variable.
42274 (pkgdata_IMAGES): Rename to ...
42275 (pkglib_IMAGES): ... this. Update all users.
42276 (pkgdata_MODULES): Rename to ...
42277 (pkglib_MODULES): ... this. Update all users.
42278 (pkgdata_PROGRAMS): Rename to ...
42279 (pkglib_PROGRAMS): ... this. Update all users.
42280 (pkgdata_DATA): Rename to ...
42281 (pkglib_DATA): ... this. Update all users.
42282 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42283 (unicode.pff, ascii.pff): New rules.
42284 (all-local): Add `$(PKGDATA)' dependency.
42285 (install-local): Process `$(PKGDATA)'.
42286
42287 * util/update-grub_lib.in (font_path): Search for *.pff files in
42288 a few more locations, including `${pkgdata}'.
42289
57e57e31 422902007-12-23 Robert Millan <rmh@aybabtu.com>
42291
42292 Patch from Bean <bean123ch@gmail.com>:
42293 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42294 `size'.
42295
4bc72aa9 422962007-12-21 Bean <bean123ch@gmail.com>
42297
42298 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42299 (ntfscomp_mod_SOURCES): New variable.
42300 (ntfscomp_mod_CFLAGS): Likewise.
42301 (ntfscomp_mod_LDFLAGS): Likewise.
42302
42303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42304 (grub_probe_SOURCES): Likewise.
42305 (grub_emu_SOURCES): Likewise.
42306
42307 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42308 (grub_emu_SOURCES): Likewise.
42309
42310 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42311 (grub_emu_SOURCES): Likewise.
42312
42313 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42314 (grub_emu_SOURCES): Likewise.
42315
42316 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42317 (read_run_list): Renamed to grub_ntfs_read_run_list.
42318 (decomp_nextvcn): Moved to ntfscomp.c.
42319 (decomp_getch): Likewise.
42320 (decomp_get16): Likewise.
42321 (decomp_block): Likewise.
42322 (read_block): Likewise.
42323 (read_data): Partially moved to ntfscomp.c.
42324 (fixup): Change unsigned to grub_uint16_t.
42325 (read_mft): Change unsigned long to grub_uint32_t.
42326 (read_attr): Likewise.
42327 (read_data): Likewise.
42328 (read_run_data): Likewise.
42329 (read_run_list): Likewise.
42330 (read_mft): Likewise.
42331
42332 * fs/ntfscomp.c: New file.
42333
42334 * include/grub/ntfs.h: New file.
42335
af680a87 423362007-12-16 Robert Millan <rmh@aybabtu.com>
42337
42338 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42339 IDE disk check, since Linux is known to support 20 IDE disks.
42340 Reported by Colin Watson.
42341
84be7599 423422007-12-15 Bean <bean123ch@gmail.com>
42343
42344 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42345 (lnxboot_img_SOURCES): New variable.
42346 (lnxboot_img_ASFLAGS): Likewise.
42347 (lnxboot_img_LDFLAGS): Likewise.
42348
42349 * boot/i386/pc/lnxboot.S: New file.
42350
6af9db01 423512007-11-24 Pavel Roskin <proski@gnu.org>
42352
42353 * configure.ac: Test if '--build-id=none' is supported by the
42354 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42355 objcopy to generate incorrect binary files (binutils
42356 2.17.50.0.18-1 as shipped by Fedora 8).
42357 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42358 linking, so that build ID doesn't break the test.
42359
7361cfe6 423602007-11-24 Pavel Roskin <proski@gnu.org>
42361
42362 * include/grub/i386/time.h: use "void" in the argument list
42363 of grub_cpu_idle().
42364 * include/grub/powerpc/time.h: Likewise.
42365 * include/grub/sparc64/time.h: Likewise.
42366
1593e10c 423672007-11-18 Christian Franke <franke@computer.org>
42368
42369 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42370 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42371 This fixes the problem that function keys did not work in grub-emu.
42372
3b8db1a8 423732007-11-18 Christian Franke <franke@computer.org>
42374
42375 * disk/host.c (grub_host_open): Remove attribute unused from
42376 name parameter. Add check for "host". This fixes the problem
42377 that grub-emu does not find partitions.
42378
2e29408d 423792007-11-18 Christian Franke <franke@computer.org>
42380
42381 * util/hostfs.c (is_dir): New function.
42382 (grub_hostfs_dir): Handle missing dirent.d_type case.
42383 (grub_hostfs_read): Add missing fseek().
42384 (grub_hostfs_label): Clear label pointer. This fixes a crash
42385 of grub-emu on "ls (host)".
42386
398cd047 423872007-11-18 Christian Franke <franke@computer.org>
42388
42389 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42390 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42391 to 64 bit boundary by default.
42392
c405c391 423932007-11-18 Bean <bean123ch@gmail.com>
42394
42395 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42396 (hexdump_mod_SOURCES): New variable.
42397 (hexdump_mod_CFLAGS): Likewise.
42398 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42399
c405c391 42400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42401
42402 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42403
42404 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42405
42406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42407
42408 * include/grub/hexdump.h: New file.
42409
42410 * commands/hexdump.c: New file.
42411
5cced7fd 424122007-11-10 Robert Millan <rmh@aybabtu.com>
42413
42414 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42415 in grub_outb() calls.
42416 (beep_on): Likewise.
42417
8b714eb0 424182007-11-10 Christian Franke <franke@computer.org>
42419
42420 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42421 (grub_menu_run): Likewise.
42422
ce0f1839 424232007-11-10 Robert Millan <rmh@aybabtu.com>
42424
42425 * include/grub/i386/efi/machine.h: New file.
42426 * include/grub/i386/linuxbios/machine.h: Likewise.
42427 * include/grub/i386/pc/machine.h: Likewise.
42428 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42429 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42430
42431 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42432 (serial_hw_io_addr): New variable.
42433 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42434 instead of `(unsigned short *) 0x400'.
42435
270c237d 424362007-11-10 Bean <bean123ch@gmail.com>
42437
42438 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42439
a87783bf 424402007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42441
42442 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42443 (vga_mod_SOURCES): Added.
42444 (vga_mod_CFLAGS): Likewise.
42445 (vga_mod_LDFLAGS): Likewise.
42446
42447 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42448 grub_outb() calls.
42449 (set_map_mask): Likewise.
42450 (set_read_map): Likewise.
42451 (set_read_address): Likewise.
42452 (vga_font): Removed variable.
42453 (get_vga_glyph): Removed function.
42454 (invalidate_char): Likewise.
42455 (write_char): Changed to use grub_font_get_glyph() for font
42456 information.
42457 (grub_vga_putchar): Likewise.
42458 (grub_vga_getcharwidth): Likewise.
42459
6433b448 424602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42461
42462 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42463 flags.
42464 (pxeboot_img_LDFLAGS): Likewise.
42465 (diskboot_img_LDFLAGS): Likewise.
42466 (kernel_img_LDFLAGS): Likewise.
42467
49178511 424682007-11-06 Robert Millan <rmh@aybabtu.com>
42469
42470 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42471 in grub_outb() calls.
42472 (serial_hw_init): Likewise.
42473
53b052de 424742007-11-05 Robert Millan <rmh@aybabtu.com>
42475
42476 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42477 spaces. Skip non-regular files.
42478
5ab33bba 424792007-11-05 Robert Millan <rmh@aybabtu.com>
42480
42481 * kern/disk.c (grub_disk_firmware_fini)
42482 (grub_disk_firmware_is_tainted): New variables.
42483
42484 * include/grub/disk.h (grub_disk_firmware_fini)
42485 (grub_disk_firmware_is_tainted): Likewise.
42486
42487 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42488 (grub_disk_biosdisk_fini): ... to here.
42489 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42490 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42491 is set. Register grub_disk_biosdisk_fini() in
42492 `grub_disk_firmware_fini'.
42493
42494 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42495 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42496 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42497 to finish existing firmware disk interface.
42498
42499 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42500 (ata_mod_SOURCES): New variable.
42501 (ata_mod_CFLAGS): Likewise.
42502 (ata_mod_LDFLAGS): Likewise.
42503
0149ab7c 425042007-11-05 Robert Millan <rmh@aybabtu.com>
42505
42506 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42507 (grub_ata_wait): Reimplement using grub_millisleep().
42508
42509 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42510 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42511
be7ac41e 425122007-11-03 Marco Gerards <marco@gnu.org>
42513
42514 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42515 (CRTC_ADDR_PORT): New macro.
42516 (CRTC_DATA_PORT): Likewise.
42517 (CRTC_CURSOR): Likewise.
42518 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42519 (CRTC_CURSOR_ADDR_LOW): Likewise.
42520 (update_cursor): New function.
42521 (grub_console_real_putchar): Call `update_cursor'.
42522 (grub_console_gotoxy): Likewise.
42523 (grub_console_cls): Set the default color when clearing the
42524 screen.
42525 (grub_console_setcursor): Implemented.
42526
bb06ab2e 425272007-11-03 Marco Gerards <marco@gnu.org>
42528
42529 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42530 become activate.
42531 (grub_ata_pio_write): Likewise.
42532
42533 (grub_atapi_identify): Wait after issuing an ATA command.
42534 (grub_atapi_packet): Likewise.
42535 (grub_ata_identify): Likewise.
42536 (grub_ata_readwrite): Likewise.
42537
cf8f780b 425382007-11-03 Marco Gerards <marco@gnu.org>
42539
42540 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42541 (grub_ata_pio_write): Likewise.
42542 (grub_ata_readwrite): Use `grub_error', instead of
42543 returning `grub_errno'.
42544
ed649e54 425452007-11-03 Marco Gerards <marco@gnu.org>
42546
42547 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42548 grub_ata_pio_write once for every single sector, instead of for
42549 multiple sectors.
42550
ca25d8f0 425512007-10-31 Robert Millan <rmh@aybabtu.com>
42552
42553 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42554
42555 * conf/i386-linuxbios.rmk: New file.
42556
42557 * kern/i386/pc/hardware.c: Likewise.
42558 * term/i386/pc/at_keyboard.c: Likewise.
42559 * term/i386/pc/vga_text.c: Likewise.
42560
42561 * include/grub/i386/linuxbios/boot.h: Likewise.
42562 * include/grub/i386/linuxbios/console.h: Likewise.
42563 * include/grub/i386/linuxbios/init.h: Likewise.
42564 * include/grub/i386/linuxbios/kernel.h: Likewise.
42565 * include/grub/i386/linuxbios/loader.h: Likewise.
42566 * include/grub/i386/linuxbios/memory.h: Likewise.
42567 * include/grub/i386/linuxbios/serial.h: Likewise.
42568 * include/grub/i386/linuxbios/time.h: Likewise.
42569
42570 * kern/i386/linuxbios/init.c: Likewise.
42571 * kern/i386/linuxbios/startup.S: Likewise.
42572 * kern/i386/linuxbios/table.c: Likewise.
42573
e911ecc1 425742007-10-31 Marco Gerards <marco@gnu.org>
42575
42576 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42577 (ata_mod_SOURCES): New variable.
42578 (ata_mod_CFLAGS): Likewise.
42579 (ata_mod_LDFLAGS): Likewise.
42580
42581 * disk/ata.c: New file.
42582
42583 * include/grub/disk.h (grub_disk_dev_id): Add
42584 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42585
7f66d0e0 425862007-10-31 Robert Millan <rmh@aybabtu.com>
42587
42588 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42589 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42590
42591 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42592 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42593
42594 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42595 `<grub/types.h>'.
42596
42597 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42598
5cd7dd46 425992007-10-27 Robert Millan <rmh@aybabtu.com>
42600
3236ca65 42601 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42602
2ebfc90f 426032007-10-22 Robert Millan <rmh@aybabtu.com>
42604
42605 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42606 `"../realmode.S"'.
42607 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42608
73fcb0f3 426092007-10-22 Robert Millan <rmh@aybabtu.com>
42610
42611 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42612 (pkgdata_MODULES): Add `biosdisk.mod'.
42613 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42614 variables.
42615
42616 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42617 (grub_biosdisk_init): Replace with ...
42618 (GRUB_MOD_INIT(biosdisk)): ... this.
42619 (grub_biosdisk_fini): Replace with ...
42620 (GRUB_MOD_FINI(biosdisk)): ... this.
42621
42622 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42623 (grub_machine_init): Remove call to grub_biosdisk_init().
42624 (grub_machine_fini): Remove call to grub_machine_fini().
42625
42626 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42627
3381d274 426282007-10-22 Robert Millan <rmh@aybabtu.com>
42629
42630 * include/grub/time.h: New file.
42631 * include/grub/i386/time.h: Likewise.
42632 * include/grub/powerpc/time.h: Likewise.
42633 * include/grub/sparc64/time.h: Likewise.
42634
42635 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42636 instances to ...
42637 (KERNEL_MACHINE_TIME_HEADER): ... this.
42638 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42639 instances to ...
42640 (KERNEL_MACHINE_TIME_HEADER): ... this.
42641 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42642 instances to ...
42643 (KERNEL_MACHINE_TIME_HEADER): ... this.
42644
42645 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42646 (grub_millisleep): New function.
42647 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42648 (grub_millisleep): New function.
42649 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42650 Remove `grub/machine/time.h' include.
42651 (grub_millisleep): New function.
42652 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42653 Remove `grub/machine/time.h' include.
42654 (grub_millisleep): New function.
42655
42656 * include/grub/misc.h (grub_div_roundup): New function.
42657
42658 * kern/misc.c: Include `<grub/time.h>'.
42659 (grub_millisleep_generic): New function.
42660
42661 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42662 Add `time.h'.
42663 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42664 Add `time.h'.
42665 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42666 `machine/time.h'. Add `time.h'.
42667 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42668
a39a0312 426692007-10-21 Robert Millan <rmh@aybabtu.com>
42670
42671 * include/grub/misc.h (grub_max): New function.
42672
2aad70e2 426732007-10-21 Robert Millan <rmh@aybabtu.com>
42674
42675 * util/misc.c (grub_util_info): Call fflush() before returning.
42676
54b71c4b 426772007-10-20 Robert Millan <rmh@aybabtu.com>
42678
42679 * genmk.rb (Image): Copy `extra_flags' from here ...
42680 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42681
42682 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42683 to `argc' and `args' arguments.
42684
a979f513 426852007-10-17 Robert Millan <rmh@aybabtu.com>
42686
42687 * kern/i386/loader.S: New file.
42688
42689 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42690 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42691 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42692 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42693 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42694 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42695 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42696 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42697 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42698 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42699 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42700 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42701 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42702 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42703
42704 * kern/i386/realmode.S: New file.
42705
42706 * kern/i386/pc/startup.S (protstack): Moved from here ...
42707 * kern/i386/realmode.S (protstack)... to here.
42708 * kern/i386/pc/startup.S (gdt): Moved from here ...
42709 * kern/i386/realmode.S (gdt)... to here.
42710 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42711 * kern/i386/realmode.S (prot_to_real)... to here.
42712
42713 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42714 `kern/i386/realmode.S'.
42715
825fc8fd 427162007-10-17 Robert Millan <rmh@aybabtu.com>
42717
42718 * include/grub/i386/loader.h: New file.
42719
42720 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42721 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42722 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42723 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42724 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42725 * include/grub/i386/loader.h (grub_linux_prot_size)
42726 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42727 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42728 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42729 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42730
42731 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42732
e179b2f4 427332007-10-15 Robert Millan <rmh@aybabtu.com>
42734
42735 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42736 filesystem when dev->disk is unset.
42737 Do probe for filesystem even when dev->disk->has_partitions is set.
42738 In case a filesystem is found, always report it.
42739 In case it isn't, if dev->disk->has_partitions is set, report that
42740 a partition table was found instead of reporting that no filesystem
42741 could be identified.
42742
5db82af6 427432007-10-12 Robert Millan <rmh@aybabtu.com>
42744
42745 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42746 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42747
68f6ac74 42748 * include/grub/types.h (grub_host_to_target16): New macro.
42749 (grub_host_to_target32): Likewise.
42750 (grub_host_to_target64): Likewise.
42751 (grub_target_to_host16): Likewise.
42752 (grub_target_to_host32): Likewise.
42753 (grub_target_to_host64): Likewise.
5db82af6 42754
42755 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42756 Renamed from to ...
42757 (GRUB_MOD_ALIGN): ...this. Update all users.
42758
68f6ac74 42759 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42760 grub_host_to_target32.
42761 Replace grub_be_to_cpu32 with grub_target_to_host32.
42762 (load_modules): Likewise.
42763 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42764 Replace grub_be_to_cpu32 with grub_target_to_host32.
42765 Replace grub_cpu_to_be16 with grub_host_to_target16.
42766 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42767
3cf497cc 427682007-10-12 Robert Millan <rmh@aybabtu.com>
42769
42770 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42771 * util/elf/grub-mkimage.c: ... here.
42772
42773 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42774 `util/powerpc/ieee1275/grub-mkimage.c'.
42775
c8cc3692 427762007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42777
c8cc3692 42778 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42779 and make it easier to figure out.
42780 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42781 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42782 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42783 leave us with less than HEAP_MIN_SIZE total heap.
42784 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42785
5c58b791 427862007-10-03 Robert Millan <rmh@aybabtu.com>
42787
42788 * include/grub/i386/io.h: New file.
42789 * commands/i386/pc/play.c (inb): Removed.
42790 (outb): Removed.
42791 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42792 with grub_outb().
afcd2ef8 42793 * term/i386/pc/serial.c (inb): Removed.
42794 (outb): Removed.
42795 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42796 with grub_outb().
42797 * term/i386/pc/vga.c (inb): Removed.
42798 (outb): Removed.
42799 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42800 with grub_outb().
5c58b791 42801
1a477ed6 428022007-10-02 Robert Millan <rmh@aybabtu.com>
42803
42804 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42806 Reported by Marcin Kurek.
42807
6b5d80fa 428082007-09-07 Robert Millan <rmh@aybabtu.com>
42809
42810 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42811 SmartFirmware version updates (as released by Sven Luther), and avoid
42812 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42813 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42814 known broken.
42815
5618afbf 428162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42817
42818 From Hitoshi Ozeki:
42819 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42820 when merging two regions.
42821
6139dcd9 428222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42823
508e39ee 42824 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42825 * normal/completion.c (grub_normal_do_completion): Likewise.
42826 Reported by Hitoshi Ozeki.
42827
428282007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42829
6139dcd9 42830 Do not use devices at boot in chainloading.
f19dbdb7 42831
6139dcd9 42832 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42833 (boot_part_addr): Likewise.
42834 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42835 with BOOT_DRIVE and BOOT_PART_ADDR.
42836 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42837 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42838
38da6516 428392007-08-29 Robert Millan <rmh@aybabtu.com>
42840
42841 Patch from Simon Peter <dn.tlp@gmx.net>:
42842 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42843 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42844 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42845 util/i386/pc/grub-setup.c_DEPENDENCIES.
42846 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42847 util/grub-probe.c_DEPENDENCIES.
42848 * conf/powerpc-ieee1275.rmk: Likewise.
42849
29d0928c 428502007-08-28 Robert Millan <rmh@aybabtu.com>
42851
42852 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42853 to tell grub-mkdevicemap how to name devices.
42854 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42855 feature).
42856
42857 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42858 util/i386/get_disk_name.c.
42859 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42860 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42861 util/ieee1275/get_disk_name.c.
42862
42863 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42864
42865 * DISTLIST: Add util/i386/get_disk_name.c and
42866 util/ieee1275/get_disk_name.c.
42867
42868 * util/grub-mkdevicemap.c: Replace device naming logic with
42869 grub_util_get_disk_name() calls.
42870
5a0d3cca 428712007-08-20 Robert Millan <rmh@aybabtu.com>
42872
42873 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42874 (so that it works for both plural and singular quantities).
42875
8b72db2f 428762007-08-05 Robert Millan <rmh@aybabtu.com>
42877
42878 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42879 so that [xz] isn't taken into account when determining order.
42880
352466bf 428812007-08-02 Marco Gerards <marco@gnu.org>
42882
42883 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42884 `include/multiboot2.h', `include/grub/elfload.h',
42885 `include/multiboot.h', `include/grub/multiboot.h',
42886 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42887 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42888 `kern/elf.c', `loader/multiboot_loader.c',
42889 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42890 `loader/i386/pc/multiboot2.c',
42891 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42892 `util/i386/pc/grub-mkrescue.in'. Remove
42893 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42894 `include/grub/i386/pc/util/biosdisk.h' and
42895 `include/grub/powerpc/ieee1275/multiboot.h'.
42896
8f096014 428972007-08-02 Bean <bean123ch@gmail.com>
42898
42899 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42900 (ntfs_mod_SOURCES): New variable.
42901 (ntfs_mod_CFLAGS): Likewise.
42902 (ntfs_mod_LDFLAGS): Likewise.
42903
42904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42905 (grub_probe_SOURCES): Likewise.
42906 (grub_emu_SOURCES): Likewise.
42907
42908 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42909 (grub_emu_SOURCES): Likewise.
42910
42911 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42912 (grub_emu_SOURCES): Likewise.
f19dbdb7 42913
8f096014 42914 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42915
42916 * fs/ntfs.c: New file.
42917
9959f7db 429182007-08-02 Bean <bean123ch@gmail.com>
42919
42920 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42921
42922 * file.h (grub_file): Likewise.
42923
42924 * fshelp.h (grub_fshelp_read_file): Likewise.
42925
42926 * util/i386/pc/grub-setup.c (setup): Likewise.
42927 (save_first_sector): Likewise.
42928 (save_blocklists): Likewise.
f19dbdb7 42929
9959f7db 42930 * fs/affs.c (grub_affs_read_file): Likewise.
42931
42932 * fs/ext2.c (grub_ext2_read_file): Likewise.
42933
42934 * fs/fat.c (grub_fat_read_data): Likewise.
42935
42936 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42937
42938 * fs/hfs.c (grub_hfs_read_file): Likewise.
42939
42940 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42941
42942 * fs/jfs.c (grub_jfs_read_file): Likewise.
42943
42944 * fs/minix.c (grub_minix_read_file): Likewise.
42945
42946 * fs/sfs.c (grub_sfs_read_file): Likewise.
42947
42948 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42949
9959f7db 42950 * fs/xfs.c (grub_xfs_read_file): Likewise.
42951
42952 * command/blocklist.c (read_blocklist): Likewise.
42953 (print_blocklist): Likewise.
42954
0a203f83 429552007-08-02 Marco Gerards <marco@gnu.org>
42956
42957 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42958 `util/hostfs.c'.
42959
42960 * disk/host.c: New file.
42961
42962 * util/hostfs.c: Likewise.
42963
42964 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42965 return `GRUB_ERR_BAD_FS'.
42966 * fs/sfs.c (grub_sfs_mount): Likewise.
42967 * fs/xfs.c (grub_xfs_mount): Likewise.
42968
42969 * include/grub/disk.h (enum grub_disk_dev_id): Add
42970 `GRUB_DISK_DEVICE_HOST_ID'.
42971
42972 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42973
e5dfe777 429742007-07-24 Jerone Young <jerone@gmail.com>
42975
f19dbdb7 42976 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42977 modules for compilation.
42978 * conf/powerpc-ieee1275.rmk: Likewise.
42979
42980 * include/multiboot.h: Move multiboot definitions to one file. Rename
42981 many definitions to not get grub specific.
42982 * include/multiboot2.h: Create header with multiboot 2 definitions.
42983 * include/grub/multiboot.h: Header for grub specific function
42984 prototypes and definitions.
42985 * include/grub/multiboot2.h: Likewise.
42986 * include/grub/multiboot_loader.h: Likewise.
42987 * include/grub/i386/pc/multiboot.h: Removed.
42988 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42989
42990 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42991 and 2 to allow for one multiboot and module commands.
42992 * loader/multiboot2.c: Add multiboot2 functionality.
42993 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42994 and definition names.
42995 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42996 2 functions.
42997 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42998 ieee1275 specific multiboot2 code.
42999
43000 * kern/i386/pc/startup.S: Change headers and definition names for
43001 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43002
daf0f0ba 430032007-07-22 Robert Millan <rmh@aybabtu.com>
43004
43005 * geninitheader.sh: Process file specified in first parameter rather
43006 than hardcoding grub_modules_init.lst.
fe6b695a 43007 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43008 than hardcoding grub_modules_init.h.
43009
43010 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43011 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43012 grub_probe_init.[ch] and grub_setup_init.[ch].
43013
43014 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43015 grub_modules_init.h with grub_emu_init.h.
43016 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43017 grub_probe_init.[ch] files.
43018 * conf/i386-efi.rmk: Likewise.
43019 * conf/i386-pc.rmk: Likewise.
43020 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43021 grub_setup_init.[ch] files.
43022
43023 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43024 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43025 to initialize modules rather than a list of hardcoded functions.
43026 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43027 grub_init_all() to initialize modules rather than a list of hardcoded
43028 functions.
43029
54cdc1cc 430302007-07-22 Robert Millan <rmh@aybabtu.com>
43031
43032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43033 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43034
ad0686cc 430352007-07-22 Robert Millan <rmh@aybabtu.com>
43036
43037 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43038 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43040 flag when running on SmartFirmware.
43041 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43042 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43043 was set.
43044
43045 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43046 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43047 rather than decreasing it.
43048
43049 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43050 there's not enough space to do it, fail in the same way as when it
43051 can't be done because there are no partitions.
43052
43053 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43054 when nvsetenv failed.
43055
969c02ec 430562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43057
43058 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43059 because this rule is automatically generated.
43060 (grub-mkrescue): Removed for the same reason as above.
43061
5a79f472 430622007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43063
43064 Migrate to GNU General Public License Version 3.
f19dbdb7 43065
5a79f472 43066 * COPYING: Replaced with the plain text version of GPLv3.
43067
43068 * config.guess: Updated from gnulib.
43069 * config.sub: Likewise.
43070
43071 * geninit.sh: Output a GPLv3 copyright notice.
43072 * geninitheader.sh: Likewise.
43073 * genmodsrc.sh: Likewise.
43074 * gensymlist.sh.in: Likewise.
43075
43076 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43077 * boot/i386/pc/diskboot.S: Likewise.
43078 * boot/i386/pc/pxeboot.S: Likewise.
43079 * commands/blocklist.c: Likewise.
43080 * commands/boot.c: Likewise.
43081 * commands/cat.c: Likewise.
43082 * commands/cmp.c: Likewise.
43083 * commands/configfile.c: Likewise.
43084 * commands/echo.c: Likewise.
43085 * commands/help.c: Likewise.
43086 * commands/ls.c: Likewise.
43087 * commands/search.c: Likewise.
43088 * commands/terminal.c: Likewise.
43089 * commands/test.c: Likewise.
43090 * commands/videotest.c: Likewise.
43091 * commands/i386/cpuid.c: Likewise.
43092 * commands/i386/pc/halt.c: Likewise.
43093 * commands/i386/pc/play.c: Likewise.
43094 * commands/i386/pc/reboot.c: Likewise.
43095 * commands/i386/pc/vbeinfo.c: Likewise.
43096 * commands/i386/pc/vbetest.c: Likewise.
43097 * commands/ieee1275/halt.c: Likewise.
43098 * commands/ieee1275/reboot.c: Likewise.
43099 * commands/ieee1275/suspend.c: Likewise.
43100 * disk/loopback.c: Likewise.
43101 * disk/lvm.c: Likewise.
43102 * disk/raid.c: Likewise.
43103 * disk/efi/efidisk.c: Likewise.
43104 * disk/i386/pc/biosdisk.c: Likewise.
43105 * disk/ieee1275/ofdisk.c: Likewise.
43106 * font/manager.c: Likewise.
43107 * fs/affs.c: Likewise.
43108 * fs/ext2.c: Likewise.
43109 * fs/fat.c: Likewise.
43110 * fs/fshelp.c: Likewise.
43111 * fs/hfs.c: Likewise.
43112 * fs/hfsplus.c: Likewise.
43113 * fs/iso9660.c: Likewise.
43114 * fs/jfs.c: Likewise.
43115 * fs/minix.c: Likewise.
43116 * fs/sfs.c: Likewise.
43117 * fs/ufs.c: Likewise.
43118 * fs/xfs.c: Likewise.
43119 * hello/hello.c: Likewise.
43120 * include/grub/acorn_filecore.h: Likewise.
43121 * include/grub/arg.h: Likewise.
43122 * include/grub/bitmap.h: Likewise.
43123 * include/grub/boot.h: Likewise.
43124 * include/grub/cache.h: Likewise.
43125 * include/grub/device.h: Likewise.
43126 * include/grub/disk.h: Likewise.
43127 * include/grub/dl.h: Likewise.
43128 * include/grub/elfload.h: Likewise.
43129 * include/grub/env.h: Likewise.
43130 * include/grub/err.h: Likewise.
43131 * include/grub/file.h: Likewise.
43132 * include/grub/font.h: Likewise.
43133 * include/grub/fs.h: Likewise.
43134 * include/grub/fshelp.h: Likewise.
43135 * include/grub/gzio.h: Likewise.
43136 * include/grub/hfs.h: Likewise.
43137 * include/grub/kernel.h: Likewise.
43138 * include/grub/loader.h: Likewise.
43139 * include/grub/lvm.h: Likewise.
43140 * include/grub/misc.h: Likewise.
43141 * include/grub/mm.h: Likewise.
43142 * include/grub/net.h: Likewise.
43143 * include/grub/normal.h: Likewise.
43144 * include/grub/parser.h: Likewise.
43145 * include/grub/partition.h: Likewise.
43146 * include/grub/pc_partition.h: Likewise.
43147 * include/grub/raid.h: Likewise.
43148 * include/grub/rescue.h: Likewise.
43149 * include/grub/script.h: Likewise.
43150 * include/grub/setjmp.h: Likewise.
43151 * include/grub/symbol.h: Likewise.
43152 * include/grub/term.h: Likewise.
43153 * include/grub/terminfo.h: Likewise.
43154 * include/grub/tparm.h: Likewise.
43155 * include/grub/types.h: Likewise.
43156 * include/grub/video.h: Likewise.
43157 * include/grub/efi/api.h: Likewise.
43158 * include/grub/efi/chainloader.h: Likewise.
43159 * include/grub/efi/console.h: Likewise.
43160 * include/grub/efi/console_control.h: Likewise.
43161 * include/grub/efi/disk.h: Likewise.
43162 * include/grub/efi/efi.h: Likewise.
43163 * include/grub/efi/pe32.h: Likewise.
43164 * include/grub/efi/time.h: Likewise.
43165 * include/grub/i386/linux.h: Likewise.
43166 * include/grub/i386/setjmp.h: Likewise.
43167 * include/grub/i386/types.h: Likewise.
43168 * include/grub/i386/efi/kernel.h: Likewise.
43169 * include/grub/i386/efi/loader.h: Likewise.
43170 * include/grub/i386/efi/time.h: Likewise.
43171 * include/grub/i386/pc/biosdisk.h: Likewise.
43172 * include/grub/i386/pc/boot.h: Likewise.
43173 * include/grub/i386/pc/chainloader.h: Likewise.
43174 * include/grub/i386/pc/console.h: Likewise.
43175 * include/grub/i386/pc/init.h: Likewise.
43176 * include/grub/i386/pc/kernel.h: Likewise.
43177 * include/grub/i386/pc/loader.h: Likewise.
43178 * include/grub/i386/pc/memory.h: Likewise.
43179 * include/grub/i386/pc/multiboot.h: Likewise.
43180 * include/grub/i386/pc/serial.h: Likewise.
43181 * include/grub/i386/pc/time.h: Likewise.
43182 * include/grub/i386/pc/vbe.h: Likewise.
43183 * include/grub/i386/pc/vbeblit.h: Likewise.
43184 * include/grub/i386/pc/vbefill.h: Likewise.
43185 * include/grub/i386/pc/vbeutil.h: Likewise.
43186 * include/grub/i386/pc/vga.h: Likewise.
43187 * include/grub/ieee1275/ieee1275.h: Likewise.
43188 * include/grub/ieee1275/ofdisk.h: Likewise.
43189 * include/grub/powerpc/libgcc.h: Likewise.
43190 * include/grub/powerpc/setjmp.h: Likewise.
43191 * include/grub/powerpc/types.h: Likewise.
43192 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43193 * include/grub/powerpc/ieee1275/console.h: Likewise.
43194 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43195 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43196 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43197 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43198 * include/grub/powerpc/ieee1275/time.h: Likewise.
43199 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43200 * include/grub/sparc64/libgcc.h: Likewise.
43201 * include/grub/sparc64/setjmp.h: Likewise.
43202 * include/grub/sparc64/types.h: Likewise.
43203 * include/grub/sparc64/ieee1275/console.h: Likewise.
43204 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43205 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43206 * include/grub/sparc64/ieee1275/time.h: Likewise.
43207 * include/grub/util/biosdisk.h: Likewise.
43208 * include/grub/util/getroot.h: Likewise.
43209 * include/grub/util/lvm.h: Likewise.
43210 * include/grub/util/misc.h: Likewise.
43211 * include/grub/util/raid.h: Likewise.
43212 * include/grub/util/resolve.h: Likewise.
43213 * io/gzio.c: Likewise.
43214 * kern/device.c: Likewise.
43215 * kern/disk.c: Likewise.
43216 * kern/dl.c: Likewise.
43217 * kern/elf.c: Likewise.
43218 * kern/env.c: Likewise.
43219 * kern/err.c: Likewise.
43220 * kern/file.c: Likewise.
43221 * kern/fs.c: Likewise.
43222 * kern/loader.c: Likewise.
43223 * kern/main.c: Likewise.
43224 * kern/misc.c: Likewise.
43225 * kern/mm.c: Likewise.
43226 * kern/parser.c: Likewise.
43227 * kern/partition.c: Likewise.
43228 * kern/rescue.c: Likewise.
43229 * kern/term.c: Likewise.
43230 * kern/efi/efi.c: Likewise.
43231 * kern/efi/init.c: Likewise.
43232 * kern/efi/mm.c: Likewise.
43233 * kern/i386/dl.c: Likewise.
43234 * kern/i386/efi/init.c: Likewise.
43235 * kern/i386/efi/startup.S: Likewise.
43236 * kern/i386/pc/init.c: Likewise.
43237 * kern/i386/pc/lzo1x.S: Likewise.
43238 * kern/i386/pc/startup.S: Likewise.
43239 * kern/ieee1275/ieee1275.c: Likewise.
43240 * kern/powerpc/cache.S: Likewise.
43241 * kern/powerpc/dl.c: Likewise.
43242 * kern/powerpc/ieee1275/cmain.c: Likewise.
43243 * kern/powerpc/ieee1275/crt0.S: Likewise.
43244 * kern/powerpc/ieee1275/init.c: Likewise.
43245 * kern/powerpc/ieee1275/openfw.c: Likewise.
43246 * kern/sparc64/cache.S: Likewise.
43247 * kern/sparc64/dl.c: Likewise.
43248 * kern/sparc64/ieee1275/init.c: Likewise.
43249 * kern/sparc64/ieee1275/openfw.c: Likewise.
43250 * loader/efi/chainloader.c: Likewise.
43251 * loader/efi/chainloader_normal.c: Likewise.
43252 * loader/i386/efi/linux.c: Likewise.
43253 * loader/i386/efi/linux_normal.c: Likewise.
43254 * loader/i386/pc/chainloader.c: Likewise.
43255 * loader/i386/pc/chainloader_normal.c: Likewise.
43256 * loader/i386/pc/linux.c: Likewise.
43257 * loader/i386/pc/linux_normal.c: Likewise.
43258 * loader/i386/pc/multiboot.c: Likewise.
43259 * loader/i386/pc/multiboot_normal.c: Likewise.
43260 * loader/powerpc/ieee1275/linux.c: Likewise.
43261 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43262 * normal/arg.c: Likewise.
43263 * normal/cmdline.c: Likewise.
43264 * normal/command.c: Likewise.
43265 * normal/completion.c: Likewise.
43266 * normal/execute.c: Likewise.
43267 * normal/function.c: Likewise.
43268 * normal/lexer.c: Likewise.
43269 * normal/main.c: Likewise.
43270 * normal/menu.c: Likewise.
43271 * normal/menu_entry.c: Likewise.
43272 * normal/misc.c: Likewise.
43273 * normal/parser.y: Likewise.
43274 * normal/script.c: Likewise.
43275 * normal/i386/setjmp.S: Likewise.
43276 * normal/powerpc/setjmp.S: Likewise.
43277 * normal/sparc64/setjmp.S: Likewise.
43278 * partmap/acorn.c: Likewise.
43279 * partmap/amiga.c: Likewise.
43280 * partmap/apple.c: Likewise.
43281 * partmap/gpt.c: Likewise.
43282 * partmap/pc.c: Likewise.
43283 * partmap/sun.c: Likewise.
43284 * term/gfxterm.c: Likewise.
43285 * term/terminfo.c: Likewise.
43286 * term/efi/console.c: Likewise.
43287 * term/i386/pc/console.c: Likewise.
43288 * term/i386/pc/serial.c: Likewise.
43289 * term/i386/pc/vesafb.c: Likewise.
43290 * term/i386/pc/vga.c: Likewise.
43291 * term/ieee1275/ofconsole.c: Likewise.
43292 * util/biosdisk.c: Likewise.
43293 * util/console.c: Likewise.
43294 * util/genmoddep.c: Likewise.
43295 * util/getroot.c: Likewise.
43296 * util/grub-emu.c: Likewise.
43297 * util/grub-mkdevicemap.c: Likewise.
43298 * util/grub-probe.c: Likewise.
43299 * util/lvm.c: Likewise.
43300 * util/misc.c: Likewise.
43301 * util/raid.c: Likewise.
43302 * util/resolve.c: Likewise.
43303 * util/update-grub.in: Likewise.
43304 * util/update-grub_lib.in: Likewise.
43305 * util/grub.d/00_header.in: Likewise.
43306 * util/grub.d/10_hurd.in: Likewise.
43307 * util/grub.d/10_linux.in: Likewise.
43308 * util/i386/efi/grub-install.in: Likewise.
43309 * util/i386/efi/grub-mkimage.c: Likewise.
43310 * util/i386/pc/grub-install.in: Likewise.
43311 * util/i386/pc/grub-mkimage.c: Likewise.
43312 * util/i386/pc/grub-mkrescue.in: Likewise.
43313 * util/i386/pc/grub-setup.c: Likewise.
43314 * util/i386/pc/misc.c: Likewise.
43315 * util/powerpc/ieee1275/grub-install.in: Likewise.
43316 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43317 * util/powerpc/ieee1275/misc.c: Likewise.
43318 * video/bitmap.c: Likewise.
43319 * video/video.c: Likewise.
43320 * video/i386/pc/vbe.c: Likewise.
43321 * video/i386/pc/vbeblit.c: Likewise.
43322 * video/i386/pc/vbefill.c: Likewise.
43323 * video/i386/pc/vbeutil.c: Likewise.
43324 * video/readers/tga.c: Likewise.
43325
3572d015 433262007-07-02 Robert Millan <rmh@aybabtu.com>
43327
43328 * conf/i386-efi.rmk: Replace obsolete reference to
43329 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43330 with util/getroot.c.
43331 * conf/powerpc-ieee1275.rmk: Likewise.
43332 * conf/sparc64-ieee1275.rmk: Likewise.
43333
43334 * util/grub-emu.c (main): Fix unchecked pointer handling.
43335
2c2a681b 433362007-07-02 Robert Millan <rmh@aybabtu.com>
43337
43338 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43339 invocation to fail, in order to support partition-less media.
43340
43341 * util/i386/pc/grub-install.in: Likewise.
43342
43343 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43344 which fs or partmap modules are needed (akin to its sister scripts).
43345
43346 Also use grub-probe to get rid of unportable /proc/mounts check.
43347
43348 Print the same informational message that the other scripts do, before
fe6b695a 43349 exiting.
2c2a681b 43350
6193defe 433512007-06-23 Robert Millan <rmh@aybabtu.com>
43352
fe6b695a 43353 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43354 a font file can be found and, if so, echo the GRUB path to it.
43355
43356 * util/update-grub.in: Handle multiple terminals depending on user
43357 input, platform availability and font file presence. Propagate
43358 variables of our findings to /etc/grub.d/ children.
43359
43360 * util/grub.d/00_header.in: Handle multiple terminals, based on
43361 environment setup by update-grub.
43362
eface1dc 433632007-06-23 Robert Millan <rmh@aybabtu.com>
43364
ba50d28f 43365 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43366
bf697e28 433672007-06-21 Robert Millan <rmh@aybabtu.com>
43368
43369 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43370 indicate end of data section in kernel image.
43371 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43372 GRUB_KERNEL_MACHINE_DATA_END.
43373
43374 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43375 space for it.
43376 * kern/i386/efi/startup.S: Likewise.
43377
43378 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43379 during image generation. Implement --prefix option to override this
43380 patch.
43381 * util/i386/efi/grub-mkimage.c: Likewise.
43382
43383 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43384 code to make path relative to its root into a separate function.
43385
43386 * util/i386/pc/grub-install.in: Use newly provided
43387 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43388 pass the result to grub-install --prefix.
43389
baa574b4 433902007-06-13 Robert Millan <rmh@aybabtu.com>
43391
43392 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43393 DEFAULT_DEVICE_MAP.
43394 * util/grub-emu.c: Use above definitions from misc.h instead of
43395 defining them.
43396 * util/grub-mkdevicemap.c: Likewise.
43397 * util/i386/pc/grub-setup.c: Likewise.
43398 * util/grub-probe.c: Likewise.
43399 (probe): Abort with grub_util_error() when either
43400 grub_guess_root_device or grub_util_get_grub_dev fails.
43401
0215dcbf 434022007-06-12 Robert Millan <rmh@aybabtu.com>
43403
43404 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43405 "pager" assignment.
43406 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43407 "pcdata".
43408 * util/grub-probe.c (probe): Likewise for "drive_name".
43409
8af2ab7b 434102007-06-11 Robert Millan <rmh@aybabtu.com>
43411
43412 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43413 not just the cdrom one.
43414
59d31694 434152007-06-11 Robert Millan <rmh@aybabtu.com>
43416
43417 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43418 Add --pkglibdir=DIR option to override pkglibdir.
43419 Mention --image-type=TYPE in help output.
43420 Fix --grub-mkimage (it was a no-op).
fe6b695a 43421 Abort gracefully when no parameter is given.
59d31694 43422
7ee367e4 434232007-06-11 Robert Millan <rmh@aybabtu.com>
43424
43425 * util/i386/pc/grub-mkrescue.in: New file.
43426 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43427 * Makefile.in: Handle bin_SCRIPTS.
43428
29b0ed46 434292007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43430
43431 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43432 list of video modes.
43433
c0f90770 434342007-06-06 Robert Millan <rmh@aybabtu.com>
43435
43436 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43437 file doesn't exist, or if it is in a filesystem grub can't read.
43438
43439 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43440 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43441 header comment to fit in 80 columns when the variables are resolved.
43442
43443 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43444 could be identified by update-grub. Remove redundant check for
fe6b695a 43445 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43446 handles that).
43447
fb36dc26 434482007-06-04 Robert Millan <rmh@aybabtu.com>
43449
43450 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43451
43452 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43453
43454 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43455
0c68c93e 434562007-06-04 Robert Millan <rmh@aybabtu.com>
43457
43458 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43459
43460 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43461 grub_apple_partition_map_fini.
43462
43463 * util/biosdisk.c
43464 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43465 to access >2 TiB disks).
43466
43467 Print disk->total_sectors with %llu instead of %lu, since this
43468 variable is always 64-bit (prevents wrong disk size from being displayed
43469 on either >2 TiB disk or big-endian CPU).
43470
43471 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43472 into a generic case that supports all (sane) partition maps.
43473
43474 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43475 breaks big-endian.
43476
43477 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43478 and grub_apple_partition_map_fini() after that.
43479
0f23eb74 434802007-06-01 Robert Millan <rmh@aybabtu.com>
43481
43482 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43483
43484 * util/grub.d/00_header.in: Only enable gfxterm when
43485 convert_system_path_to_grub_path() succeeds.
43486
42c71976 434872007-05-20 Robert Millan <rmh@aybabtu.com>
43488
43489 * util/update-grub_lib.in: New file.
43490 * DISTLIST: Add update-grub_lib.in.
43491 * conf/common.rmk: Generate update-grub_lib and install it in
43492 $(lib_DATA).
43493 * Makefile.in: Add install routine for $(lib_DATA).
43494
43495 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43496 function provided by update-grub_lib to support arbitrary paths of
43497 unifont.pff.
43498 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43499 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43500
5beb2291 435012007-05-19 Robert Millan <rmh@aybabtu.com>
43502
43503 * commands/i386/cpuid.c: New module.
43504 * DISTLIST: Add it.
43505 * conf/i386-efi.rmk: Enable cpuid.mod.
43506 * conf/i386-pc.rmk: Likewise.
43507
7262eca1 435082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43509
43510 * kern/disk.c (grub_disk_read): Check return value of
43511 grub_realloc().
43512
260ba823 435132007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43514
43515 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43516 arrays.
43517 * disk/raid.c (grub_raid_open): Likewise.
43518
1ecb6cf2 435192007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43520
43521 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43522 stack instead of on the heap.
43523
43524 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43525 before doing a read on it.
43526
43527 * configure.ac: Only use -fno-stack-protector for the target
43528 environment.
f19dbdb7 43529
21c8cbb1 435302007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43531
43532 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43533 __attribute_ ((unused)) to mode_type argument.
43534
43535 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43536
21c8cbb1 43537 * kern/misc.c (memcmp): Fix prototype.
43538
43539 * include/grub/partition.h [GRUB_UTIL]
43540 (grub_gpt_partition_map_init): Add prototype.
43541 (grub_gpt_partition_map_fini): Likewise.
43542
43543 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43544 at the right place.
43545
43546 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43547 (grub_fat_read_data): Likewise.
43548 (grub_fat_find_dir): Likewise.
43549
43550 * font/manager.c (find_glyph): Make table a const.
43551 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43552
849d55d3 435532007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43554
43555 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43556 code, first search for device in /dev/mapper, then in /dev.
43557 (grub_util_get_grub_dev): New function.
43558 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43559 prototype.
43560 * util/grub-probe.c (probe): Remove check for RAID, call
43561 grub_util_get_grub_dev() instead of
43562 grub_util_biosdisk_get_grub_dev().
43563 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43564 grub_util_biosdisk_get_grub_dev().
43565 * util/i386/pc/grub-setup.c (main): Likewise.
43566
8fff7c2f 435672007-05-16 Robert Millan <rmh@aybabtu.com>
43568
43569 * DISTLIST: Update for the latest changes.
43570 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43571 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43572 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43573 grub/util/biosdisk.h.
43574 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43575 grub/util/biosdisk.h.
43576
48e12b52 435772007-05-16 Robert Millan <rmh@aybabtu.com>
43578
43579 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43580
46b9d128 435812007-05-16 Robert Millan <rmh@aybabtu.com>
43582
43583 * util/i386/efi/grub-install.in: New.
43584 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43585 newly added grub-install.
43586 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43587 include.
43588 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43589 grub/util/biosdisk.h.
43590 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43591 grub/util/biosdisk.h.
43592
2d1a40a9 435932007-05-16 Robert Millan <rmh@aybabtu.com>
43594
43595 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43596 * include/grub/util/biosdisk.h: ... here.
43597 * util/i386/pc/biosdisk.c: Moved to ...
43598 * util/biosdisk.c: ... here.
43599 * util/i386/pc/getroot.c: Moved to ...
43600 * util/getroot.c: ... here.
43601 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43602 * util/grub-mkdevicemap.c: ... here.
43603 * util/i386/pc/grub-probe.c: Moved to ...
43604 * util/grub-probe.c: ... here.
43605
9e26e3bc 436062007-05-15 Robert Millan <rmh@aybabtu.com>
43607
43608 * util/update-grub.in: Remove duplicated line in grub.cfg header
43609 message.
43610
57f96397 436112007-05-13 Robert Millan <rmh@aybabtu.com>
43612
43613 * util/update-grub.in: Fix a few assumptions about the devices holding
43614 /, /boot and /boot/grub being the same.
43615 * util/grub.d/00_header.in: Likewise.
43616 * util/grub.d/10_hurd.in: Likewise.
43617 * util/grub.d/10_linux.in: Likewise.
43618
43619 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43620 patterns. Use that to define the `.old' suffix as older than `'.
43621
43622 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43623
43624 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43625 the grub.cfg header message.
43626
2e610d62 436272007-05-11 Robert Millan <rmh@aybabtu.com>
43628
43629 * util/update-grub.in: Create device.map if it doesn't already exist,
43630 before attempting to run grub-probe.
43631 Check for grub-probe and grub-mkdevicemap with the same code
43632 grub-install is using.
43633 Remove test mode.
43634
3f6a10ef 436352007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43636
43637 * Makefile.in: Add the datarootdir autoconf variable.
43638
02e7b75e 436392007-05-09 Robert Millan <rmh@aybabtu.com>
43640
43641 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43642 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43643
75f396cc 436442007-05-07 Robert Millan <rmh@aybabtu.com>
43645
43646 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43647 determine partition map module.
43648 * util/i386/pc/grub-install.in: Use this feature to decide which
43649 partition module to load, instead of hardcoding pc and gpt.
43650
da65cb36 436512007-05-07 Robert Millan <rmh@aybabtu.com>
43652
43653 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43654 source directory differs from build directory.
43655
b57d6a91 436562007-05-05 Robert Millan <rmh@aybabtu.com>
43657
43658 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43659 initialisation.
43660
509d00f1 436612007-05-05 Robert Millan <rmh@aybabtu.com>
43662
43663 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43664
c48f23ef 436652007-05-05 Robert Millan <rmh@aybabtu.com>
43666
43667 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43668 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43669
20b97658 436702007-05-05 Robert Millan <rmh@aybabtu.com>
43671
43672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43673 (grub_probe_SOURCES): Likewise.
43674 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43675 GPT and initialize dos_part and bsd_part accordingly.
43676 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43677 install_bsd_part.
43678 (main): Activate gpt module for use during partition identification,
43679 and deactivate it afterwards.
43680 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43681 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43682 partition identification, and deactivate it afterwards.
43683
99123174 436842007-05-05 Robert Millan <rmh@aybabtu.com>
43685
43686 * term/i386/pc/console.c (grub_console_fini): Call
43687 grub_term_set_current() before grub_term_unregister().
43688
ebd97f6e 436892007-05-04 Robert Millan <rmh@aybabtu.com>
43690
43691 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43692 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43693 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43694 and update-grub_DATA.
43695 * conf/common.rmk: Build and install update-grub components.
43696 * conf/common.mk: Regenerate.
43697 * util/update-grub.in: New. Core of update-grub.
43698 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43699 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43700 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43701 * util/grub.d/README: New. Document grub.d directory layout.
43702
b06a264d 437032007-05-01 Robert Millan <rmh@aybabtu.com>
43704
43705 * util/grub-emu.c: Move initialization functions
43706 grub_util_biosdisk_init() and grub_init_all() before
43707 grub_util_biosdisk_get_grub_dev(), which relies on them.
43708
41f0050e 437092007-04-19 Robert Millan <rmh@aybabtu.com>
43710
43711 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43712 it is used later.
43713
04582bb3 437142007-04-18 Jerone Young <jerone@gmail.com>
43715
f19dbdb7 43716 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43717 stanza.
43718
08db4632 437192007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43720
08db4632 43721 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43722 continue on and look for device node with real device name.
43723
801b76be 437242007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43725
fe6b695a 43726 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43727 ability.
43728 * Makefile.in: Add autoconf package transformation code.
43729 * util/i386/pc/grub-install.in: Likewise.
43730 * util/powerpc/ieee1275/grub-install.in: Likewise.
43731
6795c4e1 437322007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43733
43734 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43735 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43736 (EXT2_REVISION): Likewise.
43737 (EXT2_INODE_SIZE): Likewise.
43738 (struct grub_ext2_block_group): Added a missing member
43739 "used_dirs".
43740 (grub_ext2_read_inode): Divide by the inode size in a superblock
43741 instead of 128 to obtain INODES_PER_BLOCK.
43742 Use the macro EXT2_INODE_SIZE instead of directly using
43743 SBLOCK->INODE_SIZE.
43744
d70af616 437452007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43746
43747 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43748 superblock instead of the structure size to compute an
43749 offset. This fixes the problem that GRUB could not read a
43750 filesystem when inode size is different from 128-byte.
43751
3b801603 437522007-03-05 Marco Gerards <marco@gnu.org>
43753
43754 * normal/main.c (read_config_file): When "menu" is not set, create
43755 an initial context.
43756
4785bfe4 437572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43758
43759 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43760 (HEAP_LIMIT): New macro.
43761 (grub_claim_heap): Claim memory up to `heaplimit'.
43762
a0cbb023 437632007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43764
43765 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43766 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43767 (_start): Likewise.
43768 (grub_arch_modules_addr): Return address after `_end'.
43769 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43770 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43771 (add_segments): Calculate `_end' from phdr size and location.
43772 (ALIGN_UP): Moved to ...
43773 * include/grub/misc.h: here.
43774 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43775 New macro.
43776 (GRUB_IEEE1275_MODULE_BASE): Removed.
43777
fd7d8eba 437782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43779
43780 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43781 loop boundary.
43782
9b09e6fc 437832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43784
43785 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43786 All users updated.
43787 (grub_elf64_load_hook_t): Likewise.
43788 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43789 debug output.
43790
3ce27299 437912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43792
43793 * kern/mm.c: Update copyright.
43794 (grub_mm_debug): Correct syntax error.
43795 (grub_mm_dump_free): New function.
43796 (grub_debug_free): Call `grub_free'.
43797 * include/grub/mm.h: Update copyright.
43798 (grub_mm_dump_free): Add declaration.
43799
077d5fee 438002007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43801
43802 * include/grub/ieee1275/ieee1275.h: Update copyright.
43803 * kern/powerpc/ieee1275/init.c: Likewise.
43804 * kern/powerpc/ieee1275/openfw.c: Likewise.
43805
43806 * loader/powerpc/ieee1275/linux.c: Likewise.
43807 * include/grub/elfload.h: Likewise.
43808 * kern/elf.c: Likewise.
43809 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43810 callers.
43811 (grub_elf64_load): Likewise.
43812 (grub_elf32_load_segment): Move to a nested function.
43813 (grub_elf64_load_segment): Likewise.
43814
dc946850 438152007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43816
43817 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43818 prototype.
43819 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43820 (grub_heap_len): Likewise.
43821 (HEAP_SIZE): New macro.
43822 (grub_claim_heap): New function.
43823 (grub_machine_init): Don't claim heap directly. Call
43824 `grub_claim_heap'.
43825 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43826 (grub_available_iterate): New function.
43827
baa2a121 438282007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43829
43830 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43831 * configure.ac: Use it for testing the HOST and TARGET compilers.
43832
4fe9862e 438332006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43834
43835 * Makefile.in (enable_grub_emu): New variable.
43836 * configure.ac (--enable-grub-emu): New option.
43837 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43838 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43839 * conf/i386-pc.rmk: Likewise.
43840 * conf/powerpc-ieee1275.rmk: Likewise.
43841 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43842
a8aa5762 438432006-12-12 Marco Gerards <marco@gnu.org>
43844
43845 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43846
43847 * kern/env.c (grub_env_unset): Don't free the member `value' when
43848 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43849 pointer.
43850
43851 * normal/main.c (current_menu): Removed.
43852 (free_menu): Unset the `menu' environment variable.
43853 (grub_normal_menu_addentry): Make use of the environment variable
43854 `menu', instead of using the global `current_menu'. Allocate
43855 memory for the sourcecode of this entry.
43856 (read_config_file): New argument `nested', changed all callers.
43857 Only in the case of a new context, initialize a new menu. Set the
43858 `menu' environment variable.
43859 (grub_normal_execute): Don't set and unset the environment
43860 variable `menu' here anymore. Only free the menu when leaving the
43861 context.
43862
43863 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43864 leak.
43865
957b3a3e 438662006-12-11 Marco Gerards <marco@gnu.org>
43867
43868 * normal/menu_entry.c (run): Fix off by one bug so the last line
43869 is executed. Move the loader check to outside the loop.
43870
ef875714 438712006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43872
43873 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43874
4e739985 438752006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43878 the number of sectors. Reported by Andrey Shuvikov
43879 <mr_hyro@yahoo.com>.
f19dbdb7 43880
790707f2 438812006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43882
43883 * kern/disk.c (grub_disk_read): When there is a read error, always
43884 try to read only the necessary data.
f19dbdb7 43885
790707f2 43886 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43887 disk/raid.c.
43888 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43889 prototype.
43890 [GRUB_UTIL] (grub_raid_fini): Likewise.
43891 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43892 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43893 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43894 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43895 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43896 and grub_raid_fini().
f19dbdb7 43897
03e58196 438982006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43899
43900 * include/grub/types.h (__unused): Rename to UNUSED.
43901 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43902 (grub_elf64_size): Likewise.
f19dbdb7 43903
ae4f23bf 439042006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43905
43906 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43907 grub_error_push and grub_error_pop in the error-handling path.
43908 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43909 length.
43910
2166cc83 439112006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43912
43913 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43914 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43916 (kernel_elf_SOURCES): Likewise.
43917 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43918 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43919 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43920 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43921 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43922 (elf_mod_SOURCES): New variable.
43923 (elf_mod_CFLAGS): Likewise.
43924 (elf_mod_LDFLAGS): Likewise.
43925 * include/grub/types.h (__unused): New macro.
43926 * include/grub/elfload.h: New file.
43927 * kern/elf.c: Likewise.
43928 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43929 (ELF32_LOADMASK): New macro.
43930 (ELF64_LOADMASK): Likewise.
43931 (vmlinux): Removed.
43932 (grub_linux_load32): New function.
43933 (grub_linux_load64): Likewise.
43934 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43935 Use grub_elf_t instead of grub_file_t.
43936
a09d5aa5 439372006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43938
43939 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43940 `catch_result' to struct set_color_args.
43941
d976fc51 439422006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43943
43944 * normal/menu.c: Include grub/script.h.
43945 * normal/menu_entry.c: Likewise.
43946 * include/grub/normal.h: Do not include grub/script.h.
43947
67507549 439482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43949
43950 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43951
69203a99 439522006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43953
43954 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43955 disk.
43956 (grub_disk_close): Print debug messages when closing a disk.
43957 (grub_disk_read): Print debug messages when disk read fails.
43958 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43959 filesystem type.
43960 * kern/partition.c: Include misc.h.
43961 (grub_partition_iterate): Print debug messages when detecting
43962 partition type.
43963
e2b8278c 439642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43965
43966 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43967 is negative.
43968 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43969
97b2f2ff 439702006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43971
43972 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43973 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43974
6555d655 439752006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43976
43977 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43978 instead of sizeof(lv). Patch by Michael Guntsche.
43979
4d42b77f 439802006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43981
43982 * disk/lvm.c: Rename VGS to VG_LIST.
43983 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43984 (grub_lvm_open): Likewise.
43985 Thanks to Michael Guntsche for finding this bug.
43986
5d74d927 439872006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43988
43989 * configure.ac (AC_INIT): Bumped to 1.95.
43990
a1bb27e4 439912006-10-14 Robert Millan <rmh@aybabtu.com>
43992
43993 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43994 with "/dev/.static/dev/md".
43995
e0994b8b 439962006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43997
43998 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43999 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44000 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44001 DRIVE_NAME are always freed.
44002
44003 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44004 DOS_PART, as a DOS partition is counted from one instead of zero
44005 now. Reported by Robert Millan.
44006
ddd5cee9 440072006-10-14 Robert Millan <rmh@aybabtu.com>
44008
44009 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44010 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44011 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44012 string returned by grub_guess_root_device.
44013 * util/i386/pc/grub-setup.c: Likewise.
44014 * util/i386/pc/grub-probefs.c: Likewise.
44015
44016 * util/i386/pc/grub-probefs.c: Rename to ...
44017 * util/i386/pc/grub-probe.c: ... this.
44018 * DISTLIST: Remove grub-probefs, add grub-probe.
44019 * conf/i386-efi.rmk: Likewise.
44020 * conf/i386-pc.rmk: Likewise.
44021 * util/i386/pc/grub-install.in: Likewise.
44022
44023 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44024 choose which information we want to print.
44025
2b002173 440262006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44027
44028 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44029 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44030 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44031 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44032 video/readers/tga.c and video/i386/pc/vbeutil.c.
44033
440342006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44035
44036 Added support for RAID and LVM.
f19dbdb7 44037
2b002173 44038 * disk/lvm.c: New file.
44039 * disk/raid.c: Likewise.
44040 * include/grub/lvm.h: Likewise.
f19dbdb7 44041 * include/grub/raid.h: Likewise.
2b002173 44042 * include/grub/util/lvm.h: Likewise.
44043 * include/grub/util/raid.h: Likewise.
44044 * util/lvm.c: Likewise.
44045 * util/raid.c: Likewise.
44046
44047 * include/grub/disk.h (grub_disk_dev_id): Add
44048 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44049 (grub_disk_get_size): New prototype.
44050 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44051 returns a partition.
44052 (grub_disk_get_size): New function.
f19dbdb7 44053
2b002173 44054 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44055 verbatim if grub_install_dos_part is -2.
44056
44057 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44058 and LVM devices.
44059
44060 * util/i386/pc/grub-setup.c (setup): New argument
44061 MUST_EMBED. Force embedding of GRUB when the argument is
44062 true. Close FILE before returning.
44063 (main): Add support for RAID and LVM.
f19dbdb7 44064
2b002173 44065 * conf/common.rmk: Add RAID and LVM modules.
44066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44067 util/lvm.c.
44068 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44069
44070 * kern/misc.c (grub_strstr): New function.
44071 * include/grub/misc.h (grub_strstr): New prototype.
44072
050548d0 440732006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44074
44075 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44076
da849d2d 440772006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44078
44079 * kern/misc.c (grub_strtoull): Guess the base only if not
44080 specified.
44081
97b2f2ff 440822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44083
44084 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44085 PowerMac support.
44086
97b2f2ff 440872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44088
44089 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44090
44091 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44092 Remove `flags' argument. All callers changed.
44093 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44094 (IEEE1275_IHANDLE_INVALID): New variable.
44095 (IEEE1275_CELL_INVALID): New variable.
44096 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44097 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44098 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44099 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44100 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44101 codes from Open Firmware. All callers updated.
44102 (grub_ieee1275_next_property): Directly return Open Firmware return
44103 code.
44104 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44105 Standardize error checking from `grub_ieee1275_get_property'.
44106 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44107 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44108
97b2f2ff 441092006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44110
44111 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44112 `instance_to_package_args' to `instance_to_path_args'.
44113
44114 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44115 `grub_ieee1275_chosen'.
44116
44117 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44118 `grub_ieee1275_interpret'.
44119
97b2f2ff 441202006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44121
44122 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44123
97b2f2ff 441242006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44125
44126 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44127 (__cmpdi): Likewise.
44128
44129 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44130 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44131 `grub_ssize_t'.
44132
02bb8acc 44133 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44134
44135 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44136 to type `grub_ssize_t'.
44137 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44138
7f9a8531 441392006-09-22 Marco Gerards <marco@gnu.org>
44140
44141 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44142 newlines.
44143
b5ef1102 441442006-09-22 Marco Gerards <marco@gnu.org>
44145
44146 * commands/echo.c: New file.
44147
44148 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44149
44150 * conf/common.rmk (echo_mod_SOURCES): New variable.
44151 (echo_mod_CFLAGS): Likewise.
44152 (echo_mod_LDFLAGS): Likewise.
44153
2cff3677 441542006-09-22 Marco Gerards <marco@gnu.org>
44155
44156 * normal/main.c (get_line): Malloc memory instead of using
44157 preallocated memory. Removed the arguments `cmdline' and
44158 `max_len'. Updated all callers.
44159
6ba4688b 441602006-09-22 Marco Gerards <marco@gnu.org>
44161
44162 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44163 (normal_mod_DEPENDENCIES): Likewise.
44164
44165 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44166 (normal_mod_DEPENDENCIES): Likewise.
44167
44168 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44169
e02ac02c 441702006-09-22 Johan Rydberg <jrydberg@gnu.org>
44171
44172 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44173 programs.
44174 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44175 (normal_mod_DEPENDENCIES): Likewise.
44176 * conf/i386-pc.mk: Regenerate.
44177 * conf/i386-efi.mk: Likewise
44178 * conf/common.mk: Likewise.
44179 * conf/powerpc-ieee1275.mk: Likewise.
44180 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44181
8d252e44 441822006-09-22 Robert Millan <rmh@aybabtu.com>
44183
44184 Sync with i386 version.
44185 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44186 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44187
209bf7ac 441882006-09-21 Robert Millan <rmh@aybabtu.com>
44189
44190 Import from GRUB Legacy (lib/device.c):
44191 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44192 (init_device_map) [__linux__]: Add support for I2O devices.
44193
6b146090 441942006-09-14 Marco Gerards <marco@gnu.org>
44195
44196 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44197 `-melf_i386'.
44198
e38600a8 441992006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44200
44201 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44202 /boot/grub/*.lst.
78fa1790 44203
2952da5d 44204 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44205
2952da5d 44206 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44207 before adding it to device.map.
44208
01b82a64 442092006-08-15 Johan Rydberg <jrydberg@gnu.org>
44210
fe6b695a 44211 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44212 compiles a file; using the -MD option.
44213 * conf/common.mk: Regenerate.
44214 * conf/i386-pc.mk: Likewise.
44215 * conf/i386-efi.mk: Likewise.
44216 * conf/powerpc-ieee1275.mk: Likewise.
44217 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44218
1064790d 442192006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44220
44221 Move the prototypes of grub_setjmp and grub_longjmp to
44222 cpu/setjmp.h, so that each architecture may specify different
44223 attributes.
f19dbdb7 44224
1064790d 44225 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44226 (grub_longjmp): Likewise.
44227 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44228 (grub_longjmp): Likewise.
44229 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44230 (grub_longjmp): Likewise.
44231
44232 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44233 [!GRUB_UTIL] (grub_longjmp): Removed.
44234
29dda3ed 442352006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44236
44237 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44238 "color!" method does not return any value.
44239
ad2a06ed 442402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44241
44242 * include/grub/bitmap.h: New file.
44243
44244 * include/grub/i386/pc/vbeutil.h: Likewise.
44245
44246 * video/bitmap.c: Likewise.
44247
44248 * video/readers/tga.c: Likewise.
44249
44250 * video/i386/pc/vbeutil.c: Likewise.
44251
44252 * commands/videotest.c: Code cleanup and updated to reflect to new
44253 video API.
44254
44255 * term/gfxterm.c: Likewise.
44256
44257 * video/video.c: Likewise.
44258
44259 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44260 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44261 (bitmap_mod_SOURCES): New entry.
44262 (bitmap_mod_CFLAGS): Likewise.
44263 (bitmap_mod_LDFLAGS): Likewise.
44264 (tga_mod_SOURCES): Likewise.
44265 (tga_mod_CFLAGS): Likewise.
44266 (tga_mod_LDFLAGS): Likewise.
44267
44268 * include/grub/video.h (grub_video_blit_operators): New enum type.
44269 (grub_video_render_target): Changed as forward declaration and moved
44270 actual definition to be video driver specific.
44271 (grub_video_adapter.blit_bitmap): Added blitting operator.
44272 (grub_video_adapter.blit_render_target): Likewise.
44273 (grub_video_blit_bitmap): Likewise.
44274 (grub_video_blit_render_target): Likewise.
44275
44276 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44277 driver specific render target definition.
44278 (grub_video_vbe_map_rgba): Added driver internal helper.
44279 (grub_video_vbe_unmap_color): Updated to use
44280 grub_video_i386_vbeblit_info.
44281 (grub_video_vbe_get_video_ptr): Likewise.
44282
44283 * include/grub/i386/pc/vbeblit.h
44284 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44285 grub_video_i386_vbeblit_info.
44286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44287 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44288 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44289 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44290 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44291 (grub_video_i386_vbeblit_index_index): Likewise.
44292 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44293 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44294 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44295 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44296 operator.
44297 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44298 operator.
44299
44300 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44301 include/grub/i386/pc/vbeblit.h.
44302
44303 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44304 Updated to use grub_video_i386_vbeblit_info.
44305 (grub_video_i386_vbefill_R8G8B8): Likewise.
44306 (grub_video_i386_vbefill_index): Likewise.
44307 (grub_video_i386_vbefill): Added generic filler.
44308
44309 * video/i386/pc/vbefill.c: Updated to reflect changes on
44310 include/grub/i386/pc/vbefill.h.
44311
44312 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44313 grub_video_i386_vbeblit_info.
44314 (grub_video_vbe_unmap_color): Likewise.
44315 (grub_video_vbe_blit_glyph): Likewise.
44316 (grub_video_vbe_scroll): Likewise.
44317 (grub_video_vbe_draw_pixel): Removed function.
44318 (grub_video_vbe_get_pixel): Likewise.
44319 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44320 updated code to use it.
44321 (common_blitter): Added common blitter for render target and bitmap.
44322 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44323 (grub_video_vbe_blit_render_target): Likewise.
44324
bc8c036d 443252006-07-30 Johan Rydberg <jrydberg@gnu.org>
44326
44327 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44328 is in text mode if there is no console control protocol instance
44329 available.
44330
684a8eff 443312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44332
44333 * include/grub/video.h: Code cleanup.
44334
44335 * include/grub/i386/pc/vbe.h: Likewise.
44336
44337 * video/i386/pc/vbe.c: Likewise.
44338
44339 * video/i386/pc/vbeblit.c: Likewise.
44340
44341 * video/i386/pc/vbefill.c: Likewise.
44342
44343 * video/video.c: Likewise. Also added more comments.
44344
5915059b 443452006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44346
44347 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44348 (struct grub_biosdisk_dap): Likewise.
44349
44350 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44351 linkage settings for all functions.
44352
90ce5d56 443532006-07-12 Marco Gerards <marco@gnu.org>
44354
44355 * configure.ac (--enable-mm-debug): Fix typo.
44356
44357 * genkernsyms.sh.in: Use proper quoting for `CC'.
44358
43e7f879 443592006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44360
44361 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44362 (normal_mod_ASFLAGS): Remove "-m32".
44363
4889bdec 443642006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44365
44366 * util/misc.c: Include config.h.
44367 [!HAVE_MEMALIGN]: Do not include malloc.h.
44368 (grub_memalign): Use posix_memalign, if present. Then, use
44369 memalign, if present. Otherwise, emit an error.
44370
44371 * util/grub-emu.c: Do not include malloc.h.
44372
44373 * include/grub/util/misc.h: Include unistd.h. This is required for
44374 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44375 D. Eades III <hde@foobar-qux.org>.
44376
44377 * configure.ac (AC_GNU_SOURCE): Added.
44378 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44379 type.
44380
fd39d4da 443812006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44382
44383 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44384 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44385
b786f3b5 443862006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44387
44388 * include/grub/types.h (grub_host_addr_t): Rename to
44389 grub_target_addr_t.
44390 (grub_host_off_t): Rename to grub_target_off_t.
44391 (grub_host_size_t): Rename to grub_target_size_t.
44392 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44393 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44394
44395 * include/grub/kernel.h (struct grub_module_header): Change type
44396 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44397 (grub_module_info): Likewise.
f19dbdb7 44398
051988bb 443992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44400
44401 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44402 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44403 Velazquez <jesus.velazquez@gmail.com>.
44404
deae281b 444052006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44406
44407 Count partitions from 1 instead of 0 in the string representation
44408 of partitions. Still use 0-based internally.
f19dbdb7 44409
deae281b 44410 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44411 (sun_partition_map_iterate): Use grub_partition_t instead of
44412 struct grub_partition *. Cast DESC->START_CYLINDER to
44413 grub_uint64_t after converting the endian.
44414 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44415 (sun_partition_map_get_name): Add 1 to P->INDEX.
44416
44417 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44418 PCDATA->DOS_PART.
44419 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44420
44421 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44422 zero instead of one.
44423 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44424 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44425
44426 * partmap/apple.c (apple_partition_map_iterate): Change the type
44427 of POS to unsigned.
44428 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44429 (apple_partition_map_get_name): Add 1 into P->INDEX.
44430
44431 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44432 of POS to unsigned.
44433 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44434 calculate the offset of a partition.
44435 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44436 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44437
44438 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44439 SECTOR to grub_disk_addr_t.
44440 (acorn_partition_map_iterate): Likewise.
44441 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44442 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44443 top.
44444 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44445
44446 * kern/i386/pc/init.c (make_install_device): Add 1 into
44447 GRUB_INSTALL_DOS_PART.
44448
44449 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44450 conditional.
44451
524a1e6a 444522006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44453
44454 Clean up the code to support 64-bit addressing in disks and
44455 files. This change is not enough for filesystems yet.
f19dbdb7 44456
524a1e6a 44457 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44458 type of "start" to grub_uint64_t.
44459 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44460 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44461 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44462 convert addresses.
44463
44464 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44465 to grub_disk_addr_t.
44466
44467 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44468 string.
44469
44470 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44471
44472 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44473 to char *.
44474
44475 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44476
44477 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44478
44479 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44480
44481 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44482 to grub_off_t, to detect an error from grub_file_seek.
44483 (grub_multiboot_load_elf32): Likewise.
44484
44485 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44486 maximum unsigned long value when an overflow is detected.
44487 (grub_strtoull): New function.
44488 (grub_divmod64): Likewise.
44489 (grub_lltoa): use grub_divmod64.
44490
44491 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44492 grub_disk_addr_t.
44493 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44494 the pointer to next character. Use grub_strtoull instead of
44495 grub_strtoul.
44496 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44497 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44498 respectively.
44499
fe6b695a 44500 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44501 return value is signed.
44502 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44503 test if OFFSET is less than zero, as OFFSET is unsigned now.
44504
44505 * kern/disk.c (struct grub_disk_cache): Change the type of
44506 "sector" to grub_disk_addr_t.
44507 (grub_disk_cache_get_index): Change the type of SECTOR to
44508 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44509 unsigned after shifting.
44510 (grub_disk_cache_invalidate): Change the type of SECTOR to
44511 grub_disk_addr_t.
44512 (grub_disk_cache_unlock): Likewise.
44513 (grub_disk_cache_store): Likewise.
44514 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44515 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44516 grub_disk_addr_t and grub_uint64_t, respectively.
44517 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44518 body, as the value of OFFSET is tweaked by
44519 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44520 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44521 respectively.
44522 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44523 body, as the value of OFFSET is tweaked by
44524 grub_disk_check_range. Change the types of LEN and N to
44525 grub_size_t.
44526
44527 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44528 and "saved_offset" to grub_off_t.
44529 (test_header): Cast BUF to char *.
44530 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44531 to char *.
44532 (grub_gzio_read): Change the types of OFFSET and SIZE to
44533 grub_off_t and grub_size_t, respectively.
44534
44535 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44536 Removed.
44537 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44538 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44539 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44540 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44541 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44542
44543 * include/grub/types.h (grub_off_t): Unconditionally set to
44544 grub_uint64_t.
44545 (grub_disk_addr_t): Changed to grub_uint64_t.
44546
44547 * include/grub/partition.h (struct grub_partition): Change the
44548 types of "start", "len" and "offset" to grub_disk_addr_t,
44549 grub_uint64_t and grub_disk_addr_t, respectively.
44550 (grub_partition_get_start): Return grub_disk_addr_t.
44551 (grub_partition_get_len): Return grub_uint64_t.
44552
44553 * include/grub/misc.h (grub_strtoull): New prototype.
44554 (grub_divmod64): Likewise.
44555
44556 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44557 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44558 grub_off_t, respectively.
44559 All callers and references changed.
44560
44561 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44562 grub_size_t in "read".
44563 All callers and references changed.
44564
44565 * include/grub/file.h (struct grub_file): Change the types of
44566 "offset" and "size" to grub_off_t and grub_off_t,
44567 respectively. Change the type of SECTOR to grub_disk_addr_t in
44568 "read_hook".
44569 (grub_file_read): Change the type of LEN to grub_size_t.
44570 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44571 grub_off_t.
44572 (grub_file_size): Return grub_off_t.
44573 (grub_file_tell): Likewise.
44574 All callers and references changed.
44575
44576 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44577 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44578 "write".
44579 (struct grub_disk): Change the type of "total_sectors" to
44580 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44581 "read_hook".
524a1e6a 44582 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44583 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44584 (grub_disk_write): Likewise.
44585 All callers and references changed.
44586
44587 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44588 char * for grub_strncmp to silence gcc.
44589 (grub_iso9660_mount): Likewise.
44590 (grub_iso9660_mount): Likewise.
44591 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44592 return statement.
44593 (grub_iso9660_iterate_dir): Likewise.
44594 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44595
44596 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44597 LEN to grub_disk_addr_t and grub_size_t, respectively.
44598
44599 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44600
44601 * fs/jfs.c (grub_jfs_read_file): Likewise.
44602
44603 * fs/minix.c (grub_jfs_read_file): Likewise.
44604
44605 * fs/sfs.c (grub_jfs_read_file): Likewise.
44606
44607 * fs/ufs.c (grub_jfs_read_file): Likewise.
44608
44609 * fs/xfs.c (grub_jfs_read_file): Likewise.
44610
44611 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44612 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44613 respectively.
44614
44615 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44616 BLKNR to -1 instead of returning GRUB_ERRNO.
44617 (grub_ext2_read_file): Change the types of SECTOR and
44618 LEN to grub_disk_addr_t and grub_size_t, respectively.
44619
44620 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44621 LEN to grub_disk_addr_t and grub_size_t, respectively.
44622
44623 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44624 grub_file_read.
44625
44626 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44627 string. Do not cast SECTOR explicitly.
44628
44629 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44630 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44631 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44632 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44633 over 2TB and LBA mode is not supported, raise an error.
44634 (get_safe_sectors): New function.
44635 (grub_biosdisk_read): Use get_safe_sectors.
44636 (grub_biosdisk_write): Likewise.
44637
44638 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44639 (grub_efidisk_write): Likewise.
44640
44641 * disk/loopback.c (delete_loopback): Cosmetic changes.
44642 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44643 correctly.
44644 (grub_loopback_open): Likewise.
44645 (grub_loopback_read): Likewise. Also, change the type of POS to
44646 grub_off_t, and fix the usage of grub_memset.
44647
44648 * commands/i386/pc/play.c: Include grub/machine/time.h.
44649
44650 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44651 print FILE->SIZE.
44652
44653 * commands/configfile.c: Include grub/env.h.
44654
44655 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44656 GRUB_ERRNO directly instead. Change the type of POS to
44657 grub_off_t. Follow the coding standard.
44658
44659 * commands/blocklist.c: Include grub/partition.h.
44660 (grub_cmd_blocklist): Return an error if the underlying device is
44661 not a disk. Take the starting sector of a partition into account,
44662 if a partition is used.
44663
44664 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44665 a length field.
44666 (lba_mode): Support 64-bit addresses.
44667 (chs_mode): Likewise.
44668 (copy_buffer): Adapted to the new offsets of a length field and a
44669 segment field.
44670 (blocklist_default_start): Allocate 64-bit space.
44671
44672 * boot/i386/pc/boot.S (force_lba): Removed.
44673 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44674 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44675 space.
44676 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44677 is useless.
44678 (lba_mode): Refactored to support a 64-bit address. More size
44679 optimization.
44680 (setup_sectors): Likewise.
44681
53af98ad 446822006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44683
44684 * DISTLIST: Added include/grub/i386/linux.h. Removed
44685 include/grub/i386/pc/linux.h
44686
44687 * configure.ac (AC_INIT): Bumped to 1.94.
44688
44689 * config.guess: Updated from gnulib.
44690 * config.sub: Likewise.
44691 * install-sh: Likewise.
44692 * mkinstalldirs: Likewise.
44693
b4c1940a 446942006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44695
44696 * conf/common.rmk (grub_modules_init.lst): Depended on
44697 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44698 MODSRCFILES.
44699
44700 * genmk.rb (PModule::rule): Reverted the previous change.
44701
cfca1cfd 447022006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44703
44704 * conf/common.rmk (grub_modules_init.lst): Depends on
44705 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44706 that the target does not exist before producing.
44707 (grub_modules_init.h): Remove the target before generating.
44708 (grub_emu_init.c): Likewise.
44709
44710 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44711
aa6d7826 447122006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44713
44714 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44715 for the target-specific tests. Make sure that we also have the
44716 up-to-date target variables for those tests.
44717
26c607b9 447182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44719
44720 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44721 (PModule::rule): Likewise.
44722
0162321a 447232006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44724
44725 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44726 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44727 target-specific flags should be prefixed.
44728 (PModule::rule): Likewise.
44729
6c826348 447302006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44731
44732 * configure.ac (CMP): Check if cmp is available explicitly.
44733
b977bf01 447342006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44735
44736 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44737 (target_cpu): New variable.
44738 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44739
b977bf01 44740 * util/i386/pc/grub-install.in (host_cpu): Removed.
44741 (target_cpu): New variable.
44742 (pkglibdir): Use target_cpu instead of host_cpu.
44743
44744 * util/genmoddep.c: Removed.
f19dbdb7 44745
b977bf01 44746 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44747 instead of GRUB_HOST_SIZEOF_VOID_P.
44748 * kern/dl.c: Likewise.
44749
44750 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44751 ...
44752 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44753 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44754 (GRUB_TARGET_SIZEOF_LONG): ... this.
44755 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44756 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44757 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44758 to ...
44759 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44760 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44761 (GRUB_TARGET_SIZEOF_LONG): ... this.
44762 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44763 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44764 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44765 to ...
44766 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44767 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44768 (GRUB_TARGET_SIZEOF_LONG): ... this.
44769 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44770 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44771
44772 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44773 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44774 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44775 instead of GRUB_HOST_SIZEOF_LONG.
44776 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44777 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44778 GRUB_CPU_WORDS_BIGENDIAN.
44779 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44780 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44781 grub_host_ssize_t.
44782
44783 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44784 (genmoddep_SOURCES): Likewise.
44785 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44786 (genmoddep_SOURCES): Likewise.
44787 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44788 (genmoddep_SOURCES): Likewise.
44789 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44790 Likewise.
44791 (genmoddep_SOURCES): Likewise.
44792
44793 * genmoddep.awk: New file.
44794
44795 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44796 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44797 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44798 (PModule::rule): Likewise.
44799 (Program::rule): Likewise.
44800 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44801 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44802 respectively.
44803
44804 * configure.ac: Rewritten intensively to use host and target
44805 instead of build and host, respectively.
44806
44807 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44808 (host_cpu): Removed.
44809 (target_cpu): New variable.
44810 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44811 (BUILD_CC): Removed.
44812 (BUILD_CFLAGS): Likewise.
44813 (BUILD_CPPFLAGS): Likewise.
44814 (TARGET_CC): New variable.
44815 (TARGET_CFLAGS): Likewise.
44816 (TARGET_CPPFLAGS): Likewise.
44817 (TARGET_LDFLAGS): Likewise.
44818 (AWK): Likewise.
44819 (include): Use target_cpu instead of host_cpu.
44820 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44821
b977bf01 44822 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44823
f09771a1 448242006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44825
44826 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44827 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44828 field 'false' to 'exec_on_false'.
44829 (grub_script_create_cmdif): Renamed argument names to reflect above
44830 changes.
44831
44832 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44833
44834 * normal/script.c (grub_script_create_cmdif): Likewise.
44835
118f4fb3 448362006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44837
44838 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44839 top.
44840 (grub_hfsplus_btree_recptr): Likewise.
44841 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44842 FILEBLOCK both to pass a block number and store next block
44843 number.
44844 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44845 overflow file correctly. Specify errors appropriately, because
44846 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44847 grub_hfsplus_btree_recptr to get the pointer to a found key.
44848 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44849 is found.
44850
44851 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44852 linux.mod.
44853 (_linux_mod_SOURCES): New variable.
44854 (_linux_mod_CFLAGS): Likewise.
44855 (_linux_mod_LDFLAGS): Likewise.
44856 (linux_mod_SOURCES): Likewise.
44857 (linux_mod_CFLAGS): Likewise.
44858 (linux_mod_LDFLAGS): Likewise.
44859
44860 * DISTLIST: Added loader/i386/efi/linux.c,
44861 loader/i386/efi/linux_normal.c and
44862 include/grub/i386/efi/loader.h.
44863
44864 * loader/i386/efi/linux.c: New file.
44865 * loader/i386/efi/linux_normal.c: Likewise.
44866 * include/grub/i386/efi/loader.h: Likewise.
44867
89a7d726 448682006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44869
44870 * commands/blocklist.c: New file.
44871
44872 * DISTLIST: Added commands/blocklist.c.
44873
44874 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44875 color for the background, and a darker color for the foreground.
89a7d726 44876 (grub_console_checkkey): Return READ_KEY.
44877 (grub_console_cls): Set the background to
44878 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44879
44880 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44881
44882 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44883 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44884
44885 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44886 prototype.
44887
44888 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44889 BG. The spec is wrong again.
44890
44891 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44892 prototype.
44893 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44894
44895 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44896 commands/blocklist.c.
44897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44898
89a7d726 44899 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44900 (blocklist_mod_SOURCES): New variable.
44901 (blocklist_mod_CFLAGS): Likewise.
44902 (blocklist_mod_LDFLAGS): Likewise.
44903
75c8f258 449042006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44905
44906 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44907 duplication.
44908 (lba_mode): Use %eax more intensively to reduce the code size.
44909
da2eb181 449102006-05-20 Marco Gerards <marco@gnu.org>
44911
44912 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44913
44914 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44915 for `menuentry'.
44916 (script): Accept leading newlines.
44917 (newlines): New rule to describe 0 or more newlines.
44918 (commands): Accept `command' with trailing newline. Fixed the
44919 order in which arguments were passed to `grub_script_add_cmd'.
44920 Accept commands separated by newlines.
44921 (function): Changed to accept newlines.
44922 (menuentry) Rewritten.
44923
44924 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44925 front of the list, instead of to the end.
44926
577b4050 449272006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44928
44929 * util/i386/pc/grub-install.in (bindir): New variable.
44930 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44931 Shaver <lbgwjl@gmail.com>.
44932
0d6e1189 449332006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44934
44935 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44936 grub/machine/linux.h
44937 * loader/i386/pc/linux.c: Likewise.
44938
44939 * include/grub/i386/pc/linux.h: Moved to ...
44940 * include/grub/i386/linux.h: ... here.
44941
44942 * include/grub/i386/linux.h (struct linux_kernel_params): New
44943 struct.
f19dbdb7 44944
31b86e9f 449452006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44946
44947 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44948 checking.
44949 (grub_video_vbe_blit_glyph): Likewise.
44950 (grub_video_vbe_blit_bitmap): Likewise.
44951 (grub_video_vbe_blit_render_target): Likewise.
44952
83b984de 449532006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44954
44955 * configure.ac (--with-platform): Properly quote the square
44956 brackets.
44957
5f0413bd 449582006-05-08 Marco Gerards <marco@gnu.org>
44959
44960 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44961 this...
44962 (kernel_elf_HEADERS): ...to this. Updated all users.
44963 (grubof_symlist.c): Renamed from this...
44964 (kernel_elf_symlist.c): ...to this. Updated all users.
44965 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44966 (grubof_SOURCES): Renamed from this...
44967 (kernel_elf_SOURCES): ...to this.
44968 (grubof_HEADERS): Renamed from this...
44969 (kernel_elf_HEADERS): ...to this.
44970 (grubof_CFLAGS): Renamed from this...
44971 (kernel_elf_CFLAGS): ...to this.
44972 (grubof_ASFLAGS): Renamed from this...
44973 (kernel_elf_ASFLAGS): ...to this.
44974 (grubof_LDFLAGS): Renamed from this...
44975 (kernel_elf_LDFLAGS): ...to this.
44976
44977 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44978 this...
44979 (kernel_elf_HEADERS): ...to this. Updated all users.
44980 (grubof_symlist.c): Renamed from this...
44981 (kernel_elf_symlist.c): ...to this. Updated all users.
44982 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44983 (grubof_SOURCES): Renamed from this...
44984 (kernel_elf_SOURCES): ...to this.
44985 (grubof_HEADERS): Renamed from this...
44986 (kernel_elf_HEADERS): ...to this.
44987 (grubof_CFLAGS): Renamed from this...
44988 (kernel_elf_CFLAGS): ...to this.
44989 (grubof_ASFLAGS): Renamed from this...
44990 (kernel_elf_ASFLAGS): ...to this.
44991 (grubof_LDFLAGS): Renamed from this...
44992 (kernel_elf_LDFLAGS): ...to this.
44993
44994 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44995 `kernel.elf' instead of `grubof'.
44996
05568c2e 449972006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44998
44999 Add --with-platform to configure. Use pkglibdir instead of
45000 pkgdatadir. This is reported by Roger Leigh.
45001
45002 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45003 (host_vendor): Likewise.
45004 (host_os): Likewise.
45005 (pkgdatadir): Likewise.
45006 (platform): New variable.
45007 (pkglibdir): Likewise.
45008 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45009
05568c2e 45010 * util/i386/pc/grub-install.in (datadir): Removed.
45011 (host_vendor): Likewise.
45012 (host_os): Likewise.
45013 (pkgdatadir): Likewise.
45014 (platform): New variable.
45015 (pkglibdir): Likewise.
45016 Use PKGLIBDIR instead of PKGDATADIR.
45017
45018 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45019 instead of GRUB_DATADIR.
45020 (main): Likewise.
45021 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45022 (main): Likewise.
45023 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45024 (main): Likewise.
45025
45026 * configure.ac (--with-platform): New option.
45027 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45028
45029 * Makefile.in: Include a makefile based on PLATFORM instead of
45030 HOST_VENDOR.
45031 (pkgdatadir): Not appended by the machine type.
45032 (pkglibdir): Appended by the machine type.
45033 (host_vendor): Removed.
45034 (platform): New variable.
45035 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45036 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45037 (uninstall): Likewise.
45038
4e93851c 450392006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45040
45041 Use the environment context in the menu. Remove the commands
45042 "default" and "timeout", and use variables instead.
f19dbdb7 45043
4e93851c 45044 * normal/menu.c: Include grub/env.h.
45045 (print_entry): Cast TITLE to silence gcc.
45046 (get_timeout): New function.
45047 (set_timeout): Likewise.
45048 (get_entry_number): Likewise.
45049 (run_menu): Use a default entry, a fallback entry and a timeout
45050 in the environment variables "default", "fallback" and
45051 "timeout". Also, tweak the default entry if it is not within the
45052 current menu entries.
45053 (grub_menu_run): Use a fallback entry in the environment variable
45054 "fallback".
45055
45056 * normal/main.c (read_config_file): Do not initialize
45057 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45058 NEWMENU->TIMEOUT.
45059 (grub_normal_execute): Use a data slot to store the menu.
45060
45061 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45062 fallback_entry and timeout.
45063 (struct grub_menu_list): Removed.
45064 (grub_menu_list_t): Likewise.
45065 (struct grub_context): Likewise.
45066 (grub_context_t): Likewise.
45067 (grub_context_get): Likewise.
45068 (grub_context_get_current_menu): Likewise.
45069 (grub_context_push_menu): Likewise.
45070 (grub_context_pop_menu): Likewise.
45071 (grub_default_init): Likewise.
45072 (grub_default_fini): Likewise.
45073 (grub_timeout_init): Likewise.
45074 (grub_timeout_fini): Likewise.
45075
45076 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45077 and timeout.mod.
45078 (normal_mod_SOURCES): Removed normal/context.c.
45079
45080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45081 commands/default.c, commands/timeout.c and normal/context.c.
45082 (normal_mod_SOURCES): Removed normal/context.c.
45083
45084 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45085 commands/timeout.c and normal/context.c.
45086 (normal_mod_SOURCES): Removed normal/context.c.
45087
45088 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45089 commands/default.c, commands/timeout.c and normal/context.c.
45090 (normal_mod_SOURCES): Removed normal/context.c.
45091
45092 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45093 timeout.mod.
45094 (default_mod_SOURCES): Removed.
45095 (default_mod_CFLAGS): Likewise.
45096 (default_mod_LDFLAGS): Likewise.
45097 (timeout_mod_SOURCES): Removed.
45098 (timeout_mod_CFLAGS): Likewise.
45099 (timeout_mod_LDFLAGS): Likewise.
45100
45101 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45102 normal/context.c.
45103
45104 * commands/default.c: Removed.
45105 * commands/timeout.c: Likewise.
45106 * normal/context.c: Likewise.
45107
1eb9cc1d 451082006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45109
45110 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45111
385bd9c1 451122006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45113
45114 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45115 "next" to "prev" for readability.
45116 (struct grub_env_sorted_var): New struct.
45117 (grub_env_context): Renamed to ...
45118 (initial_context): ... this.
45119 (grub_env_var_context): Renamed to ...
45120 (current_context): ... this.
45121 (grub_env_find): Look only at CURRENT_CONTEXT.
45122 (grub_env_context_open): Rewritten to copy exported variables from
45123 previous context.
45124 (grub_env_context_close): Rewritten according to the new
45125 scheme. Also, add an assertion to prevent the initial context from
45126 removed.
45127 (grub_env_insert): Removed the code for the sorted list.
45128 (grub_env_remove): Likewise.
45129 (grub_env_export): Simply mark the variable with
45130 GRUB_ENV_VAR_GLOBAL.
45131 (grub_env_set): A cosmetic change for naming consistency.
45132 (grub_env_get): Likewise.
45133 (grub_env_unset): Likewise.
45134 (grub_env_iterate): Rewritten to sort variables within this
45135 function.
45136 (grub_register_variable_hook): Fixed for naming consistency. Call
45137 grub_env_find again, only if NAME is not found at the first time.
45138 (mangle_data_slot_name): New function.
45139 (grub_env_set_data_slot): Likewise.
45140 (grub_env_get_data_slot): Likewise.
45141 (grub_env_unset_data_slot): Likewise.
45142
45143 * include/grub/env.h (grub_env_var_type): New enum.
45144 (GRUB_ENV_VAR_LOCAL): New constant.
45145 (GRUB_ENV_VAR_GLOBAL): Likewise.
45146 (GRUB_ENV_VAR_DATA): Likewise.
45147 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45148 "type".
45149 (grub_env_set): Replace VAR with NAME for consistency.
45150 (grub_register_variable_hook): Likewise.
45151 (grub_env_export): Specify the name of the argument.
45152 (grub_env_set_data_slot): New prototype.
45153 (grub_env_get_data_slot): Likewise.
45154 (grub_env_unset_data_slot): Likewise.
45155
7f362539 451562006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45157
45158 Extend the loader so that GRUB can accept a loader which comes
45159 back to GRUB when a loaded image exits. Also, this change adds
45160 support for a chainloader on EFI.
f19dbdb7 45161
7f362539 45162 * term/efi/console.c: Include grub/misc.h.
45163 (grub_console_checkkey): Display a scan code on the top for
45164 debugging. This will be removed once the EFI port gets stable.
45165 Correct the scan code mapping.
45166
45167 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45168 allocate memory from larger regions, in order to reduce the number
45169 of allocated regions. Otherwise, the MacOSX loader panics.
45170 (filter_memory_map): Avoid less than 1MB for compatibility with
45171 other loaders.
45172 (add_memory_regions): Allocate from the tail of a region, if
45173 possible, to avoid allocating a region near to 1MB, for the MacOSX
45174 loader.
45175
45176 * kern/efi/init.c (grub_efi_set_prefix): Specify
45177 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45178
45179 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45180 argument IMAGE_HANDLE and specify it to get a loaded image.
45181 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45182 grub_efi_get_loaded_image.
fe6b695a 45183 (grub_efi_get_filename): Divide the length by the size of
7f362539 45184 grub_efi_char16_t.
45185 (grub_efi_get_device_path): New function.
45186 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45187 the length by the size of grub_efi_char16_t for a file path device
45188 path node.
45189
45190 * kern/loader.c (grub_loader_noreturn): New variable.
45191 (grub_loader_set): Accept a new argument NORETURN. Set
45192 GRUB_LOADER_NORETURN to NORETURN.
45193 All callers changed.
45194 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45195 grub_machine_fini.
45196
45197 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45198 prototype.
45199 (grub_efi_get_loaded_image): Take an argument to specify an image
45200 handle.
45201
45202 * include/grub/loader.h (grub_loader_set): Added one more argument
45203 NORETURN.
45204
45205 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45206 instead of grub_efi_open_protocol.
45207 (grub_efidisk_get_device_name): Likewise.
45208 (grub_efidisk_close): Print a newline.
45209 (grub_efidisk_get_device_handle): Fixed to use
45210 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45211 GRUB_EFI_DEVICE_PATH_TYPE.
45212
45213 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45214 * kern/efi/efi.c (device_path_guid): ... here.
45215
45216 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45217 chain.mod.
45218 (kernel_mod_HEADERS): Added efi/disk.h.
45219 (_chain_mod_SOURCES): New variable.
45220 (_chain_mod_CFLAGS): Likewise.
45221 (_chain_mod_LDFLAGS): Likewise.
45222 (chain_mod_SOURCES): Likewise.
45223 (chain_mod_CFLAGS): Likewise.
45224 (chain_mod_LDFLAGS): Likewise.
45225
45226 * DISTLIST: Added include/grub/efi/chainloader.h,
45227 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45228
45229 * include/grub/efi/chainloader.h: New file.
45230 * loader/efi/chainloader.c: Likewise.
45231 * loader/efi/chainloader_normal.c: Likewise.
45232
c0111d6e 452332006-04-30 Marco Gerards <marco@gnu.org>
45234
45235 * commands/configfile.c (grub_cmd_source): New function.
45236 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45237 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45238
df5341da 452392006-04-30 Marco Gerards <marco@gnu.org>
45240
45241 * normal/execute.c (grub_script_execute_cmd): Change the return
45242 type to `grub_err_t'. Correctly return the error.
45243 (grub_script_execute_cmdline): In case a command line is not a
45244 command or a function, try to interpret it as an assignment.
45245
f85934bd 452462006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45247
45248 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45249 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45250 skip a node whose name is obviously invalid as UTF-16,
45251 i.e. contains a NUL character. Stop the iteration when the last
45252 directory entry is found. Instead of using the return value of
45253 grub_hfsplus_btree_iterate_node, store the value in RET and use
45254 it, because the iterator can be stopped by the last directory
45255 entry.
45256
8f8a2cf8 452572006-04-30 Marco Gerards <marco@gnu.org>
45258
45259 * include/grub/env.h (grub_env_export): New prototype. Reported
45260 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45261
a27e84ce 452622006-04-30 Marco Gerards <marco@gnu.org>
45263
45264 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45265 size of the extents in a catalog file record.
45266
eaef0553 452672006-04-29 Marco Gerards <marco@gnu.org>
45268
45269 * commands/configfile.c (grub_cmd_configfile): Execute the
45270 configfile within its own context.
45271
45272 * include/grub/env.h (grub_env_context_open): New prototype.
45273 (grub_env_context_close): Likewise.
45274
45275 * kern/env.c (grub_env): Removed.
45276 (grub_env_sorted): Likewise.
45277 (grub_env_context): New variable.
45278 (grub_env_var_context): Likewise.
45279 (grub_env_find): Search both the active context and the global
45280 context.
45281 (grub_env_context_open): New function.
45282 (grub_env_context_close): Likewise.
45283 (grub_env_insert): Likewise.
45284 (grub_env_remove): Likewise.
45285 (grub_env_export): Likewise.
45286 (grub_env_set): Changed to use helper functions to avoid code
45287 duplication.
45288 (grub_env_iterate): Rewritten so both the current context and the
45289 global context are being used.
45290
45291 * normal/command.c (export_command): New function.
45292 (grub_command_init): Register the `export' function.
45293
7b455f4d 452942006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45295
45296 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45297 explicitly to suppress gcc's warnings.
45298 * fs/fat.c (grub_fat_find_dir): Likewise.
45299 (grub_fat_label): Likewise.
45300 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45301 (grub_xfs_mount): Likewise.
45302 (grub_xfs_label): Likewise.
45303 * fs/affs.c (grub_affs_mount): Likewise.
45304 (grub_affs_label): Likewise.
45305 (grub_affs_iterate_dir): Likewise.
45306 * fs/sfs.c (grub_sfs_mount): Likewise.
45307 (grub_sfs_iterate_dir): Likewise.
45308 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45309 * fs/hfs.c (grub_hfs_mount): Likewise.
45310 (grub_hfs_cmp_catkeys): Likewise.
45311 (grub_hfs_find_dir): Likewise.
45312 (grub_hfs_dir): Likewise.
45313 (grub_hfs_label): Likewise.
45314 * fs/jfs.c (grub_jfs_mount): Likewise.
45315 (grub_jfs_opendir): Likewise.
45316 (grub_jfs_getent): Likewise.
45317 (grub_jfs_lookup_symlink): Likewise.
45318 (grub_jfs_label): Likewise.
45319 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45320 (grub_hfsplus_iterate_dir): Likewise.
45321 (grub_hfsplus_btree_iterate_node): Made static.
45322
45323 * util/grub-emu.c (prefix): New variable.
45324 (grub_machine_set_prefix): New function.
45325 (main): Do not set the environment variable "prefix" here. Only
45326 set PREFIX, which is used later by grub_machine_set_prefix.
45327
45328 * include/grub/video.h: Do not include grub/symbol.h.
45329 (grub_video_register): Not exported. This symbol is not defined in
45330 the kernel.
45331 (grub_video_unregister): Likewise.
45332 (grub_video_iterate): Likewise.
45333 (grub_video_setup): Likewise.
45334 (grub_video_restore): Likewise.
45335 (grub_video_get_info): Likewise.
45336 (grub_video_get_blit_format): Likewise.
45337 (grub_video_set_palette): Likewise.
45338 (grub_video_get_palette): Likewise.
45339 (grub_video_set_viewport): Likewise.
45340 (grub_video_get_viewport): Likewise.
45341 (grub_video_map_color): Likewise.
45342 (grub_video_map_rgb): Likewise.
45343 (grub_video_map_rgba): Likewise.
45344 (grub_video_fill_rect): Likewise.
45345 (grub_video_blit_glyph): Likewise.
45346 (grub_video_blit_bitmap): Likewise.
45347 (grub_video_blit_render_target): Likewise.
45348 (grub_video_scroll): Likewise.
45349 (grub_video_swap_buffers): Likewise.
45350 (grub_video_create_render_target): Likewise.
45351 (grub_video_delete_render_target): Likewise.
45352 (grub_video_set_active_render_target): Likewise.
45353
45354 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45355 Undefined.
45356 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45357
45358 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45359 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45360 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45361 instead of $(srcdir)/genkernsyms.sh.
45362
45363 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45364 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45365 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45366 instead of $(srcdir)/genkernsyms.sh.
45367
45368 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45369 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45370 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45371 instead of $(srcdir)/genkernsyms.sh.
45372
45373 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45374 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45375 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45376 instead of $(srcdir)/genkernsyms.sh.
45377
45378 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45379 genkernsyms.sh.
45380
45381 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45382 genkernsyms.sh.
45383 (gensymlist.sh): New target.
45384 (genkernsyms.sh): Likewise.
45385
45386 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45387 genkernsyms.sh.in and gensymlist.sh.in.
45388
45389 * genkernsyms.sh: Removed.
45390 * gensymlist.sh: Likewise.
f19dbdb7 45391
7b455f4d 45392 * genkernsyms.sh.in: New file.
45393 * gensymlist.sh.in: Likewise.
45394
1885bb27 453952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45396
45397 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45398 clobber "prefix", since we may have already set it manually.
45399
71538dff 454002006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45401
45402 * kern/misc.c (abort): New alias for grub_abort.
45403
2965c7cc 454042006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45405
45406 A new machine-specific function "grub_machine_set_prefix" is
45407 defined. This is called after loading modules, so that a prefix
45408 initialization can use modules. Also, this change adds an
45409 intensive debugging feature for the memory manager via the
45410 configure option "--enable-mm-debug".
f19dbdb7 45411
2965c7cc 45412 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45413 PART.LEN.
45414
45415 * kern/sparc64/ieee1275/init.c (abort): Removed.
45416 (grub_stop): Likewise.
45417 (grub_exit): New function.
45418 (grub_set_prefix): Renamed to ...
45419 (grub_machine_set_prefix): ... this.
45420 (grub_machine_init): Do not call grub_set_prefix.
45421
45422 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45423 (grub_machine_set_prefix): ... this.
45424 (grub_machine_init): Do not call grub_set_prefix.
45425
45426 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45427 (grub_machine_init): Do not set the prefix here.
45428
45429 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45430
45431 * kern/efi/init.c: Include grub/mm.h.
45432 (grub_efi_set_prefix): New function.
45433
45434 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45435 (grub_efi_get_filename): New function.
45436 (grub_print_device_path): Renamed to ...
45437 (grub_efi_print_device_path): ... this.
45438
45439 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45440 [MM_DEBUG] (grub_realloc): Likewise.
45441 [MM_DEBUG] (grub_free): Likewise.
45442 [MM_DEBUG] (grub_memalign): Likewise.
45443 [MM_DEBUG] (grub_mm_debug): New variable.
45444 [MM_DEBUG] (grub_debug_malloc): New function.
45445 [MM_DEBUG] (grub_debug_free): New function.
45446 [MM_DEBUG] (grub_debug_realloc): New function.
45447 [MM_DEBUG] (grub_debug_memalign): New function.
45448
45449 * kern/misc.c (grub_abort): Print a newline to distinguish
45450 the message.
45451
45452 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45453 grub_set_root_dev after loading modules. This is necessary when
45454 setting a prefix depends on modules.
45455
45456 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45457 (grub_efi_print_device_path): ... this.
45458 (grub_efi_get_filename): New prototype.
45459 (grub_efi_set_prefix): Likewise.
45460
45461 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45462 and grub/disk.h.
45463 (grub_efidisk_get_device_handle): New prototype.
45464 (grub_efidisk_get_device_name): Likewise.
45465
45466 * include/grub/mm.h: Include config.h.
45467 (MM_DEBUG): Removed.
45468 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45469 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45470 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45471 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45472 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45473 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45474 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45475 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45476 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45477
45478 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45479
45480 * disk/efi/efidisk.c: Include grub/partition.h.
45481 (iterate_child_devices): New function.
45482 (add_device): First, compare only last device path nodes, so that
45483 devices are sorted by the types.
45484 (grub_efidisk_get_device_handle): New function.
45485 (grub_efidisk_get_device_name): Likewise.
45486
45487 * configure.ac (--enable-mm-debug): New option to enable the
45488 memory manager debugging feature. This makes the binary much
45489 bigger, so is disabled by default.
45490
9cacaa17 454912006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45492
45493 Use grub_abort instead of grub_stop, and grub_exit must be
45494 define in each architecture now. Also, this change adds support
45495 for EFI disks.
f19dbdb7 45496
9cacaa17 45497 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45498 (grub_getkey): New function.
45499 (grub_term_get_current): Likewise.
45500
45501 * util/i386/pc/grub-setup.c: Include grub/term.h.
45502 (grub_getkey): New function.
45503 (grub_term_get_current): Likewise.
45504
45505 * util/misc.c (grub_stop): Renamed to ...
45506 (grub_exit): ... this.
45507
45508 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45509 (grub_exit): ... this.
45510 (grub_machine_init): Use grub_abort instead of abort.
45511 (grub_stop): Removed.
45512
45513 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45514 abort.
45515
45516 * kern/i386/pc/startup.S (grub_exit): New function.
45517 (cold_reboot): New label.
45518
45519 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45520 (grub_efi_init): Call grub_efidisk_init.
45521 (grub_efi_fini): Call grub_efidisk_fini.
45522
45523 * kern/efi/efi.c: Include grub/mm.h.
45524 (grub_efi_console_control_guid): Renamed to ...
45525 (console_control_guid): ... this.
45526 (grub_efi_loaded_image_guid): Renamed to ...
45527 (loaded_image_guid): ... this.
45528 (grub_efi_locate_handle): New function.
45529 (grub_efi_open_protocol): Likewise.
45530 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45531 GRUB_EFI_CONSOLE_CONTROL_GUID.
45532 (grub_efi_exit): Removed.
45533 (grub_stop): Likewise.
45534 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45535 (grub_exit): New function.
45536 (grub_print_device_path): Likewise.
45537
45538 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45539 (grub_enter_rescue_mode): Register "exit".
45540
45541 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45542 (grub_abort): New function.
45543
45544 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45545
45546 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45547
45548 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45549
45550 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45551 (grub_print_device_path): New prototype.
45552 (grub_efi_locate_handle): Likewise.
45553 (grub_efi_open_protocol): Likewise.
45554
45555 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45556 * disk/efi/efidisk.c: Likewise.
45557
45558 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45559
45560 * include/grub/efi/console_control.h
45561 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45562
45563 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45564 last 8 bytes as an array.
45565 (GRUB_EFI_DISK_IO_GUID): New macro.
45566 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45567 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45568 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45569 grub_uint8_t.
45570 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45571 (struct grub_efi_device_path): Rename the member "sub_type" to
45572 "subtype".
45573 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45574 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45575 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45576 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45577 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45578 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45579 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45580 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45581 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45582 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45583 (struct grub_efi_pci_device_path): New structure.
45584 (grub_efi_pci_device_path_t): New type.
45585 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45586 (struct grub_efi_pccard_device_path): New structure.
45587 (grub_efi_pccard_device_path_t): New type.
45588 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45589 (struct grub_efi_memory_mapped_device_path): New structure.
45590 (grub_efi_memory_mapped_device_path_t): New type.
45591 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45592 (struct grub_efi_vendor_device_path): New structure.
45593 (grub_efi_vendor_device_path_t): New type.
45594 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45595 (struct grub_efi_controller_device_path): New structure.
45596 (grub_efi_controller_device_path_t): New type.
45597 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45598 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45599 (struct grub_efi_acpi_device_path): New structure.
45600 (grub_efi_acpi_device_path_t): New type.
45601 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45602 (struct grub_efi_expanded_acpi_device_path): New structure.
45603 (grub_efi_expanded_acpi_device_path_t): New type.
45604 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45605 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45606 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45607 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45608 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45609 (struct grub_efi_atapi_device_path): New structure.
45610 (grub_efi_atapi_device_path_t): New type.
45611 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45612 (struct grub_efi_fibre_channel_device_path): New structure.
45613 (grub_efi_fibre_channel_device_path_t): New type.
45614 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45615 (struct grub_efi_1394_device_path): New structure.
45616 (grub_efi_1394_device_path_t): New type.
45617 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45618 (struct grub_efi_usb_device_path): New structure.
45619 (grub_efi_usb_device_path_t): New type.
45620 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45621 (struct grub_efi_usb_class_device_path): New structure.
45622 (grub_efi_usb_class_device_path_t): New type.
45623 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45624 (struct grub_efi_i2o_device_path): New structure.
45625 (grub_efi_i2o_device_path_t): New type.
45626 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45627 (struct grub_efi_mac_address_device_path): New structure.
45628 (grub_efi_mac_address_device_path_t): New type.
45629 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45630 (struct grub_efi_ipv4_device_path): New structure.
45631 (grub_efi_ipv4_device_path_t): New type.
45632 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45633 (struct grub_efi_ipv6_device_path): New structure.
45634 (grub_efi_ipv6_device_path_t): New type.
45635 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45636 (struct grub_efi_infiniband_device_path): New structure.
45637 (grub_efi_infiniband_device_path_t): New type.
45638 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45639 (struct grub_efi_uart_device_path): New structure.
45640 (grub_efi_uart_device_path_t): New type.
45641 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45642 (struct grub_efi_vendor_messaging_device_path): New structure.
45643 (grub_efi_vendor_messaging_device_path_t): New type.
45644 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45645 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45646 (struct grub_efi_hard_drive_device_path): New structure.
45647 (grub_efi_hard_drive_device_path_t): New type.
45648 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45649 (struct grub_efi_cdrom_device_path): New structure.
45650 (grub_efi_cdrom_device_path_t): New type.
45651 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45652 (struct grub_efi_vendor_media_device_path): New structure.
45653 (grub_efi_vendor_media_device_path_t): New type.
45654 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45655 (struct grub_efi_file_path_device_path): New structure.
45656 (grub_efi_file_path_device_path_t): New type.
45657 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45658 (struct grub_efi_protocol_device_path): New structure.
45659 (grub_efi_protocol_device_path_t): New type.
45660 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45661 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45662 (struct grub_efi_bios_device_path): New structure.
45663 (grub_efi_bios_device_path_t): New type.
45664 (struct grub_efi_disk_io): New structure.
45665 (grub_efi_disk_io_t): New type.
45666 (struct grub_efi_block_io_media): New structure.
45667 (grub_efi_block_io_media_t): New type.
45668 (struct grub_efi_block_io): New structure.
45669 (grub_efi_block_io_t): New type.
45670
45671 * include/grub/misc.h (grub_stop): Removed.
45672 (grub_exit): New prototype.
45673 (grub_abort): Likewise.
45674
45675 * include/grub/disk.h (enum grub_disk_dev_id): Added
45676 GRUB_DISK_DEVICE_EFIDISK_ID.
45677
45678 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45679 disk/efi/efidisk.c.
45680 (kernel_syms.lst): Remove the target if an error occurs.
45681
49986a9f 456822006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45685 as it was simply too buggy.
45686
970d3b8a 456872006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45688
45689 * kern/misc.c (grub_lltoa): New function.
45690 (grub_vsprintf): Added support for the long long suffix,
45691 i.e. "ll".
45692
ff04ec24 456932006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45694
45695 * Makefile.in (LDFLAGS): Add variable.
45696 (LD): Remove variable.
45697 * configure.ac: Add -m32 to LDFLAGS.
45698 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45699 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45700 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45701 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45702 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45703 variables.
45704 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45705 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45706 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45707
37e5e1a4 457082006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45709
45710 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45711 length for unknown glyph.
45712
c352d8dd 457132006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45714
2eab1c0d 45715 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45716
2eab1c0d 45717 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45718 completely. Accept one more argument DIR. The caller has changed.
45719
45720 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45721
45722 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45723 (grub_efi_loaded_image_guid): New variable.
45724 (grub_efi_get_loaded_image): New function.
45725 (grub_arch_modules_addr): Likewise.
45726
45727 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45728 prototype.
45729
45730 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45731 (struct grub_efi_loaded_image): New structure.
45732 (grub_efi_loaded_image_t): New type.
45733
457342006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45735
c352d8dd 45736 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45737 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45738 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45739
6d01d6b4 457402006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45741
45742 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45743
976a4ea0 457442006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45745
45746 * DISTLIST: Added include/grub/efi/console.h,
45747 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45748 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45749
45750 * include/grub/efi/console.h: New file.
45751 * include/grub/efi/time.h: Likewise.
45752 * include/grub/i386/efi/kernel.h: Likewise.
45753 * kern/efi/init.c: Likewise.
45754 * kern/efi/mm.c: Likewise.
45755 * term/efi/console.c: Likewise.
f19dbdb7 45756
976a4ea0 45757 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45758 (grub_stop): Removed.
45759 (grub_get_rtc): Likewise.
45760 (grub_machine_init): Simply call grub_efi_init.
45761 (grub_machine_fini): Call grub_efi_fini.
45762
45763 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45764 (grub_efi_output_string): Removed.
45765 (grub_efi_stall): New function.
45766 (grub_stop): Likewise.
45767 (grub_get_rtc): Likewise.
45768
45769 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45770 (grub_efi_stall): New prototype.
45771 (grub_efi_allocate_pages): Likewise.
45772 (grub_efi_free_pages): Likewise.
45773 (grub_efi_get_memory_map): Likewise.
45774 (grub_efi_mm_init): Likewise.
45775 (grub_efi_mm_fini): Likewise.
45776 (grub_efi_init): Likewise.
45777 (grub_efi_fini): Likewise.
45778
45779 * include/grub/i386/efi/time.h: Do not include
45780 grub/symbol.h. Include grub/efi/time.h.
45781 (GRUB_TICKS_PER_SECOND): Removed.
45782 (grub_get_rtc): Likewise.
45783
45784 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45785 Added padding. The EFI spec is buggy.
45786 (GRUB_EFI_BLACK): New macro.
45787 (GRUB_EFI_BLUE): Likewise.
45788 (GRUB_EFI_GREEN): Likewise.
45789 (GRUB_EFI_CYAN): Likewise.
45790 (GRUB_EFI_RED): Likewise.
45791 (GRUB_EFI_MAGENTA): Likewise.
45792 (GRUB_EFI_BROWN): Likewise.
45793 (GRUB_EFI_LIGHTGRAY): Likewise.
45794 (GRUB_EFI_BRIGHT): Likewise.
45795 (GRUB_EFI_DARKGRAY): Likewise.
45796 (GRUB_EFI_LIGHTBLUE): Likewise.
45797 (GRUB_EFI_LIGHTGREEN): Likewise.
45798 (GRUB_EFI_LIGHTCYAN): Likewise.
45799 (GRUB_EFI_LIGHTRED): Likewise.
45800 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45801 (GRUB_EFI_YELLOW): Likewise.
45802 (GRUB_EFI_WHITE): Likewise.
45803 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45804 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45805 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45806 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45807 (GRUB_EFI_BACKGROUND_RED): Likewise.
45808 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45809 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45810 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45811 (GRUB_EFI_TEXT_ATTR): Likewise.
45812
45813 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45814 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45815 (kernel_mod_HEADERS): Added efi/time.h.
45816
83709125 458172006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45818
45819 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45820 include/grub/efi/api.h, include/grub/efi/console_control.h,
45821 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45822 include/grub/i386/efi/time.h, kern/efi/efi.c,
45823 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45824 and util/i386/efi/grub-mkimage.c.
45825
45826 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45827
45828 * genmk.rb (PModule#rule): Do not export symbols if
45829 #{prefix}_EXPORTS is set to "no".
45830
45831 * conf/i386-efi.mk: New file.
45832 * conf/i386-efi.rmk: Likewise.
45833 * include/grub/efi/api.h: Likewise.
45834 * include/grub/efi/console_control.h: Likewise.
45835 * include/grub/efi/efi.h: Likewise.
45836 * include/grub/efi/pe32.h: Likewise.
45837 * include/grub/i386/efi/time.h: Likewise.
45838 * kern/efi/efi.c: Likewise.
45839 * kern/i386/efi/init.c: Likewise.
45840 * kern/i386/efi/startup.S: Likewise.
45841 * util/i386/efi/grub-mkimage.c: Likewise.
45842
458432006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45844
45845 * include/grub/script.h: Include <grub/parser.h> and
45846 "grub_script.tab.h".
45847 (struct grub_lexer_param): New struct.
45848 (struct grub_parser_param): Likewise.
45849 (grub_script_create_arglist): Pass the state in an argument.
45850 (grub_script_add_arglist): Likewise.
45851 (grub_script_create_cmdline): Likewise.
45852 (grub_script_create_cmdblock): Likewise.
45853 (grub_script_create_cmdif): Likewise.
45854 (grub_script_create_cmdmenu): Likewise.
45855 (grub_script_add_cmd): Likewise.
45856 (grub_script_arg_add): Likewise.
45857 (grub_script_lexer_ref): Likewise.
45858 (grub_script_lexer_deref): Likewise.
45859 (grub_script_lexer_record_start): Likewise.
45860 (grub_script_lexer_record_stop): Likewise.
45861 (grub_script_mem_record): Likewise.
45862 (grub_script_mem_record_stop): Likewise.
45863 (grub_script_malloc): Likewise.
45864 (grub_script_yylex): Likewise.
45865 (grub_script_yyparse): Likewise.
45866 (grub_script_yyerror): Likewise.
45867 (grub_script_yylex): Likewise.
45868 (grub_script_lexer_init): Return the state.
45869
45870 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45871 (grub_script_lexer_done): Likewise.
45872 (grub_script_lexer_getline): Likewise.
45873 (grub_script_lexer_refs): Likewise.
45874 (script): Likewise.
45875 (newscript): Likewise.
45876 (record): Likewise.
45877 (recording): Likewise.
45878 (recordpos): Likewise.
45879 (recordlen): Likewise.
45880 (grub_script_lexer_init): Return the state instead of setting
45881 global variables.
45882 (grub_script_lexer_ref): Use the newly added argument for state
45883 instead of globals.
45884 (grub_script_lexer_deref): Likewise.
45885 (grub_script_lexer_record_start): Likewise.
45886 (grub_script_lexer_record_stop): Likewise.
45887 (recordchar): Likewise.
45888 (nextchar): Likewise.
45889 (grub_script_yylex2): Likewise.
45890 (grub_script_yylex): Likewise.
45891 (grub_script_yyerror): Likewise.
45892
45893 * normal/parser.y (func_mem): Removed variable.
45894 (menu_entry): Likewise.
45895 (err): Likewise.
45896 (%lex-param): New parser option.
45897 (%parse-param): Likewise.
45898 (script): Always return the AST.
45899 (argument): Pass the state around.
45900 (arguments): Likewise.
45901 (grubcmd): Likewise.
45902 (commands): Likewise.
45903 (function): Likewise.
45904 (menuentry): Likewise.
45905 (if_statement): Likewise.
45906 (if): Likewise.
45907
45908 * normal/script.c (grub_script_memused): Removed variable.
45909 (grub_script_parsed): Likewise.
45910 (grub_script_malloc): Added a state argument. Use that instead of
45911 global variables.
45912 (grub_script_mem_record): Likewise.
45913 (grub_script_mem_record_stop): Likewise.
45914 (grub_script_arg_add): Likewise.
45915 (grub_script_add_arglist): Likewise.
45916 (grub_script_create_cmdline): Likewise.
45917 (grub_script_create_cmdif): Likewise.
45918 (grub_script_create_cmdmenu): Likewise.
45919 (grub_script_add_cmd): Likewise.
45920 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45921
e2a8c904 459222006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45923
45924 * normal/command.c (grub_command_init): Remove the title command.
45925
45926 * normal/lexer.c (grub_script_yylex): Renamed from this...
45927 (grub_script_yylex2): ... to this.
45928 (grub_script_yylex): New function. Temporary
45929 introduced to filter some tokens.
45930 (grub_script_yyerror): Print a newline.
45931
45932 * normal/main.c (read_config_file): Output information about the
45933 lines that contain errors. Wait for a key after all lines have
45934 been processed. Don't return an empty menu.
45935
45936 * normal/parser.y (func_mem): Don't initialize.
45937 (menu_entry): Likewise.
45938 (err): New variable.
45939 (script): Don't return anything when an error was encountered.
45940 (ws, returns): Removed rules.
45941 (argument): Disabled concatenated variable support.
45942 (arguments): Remove explicit separators.
45943 (grubcmd): Likewise.
45944 (function): Likewise.
45945 (menuentry): Likewise.
45946 (if): Likewise.
45947 (commands): Likewise. Add error handling.
45948
45949 * normal/script.c (grub_script_create_cmdline): If
45950 `grub_script_parsed' is 0, assume the parser encountered an error.
45951
c9a86192 459522006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45953
45954 * configure.ac: Add support for EFI. Fix the typo
45955 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45956
70f3b243 459572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45958
45959 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45960 foreign multibyte characters should be shown correctly.
45961
65f201ad 459622006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45963
45964 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45965 calculation.
45966 (read_config_file): Made it to close file before returning.
45967
b4b93674 459682006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45969
45970 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45971 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45972 video/i386/pc/vbefill.c.
45973
45974 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45975 video/i386/pc/vbefill.c.
45976
45977 * include/grub/video.h (grub_video_blit_format): New enum.
45978 (grub_video_mode_info): Added new member blit_format.
45979 (grub_video_get_blit_format): New function prototype.
45980
45981 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45982 function prototype.
45983 (grub_video_vbe_map_rgb): Likewise.
45984 (grub_video_vbe_unmap_color): Likewise.
45985
45986 * include/grub/i386/pc/vbeblit.h: New file.
45987
45988 * include/grub/i386/pc/vbefill.h: New file.
45989
45990 * video/video.c (grub_video_get_blit_format): New function.
45991 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45992 (grub_video_vbe_map_rgb): Likewise.
45993 (grub_video_vbe_unmap_color): Likewise.
45994
45995 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45996 optimized fills.
45997 (grub_video_vbe_blit_render_target): Changed to use more optimized
45998 blits.
45999 (grub_video_vbe_setup): Added detection for optimized settings.
46000 (grub_video_vbe_create_render_target): Likewise.
46001
46002 * video/i386/pc/vbeblit.c: New file.
46003
46004 * video/i386/pc/vbefill.c: New file.
46005
c2379b9c 460062006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46007
46008 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46009 here...
46010
46011 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46012 parsing to support both hex and dec ranges. If filename was missing
46013 show usage information.
46014
bd0d7896 460152006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46016
46017 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46018 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46019
46020 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46021 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46022 (video_mod_SOURCES): Added.
46023 (video_mod_CFLAGS): Likewise.
46024 (video_mod_LDFLAGS): Likewise.
46025 (gfxterm_mod_SOURCES): Likewise.
46026 (gfxterm_mod_CFLAGS): Likewise.
46027 (gfxterm_mod_LDFLAGS): Likewise.
46028 (videotest_mod_SOURCES): Likewise.
46029 (videotest_mod_CFLAGS): Likewise.
46030 (videotest_mod_LDFLAGS): Likewise.
46031 (vesafb_mod_SOURCES): Removed.
46032 (vesafb_mod_CFLAGS): Likewise.
46033 (vesafb_mod_LDFLAGS): Likewise.
46034 (vga_mod_SOURCES): Likewise.
46035 (vga_mod_CFLAGS): Likewise.
46036 (vga_mod_LDFLAGS): Likewise.
46037
46038 * commands/videotest.c: New file.
46039
46040 * font/manager.c (fill_with_default_glyph): Modified to use
46041 grub_font_glyph.
46042 (grub_font_get_glyph): Likewise.
46043 (fontmanager): Renamed from this...
46044 (font_manager): ... to this.
46045
46046 * include/grub/font.h (grub_font_glyph): Added new structure.
46047 (grub_font_get_glyph): Modified to use grub_font_glyph.
46048
46049 * include/grub/misc.h (grub_abs): Added as inline function.
46050
46051 * include/grub/video.h: New file.
46052
46053 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46054 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46055 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46056 (grub_vbe_get_controller_info): Renamed from this...
46057 (grub_vbe_bios_get_controller_info): ... to this.
46058 (grub_vbe_get_mode_info): Renamed from this...
46059 (grub_vbe_bios_get_mode_info): ... to this.
46060 (grub_vbe_set_mode): Renamed from this...
46061 (grub_vbe_bios_set_mode): ... to this.
46062 (grub_vbe_get_mode): Renamed from this...
46063 (grub_vbe_bios_get_mode): ... to this.
46064 (grub_vbe_set_memory_window): Renamed from this...
46065 (grub_vbe_bios_set_memory_window): ... to this.
46066 (grub_vbe_get_memory_window): Renamed from this...
46067 (grub_vbe_bios_get_memory_window): ... to this.
46068 (grub_vbe_set_scanline_length): Renamed from this...
46069 (grub_vbe_set_scanline_length): ... to this.
46070 (grub_vbe_get_scanline_length): Renamed from this...
46071 (grub_vbe_bios_get_scanline_length): ... to this.
46072 (grub_vbe_set_display_start): Renamed from this...
46073 (grub_vbe_bios_set_display_start): ... to this.
46074 (grub_vbe_get_display_start): Renamed from this...
46075 (grub_vbe_bios_get_display_start): ... to this.
46076 (grub_vbe_set_palette_data): Renamed from this...
46077 (grub_vbe_bios_set_palette_data): ... to this.
46078 (grub_vbe_set_pixel_rgb): Removed.
46079 (grub_vbe_set_pixel_index): Likewise.
46080
46081 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46082 from this...
46083 (grub_vbe_bios_get_controller_info): ... to this.
46084 (grub_vbe_get_mode_info): Renamed from this...
46085 (grub_vbe_bios_get_mode_info): ... to this.
46086 (grub_vbe_set_mode): Renamed from this...
46087 (grub_vbe_bios_set_mode): ... to this.
46088 (grub_vbe_get_mode): Renamed from this...
46089 (grub_vbe_bios_get_mode): ... to this.
46090 (grub_vbe_set_memory_window): Renamed from this...
46091 (grub_vbe_bios_set_memory_window): ... to this.
46092 (grub_vbe_get_memory_window): Renamed from this...
46093 (grub_vbe_bios_get_memory_window): ... to this.
46094 (grub_vbe_set_scanline_length): Renamed from this...
46095 (grub_vbe_set_scanline_length): ... to this.
46096 (grub_vbe_get_scanline_length): Renamed from this...
46097 (grub_vbe_bios_get_scanline_length): ... to this.
46098 (grub_vbe_set_display_start): Renamed from this...
46099 (grub_vbe_bios_set_display_start): ... to this.
46100 (grub_vbe_get_display_start): Renamed from this...
46101 (grub_vbe_bios_get_display_start): ... to this.
46102 (grub_vbe_set_palette_data): Renamed from this...
46103 (grub_vbe_bios_set_palette_data): ... to this.
46104 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46105 getting corrupted after calling it. Added more pushes and pops.
46106 (grub_vbe_bios_set_mode): Likewise.
46107 (grub_vbe_bios_get_mode): Likewise.
46108 (grub_vbe_bios_get_memory_window): Likewise.
46109 (grub_vbe_bios_set_scanline_length): Likewise.
46110 (grub_vbe_bios_get_scanline_length): Likewise.
46111 (grub_vbe_bios_get_display_start): Likewise.
46112 (grub_vbe_bios_set_palette_data): Likewise.
46113
46114 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46115 (cl_insert): Likewise.
46116 (cl_delete): Likewise.
46117
46118 * term/gfxterm.c: New file.
46119
46120 * term/i386/pc/vesafb.c: Removed file.
46121
46122 * video/video.c: New file.
46123
46124 * video/i386/pc/vbe.c (real2pm): Added new function.
46125 (grub_video_vbe_draw_pixel): Likewise.
46126 (grub_video_vbe_get_video_ptr): Likewise.
46127 (grub_video_vbe_get_pixel): Likewise
46128 (grub_video_vbe_init): Likewise.
46129 (grub_video_vbe_fini): Likewise.
46130 (grub_video_vbe_setup): Likewise.
46131 (grub_video_vbe_get_info): Likewise.
46132 (grub_video_vbe_set_palette): Likewise.
46133 (grub_video_vbe_get_palette): Likewise.
46134 (grub_video_vbe_set_viewport): Likewise.
46135 (grub_video_vbe_get_viewport): Likewise.
46136 (grub_video_vbe_map_color): Likewise.
46137 (grub_video_vbe_map_rgb): Likewise.
46138 (grub_video_vbe_map_rgba): Likewise.
46139 (grub_video_vbe_unmap_color): Likewise.
46140 (grub_video_vbe_fill_rect): Likewise.
46141 (grub_video_vbe_blit_glyph): Likewise.
46142 (grub_video_vbe_blit_bitmap): Likewise.
46143 (grub_video_vbe_blit_render_target): Likewise.
46144 (grub_video_vbe_scroll): Likewise.
46145 (grub_video_vbe_swap_buffers): Likewise.
46146 (grub_video_vbe_create_render_target): Likewise.
46147 (grub_video_vbe_delete_render_target): Likewise.
46148 (grub_video_vbe_set_active_render_target): Likewise.
46149 (grub_vbe_set_pixel_rgb): Remove function.
46150 (grub_vbe_set_pixel_index): Likewise.
46151 (index_color_mode): Remove static variable.
46152 (active_mode): Likewise.
46153 (framebuffer): Likewise.
46154 (bytes_per_scan_line): Likewise.
46155 (grub_video_vbe_adapter): Added new static variable.
46156 (framebuffer): Likewise.
46157 (render_target): Likewise.
46158 (initial_mode): Likewise.
46159 (mode_in_use): Likewise.
46160 (mode_list): Likewise.
46161
5f97350b 461622006-03-10 Marco Gerards <marco@gnu.org>
46163
46164 * configure.ac (AC_INIT): Bumped to 1.93.
46165
46166 * DISTLIST: Added `include/grub/hfs.h'.
46167
a3c5c6f8 461682006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46169
46170 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46171 18H, which might help the BIOS falling back to next boot media.
46172
6de53d26 461732006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46174
46175 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46176 Poe Chen <poe.poechen@gmail.com>.
46177
77c4a393 461782006-01-17 Marco Gerards <marco@gnu.org>
46179
46180 * include/grub/normal.h: Include <grub/script.h>.
46181 (grub_command_list): Removed struct.
46182 (grub_command_list_t): Removed type.
46183 (grub_menu_entry): Remove members `num' and `command_list'. Add
46184 members `commands' and `sourcecode'.
46185 * include/grub/script.h: Add inclusion guards.
46186 (grub_script_cmd_menuentry): New struct.
46187 (grub_script_execute_menuentry): New prototype.
46188 (grub_script_lexer_record_start): Likewise.
46189 (grub_script_lexer_record_stop): Likewise.
46190 * normal/execute.c (grub_script_execute_menuentry): New function.
46191 * normal/lexer.c (record, recording, recordpos, recordlen): New
46192 variables.
46193 (grub_script_lexer_record_start): New function.
46194 (grub_script_lexer_record_stop): Likewise.
46195 (recordchar): Likewise.
46196 (nextchar): Likewise.
46197 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46198 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46199 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46200 (current_menu): New variable.
46201 (free_menu): Mainly rewritten.
46202 (grub_normal_menu_addentry): New function.
46203 (read_config_file): Rewritten.
46204 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46205 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46206 the menu entry.
46207 (run): Mainly rewritten.
46208 * normal/parser.y (menu_entry): New variable.
46209 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46210 (menuentry): New rule.
46211 (command): Add `menuentry'.
46212 (if_statement): Allow additional returns before `fi'.
46213 * normal/script.c (grub_script_create_cmdmenu): New function.
46214
144f1f98 462152006-01-03 Marco Gerards <marco@gnu.org>
46216
46217 * INSTALL: GNU Bison is required.
46218 * configure.ac: Rewritten the test to detect Bison.
46219 * Makefile.in (YACC): New variable. Reported by Xun Sun
46220 <xun.sun.cn@gmail.com>.
46221
af4b2d89 462222006-01-03 Marco Gerards <marco@gnu.org>
46223
46224 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46225 the HFS+ filesystem to filesystem blocks.
46226 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46227 GCC warning is silenced.
46228
15643b71 462292006-01-03 Marco Gerards <marco@gnu.org>
46230
46231 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46232 read from disk from big endian to host byte order.
46233
00905879 462342006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46235
46236 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46237 documentation.
46238 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46239 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46240 embedded HFS+ filesystem.
46241 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46242 (grub_hfs_sblock): Move from here...
46243 * include/grub/hfs.h: To here... New file.
46244 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46245 documentation.
46246 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46247 New macros.
46248 (grub_hfsplus_volheader): Change type of member `magic' to
46249 `grub_uint16_t'.
46250 (grub_hfsplus_data): Add new member `embedded_offset'.
46251 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46252 returned block.
46253 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46254 Calculate the offset.
46255
8899bc3e 462562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46257
46258 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46259 Removed.
46260 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46261
ae8c0277 462622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46263
46264 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46265 ENV->NAME is NULL after allocating ENV->VALUE.
46266
07084456 462672005-12-25 Marco Gerards <marco@gnu.org>
46268
46269 * kern/env.c (grub_env_set): Rewritten the error handling code.
46270
4750f5f1 462712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46272
46273 * geninit.sh: Made more robust, and more portable.
46274
50214199 462752005-12-25 Marco Gerards <marco@gnu.org>
46276
46277 Add support for Apple HFS+ filesystems.
f19dbdb7 46278
50214199 46279 * fs/hfsplus.c: New file.
46280
46281 * DISTLIST: Added `fs/hfsplus.c'.
46282
46283 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46284 (hfsplus_mod_SOURCES): New variable.
46285 (hfsplus_mod_CFLAGS): Likewise.
46286 (hfsplus_mod_LDFLAGS): Likewise.
46287 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46288 (grub_setup_SOURCES): Likewise.
46289 (grub_mkdevicemap_SOURCES): Likewise.
46290 (grub_emu_SOURCES): Likewise.
46291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46292
46293 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46294
46295 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46296
befaed6c 462972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46298
46299 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46300 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46301 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46302 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46303 normal/lexer.c, normal/parser.y, normal/script.c, and
46304 partmap/gpt.c.
46305 Removed kern/sparc64/cache.c.
46306
46307 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46308 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46309 grub_emu_init.c.
46310
46311 * configure.ac (AC_INIT): Bumped to 1.92.
46312
6a124103 463132005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46314
46315 * kern/err.c (grub_error_push): Added new function to support error
46316 stacks.
46317 (grub_error_pop): Likewise.
46318 (grub_error_stack_items): New local variable to support error stacks.
46319 (grub_error_stack_pos): Likewise.
46320 (grub_error_stack_assert): Likewise.
46321 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46322 stack depth.
46323 (grub_print_error): Added support to print errors from error stack.
46324
46325 * include/grub/err.h (grub_error_push): Added function prototype.
46326 (grub_error_pop): Likewise.
46327
be973c1b 463282005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46329
46330 * configure.ac: Accept `powerpc64' as host_cpu.
46331 (amd64): Rename to `biarch32'.
46332
46333 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46334 non-cacheline-aligned addresses.
46335
46336 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46337 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46338 if `size' is non-zero.
46339
b04216ab 463402005-12-03 Marco Gerards <mgerards@xs4all.nl>
46341
46342 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46343 and `cd' to make sure the filename is not prefixed with a
46344 directory name.
46345 (pkgdata_MODULES): Add `gpt.mod'.
46346 (gpt_mod_SOURCES): New variable.
46347 (gpt_mod_CFLAGS): Likewise.
46348 (gpt_mod_LDFLAGS): Likewise.
46349
46350 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46351
46352 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46353 New macro.
46354
46355 * partmap/gpt.c: New file.
46356
46357 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46358 GPT partition map is detected.
46359
41730ed9 463602005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46361
46362 * commands/i386/pc/play.c: New file.
46363 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46364 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46365 macros.
f19dbdb7 46366
95dc3643 463672005-11-27 Marco Gerards <mgerards@xs4all.nl>
46368
46369 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46370 ((unused))' to silence gcc warning.
46371
1569ec51 463722005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46373
46374 * configure.ac: Correct `AC_PROG_YACC' test.
46375
9abde152 463762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46377
46378 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46379 check before installing files.
46380
44b83271 463812005-11-22 Mike Small <smallm@panix.com>
46382
46383 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46384 number regex so multidigit numbers are recognized correctly.
46385
463862005-11-22 Mike Small <smallm@panix.com>
46387
46388 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46389 debugging message before attempting to claim memory.
46390 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46391 multiple addresses in case of failure.
46392
9c12956b 463932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46394
46395 * term/tparm.c (get_space): Remove empty `if' statement.
46396
46397 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46398
46399 * kern/parser.c (check_varstate): Rename `state' to 's'.
46400
aeaf81d9 464012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46402
46403 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46404 variable definitions to the beginning of each function. Sort stack
46405 variables by size.
46406 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46407 `buf' argument to `char *'.
46408
79bbb63f 464092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46410
46411 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46412 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46413 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46414 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46415 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46416 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46417 configfile.mod, search.mod, gzio.mod and test.mod.
46418 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46419 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46420 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46421 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46422 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46423 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46424 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46425 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46426 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46427 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46428 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46429 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46430 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46431 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46432 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46433 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46434 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46435 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46436 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46437 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46438 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46439 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46440 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46441
46442 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46443 `grep --include'.
46444 (pkgdata_MODULES): Add test.mod.
46445
233b1628 464462005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46447
46448 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46449 appending to variables with "+=".
46450 (PModule): Use full pathname to generate *.lst filenames.
46451
46452 * Makefile.in: Fixed list rules moved from genmk.rb.
46453 (.DELETE_ON_ERROR): New special target.
46454 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46455
46456 * conf/i386-pc.rmk: Include conf/common.mk.
46457 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46458 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46459 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46460 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46461 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46462 configfile.mod, search.mod, gzio.mod and test.mod.
46463 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46464 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46465 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46466 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46467 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46468 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46469 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46470 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46471 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46472 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46473 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46474 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46475 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46476 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46477 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46478 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46479 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46480 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46481 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46482 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46483 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46484 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46485 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46486 here...
46487 * conf/common.rmk: ... to here. New file.
46488
46489 * conf/common.mk: New file.
46490
16f820c8 464912005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46492
46493 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46494 (grub_script.tab.c): ... here.
46495
46496 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46497 (grub_script.tab.c): ... here.
46498
46499 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46500 (grub_script.tab.c): ... here.
46501
46502 * normal/command.c (grub_command_find): Fixed a memory leak of
46503 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46504
63ba1554 465052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46506
46507 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46508 "@" which marks the start of a comment on ARM.
46509 (VARIABLE): Likewise.
46510
7f67dc13 465112005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46512
79bbb63f 46513 Add support for Linux/ADFS partition tables.
7f67dc13 46514
46515 * partmap/acorn.c: New file.
46516
46517 * include/grub/acorn_filecore.h: Likewise.
46518
46519 * DISTLIST: Added `partmap/acorn.c' and
46520 `include/grub/acorn_filecore.h'.
f19dbdb7 46521
7f67dc13 46522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46523 `partmap/acorn.c'.
46524 (pkgdata_MODULES): Add `acorn.mod'.
46525 (acorn_mod_SOURCES): New variable.
46526 (acorn_mod_CFLAGS): Likewise.
46527
46528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46529 `partmap/acorn.c'.
46530 (pkgdata_MODULES): Add `acorn.mod'.
46531 (acorn_mod_SOURCES): New variable.
46532 (acorn_mod_CFLAGS): Likewise.
46533
46534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46535 (pkgdata_MODULES): Add `acorn.mod'.
46536 (acorn_mod_SOURCES): New variable.
46537 (acorn_mod_CFLAGS): Likewise.
46538 (acorn_mod_LDFLAGS): Likewise.
46539
46540 * include/types.h (grub_disk_addr_t): New typedef.
46541
6d099807 465422005-11-13 Marco Gerards <mgerards@xs4all.nl>
46543
46544 * geninit.sh: New file.
46545
46546 * geninitheader.sh: Likewise.
46547
46548 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46549 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46550 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46551 * commands/configfile.c (grub_configfile_init)
46552 (grub_configfile_fini): Likewise.
46553 * commands/default.c (grub_default_init, grub_default_fini):
46554 Likewise.
46555 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46556 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46557 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46558 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46559 Likewise.
46560 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46561 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46562 Likewise.
46563 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46564 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46565 Likewise.
46566 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46567 Likewise.
fe6b695a 46568 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46569 Likewise.
46570 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46571 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46572 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46573 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46574 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46575 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46576 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46577 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46578 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46579 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46580 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46581 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46582 * partmap/amiga.c (grub_amiga_partition_map_init)
46583 (grub_amiga_partition_map_fini): Likewise.
46584 * partmap/apple.c (grub_apple_partition_map_init)
46585 (grub_apple_partition_map_fini): Likewise.
46586 * partmap/pc.c (grub_pc_partition_map_init)
46587 (grub_pc_partition_map_fini): Likewise.
46588 * partmap/sun.c (grub_sun_partition_map_init,
46589 grub_sun_partition_map_fini): Likewise.
46590 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46591 Likewise.
46592
46593 * util/grub-emu.c: Include <grub_modules_init.h>.
46594 (main): Don't initialize and de-initialize any modules directly,
46595 use `grub_init_all' and `grub_fini_all' instead.
46596
46597 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46598 `grub_vesafb_mod_init'.
46599 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46600 all users.
46601 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46602 `grub_vga_mod_init'. Updated all users.
46603 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46604
6d099807 46605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46606 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46607 rules.
46608
46609 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46610 Generate a function to initialize the module in utilities.
46611 Updated all callers.
46612 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46613 initialize the module in utilities. Updated all callers.
46614
9046bcf0 466152005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46616
46617 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46618 escape sequence and a literal ^L to clear the screen.
46619
46620 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46621 when returning from Open Firmware.
46622
d13ea639 466232005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46624
46625 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46626 (grub_ofconsole_height): Likewise.
46627 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46628 manually insert a '\n'.
46629 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46630 `grub_ofconsole_height'. Return early if these are already set.
46631
a8fcf206 466322005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46633
46634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46635 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46636 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46637 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46638 and `normal/script.c'.
46639 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46640 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46641 (test_mod_SOURCES): New variable.
46642 (test_mod_CFLAGS): Likewise.
46643 (test_mod_LDFLAGS): Likewise.
46644 (pkgdata_MODULES): Add `test.mod'.
46645 (grub_script.tab.c): New rule.
46646 (grub_script.tab.h): Likewise.
46647
b6b32745 466482005-11-07 Marco Gerards <mgerards@xs4all.nl>
46649
46650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46651 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46652 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46653 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46654 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46655 (test_mod_SOURCES): New variable.
46656 (test_mod_CFLAGS): Likewise.
46657 (pkgdata_MODULES): Add `test.mod'.
46658 (grub_script.tab.c): New rule.
46659 (grub_script.tab.h): Likewise.
46660
daac212a 466612005-11-06 Marco Gerards <mgerards@xs4all.nl>
46662
46663 Add initial scripting support.
46664
46665 * commands/test.c: New file.
46666 * include/grub/script.h: Likewise.
46667 * normal/execute.c: Likewise.
46668 * normal/function.c: Likewise.
46669 * normal/lexer.c: Likewise.
46670 * normal/parser.y: Likewise.
46671 * normal/script.c: Likewise.
46672
46673 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46674
daac212a 46675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46676 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46677 `normal/function.c' and `normal/script.c'.
46678 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46679 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46680 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46681 variables.
daac212a 46682 (pkgdata_MODULES): Add `test.mod'.
46683 (grub_script.tab.c): New rule.
46684 (grub_script.tab.h): Likewise.
46685
46686 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46687
46688 * include/grub/normal.h (grub_test_init): New prototype.
46689 (grub_test_fini): Likewise.
f19dbdb7 46690
daac212a 46691 * normal/command.c: Include <grub/script.h>.
46692 (grub_command_execute): Rewritten.
f19dbdb7 46693
daac212a 46694 * util/grub-emu.c (main): Call `grub_test_init' and
46695 `grub_test_fini'.
46696
77500b2b 466972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46698
46699 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46700 to 0.
46701 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46702 there are no pending characters.
46703
e45deb9e 467042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46705
46706 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46707 `grub_strndup' to drop device arguments. Replace unnecessary
46708 `grub_strndup' with `grub_strdup'.
46709
4ce32619 467102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46711
46712 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46713 `debug' environment variable has been set.
46714
467152005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46716
4ce32619 46717 * Makefile.in (install-local): Use $(DATA).
46718 (uninstall): Likewise.
46719 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46720 (sbin_UTILITIES): ... to here.
46721 (sbin_SCRIPTS): New variable.
46722 (grub_install_SOURCES): New variable.
46723 * util/powerpc/ieee1275/grub-install.in: New file.
46724 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46725 variable.
46726 (add_segments): Call `grub_util_get_path'.
46727
25fe6f03 467282005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46729
46730 From Timothy Baldwin:
46731 * commands/ls.c (grub_ls_list_files): Close FILE with
46732 grub_file_close.
46733 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46734
04ccf3ec 467352005-10-24 Marco Gerards <mgerards@xs4all.nl>
46736
46737 * include/grub/parser.h: New file.
46738
46739 * kern/parser.c: Likewise.
46740
46741 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46742 (grub_setup_SOURCES): Likewise.
46743 (grub_probefs_SOURCES): Likewise.
46744 (grub_emu_SOURCES): Likewise.
46745 (kernel_img_HEADERS): Add `parser.h'.
46746
46747 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46748 (grub_emu_SOURCES): Add `kern/parser.c'.
46749 (grubof_SOURCES): Likewise.
46750
46751 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46752 (grubof_SOURCES): Add `kern/parser.c'.
46753
46754 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46755
46756 * kern/misc.c (grub_split_cmdline): Removed function.
46757
46758 * kern/rescue.c: Include <grub/parser.h>.
46759 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46760 of `grub_split_cmdline'.
46761
46762 * normal/command.c: Include <grub/parser.h>.
46763 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46764 of `grub_split_cmdline'.
46765
46766 * normal/completion.c: Include <grub/parser.h>.
46767 (cmdline_state): New variable.
46768 (iterate_dir): End the filename with a quote depending on the
46769 command line state.
46770 (get_state): new function.
46771 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46772 split the arguments and determine the current argument. When the
46773 argument string is not quoted, escape all spaces.
46774
6d8f4b0e 467752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46776
46777 * normal/sparc64/setjmp.S: New file.
46778
15cf03ed 467792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46780
46781 * include/grub/sparc64/libgcc.h: New file.
46782 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46783 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46784 normal/sparc64/setjmp.c.
46785
03e8661a 467862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46787
46788 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46789 * kern/sparc64/cache.S: New file.
46790 * kern/sparc64/cache.c: Removed.
46791 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46792 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46793 -mtune=ultrasparc.
46794 (COMMON_LDFLAGS): Add -melf64_sparc.
46795 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46796 (grubof_SOURCES): Use cache.S instead of cache.c.
46797 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46798 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46799 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46800 commented though.
46801 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46802 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46803 (linux_mod_CFLAGS): Commented out.
46804 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46805 out because module isn't built.
46806 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46807 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46808 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46809 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46810 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46811 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46812 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46813 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46814 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46815 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46816 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46817 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46818 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46819 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46820
34eeec8a 468212005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46822
46823 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46824 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46825 longer, because HFS should not be used on PC.
46826
708367a3 468272005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46828
46829 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46830 consistently within the loop.
46831
6fa1251a 468322005-10-15 Marco Gerards <mgerards@xs4all.nl>
46833
46834 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46835 directory can not be read.
46836
4801580b 468372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46838
46839 * configure.ac (AC_INIT): Increase the version number to 1.91.
46840
46841 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46842 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46843 term/i386/pc/serial.c.
46844
219ad426 468452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46846
46847 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46848 file size must be permitted.
46849
46850 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46851 between %ah and %al.
46852
688e5699 468532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46854
46855 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46856 grub_uint64_t.
46857 Call the hook with a NUL-terminated filename.
46858 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46859 grub_cpu_to_be32.
46860
46861 * kern/term.c (cursor_state): New variable.
46862 (grub_term_set_current): Reset the cursor state on a new
46863 terminal.
46864 (grub_setcursor): Rewritten to use CURSOR_STATE.
46865 (grub_getcursor): New function.
46866
46867 * include/grub/term.h (grub_getcursor): New prototype.
46868
46869 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46870 integers on ARM. Reported by Timothy Baldwin
46871 <T.E.Baldwin99@members.leeds.ac.uk>.
46872
bb34586c 468732005-10-11 Marco Gerards <mgerards@xs4all.nl>
46874
46875 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46876 allocated.
46877 (grub_sfs_dir): Likewise.
46878
9a909877 468792005-10-09 Marco Gerards <mgerards@xs4all.nl>
46880
46881 Add support for the SFS filesystem.
46882
46883 * fs/sfs.c: New file.
46884
46885 * DISTLIST: Added `fs/sfs.c'.
46886
46887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46888 (grub_probefs_SOURCES): Likewise.
46889 (grub_emu_SOURCES): Likewise.
46890 (pkgdata_MODULES): Add `sfs.mod'.
46891 (sfs_mod_SOURCES): New variable.
46892 (sfs_mod_CFLAGS): Likewise.
46893 (sfs_mod_LDFLAGS): Likewise.
46894
46895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46896 (pkgdata_MODULES): Add `sfs.mod'.
46897 (sfs_mod_SOURCES): New variable.
46898 (sfs_mod_CFLAGS): Likewise.
46899
46900 * util/grub-emu.c (main): Call `grub_sfs_init' and
46901 `grub_sfs_fini'.
46902
46903 * include/grub/fs.h (grub_sfs_init): New prototype.
46904 (grub_sfs_fini): Likewise.
46905
57bdbde3 469062005-10-07 Marco Gerards <mgerards@xs4all.nl>
46907
46908 Add support for the AFFS filesystem.
46909
46910 * fs/affs.c: New file.
46911
46912 * DISTLIST: Added `fs/affs.c'.
46913
46914 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46915 (grub_probefs_SOURCES): Likewise.
46916 (grub_emu_SOURCES): Likewise.
46917 (pkgdata_MODULES): Add `affs.mod'.
46918 (affs_mod_SOURCES): New variable.
46919 (affs_mod_CFLAGS): Likewise.
46920 (affs_mod_LDFLAGS): Likewise.
46921
46922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46923 (pkgdata_MODULES): Add `affs.mod'.
46924 (affs_mod_SOURCES): New variable.
46925 (affs_mod_CFLAGS): Likewise.
46926
46927 * util/grub-emu.c (main): Call `grub_affs_init' and
46928 `grub_affs_fini'.
46929
46930 * include/grub/fs.h (grub_affs_init): New prototype.
46931 (grub_affs_fini): Likewise.
46932
047b67e0 469332005-10-01 Marco Gerards <mgerards@xs4all.nl>
46934
46935 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46936
59b8208a 469372005-10-01 Marco Gerards <mgerards@xs4all.nl>
46938
46939 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46940 `-m32' to CFLAGS.
46941
46942 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46943 linking.
f19dbdb7 46944
59b8208a 46945 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46946 (COMMON_LDFLAGS): New variable.
46947 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46948 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46949 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46950 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46951 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46952 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46953 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46954 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46955 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46956 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46957 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46958 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46959 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46960 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46961 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46962 variables.
46963 (normal_mod_ASFLAGS): Add `-m32'.
46964
46965 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46966 (grub_host_size_t, grub_host_ssize_t): New types.
46967 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46968 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46969 `GRUB_HOST_SIZEOF_VOID_P'.
46970
46971 * include/grub/kernel.h (struct grub_module_header): Type of
46972 member offset changed to `grub_host_off_t'. Type of member size
46973 changed to `grub_host_size_t'.
46974 (struct grub_module_info): Type of member offset changed to
46975 `grub_host_off_t'. Type of member size changed to
46976 `grub_host_size_t'.
46977
b4093103 469782005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46979
46980 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46981
b4093103 46982 * kern/i386/pc/startup.S (multiboot_header): New label.
46983 (multiboot_entry): Likewise.
46984 (multiboot_trampoline): Likewise.
46985
46986 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46987 Increased to 0x4A0.
46988
46989 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46990 put parentheses after a question mark.
46991 [!GRUB_UTIL] (my_mod): New variable.
46992
46993 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46994
b2499b29 469952005-09-28 Marco Gerards <mgerards@xs4all.nl>
46996
46997 Adds support for the XFS filesystem. Btrees are not supported
46998 yet.
46999
47000 * fs/xfs.c: New file.
47001
47002 * DISTLIST: Added `fs/xfs.c'.
47003
47004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47005 (grub_probefs_SOURCES): Likewise.
47006 (grub_emu_SOURCES): Likewise.
47007 (pkgdata_MODULES): Add `xfs.mod'.
47008 (xfs_mod_SOURCES): New variable.
47009 (xfs_mod_CFLAGS): Likewise.
47010
47011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47012 (pkgdata_MODULES): Add `xfs.mod'.
47013 (xfs_mod_SOURCES): New variable.
47014 (xfs_mod_CFLAGS): Likewise.
47015
47016 * util/grub-emu.c (main): Call `grub_xfs_init' and
47017 `grub_xfs_fini'.
47018
47019 * include/grub/fs.h (grub_xfs_init): New prototype.
47020 (grub_xfs_fini): Likewise.
47021
f19dbdb7 47022
83d37a62 470232005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47024
47025 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47026 color modes, allow greater than 16 colors to be configured as
47027 a default palette.
47028
47d2d65e 470292005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47030
47031 * normal/completion.c (complete_arguments): Add the qualifier
47032 const into OPTIONS.
47033
47034 From Omniflux <omniflux+lists@omniflux.com>:
47035 * include/grub/terminfo.h: New file.
47036 * include/grub/tparm.h: Likewise.
47037 * include/grub/i386/pc/serial.h: Likewise.
47038 * term/terminfo.c: Likewise.
47039 * term/tparm.c: Likewise.
47040 * term/i386/pc/serial.c: Likewise.
47041 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47042 serial.mod.
47043 (terminfo_mod_SOURCES): New variable.
47044 (terminfo_mod_CFLAGS): Likewise.
47045 (serial_mod_SOURCES): Likewise.
47046 (serial_mod_CFLAGS): Likewise.
47047
48b671ff 470482005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47049
47050 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47051 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47052 and kern/powerpc/ieee1275/cmain.c, respectively.
47053
47054 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47055 * kern/powerpc/ieee1275/crt0.S: ... here.
47056
47057 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47058 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47059
48b671ff 47060 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47061 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47062 instead of boot/powerpc/ieee1275/crt0.S and
47063 boot/powerpc/ieee1275/cmain.c, respectively.
47064
47065 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47066 sectors. It was not used anyway.
47067
09fc77a7 470682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47069
47070 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47071 `unused parameter' warning.
47072
003789c7 470732005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47074
47075 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47076 function.
47077 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47078 getcharwidth.
47079
67f44c86 470802005-08-28 Marco Gerards <metgerards@student.han.nl>
47081
47082 * include/grub/normal.h (enum grub_completion_type): Added
47083 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47084
47085 * normal/cmdline.c (print_completion): Handle
47086 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47087 * normal/menu_entry.c (store_completion): Likewise.
47088
47089 * normal/completion.c (complete_arguments): New function.
47090 (grub_normal_do_completion): Call `complete_arguments' when the
47091 current words start with a dash.
47092
0b5abe02 470932005-08-27 Marco Gerards <metgerards@student.han.nl>
47094
47095 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47096 `gzio.mod' instead of `io.mod').
47097
d9864ee1 470982005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47099
47100 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47101 (DISTDIRS): Added io and video.
47102 Rewrite the search routine to make an output consistently.
47103
47104 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47105 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47106 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47107 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47108 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47109 util/powerpc/ieee1275/misc.c.
f19dbdb7 47110
d9864ee1 47111 * include/grub/gzio.h: New file.
47112 * io/gzio.c: Likewise.
f19dbdb7 47113
d9864ee1 47114 * kern/file.c (grub_file_close): Call grub_device_close only if
47115 FILE->DEVICE is not NULL.
47116
47117 * include/grub/mm.h [!NULL] (NULL): New macro.
47118
47119 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47120
47121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47122 (pkgdata_MODULES): Added gzio.mod.
47123 (gzio_mod_SOURCES): New variable.
47124 (gzio_mod_CFLAGS): Likewise.
47125
47126 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47127 (pkgdata_MODULES): Added gzio.mod.
47128 (gzio_mod_SOURCES): New variable.
47129 (gzio_mod_CFLAGS): Likewise.
47130
47131 * commands/cat.c: Include grub/gzio.h.
47132 (grub_cmd_cat): Use grub_gzfile_open instead of
47133 grub_file_open.
f19dbdb7 47134
d9864ee1 47135 * commands/cmp.c: Include grub/gzio.h.
47136 (grub_cmd_cmp): Use grub_gzfile_open instead of
47137 grub_file_open.
47138
47139 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47140 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47141 grub_file_open.
47142 (grub_rescue_cmd_module): Likewise.
47143
fa46f4b5 471442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47145
47146 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47147 kern/sparc64/ieee1275/init.c because it contains _start.
47148 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47149
e9211b5d 471502005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47151
47152 * configure.ac: Add support for sparc64 host with ieee1275
47153 firmware.
47154 * configure: Generated from configure.ac.
47155 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47156 instead of int.
47157 (grub_ofdisk_read): Likewise.
47158 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47159 pointers as (void *) to remove a warning.
47160 (grub_ofdisk_close): Likewise.
47161 (grub_ofdisk_read): Likewise.
47162 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47163 returns, so make it return void to remove a warning.
47164 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47165 Corresponding prototype change.
47166 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47167 values, and cast the pointers as (void *) to remove a warning.
47168 (grub_mm_dump): Likewise.
47169 * conf/sparc64-ieee1275.mk: New file.
47170 * conf/sparc64-ieee1275.rmk: Likewise.
47171 * include/grub/sparc64/setjmp.h: Likewise.
47172 * include/grub/sparc64/types.h: Likewise.
47173 * include/grub/sparc64/ieee1275/console.h: Likewise.
47174 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47175 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47176 * include/grub/sparc64/ieee1275/time.h: Likewise.
47177 * kern/sparc64/cache.c: Likewise.
47178 * kern/sparc64/dl.c: Likewise.
47179 * kern/sparc64/ieee1275/init.c: Likewise.
47180 * kern/sparc64/ieee1275/openfw.c: Likewise.
47181
385c6a92 471822005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47183
47184 * util/console.c (grub_ncurses_putchar): If C is greater than
47185 0x7f, set C to a question mark.
47186 (grub_ncurses_getcharwidth): New function.
47187 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47188 getcharwidth.
47189
47190 * normal/menu.c (print_entry): Made aware of Unicode. First,
47191 convert TITLE to UCS-4, and predict the cursor position by
47192 grub_getcharwidth.
47193
47194 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47195 const to SRC.
47196 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47197
16ccb8b1 471982005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47199
47200 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47201 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47202 grub_strcat.
47203
47204 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47205 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47206 grub_strcpy and grub_strlen. Take it into account that a space
47207 character is inserted as a delimiter.
47208
6a85ce79 472092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47210
47211 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47212 invalid magic in the error.
6a85ce79 47213
47214 * commands/search.c: New file.
f19dbdb7 47215
6a85ce79 47216 * util/grub-emu.c (main): Call grub_search_init and
47217 grub_search_fini.
47218
47219 * kern/rescue.c (grub_rescue_print_disks): Removed.
47220 (grub_rescue_print_devices): New function.
47221 (grub_rescue_cmd_ls): Use grub_device_iterate with
47222 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47223 grub_rescue_print_disks.
47224
47225 * kern/partition.c (grub_partition_iterate): Return the result of
47226 PARTMAP->ITERATE instead of GRUB_ERRNO.
47227
47228 * kern/device.c: Include grub/partition.h.
47229 (grub_device_iterate): New function.
47230
47231 * include/grub/partition.h (grub_partition_iterate): Return int
47232 instead of grub_err_t.
47233
47234 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47235 prototype.
47236 [GRUB_UTIL] (grub_search_fini): Likewise.
47237
47238 * include/grub/device.h (grub_device_iterate): New prototype.
47239
47240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47241 commands/search.c.
47242 (pkgdata_MODULES): Added search.mod.
47243 (search_mod_SOURCES): New variable.
47244 (search_mod_CFLAGS): Likewise.
47245
47246 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47247 (pkgdata_MODULES): Added search.mod.
47248 (search_mod_SOURCES): New variable.
47249 (search_mod_CFLAGS): Likewise.
47250
47251 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47252 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47253 All callers changed.
47254
47255 * DISTLIST: Added commands/search.c.
47256
ef095434 472572005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47258
47259 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47260 conversion.
47261 (grub_getcharwidth): New function.
47262
47263 * kern/misc.c (grub_utf8_to_ucs4): New function.
47264
47265 * include/grub/term.h (struct grub_term): Added a new member
47266 "getcharwidth".
47267 (grub_getcharwidth): New prototype.
47268
47269 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47270
47271 * term/i386/pc/console.c (map_char): New function. Segregated from
47272 grub_console_putchar.
47273 (grub_console_putchar): Use map_char.
47274 (grub_console_getcharwidth): New function.
47275 (grub_console_term): Specified grub_console_getcharwidth as
47276 getcharwidth.
47277
47278 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47279 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47280
47281 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47282 GRUB_ERRNO.
47283 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47284 on grub_strtoul completely.
47285 (write_char): Declare local variables in the beginning of the
47286 function.
47287 (grub_vesafb_getcharwidth): New function.
47288 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47289 getcharwidth.
47290
1f0a95e4 472912005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47292
47293 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47294 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47295 commands/i386/pc/vbetest.c.
47296
47297 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47298 call grub_vbe_get_controller_info again, because the returned
47299 information is volatile.
47300 (grub_vbe_set_video_mode): Mostly rewritten.
47301 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47302 grub_vbe_status_t correctly.
47303 (grub_vbe_get_video_mode_info): Likewise.
47304 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47305 several if statements.
47306
47307 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47308 * commands/i386/pc/vbeinfo.c: ... this.
47309
47310 * commands/i386/pc/vbe_test.c: Renamed to ...
47311 * commands/i386/pc/vbetest.c: ... this.
47312
47313 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47314 ...
47315 (grub_cmd_vbeinfo): ... this. Save video modes before
47316 iterating. Skip a video mode, if it is not available, not enough
47317 information is given or it is monochrome. Show the memory
47318 model. Leave the interpretation of MODEVAR to grub_strtoul
47319 completely.
47320 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47321 (GRUB_MOD_FINI): Likewise.
47322
47323 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47324 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47325 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47326 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47327 grub_strtoul completely.
47328 (real2pm): Removed.
47329 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47330 (GRUB_MOD_FINI): Likewise.
47331
47332 * normal/misc.c: Include grub/mm.h.
47333
47334 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47335 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47336 (vbe_list_modes_mod_SOURCES): Removed.
47337 (vbe_list_modes_mod_CFLAGS): Likewise.
47338 (vbe_test_mod_SOURCES): Likewise.
47339 (vbe_test_mod_CFLAGS): Likewise.
47340 (vbeinfo_mod_SOURCES): New variable.
47341 (vbeinfo_mod_CFLAGS): Likewise.
47342 (vbetest_mod_SOURCES): Likewise.
47343 (vbetest_mod_CFLAGS): Likewise.
47344
992ffbbe 473452005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47346
47347 * normal/misc.c: New file.
47348
47349 * DISTLIST: Added normal/misc.c.
f19dbdb7 47350
992ffbbe 47351 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47352 DISK to HOOK. Call HOOK with DISK.
47353 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47354 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47355 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47356
47357 * normal/menu_entry.c (struct screen): Added a new member
47358 "completion_shown".
47359 (completion_buffer): New global variable.
47360 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47361 (store_completion): New function.
47362 (complete): Likewise.
47363 (clear_completions): Likewise.
47364 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47365 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47366 a tab, call complete.
47367
47368 * normal/completion.c (disk_dev): Removed.
47369 (print_simple_completion): Likewise.
47370 (print_partition_completion): Likewise.
47371 (print_func): New global variable.
47372 (add_completion): Do not take the arguments WHAT or PRINT any
47373 longer. Added a new argument TYPE. Instead of printing directly,
47374 call PRINT_FUNC if not NULL.
47375 All callers changed.
47376 (complete_device): Use a local variable DEV instead of
47377 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47378 (grub_normal_do_completion): Take a new argument HOOK. Do not
47379 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47380 empty string, return NULL instead.
47381 All callers changed.
47382
47383 * normal/cmdline.c (print_completion): New function.
47384
47385 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47386 to HOOK.
47387 All callers changed.
47388
47389 * kern/disk.c (grub_print_partinfo): Removed.
47390
47391 * include/grub/partition.h (struct grub_partition_map): Add a new
47392 argument DISK into HOOK of ITERATE.
47393 (grub_partition_iterate): Add a new argument DISK to HOOK.
47394
47395 * include/grub/normal.h (enum grub_completion_type): New enum.
47396 (grub_completion_type_t): New type.
47397 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47398 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47399 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47400 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47401 (grub_normal_do_completion): Added a new argument HOOK.
47402 (grub_normal_print_device_info): New prototype.
47403
47404 * include/grub/disk.h (grub_print_partinfo): Removed.
47405
47406 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47407 (normal_mod_SOURCES): Likewise.
47408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47409 (normal_mod_SOURCES): Likewise.
47410
47411 * commands/ls.c (grub_ls_list_disks): Use
47412 grub_normal_print_device_info instead of grub_print_partinfo. Free
47413 PNAME.
47414 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47415 duplicating the code.
47416
0bd41162 474172005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47418
47419 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47420 follow GCS more precisely.
47421 * commands/i386/pc/vbe_test.c: Likewise.
47422 * include/grub/i386/pc/vbe.h: Likewise.
47423 * term/i386/pc/vesafb.c: Likewise.
47424 * video/i386/pc/vbe.c: Likewise.
0bd41162 47425
6323696a 474262005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47427
47428 * DISTLIST: Added term/i386/pc/vesafb.c
47429 DISTLIST: Added video/i386/pc/vbe.c
47430 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47431 DISTLIST: Added commands/i386/pc/vbe_test.c.
47432 * commands/i386/pc/vbe_list_modes.c: New file.
47433 * commands/i386/pc/vbe_test.c: Likewise.
47434 * term/i386/pc/vesafb.c: Likewise.
47435 * video/i386/pc/vbe.c: Likewise.
47436 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47437 (grub_vbe_probe) Added prototype.
47438 (grub_vbe_set_video_mode) Likewise.
47439 (grub_vbe_get_video_mode) Likewise.
47440 (grub_vbe_get_video_mode_info) Likewise.
47441 (grub_vbe_set_pixel_rgb) Likewise.
47442 (grub_vbe_set_pixel_index) Likewise.
47443 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47444 (pkgdata_MODULES): Added vesafb.mod.
47445 (pkgdata_MODULES): Added vbe_list_modes.mod.
47446 (pkgdata_MODULES): Added vbe_test.mod.
47447 (vbe_mod_SOURCES): Added.
47448 (vbe_mod_CFLAGS): Likewise.
47449 (vesafb_mod_SOURCES): Likewise.
47450 (vesafb_mod_CFLAGS): Likewise.
47451 (vbe_list_modes_mod_SOURCES): Likewise.
47452 (vbe_list_modes_mod_CFLAGS): Likewise.
47453 (vbe_test_mod_SOURCES): Likewise.
47454 (vbe_test_mod_CFLAGS): Likewise.
47455
0a74e62f 474562005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47457
0a74e62f 47458 * normal/command.c (grub_command_execute): If INTERACTIVE is
47459 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47460 CMDLINE. Disable the pager if INTERACTIVE is true.
47461 All callers are changed.
47462
47463 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47464 before reading a config file.
47465 * normal/main.c (read_config_file): Even if a command is not
47466 found, register it if it is within an entry.
47467
47468 * util/grub-emu.c: Include sys/types.h and unistd.h.
47469 (options): Added --hold.
47470 (struct arguments): Added a new member "hold".
47471 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47472 missing.
47473 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47474 cleared by a debugger, if it is not zero.
47475
47476 * include/grub/normal.h (grub_command_execute): Add an argument
47477 INTERACTIVE.
47478
e51f85ae 474792005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47480
47481 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47482
e9c6f39b 474832005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47484
47485 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47486 program with another one, because the old one didn't detect a bug
47487 in gcc-3.4. Always use regparm 2, because the new test is still
47488 not enough for gcc-4.0. Someone must investigate a simple test
47489 case which detects a bug in gcc-4.0.
47490
8de3495c 474912005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47492
47493 * DISTLIST: Added normal/completion.c.
47494
47495 * normal/completion.c: New file.
f19dbdb7 47496
8de3495c 47497 * term/i386/pc/console.c (grub_console_getwh): New function.
47498 (grub_console_term): Assign grub_console_getwh to getwh.
47499
47500 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47501 function is defined in normal/completion.c as
47502 grub_normal_do_completion.
47503 (grub_cmdline_get): Use grub_normal_do_completion instead of
47504 grub_tab_complete.
47505
47506 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47507 returns non-zero, otherwise return 0.
47508 (grub_partition_iterate): First, probe the partition map. Then,
47509 call ITERATE only for this partition map.
47510
47511 * kern/misc.c (grub_strncmp): Rewritten.
47512
47513 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47514 returns non-zero. Otherwise return 0.
47515
47516 * include/grub/partition.h (grub_partition_map_iterate): Return
47517 int instead of void.
47518
47519 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47520
47521 * include/grub/misc.h (grub_strncmp): Change the type of N to
47522 grub_size_t.
47523
47524 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47525 of void.
47526
47527 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47528 unsigned explicitly before comparing it with I.
8de3495c 47529
47530 * kern/main.c (grub_env_write_root): Add the attribute unused into
47531 VAR.
47532
47533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47534 normal/completion.c.
47535 (normal_mod_SOURCES): Likewise.
47536 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47537 (normal_mod_SOURCES): Likewise.
47538
47539 * normal/command.c (grub_iterate_commands): If ITERATE returns
47540 non-zero, return one immediately.
47541
e85e144b 475422005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47543
47544 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47545 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47546 descriptions.
47547 (grub_vbe_get_controller_info): New function.
47548 (grub_vbe_get_mode_info): Likewise.
47549 (grub_vbe_set_mode): Likewise.
47550 (grub_vbe_get_mode): Likewise.
47551 (grub_vbe_set_memory_window): Likewise.
47552 (grub_vbe_get_memory_window): Likewise.
47553 (grub_vbe_set_scanline_length): Likewise.
47554 (grub_vbe_get_scanline_length): Likewise.
47555 (grub_vbe_set_display_start): Likewise.
47556 (grub_vbe_get_display_start): Likewise.
47557 (grub_vbe_set_palette_data): Likewise.
47558 * include/grub/i386/pc/vbe.h: New file.
47559
c46153d2 475602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47561
47562 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47563 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47564 * DISTLIST: Likewise.
47565 * kern/ieee1275/of.c: Moved to ...
47566 * kern/ieee1275/ieee1275.c: ... here.
47567
0cb90c45 475682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47569
47570 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47571 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47572 Pass 0 as `end' parameter to grub_strtoul().
47573
a19fb360 475742005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47575
47576 * include/grub/powerpc/ieee1275/console.h: Do not include
47577 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47578 ifdef.
47579 (grub_console_cur_color): Remove i386-specific prototype.
47580 (grub_console_real_putchar): Likewise.
47581 (grub_console_checkkey): Likewise.
47582 (grub_console_getkey): Likewise.
47583 (grub_console_getxy): Likewise.
47584 (grub_console_gotoxy): Likewise.
47585 (grub_console_cls): Likewise.
47586 (grub_console_setcursor): Likewise.
47587 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47588 Include <grub/machine/console.h>.
47589 * term/ieee1275/ofconsole.c: Likewise.
47590
4ac9bd04 475912005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47592
47593 * Makefile.in (LIBLZO): New variable.
47594
47595 * configure.ac: Check for LZO version 2.
47596
47597 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47598 lzo/lzo1x.h instead of lzo1x.h.
47599
47600 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47601 of -llzo.
47602
47603 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47604 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47605
47606 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47607 copying the data from PARTITION to P.
47608
f4917dfd 476092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47610
47611 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47612 negative, unload the module.
47613
47614 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47615 map is "pc_partition_map" but not "pc".
47616 (usage): Fix the description. The options are --boot-image and
47617 --core-image but not --boot-file or --core-file.
47618 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47619 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47620 DEFAULT_DIRECTORY.
47621
47622 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47623 --core-file. Specify INSTALL_DEVICE as an argument.
47624
47625 * util/console.c: Include config.h.
47626 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47627 [HAVE_NCURSES_H]: Include ncurses.h.
47628 [HAVE_CURSES_H]: Include curses.h.
47629 [!A_NORMAL] (A_NORMAL): Defined as zero.
47630 [!A_STANDOUT] (A_STANDOUT): Likewise.
47631
47632 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47633 -lncurses.
47634 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47635
47636 * configure.ac: Check for curses libraries and headers.
47637
47638 * Makefile.in (LIBCURSES): New variable.
47639
47640 * genmk.rb (Script::rule): Set the executable bits.
47641
47642 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47643 name of the PC partition map is "pc_partition_map" but not "pc".
47644
0e143073 476452005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47646
47647 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47648 (modules): Likewise.
47649 (usage): Added descriptions for --modules and --grub-probefs.
47650 Handle --modules and --grub-probefs. Save the arguments in MODULES
47651 and GRUB_PROBEFS, respectively.
47652 Auto-detect a filesystem module against GRUBDIR. If the result is
47653 empty and modules are not specified explicitly, abort the
47654 installation. Add the result to MODULES.
47655
47656 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47657 disk/powerpc/ieee1275/ofdisk.c,
47658 include/grub/powerpc/ieee1275/init.h and
47659 term/powerpc/ieee1275/ofconsole.c.
47660 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47661 term/ieee1275/ofconsole.c.
47662
47663 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47664
47665 * COPYING: Upgraded to the latest version. Only the address of the
47666 FSF office has changed.
f19dbdb7 47667
efd6e6d5 476682005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47669
47670 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47671 kern/ieee1275.c with kern/ieee1275/of.c.
47672
47673 * kern/ieee1275.c: Moved to ...
47674 * kern/ieee1275/of.c: ... here.
47675
8ceafda2 476762005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47677
47678 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47679 readability.
8ceafda2 47680
47681 * config.guess: Updated to the latest version from gnulib.
47682 * config.sub: Likewise.
47683 * install.sh: Likewise.
47684 * mkinstalldirs: Likewise.
47685
47686 * include/grub/console.h: Removed. This file is arch-specific. Do
47687 not put this in include/grub.
47688
47689 * include/grub/i386/pc/console.h: Resurrected.
47690
47691 * util/console.c: Include grub/machine/console.h instead of
47692 grub/console.h.
47693 * util/grub-emu.c: Likewise.
47694
267f6cd9 476952005-08-04 Marco Gerards <metgerards@student.han.nl>
47696
47697 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47698 hardcoded value.
f19dbdb7 47699
267f6cd9 47700 From Vincent Pelletier <subdino2004@yahoo.fr>
47701 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47702 Redefined to use grub_getwh.
47703 (grub_term): New member named getwh.
47704 (grub_getwh): New prototype.
47705 * kern/term.c (grub_getwh): New function.
47706 * term/i386/pc/console.c (grub_console_getwh): New function.
47707 (grub_console_term): New member `getwh'.
47708 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47709 (grub_vga_term): New member `getwh'.
0b5abe02 47710 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47711 grub_ssize_t.
47712 (grub_ofconsole_getw): New function.
47713 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47714 (grub_ofconsole_term): New field named getwh and new initial
47715 value.
47716
3be7266d 477172005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47718
47719 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47720 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47721 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47722 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47723 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47724 of <grub/machine/ieee1275.h>.
47725 * commands/ieee1275/reboot.c: Likewise.
47726 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47727 * kern/ieee1275.c: ... to here. All users updated. Change all
47728 parameter structs to use new type `grub_ieee1275_cell_t'.
47729 * term/powerpc/ieee1275/ofconsole.c: Move ...
47730 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47731 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47732 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47733 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47734 to return int.
47735 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47736 Remove unused prototypes. All users updated.
47737 * include/grub/powerpc/ieee1275/console.h: Removed.
47738 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47739 `grub_ieee1275_cell_t'.
47740 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47741 Cast comparisons with -1 to the correct type.
47742 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47743 type to match `grub_ieee1275_entry_fn'.
47744
8b5f3938 477452005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47746
47747 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47748
47749 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47750 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47751 partmap/sun.c.
47752 (grub_probefs_SOURCES): New variable.
47753
47754 * util/i386/pc/grub-probefs.c: New file.
47755
47756 * util/i386/pc/grub-setup.c (main): Call
47757 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47758 grub_hfs_init and grub_jfs_init to initialize the system. Call
47759 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47760 grub_pc_partition_map_fini to finish the system.
47761
ea409713 477622005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47763
47764 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47765 function.
47766 (grub_multiboot_load_elf32): Likewise.
47767 (grub_multiboot_is_elf64): Likewise.
47768 (grub_multiboot_load_elf64): Likewise.
47769 (grub_multiboot_load_elf): Likewise.
47770 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47771 an ELF32 or ELF64 file.
47772 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47773
47774 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47775 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47776 NULL before calling FS->LABEL.
47777 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47778 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47779 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47780 before calling FS->LABEL.
47781
141a288b 477822005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47783
47784 * util/i386/pc/grub-install.in (datadir): New variable.
47785 (libdir): Removed.
47786 (pkgdatadir): New variable.
47787 (pkglibdir): Removed.
47788
0d5f8a54 477892005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47790
47791 * DISTLIST: Added util/i386/pc/grub-install.in.
47792
47793 * util/i386/pc/grub-install.in: New file.
47794
47795 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47796 (grub_install_SOURCES): Likewise.
47797
47798 * genmk.rb: Added support for scripts.
47799 (Script): New class.
47800 (scripts): New variable.
47801
47802 * Makefile.in (install-local): Install sbin_SCRIPTS by
47803 INSTALL_SCRIPT.
47804 (uninstall): Remove sbin_SCRIPTS.
47805
47806 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47807 device, try to get a GRUB device by
47808 grub_util_biosdisk_get_grub_dev.
47809 Free DEST_DEV.
47810
47811 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47812 description for --device-map.
47813
5f968e1e 478142005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47815
47816 Change the semantics of variable hooks. They now return strings
47817 instead of error values.
f19dbdb7 47818
5f968e1e 47819 * util/i386/pc/grub-setup.c: Include grub/env.h.
47820 (setup): Use grub_device_set_root instead of grub_env_set.
47821
47822 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47823 grub_env_get instead of grub_device_set_root and
47824 grub_device_get_root, respectively.
47825
47826 * kern/main.c (grub_env_write_root): New function.
47827 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47828 grub_env_set instead of grub_device_set_root.
47829
47830 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47831 many variables.
47832 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47833 rather than calling ENV->WRITE_HOOK afterwards.
47834 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47835 passing a pointer of a pointer.
47836 (grub_register_variable_hook): Change the types of "read_hook" and
47837 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47838 respectively.
47839 Allocate the default empty string on the heap, because this string
47840 may be freed later.
47841
47842 * kern/device.c: Include grub/env.h.
47843 (grub_device_set_root): Removed.
47844 (grub_device_get_root): Likewise.
47845 (grub_device_open): Use grub_env_get instead of
47846 grub_device_get_root.
47847
47848 * include/grub/env.h (grub_env_read_hook_t): New type.
47849 (grub_env_write_hook_t): Likewise.
47850 (grub_env_var): Change the types of "read_hook" and "write_hook"
47851 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47852 (grub_register_variable_hook): Likewise.
47853
47854 * include/grub/device.h (grub_device_set_root): Removed.
47855 (grub_device_set_root): Likewise.
47856
47857 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47858 make sure that DIRNAME terminates with '/', so that
47859 grub_fat_find_dir will fail if PATH is not a directory.
47860
47861 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47862 from DIRNAME.
47863 Use the qualifier auto for print_files and print_files_long.
47864 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47865 as a regular file.
47866 Put a newline only if there is no error.
47867 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47868 used.
47869
896f0afd 478702005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47871
47872 * kern/partition.c (grub_partition_probe): Initialize PART to
47873 NULL. Otherwise, when no partition map is registered, this returns
47874 a garbage.
47875
b28b81b2 478762005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47877
47878 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47879 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47880 valid.
47881
5f3607e0 478822005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47883
47884 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47885 information on each device, if it does not have partitions. Print
47886 "Device" instead of "Disk", because this function is not specific
47887 to disk devices.
47888
47889 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47890 static to ensure that it is put on the memory rather than a
47891 register.
47892
502c87e8 478932005-07-17 Yoshinori Okuji <okuji@enbug.org>
47894
47895 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47896 (grub_cat_init): Likewise.
47897 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47898 (options): Likewise.
47899 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47900 (grub_configfile_init): Likewise.
47901 * font/manager.c (GRUB_MOD_INIT): Likewise.
47902 * commands/help.c (GRUB_MOD_INIT): Likewise.
47903 (grub_help_init): Likewise.
47904 * normal/command.c (grub_command_init): Likewise.
47905 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47906 * disk/loopback.c (grub_loop_init): Likewise.
47907 (GRUB_MOD_INIT): Likewise.
47908 * commands/ls.c (grub_ls_init): Likewise.
47909 (GRUB_MOD_INIT): Likewise.
47910 (options): Likewise.
47911 * commands/boot.c (grub_boot_init): Likewise.
47912 (GRUB_MOD_INIT): Likewise.
47913 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47914 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47915 (GRUB_MOD_INIT): Likewise.
47916 * commands/cmp.c (grub_cmp_init): Likewise.
47917 (GRUB_MOD_INIT): Likewise.
47918
47919 * normal/arg.c: Use <> instead of "" to include header files.
47920 (SHORT_ARG_HELP): New macro.
47921 (SHORT_ARG_USAGE): Likewise.
47922 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47923 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47924 descriptions.
47925 (find_short): Check if C is 'h' or 'u' explicitly.
47926 (grub_arg_show_help): Use space characters instead of tabs. Treat
47927 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47928 are shown with --help and --usage only if they are not used for
47929 the command itself.
47930 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47931 'h' and 'u'.
47932
47933 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47934 const into "longarg". Change the type of "shortarg" to int.
47935
f806d18e 479362005-07-17 Yoshinori Okuji <okuji@enbug.org>
47937
47938 * boot/i386/pc/boot.S (boot_drive_check): New label.
47939
47940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47941 macro.
47942
47943 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47944 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47945
e293232b 479462005-07-17 Yoshinori Okuji <okuji@enbug.org>
47947
47948 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47949 When turning off Gate A20, skip the check and return immediately,
47950 because this is not fatal usually.
47951
ebedfd00 479522005-07-17 Yoshinori Okuji <okuji@enbug.org>
47953
47954 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47955 be 0x7C00 instead of 0x8000.
47956
47957 * boot/i386/pc/pxeboot.S: Rewritten.
47958
47959 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47960 EXT_C.
47961 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47962 result.
47963
654fc59f 479642005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47965
47966 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47967 robustness. This routine now supports a BIOS call and System
47968 Control Port A to modify the gate A20.
47969
47970 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47971 Increased to 0x440.
47972
09f9923f 479732005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47974
47975 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47976 device path and resulting ihandle.
47977 (grub_ofdisk_close): dprintf the ihandle being closed.
47978 (grub_ofdisk_read): dprintf function parameters.
47979 * kern/mm.c (grub_mm_init_region): Likewise.
47980 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47981 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47982 size, and boot arguments.
47983 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47984 before loading into memory.
47985 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47986 before loading into memory.
47987
7ef504d8 479882005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47989
47990 * kern/mm.c: Added much documentation.
47991 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47992 8, set to 5 instead of 8.
47993
e0f050c2 479942005-07-10 Yoshinori Okuji <okuji@enbug.org>
47995
47996 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47997
47998 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47999 (grub_mkdevicemap_SOURCES): New variable.
48000
48001 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48002 lib/device.c of GRUB Legacy.
48003
7224189a 480042005-07-10 Yoshinori Okuji <okuji@enbug.org>
48005
48006 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48007 instead of PATH is NULL.
48008
68c864eb 480092005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48010
48011 * commands/cmp.c (BUFFER_SIZE): New macro.
48012 (grub_cmd_cmp): Close the right file at the right time. Compare
48013 only data just read. Don't report files of different size as
48014 identical. Dynamically allocate buffers. Move variable
48015 declarations at the beginning of function.
48016
e6f3e614 480172005-07-09 Yoshinori Okuji <okuji@enbug.org>
48018
48019 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48020 reverse.
48021
f8f1559a 480222004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48023
48024 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48025 when backspace is pressed at beginning of line.
48026
39c9d41d 480272005-07-03 Yoshinori Okuji <okuji@enbug.org>
48028
48029 * DISTLIST: Added genfslist.sh.
48030
48031 * normal/main.c (fs_module_list): New variable.
48032 (autoload_fs_module): New function.
48033 (read_fs_list): Likewise.
48034 (grub_normal_execute): Call read_fs_list.
48035
48036 * kern/fs.c (grub_fs_autoload_hook): New variable.
48037 (grub_fs_probe): Added support for auto-loading.
48038
48039 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48040 (grub_fs_module_list_t): New type.
48041
48042 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48043 (grub_fs_autoload_hook): New prototype.
48044
48045 * genfslist.sh: New file.
f19dbdb7 48046
39c9d41d 48047 * genmk.rb: Added a rule to generate a filesystem list.
48048
121c1d83 480492005-06-30 Marco Gerards <metgerards@student.han.nl>
48050
48051 * configure.ac: Fix the test for cross-compiling.
48052
48053 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48054 define GRUB_UTIL anymore.
48055
48056 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48057 so this function works on other systems than just big endian.
48058 (load_modules): Likewise.
48059 (add_segments): Likewise.
48060
e75d76e1 480612005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48062
48063 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48064 contains `l' modifier, get a long from va_arg().
48065
50b5a0a7 480662005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48067
48068 * kern/mm.c (grub_free): If the next free block which is being
48069 merged is the first free block, set the first block to the block
48070 being freed.
48071 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48072
89371b20 480732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48074
48075 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48076 `grub_ieee1275_chosen'.
48077
168d6e58 480782005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48079
48080 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48081 (grub_ieee1275_chosen): New variable.
48082 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48083 `chosen'.
48084 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48085 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48086 Rename first argument to `phandle' for consistency.
48087 (grub_ieee1275_get_property_length): Likewise.
48088 (grub_ieee1275_next_property): Likewise. Change type of first argument
48089 to grub_ieee1275_phandle_t.
48090 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48091 Move export next to declaration.
48092 (grub_ieee1275_chosen): New variable.
48093 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48094 Correct cosmetic typo.
48095 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48096 `grub_ieee1275_chosen'.
48097 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48098 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48099 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48100 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48101 `grub_ieee1275_chosen'.
48102
ca5baa3f 481032005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48104
48105 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48106 /chosen/bootargs.
48107 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48108 /chosen/bootargs as "variable=value" pairs.
48109
708b345f 481102005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48111
48112 * include/grub/misc.h (grub_dprintf): New macro.
48113 (grub_real_dprintf): New prototype.
48114 (grub_strword): Likewise.
48115 (grub_iswordseparator): Likewise.
48116 * kern/misc.c (grub_real_dprintf): New function.
48117 (grub_strword): Likewise.
48118 (grub_iswordseparator): Likewise.
48119
f4c5e67c 481202005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48121
48122 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48123 (roundup): Remove macro.
48124 (grub_ieee1275_flags): Make static.
48125 (grub_ieee1275_realmode): Remove.
48126 (grub_ieee1275_test_flag): New function.
48127 (grub_ieee1275_set_flag): Likewise.
48128 (find_options): Rename to `grub_ieee1275_find_options'; update
48129 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48130 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48131 (cmain): New prototype.
48132 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48133 `grub_ieee1275_flags' directly.
48134 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48135 machine/biosdisk.h.
48136 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48137 Don't include grub/machine/init.h.
48138 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48140 Remove prototype.
48141 (grub_ieee1275_realmode): Likewise.
48142 (grub_ieee1275_flag): New enum.
48143 (grub_ieee1275_test_flag): New prototype.
48144 (grub_ieee1275_set_flag): New prototype.
48145 * include/grub/powerpc/ieee1275/init.h: Remove file.
48146 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48147 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48148 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48149 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48150 comment.
48151 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48152 `grub_ieee1275_test_flag'.
48153 (grub_ieee1275_encode_devname): Likewise.
48154
ed16607e 481552005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48156
48157 * include/grub/powerpc/ieee1275/ieee1275.h
48158 (grub_ieee1275_encode_devname): New prototype.
48159 (grub_ieee1275_get_filename): Likewise.
48160 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48161 function.
48162 (grub_set_prefix): Likewise.
48163 (grub_machine_init): Call grub_set_prefix.
48164 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48165 (grub_parse_type): New enum.
48166 (grub_ieee1275_get_devargs): New function.
48167 (grub_ieee1275_get_devname): Likewise.
48168 (grub_ieee1275_parse_args): Likewise.
48169 (grub_ieee1275_get_filename): Likewise.
48170 (grub_ieee1275_encode_devname): Likewise.
48171
be369920 481722005-03-30 Marco Gerards <metgerards@student.han.nl>
48173
48174 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48175 `grub_loader_unset'.
48176
a5ce3a4a 481772005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48178
48179 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48180 instead of grub_ieee1275_interpret.
48181 (grub_halt_init): New function.
48182 (grub_halt_fini): Likewise.
48183 (GRUB_MOD_INIT): Correct message grammar.
48184 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48185 instead of grub_ieee1275_interpret.
48186 (grub_reboot_init): New function.
48187 (grub_reboot_fini): Likewise.
48188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48189 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48190 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48191 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48192 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48193 function.
48194 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48195 Add prototype.
48196 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48197 prototype.
48198 (grub_halt): Likewise.
48199 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48200 (cmain): Remove __attribute__((unused)).
48201 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48202 (grub_heap_len): Likewise.
48203 (grub_machine_fini): New function.
48204 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48205 (grub_halt): Likewise.
48206 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48207 function.
48208 * util/powerpc/ieee1275/misc.c: New file.
48209
0058f771 482102005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48211
48212 * DISTLIST: New file.
48213 * gendistlist.sh: Likewise.
f19dbdb7 48214
0058f771 48215 * Makefile.in (COMMON_DISTFILES): Removed.
48216 (BOOT_DISTFILES): Likewise.
48217 (CONF_DISTFILES): Likewise.
48218 (DISK_DISTFILES): Likewise.
48219 (FS_DISTFILES): Likewise.
48220 (INCLUDE_DISTFILES): Likewise.
48221 (KERN_DISTFILES): Likewise.
48222 (LOADER_DISTFILES): Likewise.
48223 (TERM_DISTFILES): Likewise.
48224 (UTIL_DISTFILES): Likewise.
48225 (DISTFILES): Likewise.
48226 (uninstall): Uninstall files in $(pkgdata_DATA).
48227 (DISTLIST): New target.
48228 (distdir): Use the contents of the file DISTLIST to get a list of
48229 distributed files.
48230
46b3b8a5 482312005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48232
48233 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48234 descriptor. This is ported from GRUB Legacy.
48235
48236 * gencmdlist.sh: Added an extra semicolon to make it work with
48237 old sed versions. Reported by Robert Bihlmeyer
48238 <robbe@orcus.priv.at>.
48239
5822ff87 482402005-03-08 Yoshinori Okuji <okuji@enbug.org>
48241
48242 Automatic loading of commands is supported.
f19dbdb7 48243
5822ff87 48244 * normal/main.c (read_command_list): New function.
48245 (grub_normal_execute): Call read_command_list.
48246
48247 * normal/command.c (grub_register_command): Return zero or CMD.
48248 Allocate CMD->NAME from the heap.
48249 Initialize CMD->MODULE_NAME to zero.
48250 Find the same name as well. If the same command is found and it is
48251 a dummy command, overwrite members. If it is not a dummy command,
48252 return zero.
48253 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48254 (grub_command_find): If a dummy command is found, load a module
48255 and retry to find a command only once.
48256
48257 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48258 make sure that each command is loaded.
48259
48260 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48261 macro.
48262 (struct grub_command): Remove const from the member `name'.
48263 Add a new member `module_name'.
48264 (grub_register_command): Return grub_command_t.
48265
48266 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48267 sure that each command is loaded.
48268
48269 * genmk.rb (PModule::rule): Specify a module name without the
48270 suffix ".mod" to gencmdlist.sh.
48271
7b1f4b57 482722005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48273
48274 * gencmdlist.sh: New file.
f19dbdb7 48275
7b1f4b57 48276 * genmk.rb (PModule::rule): Generate a rule for a command list.
48277 Clean command.lst.
48278 Generate command.lst from $(COMMANDFILES).
48279
48280 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48281 (DATA): Added $(pkgdata_DATA).
48282 (install-local): Install files in $(pkgdata_DATA).
48283
062aaf39 482842005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48285
48286 * term/i386/pc/vga.c (debug_command): Removed.
48287 (GRUB_MOD_INIT): Do not register the command "debug".
48288
48289 From Hollis Blanchard:
48290 * commands/configfile.c: New file.
48291 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48292 commands/configfile.c.
48293 (pkgdata_MODULES): Added configfile.mod.
48294 (configfile_mod_SOURCES): New variable.
48295 (configfile_mod_CFLAGS): Likewise.
48296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48297 commands/configfile.c.
48298 (pkgdata_MODULES): Added configfile.mod.
48299 (configfile_mod_SOURCES): New variable.
48300 (configfile_mod_CFLAGS): Likewise.
48301 * util/grub-emu.c (main): Call grub_configfile_init and
48302 grub_configfile_fini.
48303 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48304 prototype.
48305 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48306
cee01aa6 483072005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48310 address.
48311
48312 * commands/help.c (grub_cmd_help): Do not print newlines after
48313 the last command in print_command_help.
48314
93f3a1d8 483152005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48316
48317 * commands/default.h: New file.
48318 * commands/timeout.h: Likewise.
48319 * normal/context.c: Likewise.
f19dbdb7 48320
93f3a1d8 48321 * util/misc.c: Do not include sys/times.h.
48322 Include sys/time.h and grub/machine/time.h.
48323 (grub_get_rtc): Rewritten with gettimeofday.
48324
48325 * util/grub-emu.c (main): Call grub_default_init and
48326 grub_timeout_init before grub_normal_init, and call
48327 grub_timeout_fini and grub_default_fini after grub_main.
48328
48329 * util/console.c (grub_ncurses_checkkey): Return the read
48330 character or -1.
48331
48332 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48333 timeouts.
48334
48335 * normal/main.c (read_config_file): Push MENU. If this fails,
48336 print an error and wait for a user input.
48337 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48338 If a menu is empty or an error occurs, pop MENU.
48339 (grub_normal_execute): Pop and free MENU after grub_menu_run
48340 returns.
48341
48342 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48343
48344 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48345 include time.h.
48346 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48347 without GRUB_UTIL.
48348 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48349 time.h.
48350 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48351 without GRUB_UTIL.
48352
48353 * include/grub/normal.h (struct grub_menu_list): New struct.
48354 (grub_menu_list_t): New type.
48355 (struct grub_context): New struct.
48356 (grub_context_t): New type.
48357 (grub_register_command): Got rid of EXPORT_FUNC.
48358 (grub_unregister_command): Likewise.
48359 (grub_context_get): New prototype.
48360 (grub_context_get_current_menu): Likewise.
48361 (grub_context_push_menu): Likewise.
48362 (grub_context_pop_menu): Likewise.
48363 [GRUB_UTIL] (grub_default_init): Likewise.
48364 [GRUB_UTIL] (grub_default_fini): Likewise.
48365 [GRUB_UTIL] (grub_timeout_init): Likewise.
48366 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48367
48368 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48369 commands/timeout.c and normal/context.c.
48370 (pkgdata_MODULES): Added default.mod and timeout.mod.
48371 (normal_mod_SOURCES): Added normal/context.c.
48372 (default_mod_SOURCES): New variable.
48373 (default_mod_CFLAGS): Likewise.
48374 (timeout_mod_SOURCES): Likewise.
48375 (timeout_mod_CFLAGS): Likewise.
48376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48377 conf/i386-pc.rmk.
48378 (pkgdata_MODULES): Added default.mod and timeout.mod.
48379 (normal_mod_SOURCES): Added normal/context.c.
48380 (default_mod_SOURCES): New variable.
48381 (default_mod_CFLAGS): Likewise.
48382 (timeout_mod_SOURCES): Likewise.
48383 (timeout_mod_CFLAGS): Likewise.
48384
48385 * Makefile.in (all-local): Added $(MKFILES).
48386
4ed2e1dd 483872005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48388
48389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48390 (grub_emu_SOURCES): Likewise.
48391 (pkgdata_MODULES): Add `sun.mod'.
48392 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48394 `partmap/sun.c'.
48395 (pkgdata_MODULES): Add `sun.mod'.
48396 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48397 * include/grub/partition.h (grub_sun_partition_map_init): New
48398 prototype.
48399 (grub_sun_partition_map_fini): Likewise.
48400 * partmap/sun.c: New file.
48401 * util/grub-emu.c (main): Initialize and de-initialize the sun
48402 partitionmap support.
48403
4d4e372e 484042005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48405
48406 This implements an Emacs-like menu entry editor.
f19dbdb7 48407
4d4e372e 48408 * normal/menu_entry.c: New file.
f19dbdb7 48409
4d4e372e 48410 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48411 characters to ASCII.
48412 (saved_char): New variable.
48413 (grub_ncurses_checkkey): Rewritten completely.
48414 (grub_ncurses_getkey): Likewise.
48415 (grub_ncurses_init): Call raw instead of cbreak.
48416
48417 * normal/menu.c (print_entry): Do not put a space.
48418 (init_page): Renamed to ...
48419 (grub_menu_init_page): ... this. All callers changed.
48420 (edit_menu_entry): Removed.
48421 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48422
48423 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48424
48425 * kern/misc.c (grub_vprintf): Call grub_refresh.
48426
48427 * normal/menu.c (DISP_LEFT): Renamed to ...
48428 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48429 * normal/menu.c (DISP_UP): Renamed to ...
48430 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48431 * normal/menu.c (DISP_RIGHT): Renamed to ...
48432 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48433 * normal/menu.c (DISP_DOWN): Renamed to ...
48434 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48435 * normal/menu.c (DISP_HLINE): Renamed to ...
48436 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48437 * normal/menu.c (DISP_VLINE): Renamed to ...
48438 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48439 * normal/menu.c (DISP_UL): Renamed to ...
48440 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48441 * normal/menu.c (DISP_UR): Renamed to ...
48442 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48443 * normal/menu.c (DISP_LL): Renamed to ...
48444 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48445 * normal/menu.c (DISP_LR): Renamed to ...
48446 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48447 * normal/menu.c (TERM_WIDTH): Renamed to ...
48448 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48449 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48450 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48451 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48452 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48453 * normal/menu.c (TERM_MARGIN): Renamed to ...
48454 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48455 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48456 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48457 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48458 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48459 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48460 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48461 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48462 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48463 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48464 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48465 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48466 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48467 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48468 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48469 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48470 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48471 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48472 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48473 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48474 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48475 All callers changed.
48476
48477 * include/grub/normal.h: New prototype.
48478
48479 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48480 normal/menu_entry.c.
48481 (normal_mod_SOURCES): Likewise.
48482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48483 (normal_mod_SOURCES): Likewise.
48484
e6b92c8a 484852005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48486
48487 * include/grub/normal.h (grub_halt_init): New prototype.
48488 (grub_halt_fini): Likewise.
48489 (grub_reboot_init): Likewise.
48490 (grub_reboot_fini): Likewise.
48491
48492 * util/grub-emu.c: Include signal.h.
48493 (main_env): New global variable.
48494 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48495 catch C-c.
48496 (grub_machine_fini): New function.
48497 (main): Call grub_halt_init and grub_reboot_init before
48498 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48499 Call setjmp with MAIN_ENV to go back afterwards.
48500 Call grub_machine_fini right before return.
48501
48502 * include/grub/util/misc.h: Include setjmp.h.
48503 (main_env): New prototype.
48504
48505 * include/grub/kernel.h (grub_machine_fini): New prototype.
48506 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48507 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48508
48509 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48510 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48511 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48512
e6b92c8a 48513 * util/i386/pc/misc.c: New file.
f19dbdb7 48514
e6b92c8a 48515 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48516 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48517 commands/i386/pc/reboot.c.
48518
c642636f 485192005-02-14 Guillem Jover <guillem@hadrons.org>
48520
48521 * include/grub/dl.h (grub_dl_check_header): New prototype.
48522 (grub_arch_dl_check_header): Change return type to grub_err_t,
48523 remove size parameter and export function. Update all callers.
48524 * kern/dl.c (grub_dl_check_header): New function.
48525 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48526 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48527 are inside the core.
48528 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48529 independent ELF header checks.
48530 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48531 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48532 `grub_dl_check_header' instead of explicit checks. Check for the
48533 ELF type.
48534 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48535 `grub_dl_check_header' instead of explicit checks. Remove arch
48536 specific ELF header checks.
48537
e6b92c8a 48538 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48539 argument SIZE.
48540
5eabe94b 485412005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48542
48543 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48544 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48545
1b14a681 485462005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48547
48548 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48549 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48550 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48551 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48552 * partmap/amiga.c (amiga_partition_map_iterate): Return
48553 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48554 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48555
aca108aa 485562005-02-01 Guillem Jover <guillem@hadrons.org>
48557
48558 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48559 help info.
48560
c9f9c556 485612005-01-31 Marco Gerards <metgerards@student.han.nl>
48562
48563 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48564 Removed prototype.
48565 (grub_rescue_cmd_linux): New prototype.
48566 (grub_rescue_cmd_initrd): Likewise.
48567 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48568 `bi_rec'.
48569 (grub_linux_release_mem): Release the memory for the initrd.
48570 (grub_load_linux): Renamed from this...
48571 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48572 Changed `entry' not to be static. Loop over memory regions to
48573 find another one when the default fails.
48574 (grub_rescue_cmd_initrd): New function.
48575 (grub_linux_init): Remove function.
48576 (grub_linux_fini): Likewise.
48577 (GRUB_MOD_INIT): Register `initrd'.
48578 (GRUB_MOD_FINI): Unregister `initrd'.
48579 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48580 Function removed.
48581 (grub_linux_normal_fini): Likewise.
48582 (GRUB_MOD_INIT): Register `initrd'.
48583 (GRUB_MOD_FINI): Unregister `initrd'.
48584
990cf3aa 485852005-01-31 Marco Gerards <metgerards@student.han.nl>
48586
48587 * commands/help.c: New file.
48588 * normal/arg.c (show_help): Renamed to...
48589 (grub_arg_show_help): ... this.
48590 * commands/i386/pc/halt.c: New file.
48591 * commands/i386/pc/reboot.c: Likewise.
48592 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48593 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48594 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48595 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48596 variables.
48597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48598 `commands/help.c'.
48599 (pkgdata_MODULES): Add `help.mod'.
48600 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48601 * grub/i386/pc/init.h (grub_reboot): New prototype.
48602 (grub_halt): Likewise.
48603 * include/grub/normal.h (grub_arg_show_help): New prototype.
48604 (grub_help_init): Likewise.
48605 (grub_help_fini): Likewise.
48606 * util/grub-emu.c (main): Initialize and deinitialize the help
48607 command.
48608
48609 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48610
48611 * normal/command.c (grub_command_init): Fixed the description of
48612 the `set' and `unset' commands.
48613
486142005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48615
48616 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48617 function.
48618 * commands/ieee1275/halt.c: New file.
48619 * commands/ieee1275/reboot.c: Likewise.
48620 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48621 `__attribute__ ((unused))'. Some GCS related fixed.
48622 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48623 (grub_suspend_fini): Likewise.
48624 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48625 and `halt.mod'.
48626 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48627 (halt_mod_CFLAGS): New variables.
48628 * include/grub/powerpc/ieee1275/ieee1275.h
48629 (grub_ieee1275_interpret): New prototype.
48630
1ab09cc7 486312005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48632
48633 * include/grub/misc.h (memmove): New prototype.
48634 (memcpy): Likewise.
48635
8b8cbdb2 486362005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48637
48638 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48639 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48640
e3741a27 486412005-01-22 Marco Gerards <metgerards@student.han.nl>
48642
48643 * kern/misc.c (grub_strndup): Function rewritten.
48644
776bd780 486452005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48646
48647 * normal/menu.c (TERM_WIDTH): Macro redefined.
48648 (TERM_TOP_BORDER_Y): Likewise.
48649 (draw_border): Replaced while-loop by a for-loop. Make the number
48650 of lines consistent with the number of lines displayed in
48651 print_entries. Added a margin below the rectangle.
48652 (print_entry): Make the entry fit in the rectangle.
48653 (print_entries): Display the scroll arrows next to the right
48654 border.
48655
78026bce 486562005-01-21 Marco Gerards <metgerards@student.han.nl>
48657
48658 * fs/minix.c (grub_minix_find_file): Reserve more space for
48659 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48660 `grub_strncpy' to copy `path' into it.
48661
67bbaf0f 486622005-01-21 Marco Gerards <metgerards@student.han.nl>
48663
48664 Add the loopback device, a device via which files can be accessed
48665 as devices.
f19dbdb7 48666
67bbaf0f 48667 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48668 (pkgdata_MODULES): Add loopback.mod.
48669 (loopback_mod_SOURCES): New variable.
48670 (loopback_mod_CFLAGS): Likewise.
48671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48672 `disk/loopback.c'.
48673 (pkgdata_MODULES): Add loopback.mod.
48674 (loopback_mod_SOURCES): New variable.
48675 (loopback_mod_CFLAGS): Likewise.
48676 * disk/loopback.c: new file.
48677 * include/grub/normal.h (grub_loop_init): New prototype.
48678 (grub_loop_fini): New prototype.
48679 * util/grub-emu.c (main): Initialize and de-initialize loopback
48680 support.
48681 * include/grub/disk.h (grub_disk_dev_id): Add
48682 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48683
6f1c18bd 486842005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48685
48686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48687 function.
48688 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48689 (suspend_mod_SOURCES): New variable.
48690 (suspend_mod_CFLAGS): Likewise.
48691 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48692 New prototype.
48693 * commands/ieee1275/suspend.c: New file.
48694
b38551da 486952005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48696
48697 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48698 ((unused))' to `__attribute__ ((used))'.
b38551da 48699 (GRUB_MOD_FINI): Likewise.
48700 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48701 * genmk.rb (PModule): Assign space to common symbols when linking
48702 modules.
48703
777aff39 487042005-01-20 Marco Gerards <metgerards@student.han.nl>
48705
48706 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48707 `unsigned' arguments to `grub_size_t'.
48708 (grub_malloc): Likewise.
48709 (grub_realloc): Likewise.
48710 (grub_memalign): Likewise.
48711 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48712 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48713 * util/misc.c (grub_malloc): Likewise.
48714 (grub_realloc): Likewise.
48715 * kern/mm.c (get_header_from_pointer): Change the casts to
48716 `unsigned' into a cast to `grub_size_t'.
48717
48718 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48719 point to `currnode' when `currnode' is changed.
48720
48721 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48722 Schottelius <nico-linux@schottelius.org>.
48723
d0ff18e1 487242005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48725
48726 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48727 (note_path): Remove variable.
48728 (GRUB_IEEE1275_NOTE_NAME): New macro.
48729 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48730 (grub_ieee1275_note_hdr): New structure.
48731 (grub_ieee1275_note_desc): Likewise.
48732 (grub_ieee1275_note): Likewise.
48733 (load_note): Remove `dir' argument. All callers updated. Remove
48734 `note_img' and `path'. Do not load a file from `note_path'.
48735 Initialize a struct grub_ieee1275_note and write that to `out'.
48736 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48737
4ca7004c 487382005-01-05 Marco Gerards <metgerards@student.han.nl>
48739
48740 * util/misc.c (grub_util_read_image): Revert last change. It
48741 called `grub_util_read_at', which seeks from the beginning of the
48742 file.
48743
0b412211 487442005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48745
48746 * TODO: Add note about endianness in grub-mkimage.
48747 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48748 section.
48749 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48750 (grub_mkimage_SOURCES): New target.
48751 * include/grub/kernel.h (grub_start_addr): Remove variable.
48752 (grub_end_addr): Likewise.
48753 (grub_total_module_size): Likewise.
48754 (grub_kernel_image_size): Likewise.
48755 (GRUB_MODULE_MAGIC): New constant.
48756 (grub_module_info): New structure.
48757 (grub_arch_modules_addr): New prototype.
48758 (grub_get_end_addr): Remove prototype.
48759 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48760 * include/grub/powerpc/ieee1275/kernel.h: New file.
48761 * include/grub/util/misc.h (grub_util_get_fp_size): New
48762 prototype.
48763 (grub_util_read_at): Likewise.
48764 (grub_util_write_image_at): Likewise.
48765 * kern/main.c (grub_get_end_addr): Remove function.
48766 (grub_load_modules): Call grub_arch_modules_addr instead of using
48767 grub_end_addr. Look for a grub_module_info struct in memory. Use
48768 the grub_module_info fields instead of calling grub_get_end_addr
48769 as loop conditions. Move grub_add_unused_region code here.
48770 (grub_add_unused_region): Remove function.
48771 * kern/i386/pc/init.c: Include grub/cache.h.
48772 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48773 one call to add_mem_region.
48774 (grub_arch_modules_addr): New function.
48775 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48776 (grub_total_module_size): Likewise.
48777 Include grub/machine/kernel.h.
48778 (grub_arch_modules_addr): New function.
48779 * util/grub-emu.c (grub_end_addr): Remove variable.
48780 (grub_total_module_size): Likewise.
48781 (grub_arch_modules_addr): New function.
48782 * util/misc.c: Include unistd.h.
48783 (grub_util_get_fp_size): New function.
48784 (grub_util_read_at): Likewise.
48785 (grub_util_write_image_at): Likewise.
48786 (grub_util_read_image): Call grub_util_read_at.
48787 (grub_util_write_image): Call grub_util_write_image_at.
48788 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48789 additional memory in kernel_img for a struct grub_module_info.
48790 Fill in that grub_module_info.
48791 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48792
458786f8 487932005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48794
48795 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48796 New function.
48797 * include/grub/powerpc/ieee1275/ieee1275.h
48798 (grub_ieee1275_milliseconds): New prototype.
48799 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48800 Change to 1000.
48801 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48802 grub_ieee1275_milliseconds.
48803
ac507d1b 488042005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48805
48806 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48807 variable.
48808 (find_options): New function.
48809 (cmain): Call find_options.
48810 * include/grub/powerpc/ieee1275/ieee1275.h
48811 (grub_ieee1275_realmode): New extern variable.
48812 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48813 grub_map if grub_ieee1275_realmode is false.
48814
6b8fd1c4 488152004-12-29 Marco Gerards <metgerards@student.han.nl>
48816
48817 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48818 lines are inserted and make it work like readline. Reported by
48819 Vincent Pelletier <subdino2004@yahoo.fr>.
48820
8514a1e0 488212004-12-28 Marco Gerards <metgerards@student.han.nl>
48822
48823 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48824
48825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48826 `kern/powerpc/cache.S'.
48827
924b6140 488282004-12-27 Marco Gerards <metgerards@student.han.nl>
48829
48830 * genmk.rb: Handle the `Program' class in the main loop. Written
48831 by Johan Rydberg <jrydberg@gnu.org>.
48832 (Program): New class.
48833 (programs): New variable.
48834 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48835 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48836 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48837 (help_arch): Function removed.
48838 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48839 `powerpc/libgcc.h' and `loader.h'.
48840 (pkgdata_PROGRAMS): New variable.
48841 (sbin_UTILITIES): Variable removed.
48842 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48843 (grubof_SOURCES): Variable re-defined so it only includes the
48844 core functionality.
48845 (grubof_CFLAGS): Remove `-DGRUBOF'.
48846 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48847 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48848 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48849 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48850 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48851 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48852 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48853 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48854 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48855 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48856 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48857 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48858 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48859 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48860 (pc_mod_CFLAGS): New variables.
48861 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48862 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48863 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48864 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48865 Moved from here...
48866 * include/grub/i386/pc/init.h (grub_os_area_addr)
48867 (rub_os_area_size): ... to here.
48868 * include/grub/powerpc/ieee1275/ieee1275.h
48869 (grub_ieee1275_entry_fn): Export symbol.
48870 * include/grub/powerpc/ieee1275/init.h: New file.
48871 * include/grub/powerpc/libgcc.h: Likewise.
48872 * include/grub/cache.h: Likewise.
48873 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48874 <hollis@penguinppc.org>.
48875 * kern/dl.c: Include <grub/cache.h>.
48876 (grub_dl_flush_cache): New function.
48877 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48878 for this module.
48879 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48880 (grub_console_init): Removed prototypes.
48881 (grub_machine_init): Don't initialize the modules anymore.
48882 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48883 static.
48884 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48885 Macro undef removed.
48886 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48887 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48888 relocation `R_PPC_REL32'. Return an error when the relocation is
48889 unknown.
48890 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48891 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48892 * util/misc.c (grub_arch_sync_caches): Likewise.
48893
e4b47e0c 488942004-12-19 Marco Gerards <metgerards@student.han.nl>
48895
48896 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48897 `symlist.c', add `grubof_symlist.c'.
48898 (symlist.c): Variable removed.
48899 (grubof_HEADERS): Variable added.
48900 (grubof_symlist.c): New target.
48901 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48902 `kernel_img_HEADERS'.
48903 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48904 * kern/powerpc/dl.c: New file.
48905 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48906 Function removed.
48907 (grub_arch_dl_relocate_symbols): Likewise.
48908 (grub_register_exported_symbols): Likewise.
48909
4ceb3636 489102004-12-13 Marco Gerards <metgerards@student.han.nl>
48911
48912 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48913 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48914 to fail instead. Reported by Vincent Pelletier
48915 <subdino2004@yahoo.fr>.
48916
48917 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48918 it is not allocated. Reported by Vincent Pelletier
48919 <subdino2004@yahoo.fr>.
48920
48921 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48922 output so the output looks better.
f19dbdb7 48923
3f1578fe 489242004-12-04 Marco Gerards <metgerards@student.han.nl>
48925
48926 Modulize the partition map support and add support for the amiga
48927 partition map.
f19dbdb7 48928
3f1578fe 48929 * commands/ls.c: Include <grub/partition.h> instead of
48930 <grub/machine/partition.h>.
48931 * kern/disk.c: Likewise.
48932 * kern/rescue.c: Likewise.
48933 * loader/i386/pc/chainloader.c: Likewise.
48934 * normal/cmdline.c: Likewise.
48935 * kern/powerpc/ieee1275/init.c: Likewise.
48936 (grub_machine_init): Call `grub_pc_partition_map_init',
48937 `grub_amiga_partition_map_init' and
48938 `grub_apple_partition_map_init'.
48939 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48940 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48941 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48942 `partition.h' and `pc_partition.h'.
48943 (grub_setup_SOURCES): Remove
48944 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48945 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48946 (grub_emu_SOURCES): Likewise.
48947 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48948 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48949 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48951 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48952 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48953 (grubof_SOURCES): Likewise.
48954 * disk/i386/pc/partition.c: File removed.
48955 * disk/powerpc/ieee1275/partition.c: Likewise.
48956 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48957 * include/grub/i386/pc/partition.h: Likewise.
48958 * kern/partition.c: New file.
48959 * partmap/amiga.c: Likewise.
48960 * partmap/apple.c: Likewise.
48961 * partmap/pc.c: Likewise.
48962 * include/grub/partition.h: Likewise..
48963 * include/grub/pc_partition.h: Likewise.
48964 * util/grub-emu.c: Include <grub/partition.h> instead of
48965 <grub/machine/partition.h>.
48966 (main): Call `grub_pc_partition_map_init',
48967 `grub_amiga_partition_map_init' and
48968 `grub_apple_partition_map_init' and deinitialize afterwards.
48969 * util/i386/pc/biosdisk.c: Include `#include
48970 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48971 `<grub/machine/partition.h>'.
48972 * util/i386/pc/grub-setup.c: Likewise.
48973 * util/i386/pc/biosdisk.c: Likewise.
48974 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48975 partition information in case of a PC partition.
48976 * util/i386/pc/grub-setup.c: Include `#include
48977 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48978 `<grub/machine/partition.h>'.
48979 (setup): Only access the PC specific partition information in case
48980 of a PC partition.
48981
0ef4ced9 489822004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48983
0ef4ced9 48984 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48985 (grub_longjmp): Likewise.
48986 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48987 20.
48988 * normal/powerpc/setjmp.S: New file.
48989 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48990 `normal/powerpc/setjmp.S'.
48991 (grubof_CFLAGS): Add `-DGRUBOF'.
48992 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48993 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48994
19950e29 489952004-11-16 Marco Gerards <metgerards@student.han.nl>
48996
48997 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48998 property named `name'. Correctly handle the error returned by
48999 `grub_ieee1275_finddevice' if a device can not be opened.
49000
a2fea427 490012004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49002
49003 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49004 `actual' for negativity.
49005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49006 kern/fshelp.c.
49007
41ea0ea3 490082004-11-01 Marco Gerards <metgerards@student.han.nl>
49009
49010 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49011 (PAGE_OFFSET): New macro.
49012 (CRTC_ADDR_PORT): Likewise.
49013 (CRTC_DATA_PORT): Likewise.
49014 (START_ADDR_HIGH_REGISTER): Likewise.
49015 (START_ADDR_LOW_REGISTER): Likewise.
49016 (GRAPHICS_ADDR_PORT): Likewise.
49017 (GRAPHICS_DATA_PORT): Likewise.
49018 (READ_MAP_REGISTER): Likewise.
49019 (INPUT_STATUS1_REGISTER): Likewise.
49020 (INPUT_STATUS1_VERTR_BIT): Likewise.
49021 (page): New variable.
49022 (wait_vretrace): New function.
49023 (set_read_map): Likewise.
49024 (set_start_address): Likewise.
49025 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49026 the right page.
49027 (check_vga_mem): Take the page into account.
49028 (write_char): Likewise.
49029 (write_cursor): Likewise.
49030 (scroll_up): Likewise. Copy the page to the page that is not
49031 shown and switch between both pages.
49032 (grub_vga_putchar): Fix off by one error.
49033 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49034 account.
49035
ad0bd20b 490362004-11-01 Marco Gerards <metgerards@student.han.nl>
49037
49038 Add support for iso9660 (including rockridge).
f19dbdb7 49039
ad0bd20b 49040 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49041 (iso9660_mod_SOURCES): New variable.
49042 (iso9660_mod_CFLAGS): Likewise.
49043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49044 * include/grub/fs.h (grub_iso9660_init): New prototype.
49045 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49046 * fs/iso9660.c: New file.
49047
49048 * include/grub/misc.h (grub_strncat): New prototype.
49049 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49050
ad0bd20b 49051 * fs/hfs.c (grub_hfs_mount): Translate the error
49052 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49053 * fs/jfs.c (grub_jfs_mount): Likewise.
49054 * fs/ufs.c (grub_ufs_mount): Likewise.
49055
a5477a59 490562004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49057
49058 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49059 which initialized BAT registers.
49060 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49061 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49062 Move from here...
49063 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49064 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49065 ... to here.
49066 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49067 (grub_mapclaim): Likewise.
49068 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49069 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49070 hand.
49071
9304c1f8 490722004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49073
49074 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49075 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49076 -ffreestanding and -msoft-float.
49077
86f4ae25 490782004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49079
49080 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49081 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49082 set in grub_ieee1275_flags.
49083
38912228 490842004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49085
49086 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49087 prototype.
49088 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49089 grub_console_init first.
49090 Change the memory range used for grub_ieee1275_claim and
49091 grub_mm_init_region.
49092 Print an error message if the claim fails.
49093 Include <grub/misc.h>.
49094
d1923dc8 490952004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49096
49097 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49098 Call grub_children_iterate for device nodes of type `scsi',
49099 `ide', or `ata'.
49100 (grub_ofdisk_open): Remove manual device alias resolution.
49101 Fix memory leak when device cannot be opened.
f19dbdb7 49102 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49103 (grub_children_iterate): New prototype.
49104 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49105 New function.
49106 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49107 Return -1 if args.size was -1.
49108
4512e4f3 491092004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49110
49111 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49112 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49113 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49114 Open Firmware's memory for it; claim memory from _start to _end.
49115 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49116 (_end): New extern.
49117 (_start): Zero BSS from __bss_start to _end.
49118 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49119 New extern.
49120 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49121
4d61feb0 491222004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49123
ad0bd20b 49124 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49125 -1 if args.base was -1.
4d61feb0 49126
026fa2f9 491272004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49128
49129 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49130 escape sequence instead of a literal ^L. Also call
49131 grub_ofconsole_gotoxy.
49132
9f2220ef 491332004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49134
49135 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49136 void * arguments to grub_addr_t. All callers updated. Also make
49137 the `result' argument optional.
49138 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49139 All callers updated.
49140
8a572cd7 491412004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49142
49143 * commands/ls.c (grub_ls_list_files): Use the string following the
49144 initial ')', if present, as the filesystem path.
49145 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49146
49147 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49148
18aa81f2 491492004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49150
49151 Make the source code of the menu interface more readable.
f19dbdb7 49152
18aa81f2 49153 * normal/menu.c: Include grub/mm.h.
49154 (TERM_WIDTH): New macro.
49155 (TERM_HEIGHT): Likewise.
49156 (TERM_INFO_HEIGHT): Likewise.
49157 (TERM_MARGIN): Likewise.
49158 (TERM_SCROLL_WIDTH): Likewise.
49159 (TERM_TOP_BORDER_Y): Likewise.
49160 (TERM_LEFT_BORDER_X): Likewise.
49161 (TERM_BORDER_WIDTH): Likewise.
49162 (TERM_MESSAGE_HEIGHT): Likewise.
49163 (TERM_BORDER_HEIGHT): Likewise.
49164 (TERM_NUM_ENTRIES): Likewise.
49165 (TERM_FIRST_ENTRY_Y): Likewise.
49166 (TERM_ENTRY_WIDTH): Likewise.
49167 (TERM_CURSOR_X): Likewise.
49168 (draw_border): Use macros instead of magic numbers.
49169 (print_entry): Likewise.
49170 (print_entries): Likewise.
49171 (run_menu): Likewise. Also, handle the key 'e'.
49172 (run_menu_entry): Ignore empty command lines.
49173 (print_message): Added a new argument EDIT. If EDIT is true,
49174 print a different message.
49175 (init_page): Likewise.
49176 (edit_menu_entry): New function. Not implemented yet.
49177
b47efe30 491782004-09-17 Marco Gerards <metgerards@student.han.nl>
49179
49180 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49181 can be loaded from normal mode.
f19dbdb7 49182
b47efe30 49183 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49184 `multiboot.mod'.
49185 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49186 (multiboot_mod_CFLAGS): New variables.
49187 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49188 * loader/i386/pc/multiboot_normal.c: Likewise.
49189
b47efe30 49190 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49191 attribute `unused'.
f19dbdb7 49192
b47efe30 49193 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49194 `fdiro' to read the mode information from instead of `diro'.
49195
49196 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49197 looking up a symlink.
49198
49199 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49200 macro.
49201 * normal/command.c (grub_command_execute): Don't parse the
49202 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49203 flags of the command.
49204
49205 * normal/menu.c (grub_menu_run): Fix typo.
49206
da75ac71 492072004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49208
49209 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49210
49211 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49212 `y + 1' instead of `y - 1'.
49213
49214 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49215
062b24c2 492162004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49217
49218 From Hollis Blanchard <hollis@penguinppc.org>:
49219 * kern/misc.c (memmove): New alias for grub_memmove.
49220 (memcmp): New alias for grub_memcmp.
49221 (memset): New alias for grub_memset.
f19dbdb7 49222 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49223 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49224 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49225 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49226
8ddad845 492272004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49228
49229 Added normal mode command `chainloader' as module chain.mod, which
49230 depends on normal.mod and _chain.mod.
f19dbdb7 49231
8ddad845 49232 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49233 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49234 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49235 Deleted prototype.
49236 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49237 but arguments parsing moved to ...
49238 (grub_chainloader_cmd): ... here. New function.
49239 * include/grub/i386/pc/chainloader.h: New file.
49240 * loader/i386/pc/chainloader_normal.c: Likewise.
49241
2c1f4ce3 492422004-09-11 Marco Gerards <metgerards@student.han.nl>
49243
49244 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49245 (grub_mkimage_LDFLAGS): Likewise.
49246 (grub_emu_SOURCES): Likewise.
49247 (kernel_img_HEADERS): Added fshelp.h.
49248 * fs/ext2.c: Include <grub/fshelp.h>.
49249 (FILETYPE_REG): New macro.
49250 (FILETYPE_INO_REG): Likewise.
49251 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49252 Changed all users.
49253 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49254 all users.
49255 (grub_fshelp_node): New struct.
49256 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49257 to a pointer.
49258 (grub_ext2_get_file_block): Removed function.
49259 (grub_ext2_read_block): New function.
49260 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49261 This function was written.
49262 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49263 (grub_ext2_find_file): Removed function.
49264 (grub_ext2_read_symlink): New function.
49265 (grub_ext2_iterate_dir): Likewise.
49266 (grub_ext2_open): Rewritten.
49267 (grub_ext2_dir): Rewritten.
49268 * include/grub/fshelp.h: New file.
49269 * fs/fshelp.c: Likewise.
49270
3c52136a 492712004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49272
49273 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49274 (print_message): Add a missing newline.
49275 (run_menu): Added timeout support.
49276 (run_menu_entry): New local function.
49277 (grub_menu_run): Added support for booting.
49278
49279 * kern/loader.c (grub_loader_is_loaded): New function.
49280
49281 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49282 (grub_get_rtc): Exported.
49283
49284 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49285 (grub_get_rtc): Exported.
49286
49287 * include/grub/normal.h (struct grub_command_list): Remove
49288 constant from the member `command'.
49289
49290 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49291
49292 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49293
49294 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49295
aa033560 492962004-08-28 Marco Gerards <metgerards@student.han.nl>
49297
49298 Add support for the JFS filesystem.
49299
49300 * fs/jfs.c: New file.
49301 * include/grub/fs.h (grub_jfs_init): New prototype.
49302 (grub_jfs_fini): New prototype.
49303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49304 (grub_emu_SOURCES): Likewise.
49305 (pkgdata_MODULES): Add jfs.mod.
49306 (jfs_mod_SOURCES): New variable.
49307 (jfs_mod_CFLAGS): Likewise.
49308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49309 (grubof_SOURCES): Likewise.
49310 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49311
49312 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49313 endian to the host endian.
49314 (grub_fat_utf16_to_utf8): Move function from there...
49315 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49316 the endianness of the source string anymore.
aa033560 49317 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49318
94bc45af 493192004-08-24 Marco Gerards <metgerards@student.han.nl>
49320
49321 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49322 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49323 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49324 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49325
94bc45af 49326 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49327 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49328 for `node_found' and `it_dir'.
49329 (grub_hfs_dir): Add prototype for `dir_hook'.
49330
49331 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49332 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49333 and `indir32' to silence a gcc warning.
49334
49335 * include/grub/fs.h (grub_hfs_init): New prototype.
49336 (grub_hfs_fini): Likewise.
f19dbdb7 49337
49338
97543f08 493392004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49340
49341 Each disk device has its own id now. This is useful to make use
49342 of multiple disk devices.
f19dbdb7 49343
97543f08 49344 * include/grub/disk.h (grub_disk_dev_id): New enum.
49345 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49346 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49347
49348 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49349 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49350
49351 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49352 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49353
49354 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49355 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49356
49357 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49358 "id" which is used by the cache manager.
49359
49360 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49361 of just "GRUB".
49362
64372eb4 493632004-08-18 Marco Gerards <metgerards@student.han.nl>
49364
49365 * fs/hfs.c: New file.
49366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49367 (grub_emu_SOURCES): Likewise.
49368 (pkgdata_MODULES): Add hfs.mod.
49369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49370 (grubof_SOURCES): Likewise.
49371 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49372
49373 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49374 * kern/misc.c (grub_strncasecmp): Add function.
49375
cc61b58f 493762004-08-14 Marco Gerards <metgerards@student.han.nl>
49377
49378 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49379 with parentheses.
49380
49381 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49382 (grub_ext2_dir): In case the directory entry type is unknown, read
49383 it from the inode.
49384
0ef123f6 493852004-08-02 Peter Bruin <pjbruin@dds.nl>
49386
49387 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49388 grub_load_linux instead of grub_rescue_cmd_linux as second
49389 argument of grub_rescue_register_command.
49390
49391 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49392
a447c5df 493932004-07-27 Marco Gerards <metgerards@student.han.nl>
49394
49395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49396 function.
49397 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49398 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49399 `loader/powerpc/ieee1275/linux.c',
49400 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49401 * include/grub/powerpc/ieee1275/ieee1275.h
49402 (grub_ieee1275_release): New prototype.
49403 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49404 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49405 normal, boot, linux and linux_normal.
49406 * loader/powerpc/ieee1275/linux.c: New file.
49407 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49408
5a9e3546 494092004-07-12 Marco Gerards <metgerards@student.han.nl>
49410
49411 * normal/arg.c (grub_arg_parse): Correct error handling after
49412 reallocating the argumentlist (check if `argl' is not null instead
49413 of checking if `args' is not null).
49414 * kern/mm.c (grub_realloc): Return the same pointer when using the
49415 same region, instead of returning the header address.
49416
e15199cb 494172004-07-11 Marco Gerards <metgerards@student.han.nl>
49418
49419 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49420 one block instead of two when looking for the initial partition.
49421 (grub_partition_probe): Initialize the local variable `p' with 0.
49422 Use base 10 for the grub_strtoul call.
49423 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49424 need for one local variable.
49425 (grub_strtoul): Don't add the new value to `num', instead of that
49426 just assign it.
49427
020616c2 494282004-07-11 Marco Gerards <metgerards@student.han.nl>
49429
49430 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49431 (pxeboot_img_SOURCES): New variable.
49432 (pxeboot_img_ASFLAGS): Likewise.
49433 (pxeboot_img_LDFLAGS): Likewise.
49434 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49435 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49436 <lode_leroy@hotmail.com>.
49437
6c51eb64 494382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49439
49440 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49441 there was no input.
49442
cfb12aff 494432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49444
49445 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49446 the history buffer logic.
49447
6eabba74 494482004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49449
49450 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49451 (FILETYPE_INO_SYMLINK): New macros.
49452 (grub_ext2_find_file): Check if the node is a directory using the
49453 inode stat information instead of using the filetype in the
49454 dirent. Exclude the first character of an absolute symlink.
49455 (grub_ext2_dir): Mask out the filetype part of the mode member of
49456 the inode.
49457
66e19ef8 494582004-05-24 Marco Gerards <metgerards@student.han.nl>
49459
49460 Add support for UFS version 1 and 2. Add support for the minix
49461 filesystem version 1 and 2, both the variants with 14 and 30 long
49462 filenames.
f19dbdb7 49463
66e19ef8 49464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49465 fs/minix.c.
49466 (grub_emu_SOURCES): Likewise.
49467 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49468 (ufs_mod_SOURCES): New variable.
49469 (ufs_mod_CFLAGS): Likewise.
49470 (minix_mod_SOURCES): Likewise.
49471 (minix_mod_CFLAGS): Likewise.
49472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49473 fs/minix.c.
49474 (grubof_SOURCES): Likewise.
49475 * fs/ufs.c: New file.
49476 * fs/minix.c: New file.
49477 * include/grub/fs.h (grub_ufs_init): New prototype.
49478 (grub_ufs_fini): Likewise.
49479 (grub_minix_init): Likewise.
49480 (grub_minix_fini): Likewise.
49481 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49482 minix fs.
49483
cc2e748a 494842004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49485
49486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49487 commands/ls.c, commands/terminal.c, commands/boot.c,
49488 commands/cmp.c and commands/cat.c.
49489 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49490
49491 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49492 "env.h"
49493
4b13b216 494942004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49495
49496 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49497 and grub_, respectively. Because the conversion is trivial and
49498 mechanical, I omit the details here. Please refer to the CVS
49499 if you need more information.
49500
6a142551 495012004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49502
49503 * include/pupa: Renamed to ...
49504 * include/grub: ... this.
49505 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49506 * util/i386/pc/grub-mkimage.c: ... this.
49507 * util/i386/pc/pupa-setup.c: Renamed to ...
49508 * util/i386/pc/grub-setup.c: ... this.
49509 * util/pupa-emu.c: Renamed to ...
49510 * util/grub-emu.c: ... this.
49511
e56cdf21 495122004-03-29 Marco Gerards <metgerards@student.han.nl>
49513
49514 Add support for the newworld apple macintosh (PPC). This has been
49515 tested on the powerbook 2000 only. It only adds support for
49516 generic ieee1275 functions, console and disk support. This should
49517 be easy to port to other architectures with support for Open
49518 Firmware.
f19dbdb7 49519
e56cdf21 49520 * configure.ac: Accept the powerpc as host_cpu. In the case of
49521 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49522 specific tests are only executed while building for the i386.
49523 Inverse test for crosscompile.
49524 * genmk.rb (Utility): Allow assembler files.
49525 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49526 * conf/powerpc-ieee1275.rmk: New file.
49527 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49528 * disk/powerpc/ieee1275/partition.c: Likewise.
49529 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49530 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49531 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49532 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49533 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49534 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49535 * include/pupa/powerpc/ieee1275/loader.h
49536 * include/pupa/powerpc/setjmp.h: Likewise.
49537 * include/pupa/powerpc/types.h: Likewise.
49538 * kern/powerpc/ieee1275/init.c: Likewise.
49539 * kern/powerpc/ieee1275/openfw.c: Likewise.
49540 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49541
49542 These files were written by Johan Rydberg
49543 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49544
e56cdf21 49545 * boot/powerpc/ieee1275/cmain.c: New file.
49546 * boot/powerpc/ieee1275/crt0.S: Likewise.
49547 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49548 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49549
8c8cc205 495502004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49551
49552 * Makefile.in: Update copyright.
49553 * genmodsrc.sh: Likewise.
49554 * gensymlist.sh: Likewise.
49555 * term/i386/pc/vga.c: Indent correctly.
49556
49557 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49558 bugreporting address.
49559 * util/i386/pc/pupa-setup.c (usage): Likewise,
49560 (main): Call pupa_ext2_init and pupa_ext2_fini.
49561
f19dbdb7 49562 * fs/fat.c (log2): Renamed to ...
8c8cc205 49563 (fat_log2): ... this.
49564 All callers changed.
49565 * kern/misc.c (memcpy): Alias to pupa_memmove.
49566 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49567 lvalue cast.
49568 * util/console.c (pupa_ncurses_fini): Return 0.
49569
49570 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49571 Move fail label here.
49572 [__GNU__]: Don't warn when using stat.
49573 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49574 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49575 long int. Use strtol instead of strtoul.
f19dbdb7 49576
db1771cf 495772004-03-14 Marco Gerards <metgerards@student.han.nl>
49578
49579 * commands/boot.c: New file.
49580 * commands/cat.c: Likewise.
49581 * commands/cmp.c: Likewise.
49582 * commands/ls.c: Likewise.
49583 * commands/terminal.c: Likewise.
49584 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49585 (pupa_register_command): Changed interface to match the new
49586 argument parser.
49587 (pupa_command_execute): Changed (almost rewritten) so it uses
49588 pupa_split_command. Added support for setting variables using the
49589 syntax `foo=bar'.
49590 (rescue_command): Changed to work with the new argument parser.
49591 (terminal_command): Moved from here to commands/terminal.c.
49592 (set_command): New function.
49593 (unset_command): New function.
49594 (insmod_command): New function.
49595 (rmmod_command): New function.
49596 (lsmod_command): New function.
49597 (pupa_command_init): Don't initialize the command terminal
49598 anymore. Initialize the commands set, unset, insmod, rmmod and
49599 lsmod.
49600 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49601 (kernel_img_HEADERS): Add arg.h and env.h.
49602 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49603 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49604 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49605 normal/arg.c.
49606 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49607 terminal.mod.
49608 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49609 (boot_mod_SOURCES): New variable.
49610 (terminal_mod_SOURCES): Likewise.
49611 (ls_mod_SOURCES): Likewise.
49612 (cmp_mod_SOURCES): Likewise.
49613 (cat_mod_SOURCES): Likewise.
49614
49615 * normal/arg.c: New file.
49616 * kern/env.c: Likewise.
49617 * include/pupa/arg.h: Likewise.
49618 * include/pupa/env.h: Likewise.
49619 * font/manager.c (font_command): Changed to match argument parsing
49620 interface changes.
49621 (PUPA_MOD_INIT): Likewise.
49622 * hello/hello.c (pupa_cmd_hello): Likewise.
49623 (PUPA_MOD_INIT): Likewise.
49624 * include/pupa/disk.h: Include <pupa/device.h>.
49625 (pupa_print_partinfo): New prototype.
49626 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49627 (pupa_dl_get_prefix): Likewise.
49628 * include/pupa/misc.h: Include <pupa/err.h>.
49629 (pupa_isgraph): New prototype.
49630 (pupa_isdigit): Likewise.
49631 (pupa_split_cmdline): Likewise.
49632 * include/pupa/normal.h: Include <pupa/arg.h>.
49633 (pupa_command): Changed the prototype of the member `func' to
49634 match the argument parsing interface. Added member `options'.
49635 (pupa_register_command): Updated to match function.
49636 (pupa_arg_parse): New prototype.
49637 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49638 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49639 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49640 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49641 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49642 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49643 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49644 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49645 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49646 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49647 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49648 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49649 * kern/disk.c: Include <pupa/file.h>.
49650 (pupa_print_partinfo): New function.
49651 * kern/dl.c: Include <pupa/env.h>.
49652 (pupa_dl_dir): Variable removed.
49653 (pupa_dl_load): Use the environment variable `prefix' instead of
49654 the variable pupa_dl_dir.
49655 (pupa_dl_set_prefix): Function removed.
49656 (pupa_dl_get_prefix): Likewise.
49657 * kern/i386/pc/init.c: Include <pupa/env.h>.
49658 (pupa_machine_init): Use the environment variable `prefix' instead of
49659 using pupa_dl_set_prefix to set the prefix.
49660 * kern/main.c: Include <pupa/env.h>.
49661 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49662 using pupa_dl_get_prefix to get the prefix.
49663 * kern/misc.c: Include <pupa/env.h>.
49664 (pupa_isdigit): New function.
49665 (pupa_isgraph): Likewise.
49666 (pupa_ftoa): Likewise.
49667 (pupa_vsprintf): Added support for printing values of the type
49668 `double'. Make it possible to format variable output when using
49669 formatting like `%1.2%f'.
49670 (pupa_split_cmdline): New function.
49671 * kern/rescue.c: Include <pupa/env.h>.
49672 (next_word): Removed function.
49673 (pupa_rescue_cmd_prefix): Likewise.
49674 (pupa_rescue_cmd_set): New function.
49675 (pupa_rescue_cmd_unset): New function.
49676 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49677 split the command line instead of splitting it here. Added
49678 support for setting variables using the syntax `foo=bar'. Don't
49679 initialize the prefix command anymore. Initialized the set and
49680 unset commands.
49681 * normal/cmdline.c: Include <pupa/env.h>.
49682 (pupa_tab_complete): Added prototypes for print_simple_completion,
49683 print_partition_completion, add_completion, iterate_commands,
49684 iterate_dev, iterate_part and iterate_dir. Moved code to print
49685 partition information from here to kern/disk.c.
fe6b695a 49686 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49687 * normal/main.c: Include <pupa/env.h>.
49688 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49689 instead of using pupa_dl_get_prefix to get the prefix.
49690 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49691 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49692 warning.
49693 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49694 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49695 ((unused))' to silence a gcc warning.
49696 (pupa_vga_setcolor): Likewise.
49697 (debug_command): Changed to match argument parsing
49698 interface changes.
49699 * util/pupa-emu.c: Include <pupa/env.h>.
49700 (options): Added 0's for unused fields to silence a gcc warning.
49701 (argp): Likewise.
49702 (main): Use the environment variable `prefix' instead of using
49703 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49704 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49705 and terminal.
49706
49707 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49708 * util/misc.c: Include <malloc.h>.
49709 (pupa_malloc): Rewritten so errors are correctly reported.
49710 (pupa_realloc): Likewise.
49711 (pupa_memalign): Likewise.
49712 (pupa_mm_init_region): Declare unused variables with
49713 `__attribute__ ((unused))' to silence a gcc warning.
49714 * normal/i386/setjmp.S: Remove tab at the end of the file to
49715 silence a gcc warning.
49716 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49717 variables with `__attribute__ ((unused))' to silence a gcc
49718 warning.
49719 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49720 local variable i unsigned to silence a gcc warning.
49721
49722 * kern/term.c: Include <pupa/misc.h>.
49723 (pupa_more_lines): New variable.
49724 (pupa_more): Likewise.
49725 (pupa_putcode): When the pager is active pause at the end of every
49726 screen.
49727 (pupa_set_more): New function.
49728 * include/pupa/term.h (pupa_set_more): New prototype.
49729
49730
3b1139cb 497312004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49732
49733 Now this project is GRUB 2 rather than PUPA. The location of
49734 the CVS repository was moved to GRUB's.
f19dbdb7 49735
3b1139cb 49736 * configure.ac: Use bug-grub as the reporting address.
49737 Use GRUB instead of PUPA.
49738 Change the version number to 1.90.
49739
8367695c 497402004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49741
49742 * genkernsyms.sh: Updated copyright information.
49743 * genmk.rb: Likewise.
49744 * genmodsrc.sh: Likewise.
49745 * gensymlist.sh: Likewise.
49746 * boot/i386/pc/boot.S: Likewise.
49747 * boot/i386/pc/diskboot.S: Likewise.
49748 * disk/i386/pc/biosdisk.c: Likewise.
49749 * disk/i386/pc/partition.c: Likewise.
49750 * font/manager.c: Likewise.
49751 * fs/ext2.c: Likewise.
49752 * fs/fat.c: Likewise.
49753 * include/pupa/boot.h: Likewise.
49754 * include/pupa/device.h: Likewise.
49755 * include/pupa/disk.h: Likewise.
49756 * include/pupa/dl.h: Likewise.
49757 * include/pupa/elf.h: Likewise.
49758 * include/pupa/err.h: Likewise.
49759 * include/pupa/file.h: Likewise.
49760 * include/pupa/font.h: Likewise.
49761 * include/pupa/fs.h: Likewise.
49762 * include/pupa/kernel.h: Likewise.
49763 * include/pupa/loader.h: Likewise.
49764 * include/pupa/misc.h: Likewise.
49765 * include/pupa/mm.h: Likewise.
49766 * include/pupa/net.h: Likewise.
49767 * include/pupa/normal.h: Likewise.
49768 * include/pupa/rescue.h: Likewise.
49769 * include/pupa/setjmp.h: Likewise.
49770 * include/pupa/symbol.h: Likewise.
49771 * include/pupa/term.h: Likewise.
49772 * include/pupa/types.h: Likewise.
49773 * include/pupa/i386/setjmp.h: Likewise.
49774 * include/pupa/i386/types.h: Likewise.
49775 * include/pupa/i386/pc/biosdisk.h: Likewise.
49776 * include/pupa/i386/pc/boot.h: Likewise.
49777 * include/pupa/i386/pc/console.h: Likewise.
49778 * include/pupa/i386/pc/init.h: Likewise.
49779 * include/pupa/i386/pc/kernel.h: Likewise.
49780 * include/pupa/i386/pc/linux.h: Likewise.
49781 * include/pupa/i386/pc/loader.h: Likewise.
49782 * include/pupa/i386/pc/memory.h: Likewise.
49783 * include/pupa/i386/pc/multiboot.h: Likewise.
49784 * include/pupa/i386/pc/partition.h: Likewise.
49785 * include/pupa/i386/pc/time.h: Likewise.
49786 * include/pupa/i386/pc/vga.h: Likewise.
49787 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49788 * include/pupa/util/getroot.h: Likewise.
49789 * include/pupa/util/misc.h: Likewise.
49790 * include/pupa/util/resolve.h: Likewise.
49791 * kern/device.c: Likewise.
49792 * kern/disk.c: Likewise.
49793 * kern/dl.c: Likewise.
49794 * kern/err.c: Likewise.
49795 * kern/file.c: Likewise.
49796 * kern/fs.c: Likewise.
49797 * kern/loader.c: Likewise.
49798 * kern/main.c: Likewise.
49799 * kern/misc.c: Likewise.
49800 * kern/mm.c: Likewise.
49801 * kern/rescue.c: Likewise.
49802 * kern/term.c: Likewise.
49803 * kern/i386/dl.c: Likewise.
49804 * kern/i386/pc/init.c: Likewise.
49805 * kern/i386/pc/lzo1x.S: Likewise.
49806 * kern/i386/pc/startup.S: Likewise.
49807 * loader/i386/pc/chainloader.c: Likewise.
49808 * loader/i386/pc/linux.c: Likewise.
49809 * loader/i386/pc/multiboot.c: Likewise.
49810 * normal/cmdline.c: Likewise.
49811 * normal/command.c: Likewise.
49812 * normal/main.c: Likewise.
49813 * normal/menu.c: Likewise.
49814 * normal/i386/setjmp.S: Likewise.
49815 * term/i386/pc/console.c: Likewise.
49816 * term/i386/pc/vga.c: Likewise.
49817 * util/console.c: Likewise.
49818 * util/genmoddep.c: Likewise.
49819 * util/misc.c: Likewise.
49820 * util/pupa-emu.c: Likewise.
49821 * util/resolve.c: Likewise.
49822 * util/unifont2pff.rb: Likewise.
49823 * util/i386/pc/biosdisk.c: Likewise.
49824 * util/i386/pc/getroot.c: Likewise.
49825 * util/i386/pc/pupa-mkimage.c: Likewise.
49826 * util/i386/pc/pupa-setup.c: Likewise.
49827
e6eced71 498282004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49829
49830 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49831 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49832 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49833 reading and reset it after reading.
49834 (pupa_ext2_close): Return PUPA_ERR_NONE.
49835
49836 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49837 Correct value.
49838 (struct linux_kernel_header): Add kernel_version and
49839 initrd_addr_max.
49840 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49841 pupa_file_read succeeds.
49842 (pupa_rescue_cmd_initrd): Implement.
49843
5aded270 498442003-12-03 Marco Gerards <metgerards@student.han.nl>
49845
49846 * fs/ext2.c (pupa_ext2_label): New function.
49847 (pupa_ext2_fs): Added label.
49848 * fs/fat.c (pupa_fat_label): New function.
49849 (pupa_fat_fs): Added label.
49850 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49851
49852 * kern/misc.c (pupa_strndup): New function.
49853 * include/pupa/misc.h (pupa_strndup): New prototype.
49854
49855 * include/pupa/normal.h: Include <pupa/err.h>.
49856 (pupa_set_history): New prototype.
49857 (pupa_iterate_commands): New prototype.
49858 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49859 <pupa/disk.h>, <pupa/file.h>.
49860 (hist_size): New variable.
49861 (hist_lines): Likewise.
49862 (hist_end): Likewise.
49863 (hist_used): Likewise.
49864 (pupa_set_history): New function.
49865 (pupa_history_get): Likewise.
49866 (pupa_history_add): Likewise.
49867 (pupa_history_replace): Likewise.
49868 (pupa_tab_complete): Likewise.
49869 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49870 completion shows partitionnames while completing partitions, this
49871 feature was suggested by Jeff Bailey.
49872 * normal/command.c (pupa_iterate_commands): New function.
49873 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49874 (pupa_normal_init): Initialize history buffer.
49875 (PUPA_MOD_INIT): Likewise.
49876 (pupa_normal_fini): Free the history buffer.
49877 (PUPA_MOD_FINI): Likewise.
49878
49879 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49880 key.
49881
49882 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49883 * configure.ac [i386]: Check for regparam bug.
49884 (NESTED_FUNC_ATTR) [! i386]: Defined.
49885
1f7315a3 498862003-11-17 Marco Gerards <metgerards@student.han.nl>
49887
49888 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49889 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49890 (pupa_emu_SOURCES): New variable.
49891 (pupa_emu_LDFLAGS): Likewise.
49892 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49893 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49894 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49895 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49896 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49897 (pupa_jmp_buf): New typedef.
49898 (pupa_setjmp) [PUPA_UTIL]: New macro.
49899 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49900 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49901 (pupa_refresh): New prototype.
49902 * include/pupa/util/getroot.h: New file.
49903 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49904 it.
49905 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49906 (pupa_rescue_cmd_cat): Likewise.
49907 (pupa_rescue_cmd_ls): Likewise.
49908 (pupa_rescue_cmd_testload): Likewise.
49909 (pupa_rescue_cmd_lsmod): Likewise.
49910 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49911 * normal/menu.c (run_menu): Likewise.
49912 * kern/term.c (pupa_cls): Likewise.
49913 (pupa_refresh): New function.
49914 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49915 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49916 * util/console.c: New file.
f19dbdb7 49917
1f7315a3 49918 * util/i386/pc/getroot.c: New file.
49919 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49920 (pupa_putchar): New function.
49921 (pupa_refresh): Likewise.
49922 (xgetcwd): Function moved to ...
49923 (strip_extra_slashes): Likewise.
49924 (get_prefix): Likewise.
f19dbdb7 49925 * util/i386/pc/getroot.c: ... here.
1f7315a3 49926 (find_root_device): Function moved and renamed to...
49927 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49928 Changed all callers.
49929 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49930 and renamed to...
49931 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49932 Changed all callers.
49933 * util/misc.c (pupa_memalign): New function.
49934 (pupa_mm_init_region): Likewise.
49935 (pupa_register_exported_symbols): Likewise.
49936 (pupa_putchar): Function removed.
49937 * util/pupa-emu.c: New file.
49938
9a5c1ade 499392003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49940
49941 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49942 (_multiboot_mod_SOURCES): New variable.
49943 (_multiboot_mod_CFLAGS): Likewise.
49944 * loader/i386/pc/multiboot.c: New file.
49945 * include/pupa/i386/pc/multiboot.h: Likewise.
49946 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49947 (pupa_multiboot_real_boot): New function.
49948 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49949 (pupa_multiboot_real_boot): New prototype.
49950 (pupa_rescue_cmd_multiboot): Likewise
49951 (pupa_rescue_cmd_module): Likewise.
49952
49953 * kern/loader.c (pupa_loader_set): Continue when
49954 pupa_loader_unload_func() fails.
49955 (pupa_loader_unset): New function.
49956 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49957
49958 * kern/misc.c (pupa_stpcpy): New function.
49959 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49960
8e72a9c0 499612003-11-12 Marco Gerards <metgerards@student.han.nl>
49962
49963 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49964 for available extensions.
49965
49966 * include/pupa/i386/pc/time.h: New file.
49967 * kern/disk.c: Include <pupa/machine/time.h>.
49968 (PUPA_CACHE_TIMEOUT): New macro.
49969 (pupa_last_time): New variable.
49970 (pupa_disk_open): Flush the cache when there was a timeout.
49971 (pupa_disk_close): Reset the timer.
49972 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49973 pupa_currticks.
49974 * util/misc.c: Include <sys/times.h>
49975 (pupa_get_rtc): New function.
49976
c4adbd32 499772003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49978
49979 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49980 as blocks.
49981 (pupa_ext2_get_file_block): Use blocks member.
49982
49983 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49984 first block. Return -1 instead of pupa_errno on error.
49985
bfd30f06 499862003-10-27 Marco Gerards <metgerards@student.han.nl>
49987
49988 * README: In the pupa-mkimage example use _chain instead of chain
49989 and ext2 instead of fat.
49990 * TODO: Replace ext2fs with jfs as an example. Add an item for
49991 adding journal playback for ext2fs.
49992 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49993 (pkgdata_MODULES): Added ext2.mod.
49994 (ext2_mod_SOURCES): New variable.
49995 (ext2_mod_CFLAGS): Likewise.
49996 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49997 * include/pupa/misc.h (pupa_strncpy): New prototype.
49998 (pupa_strcat): Likewise.
49999 (pupa_strncmp): Likewise.
50000 * kern/misc.c (pupa_strcat): Enable function.
50001 (pupa_strncpy): New function.
50002 (pupa_strncmp): Likewise.
50003 * fs/ext2.c: New file.
f19dbdb7 50004
bfd30f06 50005 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50006 when the read failed before retrying.
50007 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50008 (_FILE_OFFSET_BITS): Likewise.
50009 * configure.ac: Added AC_SYS_LARGEFILE.
50010
98d15063 500112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50012
50013 * genmk.rb (PModule#rule): Make sure to get only symbol names
50014 from the output of nm.
59cad637 50015 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50016
18d9c7cd 500172003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50018
50019 I forgot to check in these changes for a long time. This adds
50020 incomplete support for VGA console, and this is still very
50021 buggy. Also, a lot of consideration is required for I18N,
50022 UNICODE, and VGA font issues. Therefore, assume that this is
50023 such that "better than nothing".
f19dbdb7 50024
18d9c7cd 50025 * font/manager.c: New file.
50026 * include/pupa/font.h: Likewise.
50027 * include/pupa/i386/pc/vga.h: Likewise.
50028 * term/i386/pc/vga.c: Likewise.
50029 * util/unifont2pff.rb: Likewise.
50030
50031 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50032 (pkgdata_MODULES): Added vga.mod and font.mod.
50033 (vga_mod_SOURCES): New variables.
50034 (vga_mod_CFLAGS): Likewise.
50035 (font_mod_SOURCES): Likewise.
50036 (font_mod_CFLAGS): Likewise.
50037
50038 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50039
50040 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50041 (struct pupa_term): Added init and fini.
18d9c7cd 50042 Changed the argument of putchar to pupa_uint32_t.
50043
50044 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50045 (pupa_console_real_putchar): New prototype.
50046 (pupa_console_putchar): Removed.
50047 (pupa_console_checkkey): Exported.
50048 (pupa_console_getkey): Likewise.
50049
50050 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50051 characters.
50052
50053 * kern/term.c (pupa_term_set_current): Rewritten.
50054 (pupa_putchar): Likewise.
50055 (pupa_putcode): New function.
50056
50057 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50058 (pupa_console_real_putchar): ... this.
50059 (pupa_vga_set_mode): New function.
50060 (pupa_vga_get_font): Likewise.
50061
50062 * normal/command.c: Include pupa/term.h.
50063 (terminal_command): New function.
50064 (pupa_command_init): Register the command "terminal".
50065
50066 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50067 (DISP_UP): Likewise.
50068 (DISP_RIGHT): Likewise.
50069 (DISP_DOWN): Likewise.
50070 (DISP_HLINE): Likewise.
50071 (DISP_VLINE): Likewise.
50072 (DISP_UL): Likewise.
50073 (DISP_UR): Likewise.
50074 (DISP_LL): Likewise.
50075 (DISP_LR): Likewise.
50076
50077 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50078
977329f5 500792003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50080
50081 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50082 FIX. Reverse the path_list.
50083
50084 * include/pupa/normal.h: Export pupa_register_command and
50085 pupa_unregister_command.
50086
50087 * hello/hello.c (pupa_cmd_hello): New module.
50088 * conf/i386-pc.rmk: Added hello.mod.
50089
1f5ab428 500902003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50091
50092 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50093
1f5ab428 50094 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50095 (compress_kernel): New variable.
50096 (generate_image): Heavily modified to support compressing a
50097 large part of the core image.
50098
50099 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50100 leak.
50101 (pupa_util_load_image): New function.
50102
50103 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50104 (pupa_compressed_size): New variable.
50105 (codestart): Enable Gate A20 here.
50106 Decompress the compressed part of the core image.
50107 Rearrange the code to put functions and variables which are
50108 required for initialization in the non-compressed part.
50109 Include lzo1x.S.
50110
50111 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50112 here.
50113
50114 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50115
f19dbdb7 50116 * include/pupa/i386/pc/kernel.h
1f5ab428 50117 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50118 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50119 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50120 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50121 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50122
50123 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50124
50125 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50126 (Utility#rule): Likewise.
50127
50128 * configure.ac: Check if LZO is available.
50129
ce5bf700 501302003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50131
50132 * include/pupa/normal.h: New file.
50133 * include/pupa/setjmp.h: Likewise.
50134 * include/pupa/i386/setjmp.h: Likewise.
50135 * normal/cmdline.c: Likewise.
50136 * normal/command.c: Likewise.
50137 * normal/main.c: Likewise.
50138 * normal/menu.c: Likewise.
50139 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50140
ce5bf700 50141 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50142 (pupa_rescue_cmd_initrd): Likewise.
50143
50144 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50145 Likewise.
50146
50147 * kern/i386/pc/startup.S (translation_table): New variable.
50148 (translate_keycode): New function.
50149 (pupa_console_getkey): Call translate_keycode.
50150
50151 * kern/rescue.c (attempt_normal_mode): New function.
50152 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50153 it failed, print a message.
50154
50155 * kern/mm.c (pupa_real_malloc): Print more information when a
50156 free magic is broken.
50157 (pupa_free): If the first free header is not free actually, set
50158 it to P.
50159
50160 * kern/main.c (pupa_load_normal_mode): Just load the module
50161 "normal".
50162 (pupa_main): Don't print the message
50163 "Entering into rescue mode..." here.
50164
50165 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50166 Declared.
50167 (pupa_rescue_cmd_initrd): Likewise.
50168 (pupa_rescue_cmd_initrd): Likewise.
50169
50170 * include/pupa/symbol.h (FUNCTION): Specify the type.
50171 (VARIABLE): Likewise.
50172
50173 * include/pupa/err.h (pupa_err_t): Added
50174 PUPA_ERR_UNKNOWN_COMMAND.
50175
50176 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50177 (pupa_dl_get_prefix): Likewise.
50178
50179 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50180 Added _chain.mod and _linux.mod instead of chain.mod and
50181 linux.mod.
50182 (chain_mod_SOURCES): Renamed to ...
50183 (_chain_mod_SOURCES): ... this.
50184 (chain_mod_CFLAGS): Renamed to ...
50185 (_chain_mod_CFLAGS): ... this.
50186 (linux_mod_SOURCES): Renamed to ...
50187 (_linux_mod_SOURCES): ... this.
50188 (linux_mod_CFLAGS): Renamed to ...
50189 (_linux_mod_CFLAGS): ... this.
50190 (normal_mod_SOURCES): New variable.
50191 (normal_mod_CFLAGS): Likewise.
50192 (normal_mod_ASFLAGS): Likewise.
50193
501942003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50195
50196 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50197 possible.
50198
fe6b695a 50199 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50200 recursively.
50201 (pupa_dl_unref): Unrefer depending modules recursively.
50202 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50203 a module is unloaded before one depending on that module is
50204 unloaded.
50205 (pupa_dl_unload): Unload depending modules explicitly,
50206 if possible.
50207
c04da074 502082003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50209
50210 * include/pupa/i386/pc/linux.h: New file.
50211 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50212
c04da074 50213 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50214 Removed.
50215 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50216 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50217 of PUPA_CHAINLOADER_BOOT_SECTOR.
50218
50219 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50220 (pupa_linux_prot_size): New variable.
50221 (pupa_linux_tmp_addr): Likewise.
50222 (pupa_linux_real_addr): Likewise.
50223 (pupa_linux_boot_zimage): New function.
50224 (pupa_linux_boot_bzimage): Likewise.
50225
50226 * kern/i386/pc/init.c (struct mem_region): New structure.
50227 (MAX_REGIONS): New macro.
50228 (mem_regions): New variable.
50229 (num_regions): Likewise.
50230 (pupa_os_area_addr): Likewise.
50231 (pupa_os_area_size): Likewise.
50232 (pupa_lower_mem): Likewise.
50233 (pupa_upper_mem): Likewise.
50234 (add_mem_region): New function.
50235 (compact_mem_regions): Likewise.
50236 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50237 the size of the conventional memory and that of so-called upper
50238 memory (before the first memory hole).
50239 Instead of adding each found region to free memory, use
50240 add_mem_region and add them after removing overlaps.
50241 Also, add only 1/4 of the upper memory to free memory. The rest
50242 is used for loading OS images. Maybe this is ad hoc, but this
50243 makes it much easier to relocate OS images when booting.
50244
50245 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50246 (pupa_enter_rescue_mode): Don't register initrd and module.
50247
50248 * kern/mm.c: Include pupa/dl.h.
50249
50250 * kern/main.c: Include pupa/file.h and pupa/device.h.
50251
50252 * kern/loader.c (pupa_loader_load_module_func): Removed.
50253 (pupa_loader_load_module): Likewise.
50254
50255 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50256 ``.o''.
50257
50258 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50259 (pupa_linux_tmp_addr): Likewise.
50260 (pupa_linux_real_addr): Likewise.
50261 (pupa_linux_boot_zimage): Likewise.
50262 (pupa_linux_boot_bzimage): Likewise.
50263
50264 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50265 (pupa_upper_mem): Likewise.
50266 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50267 module is too dangerous.
50268
50269 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50270 (pupa_os_area_size): Likewise.
50271 (pupa_loader_set): Remove the first argument. Loader doesn't
50272 manage modules or initrd any longer.
50273 (pupa_loader_load_module): Removed.
50274
50275 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50276 (linux_mod_SOURCES): New variable.
50277 (linux_mod_CFLAGS): Likewise.
50278
a13f9237 502792003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50280
50281 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50282 the length of a blocklist correctly.
50283
50284 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50285 Use ioctl only if the OS file is a block device.
50286 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50287 not very useful for normal files.
50288
50289 * kern/main.c (pupa_set_root_dev): New function.
50290 (pupa_load_normal_mode): Likewise.
50291 (pupa_main): Call those above.
50292
50293 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50294 pupa_uint16_t.
50295
50296 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50297
a5ffe966 502982003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50299
50300 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50301 (setup): Configure the installed partition information and the
50302 dl prefix.
50303
50304 * loader/i386/pc/chainloader.c (my_mod): New variable.
50305 (pupa_chainloader_unload): New function.
50306 (pupa_rescue_cmd_chainloader): Refer itself.
50307 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50308
50309 * kern/i386/pc/startup.S (install_partition): Removed.
50310 (version_string): Likewise.
50311 (config_file): Likewise.
50312 (pupa_install_dos_part): New variable.
50313 (pupa_install_bsd_part): Likewise.
50314 (pupa_prefix): Likewise.
50315 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50316
50317 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50318 and pupa/misc.h.
50319 (make_install_device): New function.
50320 (pupa_machine_init): Set the dl prefix.
50321
50322 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50323 (buf): Renamed to ...
50324 (linebuf): ... this.
50325 (pupa_rescue_cmd_prefix): New function.
50326 (pupa_rescue_cmd_insmod): Likewise.
50327 (pupa_rescue_cmd_rmmod): Likewise.
50328 (pupa_rescue_cmd_lsmod): Likewise.
50329 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50330 rmmod and lsmod.
50331
50332 * kern/mm.c (pupa_memalign): If failed even after invalidating
50333 disk caches, unload unneeded modules and retry.
50334
50335 * kern/misc.c (pupa_memmove): New function.
50336 (pupa_memcpy): Removed.
50337 (pupa_strcpy): New function.
50338 (pupa_itoa): Made static.
50339
50340 * kern/dl.c (pupa_dl_iterate): New function.
50341 (pupa_dl_ref): Likewise.
50342 (pupa_dl_unref): Likewise.
50343 (pupa_dl_unload): Return if succeeded or not.
50344 (pupa_dl_unload_unneeded): New function.
50345 (pupa_dl_unload_all): Likewise.
50346 (pupa_dl_init): Renamed to ...
50347 (pupa_dl_set_prefix): ... this.
50348 (pupa_dl_get_prefix): New function.
50349
50350 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50351 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50352 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50353 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50354 (pupa_install_dos_part): Declared.
50355 (pupa_install_bsd_part): Likewise.
50356 (pupa_prefix): Likewise.
50357 (pupa_boot_drive): Likewise.
50358
50359 * include/pupa/types.h: Fix a typo.
50360
50361 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50362 pupa_memmove.
50363 (pupa_memmove): Declared.
50364 (pupa_strcpy): Likewise.
50365
50366 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50367 pupa_mod_init takes one argument, its own module.
50368 (pupa_dl_unload_unneeded): Declared.
50369 (pupa_dl_unload_all): Likewise.
50370 (pupa_dl_ref): Likewise.
50371 (pupa_dl_unref): Likewise.
50372 (pupa_dl_iterate): Likewise.
50373 (pupa_dl_init): Renamed to ...
50374 (pupa_dl_set_prefix): ... this.
50375 (pupa_dl_get_prefix): Declared.
50376
50377 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50378 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50379 unloaded.
50380 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50381 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50382
50383 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50384 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50385
012d7999 503862003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50387
50388 * util/i386/pc/pupa-setup.c (setup): Define the internal
50389 function find_first_partition_start at the top level, because GCC
50390 3.0.x cannot compile internal functions in deeper scopes
50391 correctly.
50392 (find_root_device): Use lstat instead of stat.
50393 Don't follow symbolic links.
50394 Fix the path-constructing code.
50395
50396 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50397 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50398 by a BLKGETSIZE ioctl first, because block devices don't fill
50399 the member st_mode of the structure stat on Linux.
50400 [__linux__] (linux_find_partition): Use a temporary buffer
50401 REAL_DEV for the working space. Copy it to DEV before returning.
50402 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50403 buffer cache consistent.
50404 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50405 strncmp. The previous value was merely wrong.
50406 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50407
50408 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50409 FAT size is 12. The previous value was merely wrong.
50410
50411 * kern/main.c (pupa_main): Don't split the starting message from
50412 newlines.
50413
50414 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50415 LF, because BIOS goes crazy about character attributes in this
50416 case.
50417
1cc73a62 504182003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50419
50420 * include/i386/pc/util/biosdisk.h: New file.
50421 * util/i386/pc/biosdisk.c: Likewise.
50422 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50423
1cc73a62 50424 * Makefile.in (INCLUDE_DISTFILES): Added
50425 include/pupa/i386/pc/util/biosdisk.h.
50426 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50427 directory util/i386/pc.
50428 (install-local): Added a rule for sbin_UTILITIES.
50429 (uninstall): Likewise.
50430
50431 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50432
50433 * util/misc.c (xrealloc): New function.
50434 (pupa_malloc): Likewise.
50435 (pupa_free): Likewise.
50436 (pupa_realloc): Likewise.
50437 (pupa_stop): Likewise.
50438 (pupa_putchar): Likewise.
50439
50440 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50441
50442 * include/pupa/util/misc.h (xrealloc): Declared.
50443
50444 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50445 macro.
50446 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50447 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50448
50449 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50450 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50451
50452 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50453 way should be implemented.
50454 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50455
50456 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50457 the size of NAME for safety.
50458 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50459 0x88.
50460
50461 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50462 (pupa_setup_SOURCES): Likewise.
50463
50464 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50465
08b70fe8 504662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50467
50468 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50469 bunch of pushl's from pusha, because this destroys the return
50470 value.
50471
62ddcc8f 504722002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50473
50474 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50475 This means that any missing prototypes could be fatal. Also, you
50476 must take care when writing assembly code. See the comments at
50477 the beginning of startup.S, for more details.
f19dbdb7 50478
62ddcc8f 50479 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50480 compilation mechanism.
50481 (pupa_chainloader_real_boot): Likewise.
50482 (pupa_biosdisk_rw_int13_extensions): Likewise.
50483 (pupa_biosdisk_rw_standard): Likewise.
50484 (pupa_biosdisk_check_int13_extensions): Likewise.
50485 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50486 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50487 (pupa_get_memsize): Likewise.
50488 (pupa_get_mmap_entry): Likewise.
50489 (pupa_console_putchar): Likewise.
50490 (pupa_console_setcursor): Likewise.
50491 (pupa_getrtsecs): Use pushl instead of push.
50492
50493 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50494 memory instead of the stack for a mmap entry, because some
50495 BIOSes may ignore the maximum size and overflow.
50496
50497 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50498
50499 * genmk.rb (PModule#rule): Compile automatically generated
50500 sources with module-specific CFLAGS as well as other sources.
50501
9962ed99 505022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50503
50504 * configure.ac: Check ld.
50505 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50506 respectively, before checking endianness and sizes.
50507
50508 * Makefile.in (LD): New variable.
f19dbdb7 50509
abdfc3c5 505102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50511
50512 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50513
6a161fa9 505142002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50515
50516 * Changelog: New file.
50517