]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Add a wrapper for fopen. On unix-like systems just pass-through. On
[grub2.git] / ChangeLog
CommitLineData
bb338aaf
VS
12013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Add a wrapper for fopen. On unix-like systems just pass-through. On
4 windows use unicode version.
5
ae5540d3
VS
62013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Move set_program_name and init_nls to host_init. On windows
9 fix in this fuction console and argument charset as well.
10
4cd3c4fe
AB
112013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
12
13 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
14 GRUB_ENABLE_CRYPTODISK.
15
16 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
17 GRUB_ENABLE_CRYPTODISK.
18 * util/grub-mkconfig_lib.in: Likewise.
19
78170f3e
CCZ
202013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
21
22 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
23
3414b6c0
MC
242013-10-12 Melki Christian <Christian.melki@saabgroup.com>
25
26 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
27 error when enabling debug.
28
6d0740e8
IB
292013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
30
31 * configure.ac: Use -melf_*_obsd on openbsd.
32
ff2d4dc4
VS
332013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
36
eac6ae82
VS
372013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/misc.h: Use gnu_printf rather than printf as format
40 template since our functions are independent of libc.
41
ba9baabe
VS
422013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * util/grub-setup.c (setup): Move copying of partition table as
45 futher up as possible to avoid possible overwrite by floppy routines.
46
472013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
48
49 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
50
145e2369
VT
512013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
52
53 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
54 * docs/grub.texi: Likewise.
55
3530bc9d
VS
562013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
59 it's mostly unused. Move vestiges to the callers.
60
fb9f59c3
VS
612013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
64 version of salt and hash. Use grub_snprintf rather than snprintf.
65
9be1c255
VS
662013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * docs/grub.texi: Fix problem with braces.
69
ed8c0887
VS
702013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * conf/Makefile.extra-dist: Fix extra-dist list.
73 * grub-core/Makefile.core.def: Likewise.
74
f72ab14e
VS
752013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * docs/grub.texi: Document disk names used on Windows and AROS.
78
2fe53a22
VS
792013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
82 with AROS devs.
83 * grub-core/osdep/aros/hostdisk.c: Likewise.
84
71c1d67a
VS
852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
86
87 Avoid including hostfile.h when not necessarry as it pulls
88 in OS-specific headers which may redefine generic names
89 like "far".
90
ad297ec7
VT
912013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
92
93 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
94 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
95 scrollbar_bottom_pad
96 * docs/grub.texi: Likewise.
97
6e9e5dc9
VT
982013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
99
100 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
101
761c718b
VS
1022013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
105
37149a2f
VS
1062013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
109 Removed.
110 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
111 Made static.
112
3837a151
VS
1132013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
116 leftover.
117
caca1c70
VS
1182013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Move OS-specific driver configuration to grub_util_fd_open. This
121 moves OS-dependent parts from kern/emu/hostdisk.c to
122 grub-core/osdep/*/hostdisk.c.
123
f7676b70
VS
1242013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * util/grub-mkimage.c (generate_image): Use size_t instead of
127 grub_size_t.
128 * util/grub-mkimagexx.c (locate_sections): Likewise.
129 (load_image): Likewise.
130
22f98db2
VS
1312013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
134 size_t.
135 (grub_util_write_image): Likewise.
136
b102ce69
VS
1372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
140 get random when no RNG is available.
141 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
142
acbbe5cb
VS
1432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * include/grub/util/lvm.h: Removed.
146
2112fb3f
VS
1472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
150 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
151
79f78fbf
VS
1522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/osdep/windows/sleep.c: Add missing config.h.
155
c2e6f705
VS
1562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
159
aabe433a
VS
1602013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/net/drivers/emu/emunet.c: Move to ..
163 * grub-core/osdep/linux/emunet.c: ..here.
164
9a2c903f
VS
1652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/ieee1275/ofpath.c: Move to ...
168 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
169 * grub-core/osdep/basic/ofpath.c: ..here.
170
4a445f58
VS
1712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
172
173 Move password-querying (util-version) routines to grub-core/osdep.
174
c1ca4244
VS
1752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Move sleep routines to grub-core/osdep.
178
672fa55e
VS
1792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Move OS-dependent files to grub-core/osdep and document it.
182
a5b0365a
VS
1832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
186 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
187
29072e99
VS
1882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
191
f8772ea7
VS
1922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * util/misc.c: Remove leftover inclusion of malloc.h.
195
a1a315e7
VS
1962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * include/grub/setjmp.h: Remove leftover GRUBOF.
199
cef86fef
VS
2002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * util/raid.c: Fold into ...
203 * util/getroot_linux.c: ... here. Make all functions static.
204
c4cf25ee
VS
2052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
208 macros to GRUB ones.
209
53a5f5c2
VT
2102013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
211
212 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
213 occasional bug. If there are too many boot entries or too low
214 scrollbar height then we need to use another formula to calculate
215 the position and size of the scrollbar thumb.
216
de300af2
VS
2172013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
218
c4cf25ee 219 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 220
c5827364
VT
2212013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
222
223 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
224 * docs/grub.texi: Likewise.
225
dd2ed8b0
VT
2262013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
227
228 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
229 viewport.
230
7286c384
VT
2312013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
232
ffdfc1f3
VT
233 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
234 minimal width calculations.
7286c384 235
ea547e14
VS
2362013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * docs/grub.texi: Update note on colors on emu console.
239
b726be76
VS
2402013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
243 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
244 it's FS and not GRUB limitation.
245
a5f6ade6
VS
2462013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
249
3b0f3aa2
VS
2502013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
253
1db38304
ST
2542013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
255
256 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
257 kernels by version order.
258
fb295fc0
VS
2592013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
262
47345010
VS
2632013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
264
265 Add AROS hostdisk and getroot routines.
266
bf25f879
VS
2672013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Make cryptodisk and diskfilter probe data retrievable programmatically
270 and not just printable.
271
24ca4512
VS
2722013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Split random retrieving code into separate files.
275
c7c177f0
VS
2762013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
279 R_ARM_V4BX.
280
d71b45ae
VS
2812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
284 condition.
285 * grub-core/tests/fake_input.c: Likewise.
286 * grub-core/tests/cmdline_cat_test.c: Likewise.
287
e44b9a83
VS
2882013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/video/capture.c: Do not do finalization when .fini
291 is called as there is explicit capture_end.
292
4fa60739
VS
2932013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
296 changing windows to avoid crash.
297
17c8bc37
VS
2982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
301
9d4d7977
VS
3022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * po/exclude.pot: Add several strings to exclude.
305
0caa407c
VS
3062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
309
9ae393da
VS
3102013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * autogen.sh: Add ./util/grub-gen-widthspec.c and
313 ./util/grub-gen-asciih.c to exclude list.
314
498d5033
VS
3152013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
318 and don't mark error strings for translation.
319
7d93298f
VS
3202013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
323 properly in case of missing block size.
324
b2cae20c
VS
3252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/lib/arm/setjmp.S: Add missing license section.
328
3896d6b4
VS
3292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * po/swiss.sed: Add replacement for key names and for term computer.
332
ebc1da55
VT
3332013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
334
335 * grub-core/gfxmenu/theme_loader.c: New global options for the
336 theme background image handling. desktop-image-scale-method,
337 desktop-image-h-align, desktop-image-v-align.
338 * grub-core/gfxmenu/view.c: Likewise.
339 * include/gfxmenu_view.h: Likewise.
340 * include/bitmap_scale.h: Proportional scale functions introduced.
341 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
342 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
343 cases of unexpected input variables for scale functions.
344 * docs/grub.texi: Updated documentation for new options.
345
c5739143
VS
3462013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
349
be74aeb3
VT
3502013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
351
352 * grub-core/tests/checksums.h: Corrected due to changes in
353 bilinear interpolation function.
354
d999ac72
VT
3552013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
356
357 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
358 to eliminate artefacts in bilinear interpolation.
359
2b131610
VS
3602013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/video/readers/tga.c: Support paletted tga.
363
de6e5ff8
VS
3642013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
367 incorrect cbcr setting when in color mode.
368
fa31ee9c
VS
3692013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * grub-core/video/readers/png.c: Support paletted images and clean up
372 greyscale support.
373
e84f8188
VS
3742013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
377 usage of wrong table which resulted in mishandling of 4-byte
378 sequences.
379
3802013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
381
382 * grub-core/term/terminfo.c: Add Home and End key sequences.
383
d72bff09
VS
3842013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/video/readers/png.c (grub_png_decode_image_header):
387 Fix formula for computing total number of bytes.
388
29648c5d
VS
3892013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
392 image processing, fix big-endian and support grayscale.
393
4a876492
VS
3942013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
397 Correctly will with maximum transparency when using index color.
398
3ccf16df
VS
3992013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/video/readers/png.c: Support grayscale
402
4032013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
404
405 * grub-core/video/readers/jpeg.c: Support grayscale.
406
3ccf16df 4072013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
408
409 * grub-core/commands/loadenv.c: Support skipping signature check
410 and variable names filtering.
411
30b7f58f
VS
4122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
415 * grub-core/kern/emu/hostfs.c: Likewise.
416 * util/getroot_unix.c: Likewise.
417
bab7b1eb
VS
4182013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
421 Migrate all explicit defines to this new one.
422
43b1c99d
VS
4232013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
426 grub_util_fd_strerror when using grub_util_fd_*.
427 (grub_util_fd_open_device): Likewise.
428 (grub_util_biosdisk_read): Likewise.
429 (grub_util_biosdisk_write): Likewise.
430 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
431 (grub_util_fd_strerror): Likewise.
432 (grub_util_fd_sync): Likewise.
433 (grub_util_fd_close): Likewise.
434 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
435 (grub_util_fd_close): Likewise.
436 (grub_util_fd_strerror): Likewise.
437 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
438 function proto rather than macro.
439 (grub_util_fd_sync): Likewise.
440 (grub_util_fd_open): Likewise.
441 (grub_util_fd_strerror): New proto.
442
e8fd80bc
VS
4432013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
446 platforms on which it doesn't work.
447
bf645fda
VS
4482013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
451 stat immediately to where it's used.
452
5177ba14
VS
4532013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/getroot.c (grub_util_check_block_device): Move to ...
456 * util/getroot_unix.c (grub_util_check_block_device): ... here.
457 * util/getroot.c (grub_util_check_char_device): Move to ...
458 * util/getroot_unix.c (grub_util_check_char_device): ... here.
459
9db826e1
VS
4602013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
463 disk closing logic.
464
49120085
AB
4652013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
466
467 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
468
b3328b68
AB
4692013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
470
471 * docs/grub.texi (File name syntax): Document ZFS filenames
472 (/volume@snapshot/...).
473
3fff48ab
VS
4742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
477 Always return full path. Fixes a problem with mkrelpath.
478
39cfdaa9
PFS
4792013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
480
481 * util/grub-install.in: Add GPT PReP support.
482 * util/grub-probe.c (probe): Support GPT partition type.
483 (main): Support -t gpt_parttype.
484
7c680e1f 4852013-09-23 Aleš Nesrsta <starous@volny.cz>
486
487 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
488
890bdabe
MM
4892013-09-23 Massimo Maggi <me@massimo-maggi.eu>
490
491 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
492
9c262ff9
TH
4932013-09-23 Tim Hardeck <thardeck>
494
495 * util/grub.d/10_hurd.in: Filter out character for the class.
496 * util/grub.d/10_kfreebsd.in: Likewise.
497 * util/grub.d/10_linux.in: Likewise.
498 * util/grub.d/20_linux_xen.in: Likewise.
499
d755342a
MC
5002013-09-23 Melki Christian <Christian.melki@saabgroup.com>
501
502 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
503 "changed".
504
68b77707
JT
5052013-09-23 Josh Triplett <josh@joshtriplett.org>
506
507 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
508 boot partition.
509
efa68bfa
VS
5102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
513 doesn't use posix_wrap. Keep literal -fno-builtin however.
514
d9104204
VS
5152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
518
c248781a 5192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5202013-09-23 neil
521
5830df88 522 * configure.ac: Do not enable -Wmissing-noreturn as its
523 usefulness is limited and creates problems on some OS notably with
524 code generated by bison.
525
5262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5272013-09-23 neil
528
529 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 530 supported by all gcc and when it is, it's already enabled by -Wall.
531
621bed69
VS
5322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
535 desactivated use of EDID at all.
536
71764dc8 5372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5382013-09-23 neil
539
540 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
541 video if no text is available.
542
affce7d4 5432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
5442013-09-23 neil
545
546 * configure.ac: Substitute TARGET_RANLIB.
547
5482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5492013-09-23 neil
affce7d4
VS
550
551 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
552
553 Based on patches from AROS.
554
0e8daad0 5552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 5562013-09-23 neil
0e8daad0
VS
557
558 * grub-core/Makefile.am: Override STRIP and RANLIB.
559 * configure.ac: compute TARGET_RANLIB.
560 * INSTALL: Document TARGET_RANLIB
561
562 Based on patches from AROS.
563
3f7d9c82
VS
5642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
567 that floppies are unpartitioned.
568
bca8873a
VS
5692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
572 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
573
5742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
577 less nice but more portable.
578 * grub-core/lib/posix_wrap/wchar.h: Likewise.
579
a47a78be
VS
5802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
583 for cheat_fd.
584 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
585 functions.
586 (grub_cryptodisk_cheat_insert): Likewise.
587 (grub_cryptodisk_close): Likewise.
588
e85a5d5c
VS
5892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
592 Use windows path for DEFAULT_DIRECTORY.
593
dad9fa6b
VS
5942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
597 difference was likely just gcc version, not anything mingw-related.
598
7e518ca8
VS
5992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
600
601 Use Winapi on both cygwin and mingw32 to share more code between both.
602
d68d0157
AB
6032013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
604
605 * util/grub-install.in: Add --grub-editenv option.
606 * util/grub-install_header (grub_compress_file): Explicitly check for
607 plain file to avoid cp error.
608
775b284d
AB
6092013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
610
611 * docs/grub.texi (Device syntax): Document new LVM UUID based device
612 names; fix LVM driver name (lvm, not lv).
613 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
614 names.
615
3ff4063d
VS
6162013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
619 files rather than one file with loads of #if's.
620 * util/getroot.c: Likewise.
621
287faafe
VS
6222013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
625
d1983764
VS
6262013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
629 GNU/Hurd to the list of checked PRNG.
630
15ce95c4
VS
6312013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * configure.ac: On FreeBSD use -melf_*_fbsd format.
634
207862dd 6352013-09-21 Ales Nesrsta <starous@volny.cz>
636
7c680e1f 637 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 638
63653cfd
VS
6392013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
642 * grub-core/disk/lvm.c: Add LVM UUIDs.
643 * util/getroot.c: Use LVM UUIDs whenever possible.
644
f5d3e7ef
AB
6452013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
646
647 * docs/grub.texi (Networking commands): Add documentation for
648 network related commands.
649
53c6b7d6
VS
6502013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * util/getroot.c (grub_util_open_dm): Check major rather than the name
653 to determine if device is handled by devmapper.
654 (convert_system_partition_to_system_disk): Likewise.
655 (get_dm_uuid): Don't check explicitly if device is mapped, it's
656 already done in grub_util_open_dm.
657
e70d6736
LL
6582013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
659
660 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
661 Clean up stack manipulation (sync_caches_armv*)
662
90379808
VS
6632013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * util/lvm.c: Remove since unused. Remove remaining references.
666
386701a8
VS
6672013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Handle the case of partitioned LVM properly.
670
671 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
672 Stop on meeting LVM, mpath or DMRAID.
673 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
674 (read_device_map): Likewise.
675 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
676 device is full disk rather than erroring out on LVM and similar cases.
677
53070787
VS
6782013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
681
1bc783bd
VS
6822013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
685 4K before the end.
686 Reported by: Leif Lindholm
687
436ad5c3
PW
6882013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
6892013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
692 codes.
693
607319c9
CW
6942013-09-18 Colin Watson <cjwatson@ubuntu.com>
695
696 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
697 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
698
d404d154
DR
6992013-09-18 Douglas Ray <dougray@cpan.org>
700
701 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
702 as secure.
703
28851ef6
AN
7042013-09-18 Aleš Nesrsta <starous@volny.cz>
705
706 * docs/grub.texi: Fix broken link.
707
897c3bc6
MC
7082013-09-18 Melki Christian <Christian.melki@saabgroup.com>
709
710 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
711 to break endless loop.
712
f1630459
VS
7132013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/grub-fstest.c: Fix several printf formats.
716 * util/grub-mkimage.c: Likewise.
717 * util/grub-mkimagexx.c: Likewise.
718 * util/grub-script-check.c: Likewise.
719
64463dfd
VS
7202013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
723 error.
724
48972495
VS
7252013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
728
5dd5e64b
VS
7292013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
732 removed in current versions cygwin_conv_*.
733
1c1f31e5
VS
7342013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * configure.ac: Disable efiemu runtime on cygwin.
737
c546a259
VS
7382013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
741 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
742
81690478
VS
7432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
746 error message.
747
6b87c10a
VS
7482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
751 windows variant.
752 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
753 data.
754
8f0baaac
VS
7552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
758 when on x86 and not cygwin.
759 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
760 -Wl,-melf_x86_64.
761
b224c266
VS
7622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * configure.ac: Set CPP to build one when checkoing for freetype for
765 build.
766
506b336b
VS
7672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
770 [!GRUB_BUILD]: Remove has_argument.
771
8c8c87b7
VS
7722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
775 Replace with a dummy.
776
7dc5ca13
VS
7772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * configure.ac: Don't change host_os from mingw to cygwin.
780
c3302aa5
VS
7812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * configure.ac: Change target_os from windows to cygwin.
784
7b780018
VS
7852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
786
787 Handle grub-pe2elf and grub-mkfont for cases when build != host.
788
789 * Makefile.am (build-grub-mkfont): Don't include gnulib.
790 (build-grub-gen-asciih): Likewise.
791 (build-grub-gen-widthspec): Likewise.
792 * Makefile.util.def (grub-pe2elf): Remove.
793 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
794 * configure.ac: Separate tests for build.
795 Move ./build-grub-pe2elf to grub-core.
796 Fix typo.
797 * grub-core/Makefile.am (build-grub-pe2elf): New target.
798 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
799 defined.
800 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
801 constants.
802 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
803 * util/grub-pe2elf.c: Simplify not to rely on getopt.
804 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
805
984cfd8a
VS
8062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
809 mingw32 as well based on grub_util_get_disk_size.
810 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
811 grub_util_get_fd_size.
812 (sync): Removed.
813 (fsync): Moved to ...
814 * grub-core/kern/emu/misc.c (fsync): ... here.
815
f82d79c9
VS
8162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * include/grub/mm.h (grub_extend_alloc): Remove.
819 * grub-core/loader/i386/pc/plan9.c: Use own version of
820 grub_extend_alloc with appropriate types.
821
fd7dd66d
VS
8222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
825
43ffba7c
VS
8262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * util/getroot.c: Include sys/wait.h only when we need waitpid.
829
3c7eac44
VS
8302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Fix dependencies on cygwin.
833
834 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
835 dependencies when used and defined.
836 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
837
bdb5ba47
VS
8382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
841 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
842
ed7fbf43
VS
8432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
846 implementation available to cause compile-time rather than runtime
847 error.
848
fc46e9fc
VS
8492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/grub-fstest.c: Don't check for symlinks on windows.
852
7f68269a
VS
8532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * INSTALL: Mention unavailability of man pages when cross-compiling.
856
8ed358e0
VS
8572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
860 and gcry_log_bug.
861 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
862
fc97214f
VS
8632013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * INSTALL: Document cross-compilation.
866 * acinclude.m4: Determine whether nm support -P and --defined-only.
867 * configure.ac: Add TARGET_ to all variables pertaining to target
868 that don't have it yet.
869 * gentpl.py: Likewise.
870 * grub-core/Makefile.am: Likewise.
871 * grub-core/genmod.sh.in: Likewise.
872 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
873 as well.
874
ca1fb563
IB
8752013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
876
877 * configure.ac: Remove -Wempty-body. It's not essential and needs
878 recent gcc.
879
0031b229
IB
8802013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
881
882 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
883 * util/getroot.c: Likewise.
884
54ea2f44
VS
8852013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/disk/ahci.c: Add needed explicit cast.
888 * grub-core/lib/backtrace.c: Likewise.
889 * grub-core/net/ip.c: Likewise.
890 * grub-core/net/tcp.c: Likewise.
891 * grub-core/net/udp.c: Likewise.
892
3c601f8c
VS
8932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
896
1d679dda
VS
8972013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * util/import_gcry.py: Add final newline in visibility.h.
900
00c28dd9
VS
9012013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * conf/Makefile.common: Fix typo.
904
32af299a
VS
9052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
908
e733cf52
VS
9092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * Makefile.am (widthspec.h): Fix typo.
912 * util/grub-gen-widthspec.c: Likewise.
913
c6b066f2
VS
9142013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
915
916 Move ascii.h and widthspec.h generation to a separate build-time-only
917 tool.
918
ad1fe3f9 9192013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
920
921 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
922 Always fill bootdisk info and improve check for NetBSD disklabel.
923
92a52dd4
VS
9242013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * conf/Makefile.extra-dist: Add util/bin2h.c.
927 Reported by: floppym.
928
b2e9d276
VS
9292013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
932
7b966834
VS
9332013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * configure.ac: Disable unifont and starfield if no freetype was found.
936
d5c1eef1
VS
9372013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
940 on NetBSD and OpenBSD.
941
66345b50 9422013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
943
944 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
945
66345b50 9462013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
947
948 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
949 reduced. Inheritant options are processed during the theme loading.
950
66345b50 9512013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
952
953 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
954
369508b3
AS
9552013-08-14 Avik Sil <aviksil@in.ibm.com>
956
957 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
958
9592013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
960
961 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
962 using qemu.
963
6f27a3f6
PFS
9642013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
965
966 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
967 remove-potcdate.sed.
968
c6ed362a
AB
9692013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
970
971 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
972 unused attribute from pull argument.
973
5e7d9464
AB
9742013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
975
976 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
977 memory leak.
978
dea55e2a
AB
9792013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
980
981 * util/getroot.c (pull_lvm_by_command): add --separator option
982 to vgs call to disable padding of output to 10 characters.
983
f0b94ded
VS
9842013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
987 here ...
988 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
989 here.
990
b828fb5d
VS
9912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
994 length.
995
7c9d0c39
VS
9962013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
997
998 Fix handling of build-time grub-bin2h and grub-mkfont when doing
999 full Canadian cross. Tested with build=x86_64, host=arm,
1000 target=ppc-ieee1275.
1001
816719c8
VS
10022013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * configure.ac: Error if no $BUILD_CC could be found.
1005 Reported by: DevHC.
1006
2af2353b
VS
10072013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1010 i386-multiboot.
1011
797abd0a
VS
10122013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1015 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1016
36e87d25
CW
10172013-08-13 Colin Watson <cjwatson@ubuntu.com>
1018
1019 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1020 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1021 falling back to the partition device, otherwise a later call to this
1022 function may fail spuriously.
1023 Reported by Axel Beckert. Fixes Debian bug #708614.
1024
273349fe
GS
10252013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1026
1027 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1028
418f86c6
GS
10292013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1030
1031 Prevent shadowing of stdlib's devname(3) on BSD.
1032
1033 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1034 and devlast to diskname and disklast, respectively.
1035
c137aea0
CW
10362013-08-11 Colin Watson <cjwatson@ubuntu.com>
1037
1038 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1039
272dc8df 10402013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1041
1042 * docs/grub.texi: Introduce terminal window position options:
1043 terminal-left: terminal window's left position
1044 terminal-top: terminal window's top position
1045 terminal-width: terminal window's width
1046 terminal-height: terminal window's height
1047 terminal-border: terminal window's border width
1048 * grub-core/gfxmenu/theme-loader.c: Likewise.
1049 * include/grub/gfxmenu_view.h: Likewise.
1050 * po/exlude.pot: Likewise.
1051 * grub-core/gfxmenu/view.c: Likewise.
1052 Also updated minimal window size.
1053 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1054 * grub-core/tests/checksums.h: Update (terminal window height
1055 is adjusted now for low resolution screen)
b4743461 1056
748a4533
VS
10572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1060 position).
1061
fca5f944
VS
10622013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * po/exclude.pot: Add few recent exceptions.
1065
4f47d809
VS
10662013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * tests/grub_func_test.in: Add unicode.pf2.
1069
a62ae90c
VS
10702013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1073 standard rather than noral color, in line with other terminals.
1074
4ed41392
VS
10752013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1078 analysis.
1079
3719fbc5
VS
10802013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1083
459b1d91
VS
10842013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1087 inappropriate printf.
1088
f4e1ab9d
AB
10892013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1090
1091 * .bzrignore: Remove grub-core/lib/dtc-grub,
1092 grub-core/Makefile.libfdt.def
1093 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1094
fa471bfa
VS
10952013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * include/grub/video.h (grub_video_register): Keep double-linked as
1098 well as single-linked invariants.
1099 Reported by: qwertial.
1100
d65be02b
VS
11012013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/commands/nativedisk.c (get_uuid): Handle
1104 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1105
ba8bc620
VT
11062013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1107
1108 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1109 maximum of NW, N, NE heights instead of N's height and maximum of
1110 NW, W, SW widths instead of W's width. (So the box will be always
1111 correctly drawn)
1112
4f0ad029
GS
11132013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1114
1115 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1116 Fix misuse of variable count.
1117
43d53b72
LL
11182013-07-18 Leif Lindholm <leif.lindholm@arm.com>
11192013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
11202013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1121
43d53b72
LL
1122 New ports to arm-uboot and arm-efi.
1123 Mostly by Leif Lindholm with some additions from
1124 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1125
88f8d146
VS
11262013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1129 and not before.
1130 Reported by: Leon Drugi.
1131
3f42504c
VS
11322013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1135 Reported by: Paulo Flabiano Smorigo.
1136
d110499b
VT
11372013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1138
1139 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1140
a8674ad3
VT
11412013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1142
1143 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1144
286fe4b3
VS
11452013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1148
1bd57aa3
VS
11492013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1152
7a87d69f
AB
11532013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1154
1155 * grub-core/net/bootp.c: Export net_* variables.
1156 * grub-core/net/net.c: Likewise.
1157
b2182299
VS
11582013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1161
795b3dc0
VS
11622013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1165
68714c43
VS
11662013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1169
af211bab
VS
11702013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1173
0036f02d
MM
11742013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1175
1176 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1177 <= 0.
1178
6d0ddff3
MM
11792013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1180
1181 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1182 functions.
1183
038016f4
MM
11842013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1185
1186 * grub-core/fs/zfs/zfs_lz4.c: New file.
1187 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1188
776bdce2
MM
11892013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1190
1191 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1192
c71dbd40
MM
11932013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1194
1195 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1196 (check_pool_label): Likewise.
1197 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1198
11992013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1200
1201 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1202
8e67b50f
AB
12032013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1204
1205 * docs/grub.texi (Commands): Document postition parameters
1206 for menuentry command.
1207
f5ae3717
AB
12082013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1209
1210 * util/grub-mknetdir.in: Remove stray line from help output.
1211
9c28da2a
VS
12122013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 Remove early sm712 init as there is no reason for it (the "watchdog"
1215 effect was due to wrong GPIO map).
1216
139072b8
VS
12172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/commands/pcidump.c: Remove static variables.
1220
c6a61bda
VS
12212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1224
51369614
VS
12252013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * configure.ac: Move delimiter after the infos.
1228
efa8640a
VS
12292013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1232
6f80a7b2
VS
12332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1236 not filling whole 8x16 space.
1237
a2371e19
VS
12382013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1241
64fce2d8
VS
12422013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * configure.ac: Indicate which liblzma is used if any.
1245
eb272d84
PW
12462013-06-21 Paul Wise <pabs3@bonedaddy.net>
12472013-06-21 Craig Sanders <savannah@taz.net.au>
1248
1249 * util/grub-reboot.in: Document submenu usage.
1250
a9e5abee
CW
12512013-06-25 Colin Watson <cjwatson@ubuntu.com>
1252
1253 * .bzrignore: Update with a number of new test-related files.
1254
e639c204
CW
12552013-06-25 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * util/grub-script-check.c: Fail on scripts containing no
1258 commands, to guard against corrupted grub-mkconfig setups that
1259 produce no useful output.
1260 * tests/grub_script_no_commands.in: New test.
1261 * Makefile.util.def (grub_script_no_commands): Add.
1262 Reported by Hans Putter. Fixes Debian bug #713886.
1263
a4c89b17
AB
12642013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1265
1266 * grub-core/disk/diskfilter.c: Forgot to remove comment
1267 from previous commit.
1268
5b06b53c
AB
12692013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1270
1271 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1272 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1273
702da5c9
AB
12742013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1275
1276 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1277
aa62a5b7
AB
12782013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1279
1280 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1281 rescan diskfilter devices until nothing new is found.
1282
4aa237c8
VS
12832013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1286
93d8479b
VS
12872013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Don't try to detect cbfs on *-emu.
1290
837222cc
VS
12912013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1294
99c971af
VS
12952013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 Add support for processed coreboot payload chainloading.
1298
e6930a45
VS
12992013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Enable coreboot information commands even when not loaded as
1302 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1303
5027af38
VS
13042013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Support for cbfs. Also factor out the part which is common
1307 for all archives to a separate module. This splits tar from cpio
1308 as they are very different but keeps cpio, cpio_be, odc and newc
1309 together since they're very similar.
1310
a5b55c4b
DM
13112013-06-15 David Michael <fedora.dm0@gmail.com>
1312
1313 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1314 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1315
0301a8b3
VS
13162013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * tests/grub_script_eval.in: Really add the eval test.
1319
3d84cb17
VS
13202013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 Move flavour-specific parts out of common cpio.c file and
1323 rename remaining to cpio_common.c
1324
593e430c
AB
13252013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1326
1327 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1328 off new function grub_script_execute_new_scope. Change callers to use
1329 either of them as appropriate.
1330 * grub-core/commands/eval.c: New command eval.
1331 * docs/grub.texi (Commands): Document it.
1332
63c29849
AB
13332013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1334
1335 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1336 to fetch values when listing.
1337
cc284112
AB
13382013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1339
1340 Fix make dist on non-pc.
1341
13422013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1343
1344 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1345 without a device name.
1346
69544d1e
VS
13472013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Remove enable_executable_check as it's not needed anymore.
1350 Reported by: dougray.
1351
96dbe648
VS
13522013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1355 ambigouos RAID before discovering RAIDs on top of it.
1356 Reported by: bodom.
1357
ccfc0bdb
VS
13582013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Fix typo (failback vs fallback).
1361
f2587088
AB
13622013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1363
1364 * util/grub.d/30_os-prober.in: Add support for probing EFI
1365 System Partition (as of os-prober 1.58).
1366
cec5cf0c
VS
13672013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * configure.ac: Add yet another path to unifont. For parabola.
1370
e40b4596
JT
13712013-05-30 Josh Triplett <josh@joshtriplett.org>
1372
1373 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1374 handling to copy the killed characters to the kill buffer as
1375 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1376 stored as char. Eliminates UCS4 truncation and corruption
1377 observed when killing characters with Ctrl-u and yanking them
1378 back with Ctrl-y.
1379
fc4c4fdd
VS
13802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 Detach optional parts of gfxterm and integrate in with coreboot init.
1383
6570b205
VS
13842013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Move blit and fill dispatcher to appropriate files to decrease export
1387 and relocation overhead.
1388
b8323067
VS
13892013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1392 functions.
1393
3cc1878f
VS
13942013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/Makefile.am: Fix compilation problem with some
1397 automake versions.
1398
4b80e43c
VS
13992013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1402
57e0c20c
VS
14032013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1406 automake versions.
1407
4fd42c53
VS
14082013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1411 SSDT.
1412
1e908b34
RS
14132013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1414
1415 * grub-core/partmap/dfly.c: New partition map.
1416
1359e474
VS
14172013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1420 checking.
1421 Reported by: Francesco Lavra.
1422
17806392
AB
14232013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1424
1425 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1426 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1427 false conditions.
1428 * conf/Makefile.common: define dist_grubconf_DATA
1429
cdce14fa
VS
14302013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 Progressively skip menu elements on small terminals rather
1433 than crashing.
1434
c8d6cc3c
VS
14352013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1438 to avoid losing last column.
1439
a73b31ce
VS
14402013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * po/exclude.pot: Add missing string "%C".
1443
1202c764
VS
14442013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1447 after the test.
1448
50268344
VS
14492013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/grub-install.in: Gettextize "Not found" message.
1452
62b15edf
VS
14532013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Fix distfiles list.
1456 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1457
14582013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1459
1460 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1461 present.
1462 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1463
709ad61b
VS
14642013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1467
d128901a
VS
14682013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1471 attribute since structure is not necessarily aligned.
1472
34b22f5c
AB
14732013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1474
1475 * docs/grub.texi (Device syntax): Clarify description of network
1476 drives.
1477
0f7e980b
VS
14782013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1481 for vasprintf presence.
1482
30b03dc2
VS
14832013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * util/grub-install.in: Handle efibootmgr presence check.
1486 Reported by: Leif Lindholm.
1487
0dc11c08
VS
14882013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1491 new strings to translate.
1492
f8024c3f
VS
14932013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1496 yet another string (pun intended) to translate.
1497
b4c1da62
VS
14982013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * po/POTFILES-shell.in: Autogenerate it.
1501
0ef7478b
VS
15022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1505
8200fa15
VS
15062013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1509 misnomer.
1510
091945b2
AB
15112013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1512
1513 * docs/grub.texi (Network): Add description of net_default_interface,
1514 net_default_ip and net_default_mac. Rewrite variables description
1515 to emphasize that they are per-interface.
1516
0e7b2e32
VS
15172013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 New test: cmdline and cat.
1520
16f7c8f6
VS
15212013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/commands/cat.c: Show UTF-8 characters.
1524
3e912fda
VS
15252013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * conf/Makefile.common: Poison float and double on non-emu.
1528
ee0220bc
VS
15292013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * configure.ac: Don't disable extended registers on emu.
1532
89e0240c
VS
15332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * configure.ac: Don't use extended registers on x86_64.
1536 Reported by: Peter Jones.
1537
e56d9637
VS
15382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/term/efi/console.c: Fix compile error.
1541
8098f655
VS
15422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Compressed HFS+ support.
1545
16940e07
VS
15462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1549 pixel".
1550
c5dbc13d
VS
15512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Menu color test.
1554
011f8ae8
VS
15552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/tests/setjmp_test.c: New test.
1558
2aa072d7
VS
15592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 New variables 'net_default_*' to determine MAC/IP of default interface.
1562
43fe02cb
VS
15632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * tests/gettext_strings_test.in: A test to check for strings not
1566 marked for translation.
1567
bed06142
VS
15682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * autogen.sh: Exclude unused libgcrypt files from translation.
1571
fb2666b5
VS
15722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Simplify few strings.
1575
d22840ec
VS
15762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Mark few forgotten strings for translation.
1579
e34092fd
VS
15802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1583 rather than printf.
1584
47cf82b4
VS
15852013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1588 rather than printf.
1589 * grub-core/video/readers/tga.c: Likewise.
1590
1eed0e6e
VS
15912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * tests/priority_queue_unit_test.cc: New test.
1594
c5b7697b
VS
15952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1598 than printf.
1599
5945c2f8
AB
16002013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1601
1602 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1603 variable for one time boot menu entry.
1604
fa292343
B
16052013-05-05 Bean <bean123ch@gmail.com>
1606
1607 * grub-core/commands/testspeed.c: New command testspeed.
1608
310d4214
VS
16092013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 Factor-out human-size printing.
1612
85002bf3
VS
16132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Agglomerate more mallocs to speed-up gfxterm.
1616
22b06e96
VS
16172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Speed-up gfxterm by slightly agglomerating mallocs.
1620
b7c036bc
VS
16212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 More video checks.
1624
92323d1f
VS
16252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 Speed-up gfxterm by saving intermediate results in index+alpha
1628 format.
1629
0fb356a3
VS
16302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1633 test.
1634
44dea3f9
VS
16352013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1638 line of timeout as it may contain the rest of long line.
1639
14af86e4
VS
16402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/normal/main.c: Fix freed memory dereference.
1643
03f7c8c3
VS
16442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 Fix several memory leaks.
1647
c686014c
VS
16482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1651
0788a695
VS
16522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1655
daf01d61
VS
16562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 Fix test -a and -o precedence.
1659 Reported by: adrian15.
1660
82ae74d7
VS
16612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1664
8cec7bd4
AB
16652013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1666
1667 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1668 and add it as source to functional_test module.
1669
aa73d688
VS
16702013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1673
c104b6f9
VS
16742013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 New series of tests for gfxterm and gfxmenu.
1677
7391c4d5
VS
16782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1681 the theme path relative to $prefix/themes.
1682
cff50118
VS
16832013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1686 Fix order bug.
1687 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1688
7c332bdc
VS
16892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1692 descriptor.
1693
a4f9a5ff
VS
16942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1697 grub_gfxmenu_timeout_notifications.
1698 (grub_gfxmenu_view_destroy): Likewise.
1699
b5a2114d
VS
17002013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1703
a8905e8a
VS
17042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 Several fixes to ieee1275 and big-endian video.
1707
813c1622
VS
17082013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 Add missing exports on mips.
1711
3f3e7326
VS
17122013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1715 if no unifont is found.
1716 Restore original keyboard.
1717
095accd1
VS
17182013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1721 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1722
50361660
VS
17232013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 First automated video test (running videotest and comparing results)
1726
cd0f6eec
VS
17272013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1730 instead of 2 to have full RGB/CMY test pattern.
1731
3f9634e5
VS
17322013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Add few more tests.
1735
583e5b64
VS
17362013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1739 ARCS. All users updated.
1740
aa7bcb99
VS
17412013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1744
95ef1a54
VS
17452013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1748
46546fc5
VS
17492013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1752 Reported by: qwertial.
1753
3476e0ef
VT
17542013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1755
1756 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1757 with syntax "XXX deg"/"XXX °".
1758
96f33fed
VS
17592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 Make PCI init in i386-qemu port more robust.
1762
17632013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1764
1765 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1766 cached view is reused.
1767 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1768 open boot menus.
1769
c53b4e67
VS
17702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 Unify more code in grub-install_header.
1773
f7457fb2
VS
17742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Add few new tests.
1777
e2f27a8c
VS
17782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Enforce disabling of firmware disk drivers when native drivers kick in.
1781
ef9d8cd5
VS
17822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/commands/nativedisk.c: Customize the list of modules on
1785 platform. Don't try to search for disks already using native drivers.
1786
f7bf6c31
VS
17872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1790 platforms.
1791
bdc4add8
VS
17922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1795 handling of variables containing backslash.
1796
e9e46c9a
VS
17972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1800 dereference.
1801 Reported by: qwertial.
1802
0e90dee8
VS
18032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1806
e0aacf24
VS
18072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1810 dereference.
1811 Reported by: qwertial.
1812
3c0003c3
VS
18132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1816
adb7d667
VS
18172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1820
7cd0df84
VS
18212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 New command `nativedisk'.
1824
02adbb93
VS
18252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1828 * grub-core/loader/i386/bsd.c: Likewise.
1829
9fb0fd4f
VS
18302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1833
bd69257a
VS
18342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1837 grub_get_unaligned16 rather than shifts.
1838
178c2764
VS
18392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/kern/file.c: Use const char * rather than casting to
1842 non-const.
1843
eadfad24
VS
18442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/probe.c: Add missing grub_device_close.
1847
9f73ebd4
VS
18482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * INSTALL: Document linguas.sh.
1851
965fa829
VS
18522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 Remove POTFILES.in and regenerate it in autogen.sh.
1855
d417ddc4
VS
18562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Move --directory/--override-directorry to grub-install_header and unify.
1859
f97ec546
VS
18602013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/term/morse.c: Macroify dih and dah.
1863
b2d7470c
PFS
18642013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1865
1866 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1867
141e2a78
VS
18682013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/term/ns8250.c: Systematically probe ports by writing
1871 to SR before using them.
1872
1dd70ebd
PFS
18732013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1874
1875 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1876 disks.
1877 (check_sas): Get sas_adress info.
1878
c796a107
VS
18792013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1882 ports.
1883
43168646
LD
18842013-04-27 Leon Drugi <eyak>
1885
1886 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1887 BSS clearing.
1888
e7b8fd08
VS
18892013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 Core compression test.
1892
17f9fd29
VS
18932013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 Implement grub_machine_get_bootlocation for ARC.
1896
dc2a6c8b
VS
18972013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Improve AHCI detection and command issuing.
1900
f25a2ba6
VS
19012013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Fix pseries test.
1904
a6393224
VS
19052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Make 'make check' work on emu.
1908
db99fbe8
VS
19092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 Replace libcurses with our own vt100 handling for the ease of testing
1912 and decreasing prerequisites.
1913
b24ca7cd
VS
19142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1917
63314aa4
VS
19182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1921 compile when not needed.
1922
c1b00fff
VS
19232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * tests/pseries_test.in: New test.
1926
f93e89ef
VS
19272013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Add test to check that different boot mediums work.
1930
c4b456d3
VS
19312013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1934 ofw limited ISO support.
1935
5fe67f39
VS
19362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * configure.ac: Fix loongson conditional.
1939
7f63a64f
VS
19402013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 Enable mipsel-arc.
1943
b04b5990
VS
19442013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Add serial on ARC platform.
1947
88d2f302
VS
19482013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1951 commit.
1952
86eb23bc
VS
19532013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * tests/partmap_test.in: Add missing double semicolon.
1956
eec3bb75
VS
19572013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * util/grub-mkrescue.in: Fix loongson filename.
1960
e0810df3
VS
19612013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * util/grub-mkrescue.in: Move all files that don't have a location
1964 set in stone under /boot/grub. Use ISO hard links rather than copies
1965 to save some space.
1966
65a6b30b
VS
19672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1970 bogus SLOF values.
1971
6aff0107
VS
19722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Make check work on mips-arc.
1975
5e013e56
VS
19762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * util/grub-mkrescue.in: Alias sashARCS as sash.
1979
d1989e2e
VS
19802013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1983 it's serial.
1984
1a25e72c
VS
19852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * util/grub-install.in: Fix target fo qemu_mips.
1988 Fix extension on EFI.
1989
a59a9826
VS
19902013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1993 in front of chosen entry to mark it even if highlighting is lost.
1994
1a40f80c
VS
19952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1998 gfxpayload=keep if cbfb is active.
1999
e343549c
VS
20002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2003
45fbd9a2
VS
20042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Add missing video ids to coreboot and ieee1275 video.
2007
ab1440bd
VS
20082013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * util/grub-mkrescue.in: Add mips-arc support.
2011
cdeb8324
VS
20122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2015
8528c879
VS
20162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 Move mips-arc link address. Previous link address was chosen
2019 in belief that RAM on SGI platforms grows down while in fact it
2020 grows up from an unusual base.
2021
17fca573
VS
20222013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2025 Fix a type which prevented CD-ROM and floppy boot.
2026
d178788e
VS
20272013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 Support coreboot framebuffer.
2030
2031 * grub-core/video/i386/coreboot/cbfb.c: New file.
2032
fe4c3e7e
VS
20332013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2036 detecting too small regions.
2037
ec2dd179
VS
20382013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2041
872dac83
VS
20422013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2045 Remove dprintf.
2046 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2047
90ec4b7f
VS
20482013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2051 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2052 * grub-core/loader/powerpc/ieee1275/linux.c
2053 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2054
f32555dd
VS
20552013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2058 Look for /boot-rom as well as /rom/boot-rom.
2059
38649799
VS
20602013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2063 handling when creating text_layer failed.
2064 * grub-core/video/video.c (grub_video_create_render_target):
2065 Set result to 0 on error.
2066 (grub_video_delete_render_target): Do not dereference NULL.
2067
aeace7f7
VS
20682013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2071 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2072 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2073 (grub_linux_load64): Mask out 2 high bits.
2074
4eafa175
AB
20752013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2076
2077 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2078 more place.
2079
daaa64bd
VS
20802013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Add support for pseries and other bootinfo machines to grub-mkrescue.
2083
2084 Tested by: Paulo Flabiano Smorigo.
2085
d0d2daa6
VS
20862013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * util/grub-mkrescue.in: Add GPT for EFI boot.
2089
b193e100
VS
20902013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2093 It improves performance in qemu.
2094
a0f8f3ac
VS
20952013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * build-aux/snippet: Add missing gnulib files.
2098
284df0e2
AB
20992013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2100
2101 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2102
740201f3
AB
21032013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2104
2105 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2106
a7e03923
PJ
21072013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21082013-04-15 Peter Jones <pjones@redhat.com>
2109
2110 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2111 sectors.
2112 Based on patch by Peter Jones.
2113
25fc51a8
VS
21142013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 Fix DMRAID partition handling.
2117
88017d47
VS
21182013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * tests/grub_cmd_date.in: Skip on sparc64.
2121
fa7d914e
VS
21222013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2125 firmware error messages.
2126
cbe57a48
VS
21272013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2130 source and destination differ.
2131
21aecce0
VS
21322013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2135 detection.
2136
25092d29
VS
21372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2140 match config-util.h to avoid warnings and increase compatibility.
2141
79451522 21422013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 21432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2144
2145 Add option to compress files on install/image creation.
2146
78b7d77b
VS
21472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * docs/grub-dev.texi: Rearrange menu to match the section order.
2150 Reported by: Bryan Hundven.
2151
cc2fa5ec
VS
21522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2155
b49fe879
VS
21562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Move GRUB out of system area when using xorriso 1.2.9 or later.
2159
5351da81
VS
21602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * tests/grub_cmd_date.in: Add missing exit 1.
2163
c9d586ea
VS
21642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * tests/partmap_test.in: Skip on sparc64.
2167
3f729741
VS
21682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Support grub-shell on sparc64.
2171
8ca86b3a
VS
21722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Support mkrescue on sparc64.
2175
aa1af9bb
VS
21762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2179 Needed on OpenBIOS due to incomplete device tree.
2180
ac4fea79
VS
21812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2184 would be otherwise excluded.
2185
21862013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2187
2188 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2189 Inline name defines used only once.
2190
fe22b071
VS
21912013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Fix memory leaks in ofnet.
2194 Reported by: Francesco Lavra.
2195
9d21381b
VS
21962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * docs/man/grub-glue-efi.h2m: Add missing file.
2199
07aec23c
VS
22002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2203
67ab8353
VS
22042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 Better support Apple Intel Macs on CD.
2207
ba44ca6d
VS
22082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Replace stpcpy with grub_stpcpy in tools.
2211
bbdd6305
VS
22122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Handle Japanese special keys.
2215 Reported by: Hiroyuki YAMAMORI.
2216 Codes supplied by: Hiroyuki YAMAMORI.
2217
8573d302
VS
22182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * util/grub-mkimage.c: Document memdisk implying --prefix.
2221
d70dbab7
VS
22222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2225 much we can do about it anyway.
2226
51a4c3e3
AN
22272013-04-12 Aleš Nesrsta <starous@volny.cz>
2228
2229 Fix handling of split transfers.
2230
92c8f58d
VS
22312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/net/http.c: Fix bad free.
2234
b7d17a49
VS
22352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2238 than buffer size.
2239
a3d566d4
VS
22402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2243
a936af56
VS
22442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * tests/util/grub-shell.in: Fix it on powerpc.
2247
51212234
VS
22482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 Turn off QEMU ACPI-way since new releases don't have shutdown port
2251 anymore.
2252
a21eec9e
VS
22532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * docs/grub.texi: Update coreboot status info.
2256
e3734b84
VS
22572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * tests/grub_cmd_date.in: New test for datetime.
2260
f9d40055
VS
22612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * tests/partmap_test.in: Fix missing qemudisk setting.
2264
dbc56d8f
VS
22652013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Support i386-ieee1275 grub-mkrescue and make check on it.
2268
a79b8a15
VS
22692013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2272 feature for it.
2273
48f39bb4
VS
22742013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2277 GRUB_CMDLINE_XEN_DEFAULT.
2278 Reported by: Marc Warne (GigaTux) <gigatux>
2279
053cfcdd
VS
22802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Import new gnulib.
2283
93cd84df
VS
22842013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 Use ACPI shutdown intests as traditional port was removed.
2287
f4b1fa4f
AB
22882013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2289
2290 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2291 distinction.
2292
49818a59
VS
22932013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2296 Fix few warining messages and leaks while on it.
2297
9277a306
AB
22982013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2299
2300 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2301 links under grub-core/lib/libgcrypt-grub/mpi.
2302
d5e2a158
VS
23032013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 Fix ia64-efi image generation on big-endian machines. Deduplicate
2306 some code while on it.
2307 Reported by: Leif Lindholm.
2308
18866643
AB
23092013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2310
2311 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2312 as extra_dist.
2313
ca53deb8
AB
23142013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2315
2316 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2317
d4c4b8e1
BH
23182013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2319
2320 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2321 texinfo-5.1.
2322
47043f95
VS
23232013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/normal/term.c: Few more fixes for menu entry editor
2326 rendering.
2327 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2328
a3216068
VS
23292013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/normal/term.c: Few more fixes for menu entry editor
2332 rendering.
2333 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2334
21026747
AB
23352013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2336
2337 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2338 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2339
59624ca8
AB
23402013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2341
2342 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2343 instead of hardcoding grub.mo.
2344
1f44478c
FN
23452013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2346
2347 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2348
eeada7b1
VS
23492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2352 grub-core/disk/geli.c.
2353
132867de
VS
23542013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * util/grub-mkfont.c: Prefer enum to #define.
2357
de73de17
VS
23582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2361
1865baa7
VS
23622013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2365
ce7d92a9
VS
23662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2369
52eab656
VS
23702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2373
98b23b95
VS
23742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * include/grub/bsdlabel.h: Use enums.
2377
0467a5dd
VS
23782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Move GRUB_CHAR_BIT to types.h.
2381
16cc9f03
AB
23822013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2383
2384 * docs/grub.texi: Document more user commands.
2385
3152aecb
AB
23862013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2387
2388 * docs/grub.texi: Document menuentry --id option.
2389
c506fc30
FL
23902013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2391
2392 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2393
aa428238
VS
23942013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Unify file copying setup across different install scripts. Add
2397 options for performing partial install.
2398
efe0cdda
PJ
23992013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24002013-04-04 Peter Jones <pjones@redhat.com>
2401
2402 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2403
f75835bd
VS
24042013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Use TSC as a possible time source on i386-ieee1275.
2407
2cd5ce6c
VS
24082013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2411 Init err.
2412
c9625630
VS
24132013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * util/grub-setup.c (setup): Handle some corner cases.
2416
be008941
VS
24172013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2420
1a78d573
VS
24212013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/commands/verify.c: Save verified file to avoid it being
2424 tampered with after verification was done.
2425
db8ff59f
VS
24262013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2429 reported width by one to compensate for curesor algorithm problem.
2430
91bf46b1
VS
24312013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Fix screen corruption in menu entry editor and simplify the code
2434 flow while on it.
2435
a7b1d693
AB
24362013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2437
2438 * util/grub-mount.c (fuse_init): Return error if fuse_main
2439 failed.
2440
31df9ad8
FL
24412013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2442
2443 * include/grub/elf.h: Add missing ARM relocation codes and fix
2444 existing ones.
2445
07f392eb
VT
24462013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2447
2448 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2449
9efd73ec 24502013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
24512013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2454 into account when calculating radius.
2455
24562013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2457
2458 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2459
4985ddaa
VT
24602013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2461
2462 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2463
8c3635ff
RS
24642013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2465
2466 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2467 missing closing bracket.
2468
74a35e69
RS
24692013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2470
2471 * INSTALL: Mention xorriso requirement.
2472
40f1c000
AB
24732013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2474
2475 * grub-core/commands/verify.c: Fix hash algorithms values for
2476 the first three hashes - they start with 1, not with 0.
2477
e75fdee4
VS
24782013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2481 Try terminating EFI services several times due to quirks in some
2482 implementations.
2483
33028f4c
CW
24842013-03-26 Colin Watson <cjwatson@ubuntu.com>
2485
2486 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2487 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2488 BankField extended opcodes.
2489 (get_sleep_type): Add minimal scope handling (just enough to
2490 handle setting the scope to the root path).
2491 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2492 * include/grub/acpi.h: Add enumeration values for Event, Device,
2493 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2494
33871a10
VT
24952013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2496
2497 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2498 memory leak.
2499
8990963a
VS
25002013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/disk/ahci.c: Give more time for AHCI request.
2503
daae8f9e
VS
25042013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2507 command.
2508
6a7fb94b
VS
25092013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Replace the region at 0 from coreboot tables to available in BSD
2512 memory map.
2513
ff99babd
VS
25142013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2517 non-BIOS platforms.
2518
30d6b1b2
VS
25192013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2522 platforms.
2523
6ccd0b31
VS
25242013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2527 handling of multi-device filesystems.
2528
23c9cc04
VS
25292013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2532 platforms.
2533
ce50dbd7
VS
25342013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 Add new 'proc' filesystem framework and put luks_script into it.
2537
d975e8d5
VS
25382013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2541 and qemu.
2542
e73ba5e8
VS
25432013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2546
92750e4c
VS
25472013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Add ability to generate newc additions on runtime.
2550
0ec45a68
VS
25512013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2554 description.
2555
320abd43
VS
25562013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * po/POTFILES.in: Regenerate.
2559
d7a6506e
VS
25602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/commands/verify.c (hashes): Add several hashes
2563 from the spec.
2564
8fe05def
VS
25652013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Slight improve in USB-related boot-time checkpoints.
2568
524e2766
VS
25692013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/commands/boottime.c: Fix copyright header.
2572
cc19857a
VS
25732013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2576 coreboot tables content. Support for cbmemc.
2577
ef8810e9
VS
25782013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Fix a conflict between ports structures with 2 controllers of
2581 same kind.
2582
e9dabdfa
VS
25832013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * include/grub/boottime.h: Add missing file.
2586
f6df57d2
VS
25872013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Initialize USB ports in parallel to speed-up boot.
2590
d745dda7
VS
25912013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Fix USB devices not being detected when requested
2594 due to delayed attach.
2595
e5a2dd7b
VS
25962013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2597
e744219b
VS
2598 Implement boot time analysis framework.
2599
26002013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2603 descriptor to just receive it as argument rather than endpoint
2604 address.
2605
5dd6f587
VS
26062013-03-19 Aleš Nesrsta <starous@volny.cz>
2607
2608 Better estimate the maximum USB transfer size.
2609
2f1071d5
VS
26102013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Resend a packet if we got the wrong buffer in status.
2613
46ecfc49
VS
26142013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2617 multiplication rather than division.
2618
ea811130
VS
26192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2622 than divisions.
2623
d2789cf0
VS
26242013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2627 operations to have intended shifts and not divisions.
2628
a9c94590
VS
26292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2632 intended shifts rather than division.
2633
84cfe81b
VS
26342013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2637 computation for some years before epoch. Avode confusing division
2638 while on it.
2639
21344ef6
VS
26402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/video/i386/pc/vbe.c
2643 (grub_video_vbe_print_adapter_specific_info): Replace division by
2644 shifts.
2645
3f2b4d1a
VS
26462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 Adjust types in gdb module to have intended unsigned shifts rather than
2649 signed divisions.
2650
3dac5878
VS
26512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2654 maximum size is 4G - 1 on hfs
2655
5341c0fb
VS
26562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2659
fc3ff2a2
VS
26602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2663 function.
2664
81455e8e
AB
26652013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2666
2667 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2668 causing gcc error with gcc 4.7.1.
2669
efd4f117
NZ
26702013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2671
2672 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2673 dereference null pointer. While the code is technically correct, gcc
2674 may eliminate a null check if pointer is already dereferenced.
2675
e11645f4
NZ
26762013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2677
2678 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2679 OOM check.
2680 * grub-core/normal/term.c (read_terminal_list): Likewise.
2681
77468368
VS
26822013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Lift up core size limits on some platforms. Fix potential memory
2685 corruption with big core on small memory systems. Document remaining
2686 limits.
2687
f6b58fe5
VS
26882013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2691 gotoxy to 0,0.
2692
19ce697d
VS
26932013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Remove all trampoline support. Add -Wtrampolines when
2696 present. Remove symbols used for trampolines to make
2697 link fail if trampolines are present.
2698
73b5d90f
VS
26992013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2702 append out of its parent.
2703
cb758e96
VS
27042013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2707 parent.
2708
3188131f
VS
27092013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2712 all vars to a macro. All users updated.
2713
e42b2514
VS
27142013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2717 i386-ieee1275.
2718
83e1a1a1
VS
27192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2722
1d5a880f
VS
27232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2726
6e4146c4
VS
27272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Move to more hookless approach in IEEE1275 devices handling.
2730
99fcda8a
VS
27312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/kern/term.c (grub_term_normal_color),
2734 (grub_term_highlight_color): Add back lost defaults.
2735
73bf57e2
VS
27362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Make elfload not use hooks. Opt for flags and iterators instead.
2739
7f8c105f
VS
27402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2743 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2744
396d4091
VS
27452013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2748
27492013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2752 hook pass-through parameter. All users updated and unnested.
2753
74a27421
VS
27542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2757 out of its parent.
2758
b46d4213
VS
27592013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/fs/hfs.c: Remove nested functions.
2762
e114c3cc
VS
27632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2766 the context through.
2767 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2768
f9b7d780
VS
27692013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * util/grub-editenv.c (list_variables): Move print_var out of its
2772 parent.
2773
ca9c2608
VS
27742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2777 function.
2778
5d983f5f
VS
27792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/gentrigtables.c: Make tables const.
2782
3056d3e7
VS
27832013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 Remove nested functions from videoinfo iterators.
2786
e2303774
VS
27872013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2790 for 64-bit platforms.
2791
f42e3a2f
VS
27922013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2795 a FOR_CHILDREN macro.
2796
be174e5e
VS
27972013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2800 platform from firmware path.
2801
0789b672
VS
28022013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 Enable linux16 on non-BIOS systems for i.a. memtest.
2805
2806 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2807 correctly.
2808 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2809
005a9c32
VS
28102013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2813 Fix end of table condition.
2814
ff2b3cd9
VS
28152013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2818 out of its parent.
2819
4fc40ff8
VS
28202013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/fs/jfs.c: Remove nested functions.
2823
be42d97a
VS
28242013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/minix.c: Remove nested functions.
2827
99373ce4
VS
28282013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/fs/iso9660.c: Remove nested functions.
2831
5aec2afe
VS
28322013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2835 of parent function.
2836
6c69e691
VS
28372013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-fstest.c: Remove nested functions.
2840
43c91882
VS
28412013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/loader/machoXX.c: Remove nested functions.
2844
4eb8b756
CW
28452013-02-27 Colin Watson <cjwatson@ubuntu.com>
2846
2847 Remove nested functions from disk and file read hooks.
2848
2849 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2850 (struct grub_disk): Add read_hook_data member.
2851 * include/grub/file.h (struct grub_file): Likewise.
2852 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2853 argument.
2854
2855 Update all callers.
2856
df6da5a5
AB
28572012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2858
2859 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2860 Fix off by one error in enumerating extended partitions.
2861
21aecde5
AB
28622013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2863
2864 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2865 memory leak if device name is not found.
2866
f1a19118
AB
28672013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2868
2869 * grub-core/normal/menu_entry.c (update_screen): remove
2870 unused variable `off' which caused scroll down arrow to be always shown.
2871
958bfd20
AB
28722013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2873
2874 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2875 access to unallocated memory.
2876
b7b78edb
AB
28772013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2878
2879 * Makefile.util.def: Add partmap/msdos.c to common library.
2880 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2881 * grub-core/disk/ldm.c: Check for existence of
2882 GRUB_PC_PARTITION_TYPE_LDM.
2883
28d468d6
VS
28842013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2887 sizes and display sector size.
2888
d55ffb02
VS
28892013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 Implement new command cmosdump.
2892
b5ea6ce0
VS
28932013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2894
2895 Support Openfirmware disks with non-512B sectors.
2896
2897 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2898 size of the disk.
2899 * (grub_ofdisk_get_block_size): New function.
2900 * (grub_ofdisk_prepare): Use the correct block size.
2901 * (grub_ofdisk_read): Likewise.
2902 * (grub_ofdisk_write): Likewise.
2903 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2904 New proto.
2905
cc0e476f
VS
29062013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2909
c5dbdc33
VS
29102013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2913 on first error.
2914
3f078c0f
VS
29152013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2918 freeing it.
2919
66a93674
VS
29202013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Implement USBDebug (full USB stack variant).
2923
c9f0c134
VS
29242013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2927 unless they have unexpected values.
2928
cfe1288b
VS
29292013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2932 grub_print_error.
2933
e42b9969
VS
29342013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2937 zero-out of port structure.
2938
cf94fd62
VS
29392013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2942 of extended attributes.
2943
f81ef4b5
AB
29442013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2945
2946 * util/grub-install.in: change misleading comment about
2947 device.map creation
2948
af18fdb4
VS
29492013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2952 when menu highlight color isn't set.
2953
08bcec50
M
29542013-01-27 C. Masloch <pushbx@38.de>
2955
2956 Improve FreeDOS direct loading support compatibility.
2957
2958 * include/grub/i386/relocator.h (grub_relocator16_state):
2959 New member ebp.
2960 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2961 variable.
2962 (grub_relocator16_boot): Handle %ebp.
2963 * grub-core/lib/i386/relocator16.S: Likewise.
2964 * grub-core/loader/i386/pc/freedos.c:
2965 Load BPB to pass kernel which partition to load from.
2966 Check that kernel file is not too large.
2967 Set register dl to BIOS unit number as well.
2968
7782b8a6
CW
29692013-01-22 Colin Watson <cjwatson@ubuntu.com>
2970
2971 * util/grub-reboot.in (usage): Document the need for
2972 GRUB_DEFAULT=saved.
2973 * util/grub-set-default.in (usage): Likewise.
2974 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2975
e661c180
VS
29762013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2979 than defining WORDS_BIGENDIAN manually.
2980
1c22ca9a
VS
29812013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2984 invariants.
2985
d44892fe
CW
29862013-01-21 Colin Watson <cjwatson@ubuntu.com>
2987
2988 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2989 nested.
2990 (blit_comb: add_device_width): Likewise.
2991
5fdbaed1
CW
29922013-01-21 Colin Watson <cjwatson@ubuntu.com>
2993
2994 Remove nested functions from USB iterators.
2995
2996 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2997 (grub_usb_controller_iterate_hook_t): Likewise.
2998 (grub_usb_iterate): Add hook_data argument.
2999 (grub_usb_controller_iterate): Likewise.
3000 (struct grub_usb_controller_dev.iterate): Likewise.
3001
3002 Update all implementations and callers.
3003
4250985a
VS
30042013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3007 margin when not needed.
3008
7d8848f3
VS
30092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3010
bc136973 3011 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3012
30132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3014
bc136973
VS
3015 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3016 asterisk.
7d8848f3 3017
ed12a003
CW
30182013-01-21 Colin Watson <cjwatson@ubuntu.com>
3019
3020 Fix powerpc and sparc64 build failures caused by un-nesting memory
3021 map iterators.
3022
6a0db449
CW
30232013-01-21 Colin Watson <cjwatson@ubuntu.com>
3024
3025 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3026 parameter declarations.
3027
ccd86b21
VS
30282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3031
822b726b
VS
30322013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 Improve spkmomdem reliability by adding a separator between bytes.
3035
115c2cc1
CW
30362013-01-21 Colin Watson <cjwatson@ubuntu.com>
3037
3038 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3039 an Acer registration utility with several sightings in the wild.
3040 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3041
fc524edf
CW
30422013-01-21 Colin Watson <cjwatson@ubuntu.com>
3043
3044 Remove nested functions from filesystem directory iterators.
3045
3046 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3047 (struct grub_fs.dir): Add hook_data argument.
3048
3049 Update all implementations and callers.
3050
53d3e4e3
CW
30512013-01-21 Colin Watson <cjwatson@ubuntu.com>
3052
3053 * docs/grub.texi (Multi-boot manual config): Fix typo for
3054 "recommended".
3055
c821711f
LL
30562013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3057
3058 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3059 until after its use in generate_image.
3060
6a0debbd
CW
30612013-01-20 Colin Watson <cjwatson@ubuntu.com>
3062
3063 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3064 initrd size to addr_min, since the initrd will be allocated after
3065 this address.
3066
f41e08db
AB
30672013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3068
3069 * conf/Makefile.common: Fix autogen rules to pass definition
3070 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3071
77529e0f
LL
30722013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3073
3074 * include/grub/elf.h: Update ARM definitions based on binutils.
3075
b879aa7b
VS
30762013-01-20 Aleš Nesrsta <starous@volny.cz>
3077
3078 Split long USB transfers into short ones.
3079
8eb8284d
AB
30802013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3081
3082 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3083 is interrupted by ESC.
3084
08dad2dc
VS
30852013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * util/grub-script-check.c (main): Uniform the error message.
3088
6c724b85
CW
30892013-01-20 Colin Watson <cjwatson@ubuntu.com>
3090
3091 Remove nested functions from ELF iterators.
3092
25239370
CW
30932013-01-20 Colin Watson <cjwatson@ubuntu.com>
3094
3095 Remove nested functions from device iterators.
3096
3097 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3098 (grub_arc_iterate_devs): Add hook_data argument.
3099 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3100 (struct grub_ata_dev.iterate): Add hook_data argument.
3101 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3102 (grub_device_iterate): Add hook_data argument.
3103 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3104 (struct grub_disk_dev.iterate): Add hook_data argument.
3105 (grub_disk_dev_iterate): Likewise.
3106 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3107 Likewise.
3108 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3109 Likewise.
3110 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3111 type.
3112 (struct grub_partition_map.iterate): Add hook_data argument.
3113 (grub_partition_iterate): Likewise.
3114 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3115 (struct grub_scsi_dev.iterate): Add hook_data argument.
3116
3117 Update all callers.
3118
6c0314d6
CW
31192013-01-20 Colin Watson <cjwatson@ubuntu.com>
3120
3121 Fix typos for "developer" and "development".
3122
600dc5f1
VS
31232013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Add license header to spkmodem-recv.c.
3126
17334a6b
VS
31272013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Rewrite spkmodem to use PIT for timing. Double the speed.
3130
7d462559
VS
31312013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 Add new command pcidump.
3134
b78d6c32
VS
31352013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 New terminal outputs using serial: morse and spkmodem.
3138
34f71cb8
VS
31392013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Improve bidi handling in entry editor.
3142
4542e71b
VS
31432013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3146 argument to prevent name collision.
3147
09fd6d82
CW
31482013-01-15 Colin Watson <cjwatson@ubuntu.com>
3149
3150 Remove nested functions from script reading and parsing.
3151
3152 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3153 getline_data argument, passed to getline.
3154 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3155 getline_data argument, passed to grub_parser_split_cmdline.
3156 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3157 lexerstate->getline_data to lexerstate->getline.
3158 (grub_script_lexer_init): Add getline_data argument, saved in
3159 lexerstate->getline_data.
3160 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3161 argument, passed to grub_script_parse.
3162 * grub-core/script/script.c (grub_script_parse): Add getline_data
3163 argument, passed to grub_script_lexer_init.
3164 * include/grub/parser.h (grub_parser_split_cmdline): Update
3165 prototype. Update all callers to pass appropriate getline data.
3166 (struct grub_parser.parse_line): Likewise.
3167 (grub_rescue_parse_line): Likewise.
3168 * include/grub/reader.h (grub_reader_getline_t): Add void *
3169 argument.
3170 * include/grub/script_sh.h (struct grub_lexer_param): Add
3171 getline_data member.
3172 (grub_script_parse): Update prototype. Update all callers to pass
3173 appropriate getline data.
3174 (grub_script_lexer_init): Likewise.
3175 (grub_normal_parse_line): Likewise.
3176
3177 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3178 data argument.
3179 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3180 static instead of nested. Rename to ...
3181 (grub_parser_execute_getline): ... this.
3182 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3183 data argument.
3184 * grub-core/normal/main.c (read_config_file: getline): Make static
3185 instead of nested. Rename to ...
3186 (read_config_file_getline): ... this.
3187 (grub_normal_read_line): Add unused data argument.
3188 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3189 getline): Make static instead of nested. Rename to ...
3190 (grub_script_execute_sourcecode_getline): ... this.
3191 * util/grub-script-check.c (main: get_config_line): Make static
3192 instead of nested.
3193
d0d4b8a0
CW
31942013-01-15 Colin Watson <cjwatson@ubuntu.com>
3195
3196 Remove nested functions from memory map iterators.
3197
3198 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3199 argument, passed to hook.
3200 * grub-core/kern/i386/coreboot/mmap.c
3201 (grub_linuxbios_table_iterate): Likewise.
3202 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3203 instead of nested.
3204 (grub_machine_mmap_iterate): Add hook_data argument.
3205 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3206 Add hook_data argument, passed to hook.
3207 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3208 Likewise.
3209 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3210 Likewise.
3211 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3212 Likewise.
3213 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3214 Likewise.
3215 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3216 Likewise.
3217 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3218 Likewise.
3219 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3220 (grub_machine_mmap_iterate): Likewise.
3221 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3222 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3223 prototype.
3224 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3225 Remove NESTED_FUNC_ATTR from here and from all users.
3226 (grub_mmap_iterate): Update prototype.
3227 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3228 pass appropriate hook data.
3229 (grub_machine_mmap_iterate): Likewise.
3230
3231 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3232 static instead of nested.
3233 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3234 Rename to ...
3235 (lsmmap_hook): ... this.
3236 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3237 Likewise.
3238 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3239 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3240 heap_init): Likewise.
3241 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3242 Rename to ...
3243 (mmap_iterate_hook): ... this.
3244 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3245 Likewise.
3246 * grub-core/lib/ieee1275/relocator.c
3247 (grub_relocator_firmware_get_max_events: count): Likewise.
3248 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3249 to ...
3250 (grub_relocator_firmware_fill_events_iter): ... this.
3251 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3252 hook): Likewise. Rename to ...
3253 (grub_relocator_alloc_chunk_align_iter): ... this.
3254 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3255 Rename to ...
3256 (generate_e820_mmap_iter): ... this.
3257 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3258 Rename to ...
3259 (count_hook): ... this.
3260 (grub_linux_boot: hook): Likewise. Rename to ...
3261 (grub_linux_boot_mmap_find): ... this.
3262 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3263 (grub_linux_boot_mmap_fill): ... this.
3264 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3265 hook): Likewise. Rename to ...
3266 (grub_fill_multiboot_mmap_iter): ... this.
3267 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3268 hook): Likewise. Rename to ...
3269 (count_hook): ... this.
3270 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3271 hook): Likewise. Rename to ...
3272 (grub_fill_multiboot_mmap_iter): ... this.
3273 * grub-core/loader/powerpc/ieee1275/linux.c
3274 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3275 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3276 Likewise. Rename to ...
3277 (alloc_phys_choose): ... this.
3278 (determine_phys_base: get_physbase): Likewise.
3279 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3280 find_hook): Likewise.
3281 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3282 (malloc_hook: count_hook): Likewise.
3283 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3284 Likewise. Rename to ...
3285 (lower_hook): ... this.
3286 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3287 (upper_hook): ... this.
3288 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3289 (post64_hook): ... this.
3290 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3291 Likewise. Rename to ...
3292 (lower_hook): ... this.
3293 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3294 (upper_hook): ... this.
3295 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3296 (grub_mmap_iterate: fill_hook): Likewise.
3297 (fill_mask): Pass addr and mask within a single struct.
3298 (grub_cmd_badram: hook): Make static instead of nested. Rename
3299 to ...
3300 (badram_iter): ... this.
3301 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3302 (cutmem_iter): ... this.
3303
22099030
VS
33042013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3307 delimit path in strings using quotes.
3308 * util/getroot.c (grub_guess_root_devices): Likewise.
3309 (grub_make_system_path_relative_to_its_root): Likewise.
3310 * util/grub-probe.c (probe): Likewise.
3311 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3312 (xrealpath): Likewise.
3313
4a9950ec
VS
33142013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 Fix compilation with older compilers.
3317
3318 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3319 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3320 declarations.
3321 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3322 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3323 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3324 identifier with b.
3325 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3326 * include/grub/crypto.h: Add type defines.
3327 * util/import_gcrypth.sed: Remove duplicate type defines.
3328
adcc6020
VS
33292013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 New command list_trusted.
3332
3333 * grub-core/commands/verify.c (grub_cmd_list): New function.
3334
a4528937
CW
33352013-01-13 Colin Watson <cjwatson@ubuntu.com>
3336
3337 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3338 info message.
3339
ca3a7446
CW
33402013-01-13 Colin Watson <cjwatson@ubuntu.com>
3341
3342 Remove nested functions from PCI iterators.
3343
3344 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3345 passed to hook. Update all callers to pass appropriate hook data.
3346 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3347 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3348 Remove NESTED_FUNC_ATTR from here and from all users.
3349 (grub_pci_iterate): Update prototype.
3350 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3351 instead of nested. Rename to ...
3352 (grub_cs5536_find_iter): ... this.
3353 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3354 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3355 Likewise.
3356 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3357 Likewise.
3358 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3359 Likewise.
3360 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3361 Likewise.
3362 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3363 * grub-core/video/radeon_fuloong2e.c
3364 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3365 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3366 find_card): Likewise.
3367 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3368 Likewise.
3369
f8e98fee
VS
33702013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/commands/verify.c: Mark messages for translating.
3373
055b36b6
VS
33742013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3377 fatal.
3378
f7ff879b
VS
33792013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3382 fatal.
3383
33842013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3385
3386 * autogen.sh: Do not try to delete nonexistant files.
3387 * util/import_gcrypth.sed: Add some missing header removals.
3388
01323d49
CW
33892013-01-12 Colin Watson <cjwatson@ubuntu.com>
3390
3391 Clean up dangling references to grub-setup.
3392 Fixes Ubuntu bug #1082045.
3393
3394 * docs/grub.texi (Images): Refer generally to grub-install rather
3395 than directly to grub-setup.
3396 (Installing GRUB using grub-install): Remove direct reference to
3397 grub-setup.
3398 (Device map) Likewise.
3399 (Invoking grub-install): Likewise.
3400 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3401 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3402 * util/grub-install.in (usage): Likewise.
3403
3404 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3405 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3406 grub-setup.
3407 * configure.ac: Remove grub_setup output variable.
3408
3409 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3410 to grub-bios-setup.
3411 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3412 grub-setup to grub-sparc64-setup.
3413
5e3b8dcb
VS
34142013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Import gcrypt public-key cryptography and implement signature checking.
3417
535714bd
VS
34182013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/fs/ntfs.c: Ue more appropriate types.
3421 * grub-core/fs/ntfscomp.c: Likewise.
3422 * include/grub/ntfs.h: Likewise.
3423
3e4f3566
VS
34242013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Support Apple FAT binaries on non-Apple platforms.
3427
3428 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3429 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3430 Likewise.
3431 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3432 Apple FAT binaries.
3433
4dedb13f
VS
34342013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3437 sector devices.
3438
f8861eaf
CW
34392013-01-07 Colin Watson <cjwatson@ubuntu.com>
3440
3441 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3442 explicitly zeroing elements.
3443 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3444 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3445 of elements in a structure already allocated using grub_zalloc.
3446 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3447
86065b0a
CW
34482013-01-07 Colin Watson <cjwatson@ubuntu.com>
3449
3450 * docs/grub.texi (grub_cpu): New subsection.
3451 (grub_platform): Likewise.
3452
c6f1e92f
VS
34532013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3456
f797ec85
VS
34572013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3460 divisions.
3461
033d0b4b
VS
34622013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3465 * grub-core/fs/ntfscomp.c: Likewise.
3466 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3467 (grub_ntfs_comp): Likewise.
3468
21d1b9a0
VS
34692013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3472 Rename to ...
3473 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3474 of groups_per_block. All users updated.
3475
10ca8645
VS
34762013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3479 grub_error properly.
3480 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3481 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3482
a4c3ed4c
VS
34832013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3486 always in /boot/zfs.
3487 Reported by: Yuta Satoh.
3488
0b716507
YS
34892013-01-03 Yuta Satoh <nigoro>
3490
3491 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3492 ${grub_probe}
3493
00c05e22
VS
34942013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * configure.ac: Extend -Wno-trampolines to host.
3497
dadddb76
VS
34982013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3501 entry->len = 0.
3502
54ce53ca
CW
35032013-01-03 Colin Watson <cjwatson@ubuntu.com>
3504
3505 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3506 (Invoking grub-script-check): Likewise.
3507
8912efca
CW
35082013-01-03 Colin Watson <cjwatson@ubuntu.com>
3509
3510 * docs/grub.texi (Invoking grub-mount): New section.
3511 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3512
c3fc8394
CW
35132013-01-02 Colin Watson <cjwatson@ubuntu.com>
3514
3515 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3516 test failures, so that a failing unit test correctly causes 'make
3517 check' to fail.
3518
45d26abb
CW
35192013-01-02 Colin Watson <cjwatson@ubuntu.com>
3520
3521 Fix failing printf test.
3522
3523 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3524 '$' in the correct order when collecting type information.
3525
971dd2c6
CW
35262013-01-02 Colin Watson <cjwatson@ubuntu.com>
3527
3528 * docs/grub.texi (configfile): Explain environment variable
3529 handling.
3530 (source): New section.
3531 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3532
5c67ea6c
CW
35332012-12-31 Colin Watson <cjwatson@ubuntu.com>
3534
3535 Remove several trivially-unnecessary uses of nested functions.
3536
3537 * grub-core/commands/i386/pc/sendkey.c
3538 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3539 instead of nested.
3540 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3541 Rename to ...
3542 (legacy_file_getline): ... this.
3543 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3544 Likewise.
3545 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3546 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3547 to ...
3548 (probe_dummy_iter): ... this.
3549 * grub-core/kern/i386/coreboot/mmap.c
3550 (grub_linuxbios_table_iterate: check_signature): Likewise.
3551 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3552 check_varstate): Likewise. Mark inline.
3553 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3554 an additional parameter.
3555 (find_long: fnd_long): Likewise. Pass two additional parameters.
3556 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3557 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3558 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3559 Likewise. Rename to ...
3560 (grub_cmos_find_port_iter): ... this.
3561 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3562 Rename to ...
3563 (find_rtc_iter): ... this.
3564
3565 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3566 function directly into the function body, since it is only called
3567 once.
3568
33a68ac6
CW
35692012-12-30 Colin Watson <cjwatson@ubuntu.com>
3570
3571 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3572 __attribute__ ((unused)).
3573 * grub-core/video/bochs.c (find_card): Likewise.
3574 * grub-core/video/cirrus.c (find_card): Likewise.
3575 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3576 * grub-core/video/sis315pro.c (find_card): Likewise.
3577 * grub-core/video/sm712.c (find_card): Likewise.
3578
608b647a
CW
35792012-12-28 Colin Watson <cjwatson@ubuntu.com>
3580
3581 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3582 Fixes Savannah bug #37821.
3583
fd49ceb3
CW
35842012-12-28 Colin Watson <cjwatson@ubuntu.com>
3585
3586 Apply program name transformations at build-time rather than at
3587 run-time. Fixes Debian bug #696465.
3588
3589 * acinclude.m4 (grub_TRANSFORM): New macro.
3590 * configure.ac: Create output variables with transformed names for
3591 most programs.
3592 * util/bash-completion.d/grub-completion.bash.in: Use
3593 pre-transformed variables for program names.
3594 * util/grub-install.in: Likewise.
3595 * util/grub-kbdcomp.in: Likewise.
3596 * util/grub-mkconfig.in: Likewise.
3597 * util/grub-mkconfig_lib.in: Likewise.
3598 * util/grub-mknetdir.in: Likewise.
3599 * util/grub-mkrescue.in: Likewise.
3600 * util/grub-mkstandalone.in: Likewise.
3601 * util/grub-reboot.in: Likewise.
3602 * util/grub-set-default.in: Likewise.
3603 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3604 * tests/util/grub-shell-tester.in: Remove unused assignment.
3605 * tests/util/grub-shell.in: Likewise.
3606 * util/grub.d/00_header.in: Likewise.
3607
7024b3c0
CW
36082012-12-28 Colin Watson <cjwatson@ubuntu.com>
3609
3610 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3611
3612 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3613 HAVE_RAW_DECL_GETS.
3614 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3615
e3501b13
VS
36162012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3619 Reported by: Eriks Latosheks <foresterlv>.
3620
b40c88a9
VS
36212012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * docs/grub.texi (Network): Update instructions on generating netboot
3624 image.
3625
ce96d01c
VS
36262012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3629 around device name if necessarry.
3630
0f596201
PFS
36312012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3632
3633 * util/grub-install.in: Follow the symbolic link parameter added
3634 to the file command.
3635
600d5bdb
AB
36362012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3637
3638 * util/grub-install.in: Remove stale TODO.
3639
64ebd2f4
PFS
36402012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3641
3642 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3643 dynamic allocation for the bootpath buffer.
3644
74b2fe3e
DTB
36452012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3646
3647 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3648 window too small.
3649
969b804f
VS
36502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3653 argument rather than font name. All users updated.
3654 (grub_gfxterm_set_window): Likewise.
3655
b9f5ebd6
VT
36562012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3657
3658 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3659 from working.
3660
258f43b7
VS
36612012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * util/getroot.c (convert_system_partition_to_system_disk): Support
3664 nbd disks.
3665
cc1ce5f9
VS
36662012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3669 infinite loop on corrupted FS.
3670
e77a16ca
VS
36712012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Fix big-endian mtime.
3674
3675 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3676 together sec and usec.
3677 (grub_ufs_dir): Use correct byteswapping for UFS time.
3678
d9c48c7b
VS
36792012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Support big-endian UFS1.
3682
3683 * Makefile.util.def (libgrubmods): Add ufs_be.c
3684 * grub-core/Makefile.core.def (ufs1_be): New module.
3685 * grub-core/fs/ufs_be.c: New file.
3686 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3687 the file.
3688
2f9f40ba
LL
36892012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3690
3691 * include/grub/types.h: Fix functionality unaffecting typo in
3692 GRUB_TARGET_WORDSIZE conditional macro.
3693
48ff0889
PFS
36942012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3695
3696 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3697
03711240
GS
36982012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3699
3700 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3701 that /netbsd appears first (when it exists).
3702
a31b11bd
CJ
37032012-10-12 Christoph Junghans <ottxor@gentoo.org>
3704
3705 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3706 Fixes Savannah bug #37558.
3707
e8a5d5d4
CW
37082012-10-12 Colin Watson <cjwatson@ubuntu.com>
3709
3710 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3711 description of extract_entries_configfile.
3712
37132012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3714
3715 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3716 preferred_address.
3717 (grub_cmd_linux): Likewise.
3718 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3719 preferred_lifetime. Update all users.
3720
288c757d
CW
37212012-09-26 Colin Watson <cjwatson@ubuntu.com>
3722
3723 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3724 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3725
0d35da3f
CW
37262012-09-26 Colin Watson <cjwatson@ubuntu.com>
3727
3728 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3729 errors from grub-probe to /dev/null, not stdout.
3730
b78c3127
VS
37312012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3734 sector 1.
3735
473959f0
CW
37362012-09-24 Colin Watson <cjwatson@ubuntu.com>
3737
3738 * util/grub-install.in: Make the error message if $source_dir
3739 doesn't exist more useful.
3740
794c8c33
CW
37412012-09-22 Colin Watson <cjwatson@ubuntu.com>
3742
3743 Fix grub-emu build on FreeBSD.
3744
3745 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3746 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3747 headers on Linux.
3748 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3749 implementation is currently Linux-specific.
3750 * util/getroot.c (exec_pipe): Define only on Linux or when either
3751 libzfs or libnvpair is unavailable.
3752 (find_root_devices_from_poolname): Remove unused path variable.
3753
86d08fdb
CW
37542012-09-19 Colin Watson <cjwatson@ubuntu.com>
3755
3756 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3757 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3758 should fit before end == 63.
3759
735abf54
CW
37602012-09-19 Colin Watson <cjwatson@ubuntu.com>
3761
3762 * util/grub-setup.c (write_rootdev): Remove unused core_img
3763 parameter. Update all callers.
3764 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3765 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3766 GRUB_SETUP_BIOS.
3767
140acd3c
VS
37682012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3771 (grub_add_tab): New function.
3772 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3773 * util/grub.d/10_illumos.in: Likewise.
3774 * util/grub.d/10_kfreebsd.in: Likewise.
3775 * util/grub.d/10_linux.in: Likewise.
3776 * util/grub.d/10_netbsd.in: Likewise.
3777 * util/grub.d/10_windows.in: Likewise.
3778 * util/grub.d/10_xnu.in: Likewise.
3779 * util/grub.d/20_linux_xen.in: Likewise.
3780 * util/grub.d/30_os-prober.in: Likewise.
3781
7ddffdad
VS
37822012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3785 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3786 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3787 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3788 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3789 ieee1275-nocursor.
3790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3791 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3792
4e092454
VS
37932012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3796 le-conversion.
3797 Reported by: BURETTE, Bernard.
3798
735abf54 37992012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3800
3801 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3802 from comment.
3803
dfd39dbd
CW
38042012-09-14 Colin Watson <cjwatson@ubuntu.com>
3805
3806 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3807 IEEE1275 machines. Fixes powerpc-emu compilation.
3808 * include/grub/terminfo.h: Likewise.
3809
3bfa763c
VS
38102012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3813 a const pointer.
3814 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3815 const pointer.
3816 (efiemu_set_variable): Make vendor_guid a const pointer.
3817
250e475b
VS
38182012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 Don't require grub-mkconfig_lib to generate manpages for programs.
3821
3822 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3823 dependencies, don't add grub-mkconfig_lib.
3824 (program): Pass empty adddeps.
3825 (script): Pass grub-mkconfig_lib as adddeps.
3826
592fd0e4
VS
38272012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3830 * util/getroot.c (grub_find_device): Likewise.
3831 (get_mdadm_uuid): Likewise.
3832 (grub_util_is_imsm): Likewise.
3833 (grub_util_pull_device): Likewise.
3834 * util/grub-probe.c (probe): Likewise.
3835
801a3027
BG
38362012-09-10 Benoit Gschwind <gschwind>
3837
3838 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3839 (devs): Add devpath_8.
3840
c5052c81
PJ
38412012-09-08 Peter Jones <pjones@redhat.com>
3842
3843 * grub-core/Makefile.core.def (efifwsetup): New module.
3844 * grub-core/commands/efi/efifwsetup.c: New file.
3845 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3846 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3847 New define.
3848 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3849
8e832f71
JS
38502012-09-05 Jiri Slaby <jslaby@suse.cz>
3851
3852 * configure.ac: Add SuSe path.
3853
f0f55752
CW
38542012-09-05 Colin Watson <cjwatson@ubuntu.com>
3855
3856 * NEWS: Fix typo.
3857
ecadc4c2
CW
38582012-09-05 Colin Watson <cjwatson@ubuntu.com>
3859
3860 * util/import_gcry.py: Sort cipher_files, to make build system
3861 generation more deterministic.
3862
64498f25
VS
38632012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3866 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3867 (grub_set_datetime): Likewise.
3868
9cc836a2
VS
38692012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3872 warnings.
3873
bcfcea01
VS
38742012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3877
a4099485
VS
38782012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3881
265c162a
CW
38822012-09-04 Colin Watson <cjwatson@ubuntu.com>
3883
3884 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3885 required for checkouts from bzr, but it may be useful for users or
3886 distributors wishing to update translations against a tarball
3887 distribution, and it can be helpful for the tarball to be a superset
3888 of what's in bzr.
3889
3d171e95
CW
38902012-09-04 Colin Watson <cjwatson@ubuntu.com>
3891
3892 * Makefile.am (EXTRA_DIST): Add
3893 grub-core/tests/boot/linux.init-mips.S,
3894 grub-core/tests/boot/linux.init-ppc.S, and
3895 grub-core/tests/boot/linux-ppc.cfg.
3896
f2c2503e
CW
38972012-09-04 Colin Watson <cjwatson@ubuntu.com>
3898
3899 * grub-core/mmap/mips/loongson: Remove empty directory.
3900
39012012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3902
3903 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3904 gone.
3905
ab2163d5
CW
39062012-09-04 Colin Watson <cjwatson@ubuntu.com>
3907
3908 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3909 grub-sparc64-setup.
3910
ce938140
GS
39112012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3912
3913 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3914
529f58a5
GS
39152012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3916
3917 * po/POTFILES.in: Regenerated.
3918
16cf79e9
GS
39192012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3920
3921 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3922 (NetBSD): New subsection.
3923
39b27f1e 39242012-07-22 Ales Nesrsta <starous@volny.cz>
3925
3926 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3927 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3928
a885261b
VS
39292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3932 * util/grub.d/10_hurd.in: Add missing quoting.
3933 * util/grub.d/10_illumos.in: Likewise.
3934 * util/grub.d/10_kfreebsd.in: Likewise.
3935 * util/grub.d/10_linux.in: Likewise.
3936 * util/grub.d/20_linux_xen.in: Likewise.
3937
7bd29c01
VS
39382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 New command `lsefi'.
3941
3942 * grub-core/Makefile.core.def (lsefi): New module.
3943 * grub-core/commands/efi/lsefi.c: New file.
3944 * include/grub/efi/api.h: Add more GUIDs.
3945
ac625d8f
VS
39462012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3949 (grub_bsd_elf32_hook): Likewise.
3950 (grub_bsd_elf64_size_hook): Likewise.
3951 (grub_bsd_elf64_hook): Likewise.
3952 (grub_bsd_load_elf): Likewise.
3953
e73bb801
VS
39542012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3957 if hash function is unavailable.
3958 (dec_stream_header): Likewise.
3959
e81db8b5
VS
39602012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3963 filter state.
3964
d187a1c3
VS
39652012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Fix coreboot compilation.
3968
3969 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3970 (grub_vga_text_init_real): ... this.
3971 (grub_vga_text_fini): Rename to ...
3972 (grub_vga_text_fini_real): ... this.
3973
91a05f64
VS
39742012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3977
6af96df7
VS
39782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/lib/legacy_parse.c: Support clear and testload.
3981
4d569e12
VS
39822012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3985
073b57bb
VS
39862012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3989
a706f4cc
VS
39902012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/net/tftp.c (ack): Fix endianness problem.
3993 (tftp_receive): Likewise.
3994 Reported by: Michael Davidsaver.
3995
e7850aa9
VS
39962012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3999
40002012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4003 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4004 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4005
35692881
VS
40062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4009 efi_mmap_size.
4010 Reported by: Stuart Hayes.
4011
c35fc5bd
VS
40122012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4015
4016 * grub-core/Makefile.core.def (mda_text): New module.
4017 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4018 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4019 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4020 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4021 here.
4022 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4023 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4024 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4025 here.
4026 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4027 to ..
4028 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4029 ... here
4030 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4031 here.
4032 * grub-core/term/i386/vga_common.c: Removed.
4033 * include/grub/i386/vga_common.h: Likewise.
4034 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4035 (grub_vga_cr_bw_read): Likewise.
4036 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4037 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4038 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4039 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4040 grub_vga_cr_read/grub_vga_cr_write.
4041 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4042
5f91f701
VS
40432012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * configure.ac: Bump version to 2.00.
4046 * grub-core/normal/main.c (features): Add feature_200_final.
4047
0c4f85f6
VS
40482012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
40492012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4050
4051 * NEWS: Fix unclarity and language mistakes.
4052
f923ad22
VS
40532012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4056 additional size to 3 pages.
4057 Reported by: Stuart Hayes.
4058
d22029ba
VS
40592012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * NEWS: Add 2.00 entry.
4062
58eee08f
VS
40632012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4066 put explicit "/" for empty path.
4067 (wildcard_expand): Improve dprintf.
4068
c59bdff7
VS
40692012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4072 it's equal to currnode. This can happen with "" symlink.
4073
5e6a440a
YB
40742012-06-27 Yves Blusseau <blusseau@zetam.org>
4075
4076 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4077 echo shell command by printf command.
4078
73a68bcb
VS
40792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4082 the value returned by firmware is the maximal position, not diumension.
4083 (grub_terminfo_output_state): Use a more sane fallback.
4084
392a603b
VS
40852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4088
42d0867f
VS
40892012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4092 frequency to 150 MHz.
4093
489509f4
VS
40942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Apple fixes.
4097
4098 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4099 __APPLE_
4100 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4101 definition.
4102 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4103
9f3fc883
VS
41042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Handle slash in HFS label.
4107
4108 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4109 (grub_hfs_dir): Tanslate slash.
4110 (grub_hfs_label): Don't translate slash.
4111
54853fd7
VS
41122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4115 network protocol listing since it introduces problematic dependency on
4116 net module.
4117
4dc02ddf
VS
41182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4121
c50c867d
VS
41222012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 Init video early on yeeloong to avoid being rebooted by watchdog.
4125
4126 * grub-core/Makefile.am (gensm712): New target.
4127 (sm712_start.S): Likewise.
4128 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4129 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4130 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4131 description.
4132 * include/grub/vga.h: Move registry definitions to...
4133 * include/grub/vgaregs.h: ... here.
4134
5f92c8a1
VS
41352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4138 signedness.
4139
e9e6f111
VS
41402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4143 platforms with firmware disk drivers in the core.
4144
754ad9eb
VS
41452012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4148 informative verbose message.
4149 (read_lv): Handle 64-bit segment size.
4150
315654c2
VS
41512012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4154
fb022c79
VS
41552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4158 character but still remove trainling spaces.
4159 (grub_fat_label): Ignore archive flag.
4160
8645f72c
VS
41612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4164 cast between linux_kernel_header and linux_kernel_params.
4165
36498496
VS
41662012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4169 type for size.
4170 (grub_raid6_recover_func_t): Likewise.
4171 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4172 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4173
0b5ea6b8
VS
41742012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4177
650cfcfe
GS
41782012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4179
4180 Fix overflow.
4181
4182 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4183 [__NetBSD__]: Add explicit cast before bitshift.
4184
8a4d6a44
VS
41852012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * configure.ac: Bump to 2.00~rc1.
4188
2fb97ed3
VS
41892012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4192 half of $a0.
4193
1fa097dc
VS
41942012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
41952012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4196
4197 * docs/grub.texi: Fix search syntax.
4198 (Multi-boot manual config): Put msdos rather than GPT example.
4199 Grammar corrections.
4200
c890ba78
VS
42012012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4204
0f92dca7
VS
42052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4208
3988c4a0
VS
42092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4212 message on double free. Put the value of magic in case of mismatch.
4213
9e86d4c5
VS
42142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 Speed-up video on yeeloong.
4217
4218 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4219 add cached_ptr.
4220 (grub_video_sm712_video_fini): Unmap cached_ptr.
4221 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4222 (grub_video_sm712_set_active_render_target): Removed.
4223 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4224 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4225 sync caches.
4226
ed24c312
VS
42272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Avoid flushing the same line multiple times on loongson.
4230
4231 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4232 Step in 32 bytes and not 1 byte.
4233 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4234 Likewise.
4235
d1718e7d
VS
42362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4239 subvolumes.
4240
982f1909
VS
42412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Implement flow control for http.
4244
4245 * grub-core/net/http.c (parse_line): Handle response 206.
4246 (http_receive): Stall if too many packets are in the queue.
4247 (http_establish): Fix range header.
4248 (http_seek): Fix double free.
4249 (http_close): Likewise.
4250 (http_packets_pulled): New function.
4251 (grub_http_protocol): Set http_seek
4252 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4253 (ack_real): Set window depending on i_stall.
4254 (grub_net_send_tcp_packet): Likewise.
4255 (grub_net_tcp_stall): New function.
4256 (grub_net_tcp_unstall): Likewise.
4257 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4258 (grub_net_tcp_unstall): Likewise.
4259
bd407d6e
VS
42602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4263
c7564b8e
VS
42642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4267
a3706162
VS
42682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * tests/util/grub-shell.in: Fix a typo.
4271
b27069e0
VS
42722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Implement flow control for tftp.
4275
4276 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4277 packets but stop only if stop condition is satisfied.
4278 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4279 `stall' instead of `eof' as stop condition.
4280 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4281 (http_err): Likewise.
4282 * grub-core/net/tftp.c (ack): Replace the first argument with data
4283 instead of socket.
4284 (tftp_receive): Stall if too many packets are in wait queue.
4285 (tftp_packets_pulled): New function.
4286 (grub_tftp_protocol): Set packets_pulled.
4287 * include/grub/net.h (grub_net_packets): New field count.
4288 (grub_net_put_packet): Increment count.
4289 (grub_net_remove_packet): Likewise.
4290 (grub_net_app_protocol): New field `packets_pulled'.
4291 (grub_net): New field `stall'.
4292
6b9cfac6
VS
42932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4296 sync part to handle them.
4297
f35abd81
VS
42982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4301 * grub-core/net/drivers/ieee1275/ofnet.c
4302 (grub_ieee1275_net_config_real): Likewise.
4303
0e7ec820
VS
43042012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4307 the direct route for server/gateway.
4308
9d611a31
VS
43092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4312 IP address to server name since we may not hame the DNS.
4313
418f45ab
VS
43142012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4317 freeing random buffer on failure.
4318 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4319
44a0efc1
VS
43202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4323
531e2241
VS
43242012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4327 reserved bytes.
4328 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4329 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4330 Handle malloc error correctly.
4331
cde393c9
VS
43322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4335 blocks.
4336
538478d0
VS
43372012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4340 increment.
4341
9b55efe0
VS
43422012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4345 none is explicitly specified.
4346
9eb832c3
VS
43472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4350 while reallocating.
4351
d6b7c7c9
VS
43522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 Respect netmask from bootp/dhcp.
4355
4356 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4357 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4358 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4359 into ...
4360 (grub_net_add_ipv4_local): ... this.
4361 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4362 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4363 (grub_net_add_ipv4_local): New proto.
4364
67caf9eb
VS
43652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4368 determining EFI memory map size.
4369
43657558
VS
43702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4373
eb6d0dd3
VS
43742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4377 when looking for partition separator.
4378
31230544
VS
43792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4382 Escape commas.
4383
918a2517
VS
43842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 Restructure FAT driver to avoid hook in label reading as it hits a
4387 GCC bug.
4388
4389 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4390 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4391 (grub_fat_iterate_dir): Split into ...
4392 (grub_fat_iterate_init): ... this, ...
4393 (grub_fat_iterate_fini): ... this, ...
4394 (grub_fat_iterate_dir_next): ... and this. All users updated.
4395
9f1d654e
VS
43962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4399 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4400 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4401 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4402 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4403 New fields last_key and last_key_time.
4404 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4405 extended key-esc into extended key-extended key.
4406
52f0f643
VS
44072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 Avoid unnecessary memcpy of whole video buffer.
4410
4411 * grub-core/video/fb/video_fb.c (dirty): New struct.
4412 (framebuffer): Add members current_dirty and previous_dirty.
4413 (dirty): New function.
4414 (grub_video_fb_fill_rect): Update dirty.
4415 (common_blitter): Likewise.
4416 (grub_video_fb_scroll): Likewise.
4417 (doublebuf_blit_update_screen): Copy only dirty part.
4418 (doublebuf_pageflipping_update_screen): Likewise.
4419 (grub_video_fb_doublebuf_blit_init): Init dirty.
4420 (doublebuf_pageflipping_init): Likewise.
4421 (grub_video_fb_setup): Likewise.
4422
e169a180
VS
44232012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4426 poll rate.
4427
48556879
VS
44282012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Fix wildcard regexp dot and other special characters handling.
4431 Reported by: Robert Mabee.
4432
4433 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4434 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4435 (split_path): Trigger expansion on '?'.
4436 (unescape): New function.
4437 (wildcard_expand): Unescape parts copied without globbing.
4438 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4439 (grub_script_arglist_to_argv): Don't unescape expansions.
4440
0494408e
VS
44412012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * include/grub/net.h (grub_net_card): New member txbufsize.
4444 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4445 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4446 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4447 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4448 txbufsize.
4449 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4450 compatible property to check for macs. Set
4451 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4452 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4453 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4454 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4455 (send_card_buffer): Use txbuf.
4456 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4457 nested function out of the parent while on it.
4458
cc35fe8f
VS
44592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4462 presence check.
4463 (grub_ieee1275_net_config_real): Fix config pointer.
4464
970a0a09
VS
44652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4468 filename parsing to non-block devices.
4469
3e19bf87
VS
44702012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4473
c62d1a0c
VS
44742012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4477 All users updated.
4478
ef76bec3
VS
44792012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4482 UUID search command even if hints probing failed.
4483
44842012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4485
4486 * po/POTFILES.in: Regenerated.
4487
70aaf305
VS
44882012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 Speed-up video on fuloong.
4491
4492 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4493 New function.
4494 (grub_pci_device_unmap_range): Handle non-cached address.
4495 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4496 add direct_ptr.
4497 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4498 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4499 (grub_video_sis315pro_set_active_render_target): Removed.
4500 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4501 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4502 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4503 sync caches.
4504 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4505 New proto.
4506
10400f0b
VS
45072012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * docs/grub.texi (Multi-boot manual config): New section.
4510
ba67e2c6
VS
45112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Avoid slow read-back from VRAM.
4514
4515 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4516 Move from here ...
4517 * grub-core/video/fb/video_fb.c
4518 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4519 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4520 (front_target): Remove front_target. Add pages.
4521 (grub_video_fb_init): Skip setting front_pages.
4522 (grub_video_fb_fini): Likewise.
4523 (doublebuf_blit_update_screen): Use pages.
4524 (grub_video_fb_doublebuf_blit_init): Likewise.
4525 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4526 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4527 (grub_video_fb_setup): Prefer doublebuffing.
4528
377c98cb
VS
45292012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4532 gzio.
4533
eac49cff
VS
45342012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 Add loongson tests.
4537
4538 * tests/util/grub-shell.in: Handle loongson.
4539 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4540 drivers.
4541 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4542 Reboot instead of shutdown if REBOOT is defined.
4543
0321415e
VS
45442012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4547 sized ports since unlike on real hardware qemu supports only 32-bit
4548 regs.
4549
3f2bdd8f
VS
45502012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4553 * util/grub-mkrescue.in: Handle loongson.
4554
29a049c9
VS
45552012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4558 Set is_part appropriately.
4559 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4560 names. Canonicalize partition without full disk.
4561
4abde346
VS
45622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 Revert usb-quiesce since it's wrong.
4565
4566 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4567 (grub_ofdisk_init): Don't do quiesce.
4568
61f1d93b
VS
45692012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4572 PowerMac workaround to Xserves as well.
4573 Information supplied by: Benjamin Herrenschmidt.
4574
a09eb541
VS
45752012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Don't assume that beginning address is also the entry point on ppc.
4578
4579 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4580 (grub_linux_boot): Use linux_entry.
4581 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4582 (grub_linux_load64): Likewise.
4583
505b3c9b
VS
45842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4587
cbe0b4ef
VS
45882012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4591 needlessly lose the console.
4592
3006e981
VS
45932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4596 space.
4597
4e5a96b0
VS
45982012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4599
7da036bb
VS
4600 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4601 than current grub_get_rtc() not implemented when booted with
4602 coreboot without TSC.
4603
4604 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4605 Add machine/time.h to kernel headers on loongson.
4606 * grub-core/Makefile.core.def (kernel): Remove
4607 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4608 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4609 (grub_get_rtc): Likewise.
4610 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4611 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4612 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4613 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4614 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4615 rather than installing known non-working time source.
4616 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4617 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4618 * include/grub/time.h: Don't include machine/time.h.
4619 * include/grub/efi/time.h: Removed.
4620 * include/grub/i386/efi/time.h: Likewise.
4621 * include/grub/i386/ieee1275/time.h: Likewise.
4622 * include/grub/powerpc/ieee1275/time.h: Likewise.
4623 * include/grub/sparc64/ieee1275/time.h: Likewise.
4624 * include/grub/x86_64/efi/time.h: Likewise.
4625
46262012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4629
4630 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4631 value.
4632 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4633 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4634 with dotless variants when any combining above is present.
4635
5561c22d
VS
46362012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4639 text and not binary.
4640
96f7e60e
VS
46412012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Stop polling as soon as we have the packet we were waiting for.
4644
4645 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4646 All users updated.
4647 * grub-core/net/arp.c (have_pending): New var.
4648 (pending_req): Likewise.
4649 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4650 stop indicator.
4651 (grub_net_arp_receive): Set have_pending.
4652 * grub-core/net/dns.c (recv_data): New field stop.
4653 (recv_hook): Set stop.
4654 (grub_net_dns_lookup): Init stop and use as stop condition.
4655 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4656 condition.
4657 * grub-core/net/net.c (grub_net_poll_cards): New argument
4658 stop_condition. Stop when it goes true.
4659 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4660 indicator.
4661 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4662
3e747239
VS
46632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 Keep TX and RX buffers on EFI rather than always allocate new ones.
4666
4667 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4668 card. All users updated.
4669 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4670 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4671 (get_card_packet): Likewise.
4672 (grub_efinet_findcards): Init new fields.
4673
f695e99a
VS
46742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4677 compilation error on sparc64.
4678
9e5e66d1
VS
46792012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 Use ITC on IA64 rather than broken routine based on daytime.
4682
4683 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4684 ia64.
4685 (grub_get_rtc) [__ia64__]: Likewise.
4686 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4687 (get_itc): New function.
4688 (grub_rtc_get_time_ms): Likewise.
4689 (grub_machine_init): Calibrate ITC.
4690 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4691 Keep only on non-ia64. Don't export since it's broken and used only
4692 if TSC is unavailable.
4693
a1767404
VS
46942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4697 even if it's used.
4698 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4699 Skip if parent is unused.
4700
34b2bced
VS
47012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4704
5e619f40
VS
47052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Fix wildcard escaping.
4708
4709 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4710 * grub-core/script/execute.c (wildcard_escape): .. to here.
4711 Don't escape dot.
4712 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4713 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4714 Don't escape dot.
4715 * grub-core/script/execute.c (gettext_append): Always escape.
4716 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4717 * grub-core/script/yylex.l: Don't cut away the escaping.
4718 * tests/grub_script_echo1.in: Add tests with wildcard.
4719
c8ca5855
VS
47202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4723 (ftdi_hw_configure): Likewise.
4724 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4725 define.
4726 (real_config): Handle 1.5 stop bits.
4727 (pl2303_hw_configure): Likewise.
4728
7183452c
VS
47292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * Makefile.am: Add ppc linux bootcheck.
4732 * grub-core/tests/boot/linux-ppc.cfg: New file.
4733 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4734
f57c84cd
VS
47352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * tests/grub_script_expansion.in: Skip network protocols.
4738
ecfc6207
VS
47392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4742
8d03d284
VS
47432012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4746 --rom-directory.
4747 Add -graft-points.
4748
61c42af0
VS
47492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 ESCC serial driver for conducting sautomated tests in qemu.
4752 Not tested on real hardware.
4753
4754 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4755 * grub-core/term/ieee1275/escc.c: New file.
4756 * grub-core/Makefile.core.def (escc): New module.
4757
08fd1291
VS
47582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4761 invalid on error.
4762 (serial_hw_fetch): Don't read invalid handle.
4763 (serial_hw_put): Don't write into invalid handle.
4764
08dafeea
VS
47652012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Add a 1.5 stop bits value.
4768
4769 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4770 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4771 GRUB_SERIAL_STOP_BITS_1_5.
4772
9068fdcf
VS
47732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4776 value rather than let it uninited.
4777
f4d5820f
VS
47782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/commands/wildcard.c (+check_file): New function.
4781 (wildcard_expand): Don't expand to non-existing files, expand with
4782 suffix and not attempt to expand if not needed.
4783
3d2de9a7
VS
47842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4787 out of partitions containing other partitions.
4788
c5c81ff9
VS
47892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4792 on some qemu versions with GRUB.
4793
4794 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4795 define.
4796 (grub_openbsd_bootarg_pcibios): New struct.
4797 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4798 Add PCIINFO.
4799
08a14e0b
VS
48002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * tests/util/grub-shell.in: Trim firmware output on EFI.
4803
cede3ca3
VS
48042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4807 and coreboot since it's already in kernel.
4808
558d3a60
VS
48092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4812 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4813 to here. New return value start. All users updated.
4814 Recursively scan linear mappings.
4815 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4816 proto.
4817 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4818 Use grub_util_get_dm_node_linear_info.
4819 * util/getroot.c (convert_system_partition_to_system_disk): Use
4820 grub_util_info rather than grub_dprintf.
4821 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4822
60fde14d
VS
48232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4826
4827 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4828 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4829
24bd8838
VS
48302012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * include/grub/types.h (grub_set_unaligned64): New function.
4833 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4834 (setup): Likewise.
4835
7bc06a49
VS
48362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4839 (grub_ofdisk_fini): Quiesce USB devices.
4840
49cea015
VS
48412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4844 caches.
4845
8dcbe03b
VS
48462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4849
5b258735
VS
48502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/disk/pata.c (grub_pata_pio_read)
4853 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4854 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4855
37ba07eb
VS
48562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Extend automated tests to qemu-mips.
4859
4860 * Makefile.am: reorganise tests and enable qemu-mips.
4861 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4862 * grub-core/tests/boot/linux.init-mips.S: New file.
4863 * tests/partmap_test.in: Handle ata0 disks.
4864 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4865 non-pc i386.
4866
070038f8
VS
48672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4870 ia64.
4871 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4872 quotes while on it.
4873
004be2cd
VS
48742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4877 (grub_halt): Likewise.
4878 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4879
b1622487
VS
48802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/term/serial.c (grub_serial_register)
4883 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4884 the behaviour in line with x86 platforms.
4885
b7b4ab33
VS
48862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4889 (grub_ata_strncpy): Likewise.
4890 (grub_ata_identify): Add missing byteswaps.
4891
5e3535ae
VS
48922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4895 byte-swap.
4896 (screen_read_char): Likewise.
4897 (grub_vga_text_cls): Likewise.
4898
c21b17e6
VS
48992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4902 filenames.
4903 (make_file_path): Likewise.
4904
bf293dec
VS
49052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4908 machines.
4909 Tested by: Paulo Flabiano Smorigo.
4910 Crucial information about API supplied by: Coleen <Last name unknown>.
4911 Reviewed by: Coleen <Last name unknown>.
4912
81f6ef0e
VS
49132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * util/grub-mkimage.c: Disable -Wcast-align.
4916
7284143a
VS
49172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4920 as they are fatal.
4921
b99f3e00
VS
49222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4925
944f752d
VS
49262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * util/grub-probe.c (escape_of_path): Fix double free.
4929
6cce6f38
VS
49302012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/commands/videoinfo.c (hook): Show pitch.
4933
1e1eb50e
VS
49342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4937
1c715b5a
VS
49382012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4941 (probe): Add ieee1275 to OFW devices.
4942
007ae52d
VS
49432012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4946
4557a36d
VS
49472012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Handle IBM OFW path.
4950
4951 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4952 available.
4953 (of_path_of_scsi): Handle vdevice.
4954
efbeefe9
VS
49552012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4958 Allocate in multiples of 16 to avoid adding a few bytes free region the
4959 windows bugs upon.
4960
15a940bb
VS
49612012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4964 Allocate in multiples of 16 to avoid adding a few bytes free region the
4965 windows bugs upon.
4966 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4967
6e5efd60
VS
49682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4971 resolutions.
4972 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4973 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4974
0d3d137e
IS
49752012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4976
4977 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4978
45dbe300
VS
49792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4982 resulted in \\ at the end of the line.
4983
6d8db947
VS
49842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4987 (grub_parser_cmdline_state): Likewise.
4988 (grub_parser_split_cmdline): Likewise.
4989
de89d338
VS
49902012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4993 /dev/root and /dev/dm-*.
4994
00d41dee
VS
49952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4998 fix partially stale display.
4999
f95d1f11
VS
50002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5003 substraction.
5004
6297e197
VS
50052012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5008 Fix MBR remapping workaround.
5009 (grub_util_biosdisk_read) [__linux__]: Likewise.
5010
8a7ecad3
VS
50112012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5014
2b34f944
VS
50152012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * configure.ac: Bump to beta6.
5018
684aef11
CW
50192012-05-31 Christer Weinigel <christer@weinigel.se>
5020
5021 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5022
05b0bb91
VS
50232012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5026 (grub_cmd_linux): Likewise.
5027
bda36bfa
CW
50282012-05-31 Christer Weinigel <christer@weinigel.se>
5029
5030 Fix EHCI low-speed.
5031
5032 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5033 (GRUB_EHCI_MULT_TWO): Likewise.
5034 (GRUB_EHCI_MULT_THREE): Likewise.
5035 (GRUB_EHCI_CMASK_MASK): New enum value.
5036 (GRUB_EHCI_SMASK_MASK): Likewise.
5037 (GRUB_EHCI_CMASK_OFF): Likewise.
5038 (GRUB_EHCI_SMASK_OFF): Likewise.
5039 (grub_ehci_pci_iter): Enable periodic schedule.
5040 (grub_ehci_parse_notrun): Likewise.
5041 (grub_ehci_restore_hw): Likewise.
5042 (grub_ehci_setup_qh): Set flags for low speed transfers.
5043 (grub_ehci_find_qh): Use periodic list for low speed.
5044 (grub_ehci_setup_transfer): Check periodic queue as well.
5045 (grub_ehci_check_transfer): Likewise.
5046 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5047
e12bcb1c
PFS
50482012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5049
5050 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5051 parameter is used.
5052
bcc75fb3
PJ
50532012-05-31 Peter Jones <pjones@redhat.com>
5054
5055 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5056 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5057 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5058
f19cb95e
VS
50592012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5062 uninited variable. Allocate at least setup_sects.
5063
a4e5ca80
VS
50642012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Fix handling of EFI with big memory maps.
5067
5068 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5069 (real_mode_mem): Likewise.
5070 (real_mode_target): Likewise.
5071 (real_mode_pages): Likewise.
5072 (prot_mode_pages): Likewise.
5073 (linux_params): New var.
5074 (linux_cmdline): Likewise.
5075 (free_pages): Don't set real mode variables.
5076 (allocate_pages): Don't allocate real mode memory.
5077 (grub_e820_add_region): Remove the limit.
5078 (grub_linux_boot): Allocate and copy real mode memory.
5079 (grub_linux_unload): Free linux_cmdline.
5080 (grub_cmd_linux): Use temporary storage for parameters.
5081 (grub_cmd_initrd): Likewise.
5082 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5083 (linux_kernel_params): Make it 1K big.
5084
ddb73558
VS
50852012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * Makefile.util.def: Remove -Wno-format.
5088 * grub-core/Makefile.core.def: Likewise.
5089
1c4afb60
VS
50902012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * tests/cmp_unit_test.c: Add missing failure message.
5093 * tests/example_unit_test.c: Likewise.
5094 * tests/printf_unit_test.c: Likewise.
5095
941e3a6d
VS
50962012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5099 relaxation of protective MBR requirements.
5100
b105df76
VS
51012012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * configure.ac: Add condition for COND_HOST_XNU.
5104 * Makefile.util.def (10_xnu): New script.
5105 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5106
84e1569e
VS
51072012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5110 objconv bug.
5111
130c0f77
VS
51122012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5115 Binary on other platforms stays identical.
5116
6fd0b143
VS
51172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5120 Apple.
5121
0af1751d
VS
51222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5125
176d5f7d
VS
51262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5129 rather than defining size_t ourselves to avoid conflict.
5130
7de5e20a
VS
51312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5134 initialisation to avoid __bzero reference.
5135
f7143efe
VS
51362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5139 version.
5140 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5141 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5142 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5143 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5144 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5145
e6ad0555
VS
51462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5149 * grub-core/kern/misc.c: Likewise.
5150 * grub-core/loader/i386/xnu.c: Likewise.
5151 * include/grub/i386/tsc.h: Likewise.
5152 * include/grub/symbol.h: Likewise.
5153
4a5a3c4a
VS
51542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5157 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5158 on older compiler.
5159
037f6d90
VS
51602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5163 Implement Apple flavour.
5164 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5165
f7194551
VS
51662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5169 (memmove) [__APPLE__]: Likewise.
5170 (memcpy) [__APPLE__]: Likewise.
5171 (memset) [__APPLE__]: Likewise.
5172 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5173 (memmove) [__APPLE__]: Likewise.
5174 (memcpy) [__APPLE__]: Likewise.
5175 (memset) [__APPLE__]: Likewise.
5176
85a730ca
VS
51772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5180 dependency discard.
5181
40e80b94
VS
51822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/normal/main.c (read_config_file): Provide config_file and
5185 config_directory.
5186 * util/grub.d/41_custom.in: Use config_directoy when available.
5187
9da59c32
VS
51882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5191 (grub_bfs_dir): Likewise.
5192
2787ae53
PJ
51932012-05-27 Peter Jones <pjones@redhat.com>
5194
5195 The old code gives arguments to a printf function which can't work
5196 correctly, and the compiler complains.
5197
5198 * grub-core/tests/example_functional_test.c (example_test): Add
5199 missing text.
5200 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5201 * include/grub/test.h (grub_test_assert_helper): New declaration.
5202 (grub_test_assert): Use grub_test_assert_helper.
5203
526ef13d
VS
52042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5207 (exfctest): ... this to avoid overlong filenames.
5208 All users updated.
5209
20dd511c
VS
52102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 Handle "." and ".." on squashfs.
5213
5214 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5215 Make inode numbers into stack.
5216 (grub_squash_read_symlink): Use stack.
5217 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5218 (make_root_node): Fill stack.
5219 (grub_squash_open): Use stack.
5220
1d80c62a
VS
52212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5224 freeing.
5225
d336f652
VS
52262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5229 stderr on test calls.
5230
8b43f587
VS
52312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5234
80a3dc3f
VS
52352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5238
47e297d4
VS
52392012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5242 "..".
5243
df042ccb
VS
52442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5247 (grub_hfsplus_iterate_dir): Add "." and "..".
5248
fc977f48
VS
52492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5252 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5253
f3250e5f
VS
52542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5257 (find_path): Handle "." and "..".
5258
fd8ed4c5
VS
52592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5262 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5263 (grub_affs_iterate_dir): Handle hardlinks.
5264
4ce776d2
MG
52652012-05-26 Matthew Garrett <mjg@redhat.com>
5266
5267 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5268 (grub_efi_console_fini): Likewise.
5269 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5270 (grub_video_gop_fill_mode_info): Rename to ...
5271 (grub_video_gop_fill_real_mode_info): ... this.
5272 (grub_video_gop_fill_mode_info): New function.
5273 (grub_video_gop_setup): Setup double framebuffer.
5274 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5275 Free offscreen.
5276 (grub_video_gop_swap_buffers): Copy framebuffer.
5277 (grub_video_gop_fini): Free offscreen buffer.
5278 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5279 New enum.
5280 (grub_efi_gop_blt_pixel): New struct.
5281
683031ba
VS
52822012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * gentpl.py: Remove error disabling for objconv.
5285
c2deb798
VS
52862012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * configure.ac: Remove -Wunitialized as it's not available on older
5289 compilers.
5290
52912012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5292
5293 Fix extent overflow comparator.
5294
5295 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5296 (grub_hfsplus_read_block): Set type.
5297 (grub_hfsplus_cmp_extkey): Compare type.
5298
d6b1fd36
VS
52992012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5302
0a9aa0f6
VS
53032012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5306 than 0.
5307
8360e159
VS
53082012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5311 (dejavu_bold_14.pf2): New target.
5312
501b9e4b
VS
53132012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * configure.ac: Fix djvu font detection.
5316
7026b0e2
VS
53172012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5320 ext* instead of ext2.
5321
c2a51ade
VS
53222012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5325 name with \0.
5326
8f803a5d
JU
53272012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5328
5329 * docs/grub-dev.texi: Remove dot from .png.
5330
13c6353f
VS
53312012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5334 protective entry in any slot.
5335 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5336 if protective entry is found in any slot.
5337
5338 Protective entry in non-first slot make no sense but is a widespread
5339 brain damage.
5340
4cf6be1b
VS
53412012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5344
937d1c44
VS
53452012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5348 with old reiserfs.
5349 (grub_reiserfs_open): Don't free root.
5350
021d90ec
VS
53512012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5354 after freeing for safety.
5355
967b2b64
VS
53562012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5359 Reported by: Jordan Uggla.
5360
34274d02
JU
53612012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5362
967b2b64
VS
5363 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5364 actual implementation. Specifically, clarify that the grub menu will
5365 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5366 passed.
34274d02 5367
dcaaae9d
BH
53682012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5369
5370 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5371 of r0.
5372
7086ad52
VS
53732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Remove unjustified hard dependency of normal.mod on gfxterm.
5376
5377 * include/grub/term.h (grub_term_output): New member fullscreen.
5378 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5379 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5380 (grub_gfxterm): Set .fullscreen.
5381 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5382 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5383
37ed2c9b
VS
53842012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5387 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5388 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5389
a4469c88
VS
53902012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5393
4e461486
VS
53942012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5397 a bad FS.
5398
aa78f5c4
VS
53992012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5402 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5403
197626b5
VS
54042012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5407 (grub_jfs_mount): Fill caseins.
5408 (grub_jfs_find_file): Respect caseins.
5409
8ad3f28c
VS
54102012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5413 through UTF-16.
5414
0c6c324e
VS
54152012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5418 New argument origpath. All users updated.
5419
c6666ba6
VS
54202012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5423 (read_attr): Ensure that we read start of possibly compressed block.
5424
e28e5fe5
VS
54252012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5428 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5429 All users updated.
5430
5fc23ab2
VS
54312012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5434 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5435 (dejavu.pf2): Replace with ...
5436 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5437 this.
5438
79dbc21c
VS
54392012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * util/grub.d/20_linux_xen.in: Add missing line.
5442
d2fcfb0c
VS
54432012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5446 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5447 (grub_utf16_to_utf8): Likewise.
5448
5560e9d6
VS
54492012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5452 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5453 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5454 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5456 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5457
54582012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5459
5460 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5461 a bad FS.
5462
5560e9d6 54632012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5464
5465 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5466 (grub_udf_read_symlink): Handle read_string failure.
5467
5eae3175
VS
54682012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5471 comment.
5472
c1ad82db
VS
54732012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 Fix handling of UDF symlinks.
5476
5477 * grub-core/fs/udf.c (read_string): New argument outbuf.
5478 All users updated.
5479 (grub_ufs_read_symlink): Rename to ...
5480 (grub_udf_read_symlink): ... this. All users updated.
5481 Handle symlinks with more than one component.
5482
33eca6e0
VS
54832012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5486 symlinks. Replace leading colon with a slash.
5487
57f4a70b
VS
54882012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5491 filename.
5492
38c8ee20
VS
54932012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5496 match in inner node.
5497
2e57f28f
VS
54982012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5501 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5502 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5503 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5504 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5505 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5506 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5507 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5508 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5509
fe8c2f11
VS
55102012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Use grub-probe and not cmp to check that disk is empty.
5513
5514 * util/grub-install.in: Use grub-probe for zero-check.
5515 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5516 (probe): Handle PRINT_ZERO_CHECK.
5517 (argp_parser): Handle -t zero_check.
5518
55192012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5520
5521 Flush block cache on adding disk to device map.
5522
5523 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5524 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5525 adding.
5526 (read_device_map): Likewise.
5527 (open_device): Flush on opening.
5528
690434e8
VS
55292012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5532 (handle_symlink): Fix off-by-one error.
5533 Canonicalize the target.
5534 (grub_cpio_dir): Canonicalize the name.
5535 Fix memory leak.
5536 Set directory.
5537 (grub_cpio_open): Canonicalize the name.
5538
742d2be6
VS
55392012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5542 handling.
5543
3244fe96
VS
55442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5547 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5548
8aeb1837
VS
55492012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5552 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5553 All users updated.
8aeb1837 5554
9133fd05
VS
55552012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5558 counterpart.
5559
6d521c5b
VS
55602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 Fix UFS1 big file support.
5563
5564 * grub-core/fs/ufs.c (INODE): Removed.
5565 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5566 64-bit.
5567 (INODE_MODE): Simplify.
5568 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5569 (grub_ufs_lookup_symlink): Don't use INODE.
5570
21b82e17
VS
55712012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5574
5575 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5576 (grub_minix_data): Replace log_block_size with block_size.
5577 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5578 (grub_minix_mount): Fill block_size.
5579
55802012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5581
5582 * configure.ac: Bump to beta5.
5583
f417ed04
VS
55842012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Fix wrapped HFS+ handling.
5587
5588 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5589 blocks_start. All users updated.
5590 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5591 wrapping offset.
5592 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5593
607d282b
VS
55942012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 Fix long symlinks on reiserfs.
5597
5598 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5599 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5600 (grub_reiserfs_iterate_dir): Save size for non-directories.
5601 (grub_reiserfs_open): Don't reread stat block as we already know the
5602 size.
5603 (grub_reiserfs_read): Split into...
5604 (grub_reiserfs_read_real): ... and ...
5605 (grub_reiserfs_read): ...this.
5606
ae16024d
VS
56072012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 Fix non-indexed JFS.
5610
5611 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5612 (grub_jfs_data): New field namecomponentlen.
5613 (grub_jfs_mount): Fill namecomponentlen.
5614 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5615
eea1e26e
VS
56162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5619 * tests/grub_script_echo1.in: Add tests.
5620
df760f77
VS
56212012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * util/grub-install.in: Ignore empty devicetree directory.
5624
5efb817d
B
56252012-05-08 Bean <bean123ch@gmail.com>
5626
5627 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5628 All users updated.
5629 (free_rsm): Free header as well.
5630 (free_old_fragments): Fix memory leak.
5631 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5632 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5633 (destroy_pq): Likewise.
5634 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5635
668ea6d2
VS
56362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5639 resulting hash as a precaution.
5640
1739b1fe
VS
56412012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5644 '_' in variable names.
5645 * grub-core/net/net.c (grub_net_network_level_interface_register):
5646 Likewise.
5647
6ae485aa
VS
56482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Fix AFFS with non-512B blocks.
5651
5652 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5653 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5654 (grub_affs_data): Replace blocksize with log_blocksize.
5655 (grub_affs_read_block): Fix non-512B blocks.
5656 (grub_affs_read_symlink): Likewise.
5657 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5658 (grub_affs_read): Fix non-512B blocks.
5659 (grub_affs_label): Likewise.
5660 (grub_affs_mtime): Likewise.
5661 (grub_affs_mount): Fix block detection routine.
5662
d20fab84
VS
56632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Add filesystem mtime to AFFS.
5666
5667 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5668 (aftime2ctime): New function.
5669 (grub_affs_dir): Use aftime2ctime.
5670 (grub_affs_label): Fix return value.
5671 (grub_affs_mtime): New function.
5672 (grub_affs_fs): Add mtime.
5673
e87b10f5
VS
56742012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5677 UTF-8.
5678
7dceec9b
VS
56792012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5682 UTF-8.
5683
2f48221f
VS
56842012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5687
dacd85cf
VS
56882012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5691 flags.
5692 (FLAGS_CASE_SENSITIVE): New enum value.
5693 (cache_entry): New struct.
5694 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5695 cache_size and cache.
5696 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5697 Add log_blocksize and fshelp_flags.
5698 (grub_sfs_read_extent): Handle non-512 blocks.
5699 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5700 (grub_sfs_read_file): Handle non-512 blocks.
5701 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5702 fshelp_flags.
5703 (grub_sfs_read_symlink): Handle non-512 blocks.
5704 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5705 (grub_sfs_dir): Free cache.
5706 (grub_sfs_close): Likewise.
5707
24e9a854
VS
57082012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5711 filesystems.
5712
62ace64d
VS
57132012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5716
83b2e89c
VS
57172012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5720
75ccaea3
VS
57212012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5724 (grub_sfs_read_extent): Likewise.
5725 (grub_sfs_read_block): Likewise.
5726 (grub_sfs_mount): Likewise.
5727 (grub_sfs_iterate_dir): Likewise.
5728 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5729 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5730
1b8463f2
VS
57312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Fix errors on compressed NTFS with 512B clusters.
5734
5735 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5736 types.
5737 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5738 not 0.
5739 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5740 Relax check for inline extents.
5741 (ntfscomp): Return correct -1 on error and not 0.
5742
4f8e368f
VS
57432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * util/grub-install.in: Fix handling of prefix containing spaces.
5746
6f5d5ee8
VS
57472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5750 (grub_squash_read_data): Fix offset byte-swapping.
5751
ce41ab7a
VS
57522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5755 per common usage and preffered in several parts of code.
5756 (grub_memcmp): Likewise.
5757 (grub_strncmp): Likewise.
5758 * include/grub/misc.h (grub_strcasecmp): Likewise.
5759 (grub_strncasecmp): Likewise.
5760 * Makefile.util.def (cmp_test): New test.
5761 (grub_script_strcmp): Likewise.
5762 * tests/cmp_unit_test.c: New file.
5763 * tests/grub_script_strcmp.in: Likewise.
5764 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5765
49717bf4
VS
57662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * include/grub/pci.h: Move enums into no-asm part.
5769
0a308f64
VS
57702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5773
1796965f
ST
57742012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5775
5776 * util/getroot.c (find_hurd_root_device): Try to make error message
5777 and comments to translators clearer.
5778
4e9b2819
VS
57792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5782
076aeb50
VS
57832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5786 btrfs.
5787
19424d94
VS
57882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * docs/grub.cfg: Update.
5791
ebb73076
VS
57922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * docs/grub.texi (PXE): Remove not present variables.
5795
9a1b669c
VS
57962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/net/net.c (defserver_set_env): New function.
5799 (defserver_get_env): Likewise.
5800 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5801
d38bf7d3
VS
58022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5805 entries.
5806
58072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5808
5809 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5810 * grub-core/kern/emu/hostdisk.c: Likewise.
5811
e5e4ca48
ST
58122012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5813
5814 Handle hurd userspace partitions.
5815
5816 * util/getroot.c (find_hurd_root_device): New function.
5817 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5818
56bb5dd5
VS
58192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5822 names.
5823 Reported by: Bastian Blank.
5824
9e8bc27a
VS
58252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5828 crossing page boundary.
5829
aa01499d
VS
58302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Fix B-tree search in BFS, especially in presence of non-ASCII
5833 characters.
5834
5835 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5836 (find_in_b_tree): Use standard bsearch + btree algorithm.
5837
57006035
VS
58382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5841 and so on.
5842
9d34bb85
MG
58432012-05-03 Matthew Garrett <mjg@redhat.com>
58442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Suspend broadcom cards in order to stop their DMA.
5847
5848 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5849 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5850 (pci): Don't build on x86 EFI.
5851 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5852 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5853 New function.
5854 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5855 stop_broadcom if running on EFI.
5856 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5857 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5858 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5859 (grub_pci_find_capability): New proto.
5860
01aab997
VS
58612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * docs/grub.texi: Remove dot from the extension as it apparently
5864 doesn't work with some makeinfo versions.
5865
fbd8dca6
VS
58662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5869 with GRUB expectance.
5870
dab797f4
VS
58712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5874
1516bfb4
VS
58752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5878 zero after directory block since last entry may be not 0-terminated if
5879 it ends on block boundary. Use continue instead of if spanning whole
5880 loop.
5881
a3a0eace
VS
58822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 Support 4K sectors UDF inline files.
5885
5886 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5887 (grub_udf_extended_file_entry): Likewise.
5888 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5889 All users updated.
5890 (get_fshelp_size): New function.
5891 (grub_udf_read_icb): Read whole block.
5892 (grub_udf_iterate_dir): Likewise.
5893 (grub_udf_dir): Likewise.
5894 (grub_udf_open): Likewise.
5895
c82f16c1
VS
58962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5899
59fd2aac
VS
59002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5903 inline symlinks in addition to workaround.
5904
3b4afb4d
VS
59052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5908
f45c794a
VS
59092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5912
f25cecbd
VS
59132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5916
bb9a34e8
VS
59172012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Fix reiserfs big seek times.
5920
5921 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5922 exact. All users updated.
5923 (grub_reiserfs_read): Use nearest btree search for seeking.
5924 Fix return value on error.
5925
dc478aea
VS
59262012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5929 entries.
5930 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5931 * docs/grub.texi: Update menuentry description.
5932
8db10f47
VS
59332012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5936 crash when embedding onto filesystem.
5937
bcb288ed
VS
59382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5941 name.
5942
a626fdd7
VS
59432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5946
b2f68477
VS
59472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5950 commit.
5951
ba15b2af
B
59522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
59532012-05-01 Bean <bean123ch@gmail.com>
5954
5955 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5956
a188012e
VS
59572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5960 Special behaviour for len = 0 to read whole file isn't used anywhere and
5961 can cause buffer ovewrflows in several places.
5962
f0a53ed2
VS
59632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5966
5ed554f0
VS
59672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Handle RAIDZ on non-512B sectors.
5970
5971 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5972 max_children_ashift.
5973 (fill_vdev_info_real): Fill max_children_ashift.
5974 (read_device): Use max_children_ashift.
5975
ddc58357
VS
59762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5979
e3282399
VS
59802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5983 disk names.
5984 * docs/grub.texi: Update device.map parts.
5985
ee618bd4
VS
59862012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Don't scan into non-diskfilter devices having diskfilter names.
5989
5990 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5991 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5992 handling.
5993 (scan_disk_hook): New function.
5994
bdf88864
B
59952012-04-29 Bean <bean123ch@gmail.com>
5996
5997 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5998 allocation.
5999
32745f51
MK
60002012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6001
6002 * configure.ac: Detect starfield theme font path
6003 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6004
bc95c8c0
VS
60052012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6008 geometry on serial consoles.
6009
147fbcab
VS
60102012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6013 because of network consoles.
6014
0f42c889
VS
60152012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6018 handling.
6019
4a3594c9
VS
60202012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6023 falls on Q syndrom.
6024
5cb53879
VS
60252012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6028 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6029
b282dfe5
VS
60302012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6033 Allocate at lest 8192 for temporary buffer as required for lzo.
6034
daa59f47
VS
60352012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6038 to cluster_bits, since it's already added in.
6039 (grub_fat_read_data): Likewise.
6040
986748ce
VS
60412012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6044 as long as cluster size is multiple of 512 bytes.
6045
a20f6ad0
VS
60462012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * util/grub-mkrescue.in: Fix locale directory.
6049
385f9abb
VS
60502012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/kern/emu/hostdisk.c (map): Make static.
6053
1c557d30
B
60542012-04-23 Bean <bean123ch@gmail.com>
6055
6056 * util/grub-fstest.c (fstest): Add missing break.
6057
524b5d3a
ST
60582012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6059
6060 Fix hurd build.
6061
6062 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6063 not define nr variable.
fe4824e9 6064 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6065 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6066 grub_find_device): Do not define.
524b5d3a 6067
9a06490c
VS
60682012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Fix kfreebsd compile and behaviour.
6071
6072 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6073 format-security.
6074 * util/getroot.c: Fix wait.h include.
6075 (grub_guess_root_devices): Error if grub_find_device fails.
6076 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6077 (grub_util_get_dev_abstraction): Likewise.
6078 (grub_util_pull_device): Likewise.
6079 (grub_util_get_grub_dev): Likewise.
6080 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6081
48143d96
VS
60822012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Fix and unify wholedisk detection.
6085
6086 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6087 is_part. All users updated.
6088 (device_is_wholedisk): Removed.
6089 (grub_util_biosdisk_get_grub_dev): Use is_part.
6090
ebbd24f3
VS
60912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6094 mode.
6095
56f7aa1e
VS
60962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * configure.ac: Bump to beta4.
6099
9c815e01
VS
61002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6103 --fs-uuid --set UUID syntax.
6104
59e2651a
VS
61052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6108 disunification.
6109
54e03cfc
VS
61102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6113
81092a75
MK
61142012-04-18 Mads Kiilerich <mads@kiilerich.com>
6115
6116 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6117
f8315e14
MG
61182012-04-18 Mike Gilbert <floppym@gentoo.org>
6119
6120 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6121
1501ac21
B
61222012-04-18 Bean <bean123ch@gmail.com>
6123
6124 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6125 place.
6126
cb7f944e
VS
61272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6130 users updated.
6131 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6132 corresponding to GRUB partitions.
6133 (grub_util_biosdisk_write): Likewise.
6134
b72d44a1
VS
61352012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 Scan mdraid before LVM.
6138
6139 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6140 (grub_diskfilter_register_front): ... this.
6141 (grub_diskfilter_register_back): New function.
6142 All users of grub_diskfilter_register updated.
6143
33d918b8
VS
61442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * util/grub-install.in: Fix an automatic target detection bug.
6147
c6ca973d
VS
61482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * util/grub-install.in: New option --efi-directory.
6151
b41be562
VS
61522012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6155 boot services if we have no other choice.
6156
61572012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6160 document it.
6161 * tests/util/grub-shell.in: Update to --directory.
6162
e0595a73
VS
61632012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6166
4ed80652
VS
61672012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6170 (grub_minix_read_file): Likewise.
6171 (grub_minix_read_inode): Likewise.
6172 (grub_minix_find_file): Likewise.
6173 (grub_minix_dir): Likewise.
6174
56008077
VS
61752012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * util/grub-setup.c (setup): Fix partition handling and blocklist
6178 check.
6179
ee520775
VS
61802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6183 redundant buggy overlap check.
6184
16fc9293
VS
61852012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6188 and grub-mknetdir.
6189
9bab65c4
VS
61902012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6193 kh.loadflags on pre-2.00 kernels.
6194
3c491b47
VS
61952012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 Terminate UNDI and PXE before launching the payload to avoid problems
6198 with DMA.
6199
6200 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6201 (grub_loader_flags): ... this. All users updated.
6202 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6203 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6204 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6205 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6206 function.
6207 (grub_pxe_restore): Likewise.
6208 (fini_hnd): New var.
6209 (GRUB_MOD_INIT): Register shutdown hook.
6210 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6211 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6212 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6213 (grub_loader_set): Rename second argument to flags.
6214
851ffada
VS
62152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6218 written bytes.
6219 (grub_get_num_of_utf8_bytes): New function.
6220 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6221 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6222 executing it.
6223 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6224 (grub_ucs4_to_utf8): Change return type.
6225
491c57a8
VS
62262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6229 warning.
851ffada
VS
6230 * grub-core/fs/bfs.c (hop_level): Likewise.
6231 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6232
756773df
VS
62332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/lib/adler32.c: Recode due to license unclearness.
6236
fd556a96
VS
62372012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6240 (test_header): Likewise.
6241
9f9d3f69
VS
62422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 Fix --help formatting.
6245
6246 * util/grub-mkconfig_lib.in (print_option_help): New function.
6247 (grub_fmt): Likewise.
6248 * util/grub-install.in: Use print_option_help and grub_fmt.
6249 * util/grub-kbdcomp.in: Likewise.
6250 * util/grub-mkconfig.in: Likewise.
6251 * util/grub-mknetdir.in: Likewise.
6252 * util/grub-mkrescue.in: Likewise.
6253 * util/grub-mkstandalone.in: Likewise.
6254 * util/grub-reboot.in: Likewise.
6255 * util/grub-set-default.in: Likewise.
6256 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6257
561ec77e
VS
62582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * linguas.sh: Remove autogenerated *.po.
6261
7ec2b021
VS
62622012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * po/README: Move language fetcing to ...
6265 * linguas.sh: ... here.
6266 * po/README: Point to linguas.sh.
6267
a88f3270
VS
62682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * po/README: Exclude ko.po due to disclaimer problems.
6271
d61357ce
VS
62722012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6275 len = 0.
6276 (grub_gettext_translate_real): Handle 0th string.
6277 (grub_gettext_translate): Ensure that "" isn't translated.
6278
505e41dc
VS
62792012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6282 TRANSLATORS comment.
6283 (grub_diskfilter_print_partmap): Propagate changing of error into
6284 warning.
6285
e44092db
VS
62862012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6289 to uint64_t to prevent overflow.
6290 (grub_diskfilter_lv): Increase start_extent and extent_count
6291 to uint64_t to prevent overflow.
6292
9b83956a
VS
62932012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * configure.ac: Increase version.
6296
da0d5b3f
VS
62972012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6300
6301 * po/Rules-translit: New file.
6302 * po/arabic.sed: Likewise.
6303 * po/cyrillic.sed: Likewise.
6304 * po/greek.sed: Likewise.
6305 * po/hebrew.sed: Likewise.
6306 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6307 * po/Makefile.in.in: Add extra_dist4.
6308
ac66b453
VS
63092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6312
6313 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6314 modify names. Introduce MODE_BIGENDIAN.
6315 * grub-core/fs/minix_be.c: New file.
6316 * grub-core/fs/minix2_be.c: Likewise
6317 * grub-core/fs/minix3_be.c: Likewise.
6318 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6319 minix3_be.
6320 * grub-core/Makefile.core.def (minix_be): New module.
6321 (minix2_be): Likewise.
6322 (minix3_be): Likewise.
6323
63242012-04-01 Felix <email@hamburg.de>
6325
6326 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6327 (devs): Add MBP 2011.
6328
0a2d5a82
VS
63292012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6332
d1625889
VS
63332012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/normal/cmdline.c (print_completion): New field
6336 prompt_len.
6337 (grub_cmdline_get): Handle width properly.
6338
6d36a236
VS
63392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6342
9576977e
VS
63432012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6346 after 29th of February.
9576977e 6347
d73ff15d
VS
63482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 Fix exfat endianness handling.
6351
6352 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6353 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6354 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6355 Byte-swap utf16 when necessary.
6356 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6357
bbb39a45
AB
63582012-03-31 Anton Blanchard <anton@samba.org>
63592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 Fix btrfs endianness handling.
6362
6363 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6364 (lower_bound): Make root uint64_t. Use root in le.
6365 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6366 (find_path): Fix template key init.
6367 (grub_btrfs_dir): Fix mtime byteswap.
6368 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6369
354e0af7
VS
63702012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6373 recursion_depth. Break infinite resursions. All users updated.
6374
4e75f21c
VS
63752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6378 after free.
6379 Reported by: Peter Jones.
6380
25581802
AB
63812012-03-31 Anton Blanchard <anton@samba.org>
6382
6383 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6384 8 bit values.
6385
08fbf92e
VS
63862012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * util/grub-install.in: Fix nvram call for PreP.
6389
5d1182a6
VS
63902012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6393 the error when some elements are missing into a warning.
6394
3f8cdd90
VS
63952012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6398
51006716
CW
63992012-03-28 Colin Watson <cjwatson@ubuntu.com>
6400
6401 * docs/grub.texi (Invoking grub-probe): New section.
6402 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6403
e1bd676b
VS
64042012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Fix tab and wide character handling in editor and menu.
6407
6408 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6409 agglomerate control characters with combining marks.
6410 (bidi_line_wrap): Allow break on tab.
6411 (grub_unicode_get_comb_start): New function.
6412 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6413 and tab correctly.
6414 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6415 with a space.
6416 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6417 fixed_tab_size. All users updated.
6418 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6419 (grub_term_getcharwidth): Handle \t.
6420 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6421 and copy.
6422
22e6a774
VS
64232012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 Handle big-endian mdraid.
6426
6427 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6428 * grub-core/Makefile.core.def (mdraid09_be): New module.
6429 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6430 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6431 * grub-core/disk/mdraid_linux_be.c: New file.
6432
3c0eae66
VS
64332012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6436
b6cf74c9
VS
64372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6440 missing quotes which caused confusion among translators.
6441
83c93b9c
VS
64422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * util/grub-mkconfig_lib.in: Fix typo.
6445
ac6fd218
VS
64462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6449 spaces.
6450 * tests/grub_script_leading_whitespace.in: New file.
6451 * Makefile.util.def (grub_script_leading_whitespace): New test.
6452
ba287dd8
VS
64532012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6456 to work.
6457
d2d58d0a
VS
64582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6461 starts with control character.
6462
0382d9bb
VS
64632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6466 overflow.
6467 (grub_gdb_outbuf): Likewise.
6468
d83ff9f9
VS
64692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6472 zero terminator. Fixes a crash.
6473
2282da4a
VS
64742012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6477 beyond 4 GiB.
6478 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6479 images independently of preffered adderss field.
6480
0ae4f0bd
VS
64812012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6484 * grub-core/commands/regexp.c: Likewise.
6485 * grub-core/loader/i386/linux.c: Likewise.
6486 * grub-core/partmap/msdos.c: Likewise.
6487 * grub-core/script/execute.c: Likewise.
6488 * grub-core/term/gfxterm.c: Likewise.
6489
546fbe9b
VS
64902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Add variable parsing in $"..." and fix several mismatches with bash.
6493
6494 * Makefile.util.def (grub_script_gettext): New test.
6495 * grub-core/script/execute.c (parse_string): New function.
6496 (gettext_append): Likewise.
6497 (grub_script_arglist_to_argv): Use gettext_append.
6498 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6499 * tests/grub_script_gettext.in: New file.
6500
9fdb2d7b
VS
65012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix handling of leading spaces in scripts.
6504
6505 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6506 spaces.
6507 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6508 other than skipping \r. All users updated.
6509 * tests/grub_script_echo1.in: Add space-related tests.
6510 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6511
1a1ac4f6
VS
65122012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6515
b63d89b6
VS
65162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * configure.ac: Bump up the version to beta2.
6519
17f38c0f
VS
65202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Fix gettext reload bugs (e.g. inability to disable gettext
6523 once enabled).
6524
6525 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6526 main_context and secondary_context. All functions updated.
6527 (grub_gettext_translate): Rename to ...
6528 (grub_gettext_translate_real): ... this. Return NULL on failed
6529 translate.
6530 (grub_gettext_translate): Handle secondary context.
6531 (grub_gettext_delete_list): Close file and zero-out the context.
6532 (grub_mofile_open): Don't call grub_gettext_delete_list.
6533 Don't close file.
6534 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6535 if locale="" to avoid pointless error message.
6536 (grub_gettext_env_write_lang): Update lang even if load fails.
6537 Handle secondary context.
6538 (grub_gettext_reread_prefix): New function.
6539 (read_main): Likewise.
6540 (read_secondary): Likewise.
6541 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6542 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6543 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6544 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6545
8e56f870
VS
65462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * configure.ac: Decrease warning level to avoid spurious warnings and
6549 to be able to compile with GCC 4.2.
6550 * Makefile.util.def: Remove -Wno-error=logical-op.
6551
82f6d455
WB
65522012-03-10 William Bittner <william.bittner@gmail.com>
6553
6554 * util/import_unicode.py: Add missing brackets around string for
6555 python 3 support.
6556
1ecd61a4
VS
65572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Fix efi chainloader on network root.
6560
6561 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6562 network devices.
6563 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6564 New function.
6565
14361ee8
VS
65662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6569 unused show_text member.
6570 * docs/grub.texi: Document "text" property.
6571
922aabf3
VS
65722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6575 in dprintf.
6576
ec316771
VS
65772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 Fix IMSM handling on Fedora.
6580
6581 * util/getroot.c (grub_util_is_imsm): New function.
6582 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6583
0f021838
VS
65842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * Makefile.am: Strip gold section.
6587 * conf/Makefile.common: Likewise.
6588 * gentpl.py: Likewise.
6589 * grub-core/Makefile.core.def: Likewise.
6590 * grub-core/genmod.sh.in: Likewise.
6591
1039c8eb
VS
65922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6595 * util/grub.d/20_linux_xen.in: Likewise.
6596 Based on Debian patch.
6597
6dd412cd
VS
65982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * util/grub.d/10_linux.in: Fix syntax error resulting in
6601 Richard Laager's patch.
6602 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6603
3fd8bae5
VS
66042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6607 dependencies.
6608
7eea1671
RL
66092012-03-10 Richard Laager <rlaager@wiktel.com>
6610
6611 * util/grub.d/10_linux.in: Fix ZFS root passing.
6612
e8e0566b
VS
66132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6616 * grub-core/commands/xnu_uuid.c: Likewise.
6617 * grub-core/loader/efi/appleloader.c: Likewise.
6618 * grub-core/script/execute.c: Likewise.
6619 * grub-core/script/main.c: Likewise.
6620 * util/grub-mkfont.c: Likewise.
6621
1acc5b1f
VS
66222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * util/grub-mkfont.c (options): Use more appropriate "select" that
6625 "set" for face index.
6626
35d70620
VS
66272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * util/grub-editenv.c (options): Gettextize command summaries.
6630
c9eb96b5
VS
66312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6634 "out of memory" error messagge.
6635
1f493136
VS
66362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6639 of diskfilter for diskfilter on diskfilter support.
6640
6d790129
VS
66412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6644
005f46c9
VS
66452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6648 themes/starfield.
6649
c8f778a0
VS
66502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6653
de1e64eb
VS
66542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6657
c6d54211
VS
66582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6661 of error message.
6662
dd390777
VS
66632012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6666
5fd1c522
VS
66672012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6670 message.
c6d54211 6671 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6672
fae01f6c
VS
66732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6676 Gettextize.
6677 * util/grub-mount.c (options): Likewise.
6678
292fdaff
VS
66792012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6682 gettextize.
6683 * grub-core/commands/search_wrap.c (options): Likewise.
6684
ecdbae77
VS
66852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6688
52bfedfa
VS
66892012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6692 size calculation.
6693 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6694 none is known.
6695
55b20e58
VS
66962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6699 "temporary" since it's used in identifier and is limited in space.
6700
fda9d101
VS
67012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * po/POTFILES.in: Regenerate. Include *.h since they contain
6704 translatable strings as well.
6705
6a0295e2
VS
67062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6709 byte-swap on big-endian.
6710 Reported by: Lennart Sorensen
6711
807fb77c
VS
67122012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6715 (allocate_pages): Improve dprintf.
6716 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6717 code32_start. Fill code32_start and kernel_alignment in params.
6718 (grub_cmd_initrd): Use prot_init_space.
6719
61ac50ba
VS
67202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6723
abdd26dd
VS
67242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * util/grub-install.in: Add missing dot at the end of sentence.
6727
6e69da9c
VS
67282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6731 * grub-core/commands/videotest.c: Likewise.
6732 * grub-core/loader/i386/linux.c: Likewise.
6733
4a929343
VS
67342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6737 sentence.
6738 Reported by: Milo Casagrande.
6739
bb51c6c6
VS
67402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6743 * grub-core/commands/gptsync.c: Likewise.
6744 * grub-core/commands/hashsum.c: Likewise.
6745 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6746 * grub-core/commands/legacycfg.c: Likewise.
6747 * grub-core/io/gzio.c: Likewise.
6748 * grub-core/net/net.c: Likewise.
6749 * grub-core/term/gfxterm.c: Likewise.
6750 * grub-core/term/terminfo.c: Likewise.
6751 * grub-core/tests/test_blockarg.c: Likewise.
6752 * grub-core/video/video.c: Likewise.
6753 * util/grub-install.in: Likewise.
6754 * util/grub-mkfont.c: Likewise.
6755
b2b149cb
VS
67562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6759
c7c080ad
VS
67602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6763 Reported by: David Prévot.
c7c080ad 6764
f2e243c0
VS
67652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6768 description.
6769
09963c76
VS
67702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * util/grub-script-check.c (main): Fix a syntax error message which was
6773 unclear.
6774
a50514a8
VS
67752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6778
4650daec
VS
67792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6782 messages.
6783
67842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6785
6786 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6787 without argument.
6788 * util/grub-mount.c (options): Likewise.
6789
bbc5a342
VS
67902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6793
ef292a87
VS
67942012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/net/http.c: Add TRANSLATORS comments.
6797 * grub-core/normal/cmdline.c: Likewise.
6798 * grub-core/normal/misc.c: Likewise.
6799 * grub-core/partmap/msdos.c: Likewise.
6800 * grub-core/parttool/msdospart.c: Likewise.
6801 * grub-core/script/execute.c: Likewise.
6802 * grub-core/script/main.c: Likewise.
6803 * grub-core/term/terminfo.c: Likewise.
6804 * grub-core/video/bitmap.c: Likewise.
6805 * util/grub-install.in: Likewise.
6806 * util/grub-mkimage.c: Likewise.
6807 * util/grub-mklayout.c: Likewise.
6808 * util/grub-setup.c: Likewise.
6809
0fc19bd0
VS
68102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6813 with similar messages in grub-fstest.
6814
d95862ef
VS
68152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * util/grub-install.in: Unify "option requires an argument" message
6818 with similar messages in other files.
6819 * util/grub-mkconfig.in: Likewise.
6820
b7308f90
VS
68212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * util/grub-set-default.in: Replace printf with gettext_printf (the
6824 string in in question is already translated from grub-reboot)
6825
559dc587
VS
68262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * configure.ac: Bump up the version to beta1.
6829
1a11761f
VS
68302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6833 case when min_align = 0.
6834
24539abd
VS
68352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6838 and fix a case when line_start overflows.
6839
32bd735b
VS
68402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * util/grub-reboot.in (usage): Mention id posibility.
6843 * util/grub-set-default.in (usage): Likewise.
6844
1a2fd1e6
VS
68452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6848 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6849 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6850 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6851 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6852 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6853 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6854
90eeab76
VS
68552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/commands/menuentry.c (options): Remove
6858 GRUB_ARG_OPTION_REPEATABLE.
6859 Reported by: Andreas Vogel
6860
5ad1be82
AV
68612012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6862
6863 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6864
cb055286
HE
68652012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6866
6867 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6868 error.
6869
93b1cd79
VS
68702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 Use sort -V by the idea of Georgi Georgiev.
6873
6874 * util/grub-mkconfig_lib.in (version_sort): New function.
6875 (version_test_numeric): Use version_sort.
6876
0cdc126c
VS
68772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Use submenus in grub-mkconfig.
6880
6881 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6882 * util/grub-mkconfig_lib.in (grub_quote): New function.
6883 (gettext_printf): Use gettext and not gettext_quoted to fix several
6884 messages.
6885 * util/grub.d/10_hurd.in: Use submenus.
6886 * util/grub.d/10_kfreebsd.in: Likewise.
6887 * util/grub.d/10_linux.in: Likewise.
6888 * util/grub.d/10_netbsd.in: Likewise.
6889 * util/grub.d/20_linux_xen.in: Likewise.
6890 * util/grub.d/30_os-prober.in: Likewise.
6891 * util/grub.d/10_illumos.in: Add missing quoting.
6892 * util/grub.d/10_windows.in: Likewise.
6893
d9bef9bc
VS
68942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 Fix menu title instability bug.
6897
6898 * grub-core/commands/menuentry.c (options): New option --id.
6899 (grub_normal_add_menu_entry): New argument id. All users updated.
6900 (grub_cmd_menuentry): Handle --id.
6901 (grub_menu_init): Accept unknown arguments.
6902 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6903 feature_menuentry_options.
6904 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6905 saved_entry.
6906 (get_entry_number): Match with id as well.
6907 * include/grub/menu.h (grub_menu_entry): New member id.
6908 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6909 * util/grub.d/00_header.in: Define menuentry_id_option.
6910 * util/grub.d/10_hurd.in: Define id.
6911 * util/grub.d/10_illumos.in: Likewise.
6912 * util/grub.d/10_kfreebsd.in: Likewise.
6913 * util/grub.d/10_linux.in: Likewise.
6914 * util/grub.d/10_netbsd.in: Likewise.
6915 * util/grub.d/10_windows.in: Likewise.
6916 * util/grub.d/20_linux_xen.in: Likewise.
6917 * util/grub.d/30_os-prober.in: Likewise.
6918
69192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6920
6921 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6922 "scope" with "body".
6923
7c8d0ce7
VS
69242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6927 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6928 prot_size and prot_file_size.
6929
49de079b
VS
69302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6933 All users updated. If easily=1 require raid-5/-6 to be full.
6934 (is_node_readable): Likewise.
6935 (scan_devices): Scan incomplete but readable LVs at the end.
6936 (grub_diskfilter_memberlist): Pull missing devices.
6937 (insert_array): Skip scanning until device is complete or scan is
6938 done otherwise.
6939 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6940 check.
6941 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6942 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6943
aff05d45
MG
69442012-03-03 Matthew Garrett <mjg@redhat.com>
69452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Avoid EFI boot services when loading Linux.
6948
6949 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6950 avoid_efi_bootservices. All users updated.
6951 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6952 argument avoid_efi_bootservices. All users updated.
6953 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6954 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6955 align, min_align, relocatable, prefered_address. All users updated.
6956 Allocate avoiding boot services if kernel is relocatable.
6957 (grub_cmd_linux): Check if kernel is relocatable.
6958 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6959 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6960 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6961 avoid_efi_boot_services.
6962 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6963 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6964 (linux_kernel_params): Likewise.
6965
3935dde2
MG
69662012-03-03 Matthew Garrett <mjg@redhat.com>
69672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 Use EDID on EFI.
6970
6971 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6972 datasize_out.
6973 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6974 modes. Set gop_handle.
6975 (grub_video_gop_get_edid): New function.
6976 (grub_gop_get_preferred_mode): Likewise.
6977 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6978 (grub_video_efi_gop_adapter): Set .get_edid.
6979 * include/grub/efi/edid.h: New file.
6980 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6981
32107ec0
VS
69822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub-install.in: Load efivars unconditionally.
6985
e70a2c50
VS
69862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * po/Rules-piglatin: Change suffix from .po-update-en to
6989 .po-update-en-piglatin.
6990
8f9cace1
VS
69912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 Add a pig farm.
6994
6995 * po/piglatin.sed: New file.
6996 * po/en@piglatin.header: Likewise.
6997 * po/Rules-piglatin: Likewise.
6998 * po/README: Add en@piglatin to autogenerated languages.
6999
8f95d002
VS
70002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7003 "Command for ...".
7004 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7005 "Check" since we don't check anything.
7006 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7007 is 64-bit one.
7008 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7009 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7010 (grub_md_sha512_real): Likewise.
7011
805a8dcc
VS
70122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/commands/gptsync.c: Fix typographic quoting.
7015 * grub-core/commands/ieee1275/suspend.c: Likewise.
7016 * grub-core/commands/parttool.c: Likewise.
7017 * grub-core/commands/search_wrap.c: Likewise.
7018 * grub-core/commands/videoinfo.c: Likewise.
7019 * grub-core/gfxmenu/gui_label.c: Likewise.
7020 * grub-core/hello/hello.c: Likewise.
7021 * grub-core/kern/emu/main.c: Likewise.
7022 * grub-core/net/net.c: Likewise.
7023 * grub-core/normal/menu.c: Likewise.
7024 * grub-core/normal/menu_text.c: Likewise.
7025 * grub-core/normal/misc.c: Likewise.
7026 * util/grub-editenv.c: Likewise.
7027 * util/grub-install.in: Likewise.
7028 * util/grub-kbdcomp.in: Likewise.
7029 * util/grub-mkconfig.in: Likewise.
7030 * util/grub-mknetdir.in: Likewise.
7031 * util/grub-mkrescue.in: Likewise.
7032 * util/grub-mkstandalone.in: Likewise.
7033 * util/grub-reboot.in: Likewise.
7034 * util/grub-set-default.in: Likewise.
7035 * util/grub-setup.c: Likewise.
7036 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7037
40211ab8
VS
70382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7041 * grub-core/commands/keystatus.c: Likewise.
7042 * grub-core/commands/loadenv.c: Likewise.
7043 * grub-core/commands/probe.c: Likewise.
7044 * grub-core/commands/regexp.c: Likewise.
7045 * grub-core/commands/true.c: Likewise.
7046 * grub-core/commands/videoinfo.c: Likewise.
7047 * grub-core/disk/cryptodisk.c: Likewise.
7048 * grub-core/disk/ldm.c: Likewise.
7049 * grub-core/disk/loopback.c: Likewise.
7050 * grub-core/disk/luks.c: Likewise.
7051 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7052 * grub-core/kern/disk.c: Likewise.
7053 * grub-core/kern/emu/hostdisk.c: Likewise.
7054
0c7d99c7
VS
70552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7058 * util/grub-install.in: Add missing quote in the comment.
7059
e7d2559b
VS
70602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7063 * grub-core/commands/lsmmap.c: Likewise.
7064 * grub-core/commands/minicmd.c: Likewise.
7065 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7066 * grub-core/commands/regexp.c: Likewise.
7067 * grub-core/gdb/gdb.c: Likewise.
7068 * grub-core/term/gfxterm.c: Likewise.
7069 * util/grub-mkconfig.in: Likewise.
7070 * util/grub-mkfont.c: Likewise.
7071 * util/grub-mklayout.c: Likewise.
7072 * util/grub-mknetdir.in: Likewise.
7073 * util/grub-mkrescue.in: Likewise.
7074 * util/grub.d/30_os-prober.in: Likewise.
7075
49ce9e50
VS
70762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7079 with "Direct color" and "Packed" with "Packed pixel".
7080 (grub_cmd_videoinfo): Simplify legend.
7081
e4b791fa
VS
70822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7085 absolutely unclear error message.
7086
fd1265cb
VS
70872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * util/grub-mkstandalone.in: Remove confusing leftover print.
7090
8822a8a0
VS
70912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7094 comments.
7095 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7096 (GRUB_MOD_INIT): Likewise.
7097 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7098 VGA mode.
7099 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7100 comments.
7101 * util/grub-install.in (usage): Likewise.
7102 Spell ID in whole letters.
7103 Add missing ending dot.
7104 Quote variables.
7105 * util/grub-reboot.in: Fix capitalisation.
7106 * util/grub-set-default.in: Likewise.
7107
937fd0cc
VS
71082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7111 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7112 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7113 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7114 Disable -Werror for -Wdeprecated-declarations.
7115 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7116 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7117 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7118 (grub_util_get_grub_dev): Make luks handling dependent on
7119 HAVE_DEVICE_MAPPER and not __linux__.
7120 (get_win32_path): Fix format security.
7121 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7122 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7123 Don't try grub_find_zpool_from_dir.
7124 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7125 #ifdef-out paresdir.
7126
1bab1ae3
VS
71272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * util/grub-pe2elf.c (usage): Add missing noreturn.
7130 (write_section_data): Rename name to shname to avoid shadowing.
7131 (write_symbol_table): Rename name to symname to avoid shadowing.
7132 Fix write_reloc_section call.
7133
ef023e42
VS
71342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7137 to ensure that it's after the last byte of .text.
7138
48afcb75
VS
71392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * util/ieee1275/ofpath.c (my_isdigit): New function.
7142 (trailing_digits): Use my_isdigit.
7143 (strip_trailing_digits): Likewise.
7144
88d51eff
VS
71452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7148 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7149
17edc2ba
VS
71502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/kern/i386/pc/startup.S: Define __start.
7153
ad5518d7
VS
71542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7157 strip already transforms he format.
7158
9e95e1bf
VS
71592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7162
9cc3ee5c
VS
71632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * util/grub-install.in: Add missing gettext init.
7166 * util/grub-kbdcomp.in: Likewise.
7167 * util/grub-mkconfig.in: Likewise.
7168 * util/grub-mknetdir.in: Likewise.
7169 * util/grub-mkrescue.in: Likewise.
7170 * util/grub-mkstandalone.in: Likewise.
7171 * util/grub-reboot.in: Likewise.
7172 * util/grub-set-default.in: Likewise.
7173 * util/grub.d/00_header.in: Likewise.
7174 * util/grub.d/10_hurd.in: Likewise.
7175 * util/grub.d/10_windows.in: Likewise.
7176 * util/grub.d/30_os-prober.in: Likewise.
7177 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7178
49e08a06
VS
71792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * po/Rules-swiss: Fix header comment.
7182
3809cb41
AV
71832012-02-29 Andreas Vogel <anvoit>
7184
7185 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7186 resulted in leak of arguments.
7187
fa6ec573
VS
71882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7191 reed_solomon_size const definition instead of computing it since
7192 Apple assembler doesn't support the later.
7193
22899b9c
VS
71942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * gentpl.py (kernel): Rewrite Apple part.
7197
a132afc3
VS
71982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7201
9d742bd4
VS
72022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7205 ELF section gap.
7206 (load_image): Likewise.
7207
f04a9a21
VS
72082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * configure.ac: Fix a typo in previous commit.
7211
46cf439c
VS
72122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Don't add -Wl,-N on Apple platform.
7215
7216 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7217 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7218
c4c48c54
VS
72192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/Makefile.core.def (lzma_decompress): Use
7222 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7223
31a12124
VS
72242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/genmod.sh.in: Rewrite the Apple part.
7227
4f3aa1af
VS
72282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7231 comparison.
7232
7bd8b0c7
VS
72332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * acinclude.m4 (grub_CHECK_PIC): New test.
7236 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7237
97304d7c
VS
72382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7241 to avoid the warning.
7242
fb883812
VS
72432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7246 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7247 after. All users updated.
7248
a121c964
VS
72492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Use the common size routine in hostfs so we can read disks as well.
7252
7253 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7254 (grub_util_get_fd_size): ... this. Return size in bytes.
7255 All users updated.
7256 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7257 grub_util_get_fd_size.
7258
c66d6410
VS
72592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7262 Add blocksize retrieval.
7263
dfc8aeb0
VS
72642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * configure.ac: Restore CFLAGS after efiemu check.
7267
403e25a5
VS
72682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7271 Apple bug.
7272
382775d1
VS
72732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7276
6fd4e6e4
VS
72772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7280 (grub_cmd_halt): Likewise.
7281
bea359d6
VS
72822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7285 for local arithmetics.
7286 Break %sp init into 2 instructions.
7287 Add 0 byte at the end.
7288
32eb6ee1
VS
72892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7292 before loops.
7293
e8377389
VS
72942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7297 for context.
7298
8cb17de7
VS
72992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/disk/ldm.c (make_vg): Init part.name.
7302 (grub_ldm_detect): Silence spurious warning.
7303 (grub_util_is_ldm): Likewise.
7304
595717e6
VS
73052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7308 sane value to avoid a spurious warning.
7309
c4b7e588
VS
73102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7313 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7314
59824957
VS
73152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7318 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7319
70115b99
VS
73202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7323 hardcoding the relevant info.
7324
56733740
VS
73252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7328 missing const qualifiers.
7329 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7330
43481481
VS
73312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * util/getroot.c [__APPLE__]: Add missing includes.
7334 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7335
3cb38f01
VS
73362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7339
d9dbf11e
VS
73402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7343 avoid conflicts.
7344
0c42a45d
VS
73452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7348
46c34eb0
VS
73492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7352 and grub_file_close call.
7353
99ce1597
VS
73542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 Add LZSS Mach-O support (needed for new xnu kernelcache).
7357
7358 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7359 * grub-core/loader/lzss.c: New file.
7360 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7361 on Mach-O open failure.
7362 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7363 Don't free cmdsXX in uncompressedXX is set.
7364 (grub_macho_file): Init new fields.
7365 New argument is_64bit. All users updated.
7366 Handle compressed. Error out if no suitable architecture is found.
7367 Don't close file.
7368 (grub_macho_open): New argument is_64bit. All users updated.
7369 * grub-core/loader/macho32.c: Add defines for new fields.
7370 * grub-core/loader/macho64.c: Likewise.
7371 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7372 (grub_macho_parse): Handle compressed.
7373 Defer actual processing if compressed.
7374 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7375 "filename". All users updated.
7376 (grub_macho_size): New argument "filename". All users updated.
7377 (grub_macho_get_entry_point): Likewise.
7378 (grub_macho_load): Handle compressed.
7379 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7380 (GRUB_MACHO_LZSS_OFFSET): New define.
7381 (grub_decompress_lzss): New proto.
7382 * include/grub/machoload.h (grub_macho_file): New fields to handle
7383 compressed.
7384 (grub_macho_contains_macho64): Remove proto.
7385 (grub_macho_contains_macho32): Likewise.
7386 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7387
ebd17d6f
VS
73882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7391
2702b4e4
VS
73922012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 Fix make dist.
7395
7396 * Makefile.am (starfield_theme_files): New var.
7397 (starfield_DATA): Use starfield_theme_files.
7398 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7399 Add bootcheck-related files.
7400 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7401 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7402 and font_char_metrics.txt.
7403 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7404 (setjmp): Add lib/ia64/longjmp.S.
7405 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7406 * po/POTFILES.in: Regenerate.
7407 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7408 DISTFILES.common.extra1.
7409 * util/devicemap.c: Removed.
7410 * grub-core/lib/i386/relocator_backward.S: Likewise.
7411 * util/import_gcry.py: Remove unused files. Add extra_dist for
7412 ChangeLog.
7413
cf1adfdf
VS
74142012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7417 grub_gettext_delete_list before changing grub_gettext_max to avoid
7418 running out of array bounds.
7419
74202012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7421
7422 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7423 grub_vga_text_init/grub_vga_text_fini.
7424
cf1adfdf 74252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7426
7427 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7428
541d92e9
VS
74292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * configure.ac: Bump to 2.00~beta0.
7432
7931dddf
VS
74332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7436 missing initialisation.
7437
f1b16fa3
VS
74382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7441
83ddae23
VS
74422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 Support v2 xnu boot arguments.
7445
7446 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7447 New argument fsbfreq_out.
7448 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7449 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7450 be used.
7451 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7452 darwin_version.
7453 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7454 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7455 (grub_xnu_boot_params): Rename to ...
7456 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7457 (grub_xnu_boot_params_v2): New struct.
7458
dc693fe6
VS
74592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7462 zeroing of CRC field before computing CRC.
7463
5a6e39c2
VS
74642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7467 Change order of allocations to decrease fragmentation.
7468
6c21f5d7
VS
74692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7472
cfe456dc
CW
74732012-02-27 Colin Watson <cjwatson@ubuntu.com>
7474
7475 Use write-combining MTRR to speed up video with buggy BIOSes.
7476
7477 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7478 (cpuid): New define.
7479 (rdmsr): Likewise.
7480 (wrmsr): Likewise.
7481 (mtrr_base): Likewise.
7482 (mtrr_mask): Likewise.
7483 (grub_vbe_enable_mtrr_entry): New function.
7484 (grub_vbe_enable_mtrr): Likewise.
7485 (grub_vbe_disable_mtrr): Likewise.
7486 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7487 control off to BIOS.
7488 (grub_video_vbe_init): Fill mtrr.
7489 (grub_video_vbe_fini): Disable mtrr.
7490 (grub_video_vbe_get_info_and_fini): Likewise.
7491 (grub_video_vbe_setup): Enable mtrr.
7492
e3c78337
CW
74932012-02-27 Colin Watson <cjwatson@ubuntu.com>
7494
7495 * include/grub/partition.h (grub_partition_map): Change prototype of
7496 embed to take a maximum value for nsectors.
7497 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7498 * include/grub/fs.h (grub_fs): Likewise.
7499 * grub-core/partmap/msdos.c (embed_signatures): New array.
7500 (pc_partition_map_embed): Check for and avoid sectors matching any
7501 of the signatures in embed_signatures, up to max_nsectors.
7502 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7503 returned sector map to max_nsectors.
7504 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7505 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7506 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7507 * util/grub-setup.c (setup): Allow for the embedding area being
7508 split into multiple blocklists. Tell dest_partmap->embed the
7509 maximum number of sectors we care about.
7510
75112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7514 Specify blocklist_install and reserver_first_sector for all fs.
7515 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7516 blocklists.
7517
984b973f
VS
75182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * util/grub-install.in: Clarify strings.
7521 Fix source dir check.
7522
f122e0d6
RL
75232012-02-27 Richard Laager <rlaager@wiktel.com>
7524
7525 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7526 "zfs" and "fuse.zfs" as synonyms.
7527
071114bb
VS
75282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * configure.ac: Put platform and target_cpu substitutions back since
7531 they are used for directories.
7532
817e6abc
RL
75332012-02-27 Richard Laager <rlaager@wiktel.com>
75342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7537 * util/grub.d/20_linux_xen.in: Likewise.
7538
897b7419
RL
75392012-02-27 Richard Laager <rlaager@wiktel.com>
7540
7541 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7542 with full paths.
7543
a414bd15
RL
75442012-02-27 Richard Laager <rlaager@wiktel.com>
7545
7546 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7547 unescape.
7548
30ac48c4
VS
75492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Don't use insecure popen in getroot.
7552
7553 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7554 (exec_pipe): ... here.
7555 (find_root_devices_from_poolname): Use exec_pipe.
7556
53f13848
VS
75572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Remove platform and target_cpu replacement.
7560
7561 * configure.ac: Remove platform and target_cpu substitutions.
7562 * tests/util/grub-shell.in: Use modinfo.
7563 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7564 explicitly.
7565
90cb2803
VS
75662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 Autodetect platform in grub-install but allow override.
7569
7570 * util/grub-install.in: Autodetect platform. Support --target and
7571 --directory. Read platform from modinfo.sh.
7572
b9136427
VS
75732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 Support btrfs multi-volume probe.
7576
7577 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7578 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7579 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7580 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7581 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7582 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7583 grub_find_root_devices_from_btrfs if on btrfs.
7584
c36e5cd1
VS
75852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 Remove any awareness of *.c util files about target.
7588
7589 * Makefile.util.def (grub-setup): Split to ...
7590 (grub-bios-setup): ... and this.
7591 (grub-sparc64-setup): ... and this.
7592 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7593 * docs/man/grub-setup.h2m: Split into ...
7594 * docs/man/grub-sparc64-setup.h2m: ... this.
7595 * docs/man/grub-bios-setup.h2m: ... and this.
7596 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7597 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7598 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7599 (grub_target_addr_t): Remove.
7600 (grub_target_size_t): Remove.
7601 (grub_target_ssize_t): Remove.
7602 * util/grub-install.in: Use new grub-*-setup.
7603 * util/grub-mkimagexx.c (Elf_Word): New define.
7604 (Elf_Half): Likewise.
7605 (Elf_Section): Likewise.
7606 (ELF_ST_TYPE): Likewise.
7607 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7608 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7609
584b2f8a
VS
76102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Replace grub_target_addr with more appropriate types.
7613
7614 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7615 grub_target_addr with grub_addr.
7616 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7617 grub_target_addr with grub_port.
7618 (grub_cmd_write): Likewise.
7619 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7620 grub_target_addr with grub_addr.
7621 (grub_cmd_write): Likewise.
7622 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7623
5a0dc6fb
VS
76242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7627 const qualifier for vendor_guid.
7628
786aff6e
VS
76292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7632 const qualifier.
7633 (efiemu_memequal): Likewise.
7634 (find_variable): Likewise.
7635
49017b17
VS
76362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Fix missing console prototype on qemu-mips.
7639
7640 * include/grub/mips/qemu_mips/console.h: New file.
7641
c5988629
MG
76422012-02-27 Matthew Garrett <mjg@redhat.com>
76432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7646 * include/grub/efi/efi.h: Likewise.
7647 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7648 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7649 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7650 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7651 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7652 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7653
e33f8d69
MG
76542012-02-27 Matthew Garrett <mjg@redhat.com>
7655
7656 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7657
fb312cd9
VS
76582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7661 error.
7662
7134247c
VS
76632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * configure.ac: Remove inappropriate use of program_transform_name
7666 on grubdir and bootdir but allow explicit specification of those
7667 variables.
7668
6a313124
VS
76692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * util/grub-mknetdir.in (grub_prefix): Removed.
7672 (subdir): Use @bootdirname@ and @grubdirname@.
7673
2311c5ca
VS
76742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7677
7d5d60f7
VS
76782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * po/POTFILES.in: Regenerated.
7681
8151bc82
VS
76822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 Remove improper use of program_transform_name on pkglibrootdir.
7685
7686 * configure.ac (pkglibrootdir): Removed.
7687 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7688 * util/grub-mkimage.c: Likewise.
7689
b4a6a533
VS
76902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7693 warning.
7694
668f304f
VS
76952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-install.in: Use file identifier if no UUID is available
7698 or user explicitly prompted for it.
7699
665f2341
NP
77002012-02-27 Navdeep Parhar <nparhar@gmail.com>
7701
7702 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7703 (freebsd_get_zfs): New function.
7704 (grub_freebsd_boot): Pass zfs UUID.
7705 (grub_cmd_freebsd): Set zfs UUID.
7706
8151bc82 77072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7708
7709 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7710 pkglibrootdir.
7711
e4c498a1
MG
77122012-02-27 Mike Gilbert <floppym@gentoo.org>
7713
7714 Add configure flag to control libzfs integration.
7715
7716 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7717
1e9a9a3f
VS
77182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7721 device.
7722 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7723 small devices.
7724
036985b8
VS
77252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7728 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7729 be used on non-modules.
7730
7731 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7732 Rename to grub_boot_init.
7733 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7734 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7735 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7736 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7737 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7738 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7739 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7740 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7741 includes.
7742 (grub_machine_init): Remove empty inits.
7743 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7744 includes.
7745 (grub_machine_init): Remove empty inits.
7746 * grub-core/term/arc/console.c: Remove explicit proto.
7747 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7748 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7749 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7750 grub_at_keyboard_fini.
7751 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7752 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7753 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7754 grub_gfxterm_fini.
7755 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7756 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7757 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7758 grub_vgatext_fini.
7759 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7760 * grub-core/term/serial.c (GRUB_MOD_INIT)
7761 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7762 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7763 grub_serial_fini.
7764 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7765 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7766 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7767 grub_terminfo_fini.
7768 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7769 (GRUB_MOD_FINI): Likewise.
7770 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7771 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7772 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7773 grub_video_radeon_fuloong2e_fini.
7774 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7775 [LOONGSON]: Rename to grub_video_sis315pro_init.
7776 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7777 grub_video_sis315pro_fini.
7778 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7779 [LOONGSON]: Rename to grub_video_sm712_init.
7780 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7781 grub_video_sm712_fini.
7782 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7783 (grub_at_keyboard_fini): Likewise.
7784 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7785 Don't declare grub_{modname}_init.
7786 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7787 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7788 New proto.
7789 (grub_keylayouts_fini) [!EMU]: Likewise.
7790 * include/grub/serial.h (grub_serial_init) [!EMU]:
7791 New proto.
7792 (grub_serial_fini) [!EMU]: Likewise.
7793 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7794 New proto.
7795 (grub_terminfo_fini) [!EMU]: Likewise.
7796 * include/grub/video.h (grub_font_init) [!EMU]:
7797 New proto.
7798 (grub_font_fini) [!EMU]: Likewise.
7799 (grub_gfxterm_init) [!EMU]: Likewise.
7800 (grub_gfxterm_fini) [!EMU]: Likewise.
7801 (grub_video_sm712_init) [!EMU]: Likewise.
7802 (grub_video_sm712_fini) [!EMU]: Likewise.
7803 (grub_video_sis315pro_init) [!EMU]: Likewise.
7804 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7805 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7806 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7807
d5534665
VS
78082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Make nand a prefix for nand devices.
7811
7812 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7813
10133b5f
VS
78142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7817 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7818
8e307a62
VS
78192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * include/grub/env.h (grub_env_find): Remove prototype.
7822 * grub-core/kern/env.c (grub_env_find): Make static.
7823 (grub_env_set): Remove useless set.
7824
a4c65f34
VS
78252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/kern/i386/realmode.S: Remove useless align.
7828
d87893d5
VS
78292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * include/grub/dl.h (grub_dl_load_file): Don't export.
7832
50159add
VS
78332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7836 grub_dprintf.
7837
b2582b84
VS
78382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7841 grub_errors.
7842 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7843 not reloading whole superblock but only the part which is really needed.
7844 Remove useless grub_errors.
7845 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7846 grub_errors.
7847
e2a83395
VS
78482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Don't export grub_get_rtc.
7851
7852 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7853 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7854
e7d2a906
VS
78552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7858
6cf1363b
VS
78592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7862 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7863
eece3349
VS
78642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 Remove prio_list.
7867
7868 * include/grub/list.h (grub_prio_list): Removed.
7869 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7870 GRUB_COMMAND_PRIO_MASK.
7871 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7872 GRUB_COMMAND_FLAG_ACTIVE.
7873 (grub_prio_list_insert): Removed.
7874 (grub_prio_list_remove): Likewise.
7875 (GRUB_AS_PRIO_LIST): Likewise.
7876 (GRUB_AS_PRIO_LIST_P): Likewise.
7877 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7878 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7879 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7880 * grub-core/kern/command.c (grub_register_command_prio): Inline
7881 the prio_list code.
7882 (grub_unregister_command): Likewise.
7883
94f064b4
VS
78842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Fix interrupt mixup from previous commit.
7887
7888 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7889 (grub_realidt): New var.
7890 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7891 Load idt.
7892 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7893 New declaration.
7894 (grub_relocator16_boot): Set grub_relocator16_idt.
7895 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7896 (LOCAL(realidt)): ... this.
7897 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7898 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7899 (grub_realidt): New variable.
7900
27317084
VS
79012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7904 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7905 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7906 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7907 Gettextize.
7908 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7909 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7910 * po/POTFILES.in: Regenerate.
7911
47b40053
VS
79122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7915 errors.
7916
2b343101
VS
79172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7920 \0.
7921 (add_length): Likewise.
7922
ff27c3dd
LK
79232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
79242012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7925
7926 GDB serial and backtrace support.
7927
7928 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7929 (prot_to_real): Likewise.
7930 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7931 * grub-core/Makefile.core.def (backtrace): New module.
7932 (gdb): Likewise.
7933 * grub-core/gdb/cstub.c: New file.
7934 * grub-core/gdb/gdb.c: Likewise.
7935 * grub-core/gdb/i386/idt.c: Likewise.
7936 * grub-core/gdb/i386/machdep.S: Likewise.
7937 * grub-core/gdb/i386/signal.c: Likewise.
7938 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7939 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7940 * include/grub/backtrace.h: Likewise.
7941 * include/grub/gdb.h: Likewise.
7942 * include/grub/i386/gdb.h: Likewise.
7943
79442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7945
7946 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7947 New function.
7948 (add_length): Likewise.
7949 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7950 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7951 proto.
7952 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7953 __argp_get_display_len.
7954
ff27c3dd 79552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7956
7957 $"..." support in scripts.
7958
7959 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7960 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7961 * grub-core/script/yylex.l: Likewise.
7962 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7963 value.
7964
ff27c3dd 79652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7966
7967 * gentpl.py: Remove obsolete pkglib_DATA handling.
7968
ff27c3dd 79692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7970
7971 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7972 mailing list.
7973
7974 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7975 * util/grub-kbdcomp.in: Likewise.
7976 * util/grub-mkconfig.in: Likewise.
7977 * util/grub-mkconfig_lib.in: Likewise.
7978 * util/grub-mknetdir.in: Likewise.
7979 * util/grub-mkrescue.in: Likewise.
7980 * util/grub-mkstandalone.in: Likewise.
7981 * util/grub-reboot.in: Likewise.
7982 * util/grub-set-default.in: Likewise.
7983 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7984
ff27c3dd 79852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7986
7987 Remove GRUB_PREFIX.
7988
7989 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7990 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7991 used for backward compatibility.
7992
ff27c3dd 79932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7994
7995 Add new all_video module.
7996
7997 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7998 * grub-core/Makefile.core.def (all_video): New module.
7999 * grub-core/genmoddep.awk: Generate dependency of all_video from
8000 video.lst.
8001 * grub-core/lib/fake_module.c: New file.
8002 * grub-core/normal/main.c (features): Add feature_all_video_module.
8003 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8004 don't do explicit search again.
47454da5 8005 insmod all_video in load_video if available.
22c7ce85 8006
ff27c3dd 80072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8008
8009 Another round of string clarification and adding TRANSLATORS comments.
8010
ff27c3dd 80112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8012
8013 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8014
ff27c3dd 80152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8016
8017 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8018 to grub_ssize_t.
8019 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8020 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8021
ff27c3dd 80222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8023
8024 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8025 trailing newline implicitly. All users updated.
8026
ff27c3dd 80272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8028
8029 Implement serial on IEEE1275 and EFI.
8030
8031 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8032 on emu. Mention arc and emu as the only platforms without serial
8033 support.
8034 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8035 ieee1275 platforms.
8036 * grub-core/term/efi/serial.c: New file.
8037 * grub-core/term/ieee1275/serial.c: Likewise.
8038 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8039 specification if no ns8250 driver is available.
8040 (grub_cmd_serial): Likewise.
8041 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8042 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8043 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8044 (grub_efi_parity_type_t): New type.
8045 (grub_efi_stop_bits_t): Likewise.
8046 (grub_efi_serial_io_interface): New struct.
8047 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8048 available for all interfaces.
8049 Add EFI and IEEE1275 fields.
8050 (grub_ofserial_init): New proto.
8051 (grub_efiserial_init): Likeiwse.
8052 * util/grub.d/00_header.in: Don't check for the presence of serial
8053 module.
8054
ff27c3dd 80552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8056
8057 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8058 name as if it was an alias.
8059
114076ef
VS
80602012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/commands/lsacpi.c (options): Fix typo.
8063
6a656b0e
VS
80642012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Convert grub-emu to argp.
8067
8068 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8069 emu.
8070 * util/argp_common.c: Rename to ...
8071 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8072 Add missing includes.
8073 * grub-core/kern/emu/main.c: Convert to argp.
8074 * po/POTFILES.in: Regenerate.
8075 * util/grub-install.in (usage): Make first letter lowcase in messages
8076 for uniformity.
8077 * util/grub-setup.c (options): Likewise.
8078
1e3f8ae8
VS
80792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8082 Put back accidently commented-out code.
8083
ed167a80
VS
80842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8087 loop check using Brent algorithm.
8088 (grub_hfsplus_btree_search): Likewise.
8089
6753c0ec
VS
80902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * util/grub-install.in: Fix usage of wrong device for PreP install.
8093
4e27343f
VS
80942012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * conf/Makefile.common (CFLAGS_GNULIB): Add
8097 -Wno-unsafe-loop-optimizations.
8098 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8099 on tools.
8100 * grub-core/commands/legacycfg.c: Add pragma to skip
8101 -Wunsafe-loop-optimizations.
8102 (check_password_md5_real): Fix loop counter type.
8103 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8104 reading.
8105 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8106 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8107 loop condition.
8108 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8109 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8110 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8111 condition.
8112 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8113 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8114 avoid possible infinite loops.
8115 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8116 and -Wunsafe-loop-optimizations.
8117 * grub-core/script/yylex.l: Likewise.
8118 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8119 (print_glyphs): Avoid infinite loops.
8120 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8121
697f18b0
GS
81222012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8123
8124 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8125 to avoid infinite loop.
8126 (disp_acpi_rsdt_table): Likewise.
8127
274416e8
VS
81282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/font/font.c (grub_font_load): Add support for default
8131 path for fonts ($prefix/fonts).
8132 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8133 for checking if string is a path.
8134 * grub-core/normal/main.c (features): Add feature_default_font_path.
8135 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8136 * util/grub.d/00_header.in: Use default directory if possible.
8137 * util/grub-install.in: Install unicode.pf2.
8138
b3e08622
VS
81392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8142 * po/Rules-swiss: New file.
8143 * po/swiss.sed: Likewise.
8144
fe42ce09
VS
81452012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/fs/btrfs.c (find_device): Fix typos.
8148 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8149 * util/grub-mkrelpath.c (argp_parser): Likewise.
8150 Reported by: Yuri Chornoivan.
8151
72f1d065
DO
81522012-02-23 Dalet Omega <daletomega@gmail.com>
8153
8154 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8155 for usual informative messages.
8156
c5884973
DO
81572012-02-23 Dalet Omega <daletomega@gmail.com>
8158
8159 Starfield theme.
8160
8161 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8162 * conf/Makefile.common: Define starfielddir.
8163 * configure.ac: Configure starfield.
8164 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8165 * themes/starfield/README: Likewise.
8166 * themes/starfield/blob_w.png: Likewise.
8167 * themes/starfield/boot_menu_c.png: Likewise.
8168 * themes/starfield/boot_menu_e.png: Likewise.
8169 * themes/starfield/boot_menu_n.png: Likewise.
8170 * themes/starfield/boot_menu_ne.png: Likewise.
8171 * themes/starfield/boot_menu_nw.png: Likewise.
8172 * themes/starfield/boot_menu_s.png: Likewise.
8173 * themes/starfield/boot_menu_se.png: Likewise.
8174 * themes/starfield/boot_menu_sw.png: Likewise.
8175 * themes/starfield/boot_menu_w.png: Likewise.
8176 * themes/starfield/slider_c.png: Likewise.
8177 * themes/starfield/slider_n.png: Likewise.
8178 * themes/starfield/slider_s.png: Likewise.
8179 * themes/starfield/src/blob_nw.xcf: Likewise.
8180 * themes/starfield/src/bootmenu/: Likewise.
8181 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8182 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8183 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8184 * themes/starfield/src/slider_c.xcf: Likewise.
8185 * themes/starfield/src/slider_n.xcf: Likewise.
8186 * themes/starfield/src/slider_s.xcf: Likewise.
8187 * themes/starfield/src/terminalbox/: Likewise.
8188 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8189 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8190 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8191 * themes/starfield/starfield.png: Likewise.
8192 * themes/starfield/terminal_box_c.png: Likewise.
8193 * themes/starfield/terminal_box_e.png: Likewise.
8194 * themes/starfield/terminal_box_n.png: Likewise.
8195 * themes/starfield/terminal_box_ne.png: Likewise.
8196 * themes/starfield/terminal_box_nw.png: Likewise.
8197 * themes/starfield/terminal_box_s.png: Likewise.
8198 * themes/starfield/terminal_box_se.png: Likewise.
8199 * themes/starfield/terminal_box_sw.png: Likewise.
8200 * themes/starfield/terminal_box_w.png: Likewise.
8201 * themes/starfield/theme.txt: Likewise.
8202
17d73325
VS
82032012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * util/grub.d/00_header.in: Add missing export theme.
8206
dbebaf92
VS
82072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8210 already included.
8211 Reported by: Eren D.
8212
3d68bffb
VS
82132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * conf/Makefile.common (grubdatadir): Removed.
8216 (Makefile.am): Move eveything grubdata to pkgdata.
8217
4b59234d
VS
82182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/commands/acpihalt.c (get_sleep_type):
8221 Remove unused variable.
8222
463dcadc
VS
82232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8226 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8227 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8228 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8229 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8230 i18n with gettext no-op.
8231 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8232 GRUB_ACPI_OPCODE_STRING_CONST.
8233 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8234 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8235
e5b90c82
VS
82362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * po/POTFILES.in: Regenerate.
8239
2a704ca9
VS
82402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8243 -Wno-error=missing-noreturn.
8244
84f9d341
VS
82452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8248 condition to avoid possibly infinite loops.
8249 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8250 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8251
d46683f9
VS
82522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8255 condition to avoid possibly infinite loops.
8256
c44866b2
VS
82572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8260 on show_error.
8261
96790539
VS
82622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8265
1ba7e295
VS
82662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8269
21ffe8f1
VS
82702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * util/bin2h.c (usage): Add missing attribute noreturn.
8273
0ccb6b3c
VS
82742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8277 if the size isn't divisible by 512.
8278
b00d7fb6
VS
82792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 Make list_push and list_remove functions rather than inline functions
8282 to decrease size and avoid aliasing violations.
8283
8284 * include/grub/list.h (grub_list_push): Move to ...
8285 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8286 * include/grub/list.h (grub_list_remove): Move to ...
8287 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8288
9d369087
VS
82892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8292 and -Wunused-result.
8293
af0250d9
VS
82942012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8297 Reported by: Seth Goldberg
8298
aad32b14
VS
82992012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8302
ac96441c
ST
83032012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8304
8305 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8306 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8307 command line.
8308 * docs/grub.texi (Simple configuration): Document
8309 GRUB_CMDLINE_GNUMACH.
8310
83112012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8312
8313 * conf/Makefile.common (platform_SCRIPTS): New variable.
8314 (platform_PROGRAMS): Likewise.
8315 * gentpl.py: Mark *,module and *.image for install.
8316 * grub-core/gdb_grub.in: Add a notice of expected environment.
8317 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8318 (gmodule.pl): Likewise.
8319
ac96441c 83202012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8321
8322 Replace grub_checkkey with grub_getkey_noblock.
8323
8324 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8325 (grub_getkey_noblock): ... this. All users updated.
8326
ac96441c 83272012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8328
8329 * grub-core/kern/emu/console.c: Move to ...
8330 * grub-core/term/emu/console.c: ...here.
8331 (grub_ncurses_getkey): Fix return value if no key is detected.
8332
e51b5666
VS
83332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8336 (grub_unit_test_fini): Likewise.
8337 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8338
83392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * include/grub/test.h (GRUB_UNIT_TEST)
8342
d9a62292
VS
83432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8346 Better error handling.
8347 (grub_script_return): Likewise.
8348 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8349
77c9182f
VS
83502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8353 rimplicit redifinition.
8354
edb13cf9
VS
83552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8358 GRUB.
8359
a9e9dc7c
VS
83602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8363 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8364 prompt here.
8365
b4ba8e02
VS
83662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8369 as GRUB_ERR_BUG. Don't malloc if no device is available.
8370
dded5540
VS
83712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8374 Mark calling with invalid term as GRUB_ERR_BUG.
8375
0cf69874
VS
83762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8379 packets rather than raising an error.
8380
59bfe502
VS
83812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8384 in if.
8385
db5fc596
VS
83862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8389 diagnostic to dprintf.
8390 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8391
e4b7f404
VS
83922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8395 device name.
8396
e7b02f9e
VS
83972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8400 (grub_ntfs_iterate_dir): Likewise.
8401
0331e102
VS
84022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Efiemu stylistic fixes and gettext.
8405
8406 * grub-core/efiemu/i386/loadcore32.c
8407 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8408 * grub-core/efiemu/i386/loadcore64.c
8409 (grub_arch_efiemu_relocate_symbols64): Likewise.
8410 * grub-core/efiemu/i386/pc/cfgtables.c
8411 (grub_machine_efiemu_init_tables): Likewise.
8412 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8413 (grub_efiemu_loadcore_initXX): Add a filename argument.
8414 All users updated.
8415 Improved error message.
8416 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8417 Add a filename argument.
8418 All users updated.
8419 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8420 Reclassify double relocation as GRUB_ERR_BUG.
8421
306fc074
VS
84222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8425 handling.
8426
794d8ef2
VS
84272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8430 on partition.
8431
84322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8433
8434 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8435
794d8ef2 84362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8437
8438 Improve string. Gettextize.
8439
78dde88e
VS
84402012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8443 utils.
8444 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8445
4786a90f
VS
84462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8449 [GRUB_UTIL]: New function.
8450 (insert_array) [GRUB_UTIL]: Store partmaps.
8451 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8452 partmaps.
8453 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8454 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8455 (probe_abstraction): Print diskfilter and not raid.
8456 Reported by: Lennart Sorensen
8457
0b6225bd
VS
84582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8461 * util/grub-mkimagexx.c (MASK3): New define.
8462 (add_value_to_slot_20b): Use MASK3.
8463 (add_value_to_slot_21): Likewise.
8464 (relocate_addresses): Fix format specification.
8465 (load_image): Explicitly init symtab_section.
8466
b055f8f6
VS
84672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8470 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8471
b77c2fb7
VS
84722012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8475 on powerpc.
8476 Reported by: Lennart Sorensen
8477
e3ec28ab
VS
84782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * gentpl.py: Add missing license header.
8481 * docs/grub.texi: Update copyright year.
8482
c8d9ead6
GS
84832012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8484
8485 Source grub-mkconfig_lib from the build directory at build time.
8486 Suggested by: Vladimir Serbinenko.
8487
8488 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8489 * util/grub-install.in: Define pkgdatadir if not already set, and source
8490 grub-mkconfig_lib from there.
8491 * util/grub-kbdcomp.in: Likewise.
8492 * util/grub-mkconfig.in: Likewise.
8493 * util/grub-mknetdir.in: Likewise.
8494 * util/grub-mkrescue.in: Likewise.
8495 * util/grub-mkstandalone.in: Likewise.
8496 * util/grub-reboot.in: Likewise.
8497 * util/grub-set-default.in: Likewise.
8498 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8499
ebcecdf1
VS
85002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Increase warning level.
8503
8504 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8505 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8506 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8507 (TARGET_CFLAGS): Likewise.
8508 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8509 * grub-core/Makefile.core.def (decompressor_xz): Add
8510 -Wno-unreachable-code.
8511 (normal): Add -Wno-redundant-decls.
8512 (xzio): Add -Wno-unreachable-code.
8513 (lzopio): Add -Wno-redundant-decls -Wno-error.
8514 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8515 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8516 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8517 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8518 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8519 * grub-core/kern/i386/coreboot/init.c: Add exception to
8520 -Wsuggest-attribute=noreturn.
8521 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8522 * grub-core/kern/ia64/dl_helper.c: Likewise.
8523 * grub-core/kern/mips/dl.c: Likewise.
8524 * grub-core/kern/sparc64/dl.c: Likewise.
8525 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8526 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8527 (memcmp): Likewise.
8528 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8529 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8530 * grub-core/loader/mips/linux.c: Likewise.
8531 * grub-core/loader/multiboot_elfxx.c: Likewise.
8532 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8533 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8534 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8535 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8536 fixme.
8537 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8538 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8539 Fix prototype.
8540
37bb97fe
VS
85412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8544 address.
8545
29a3550b
VS
85462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8549 Avoid improper use of strings.
8550 (grub_cmd_legacy_initrdnounzip): Likewise.
8551
dfdffd0d
VS
85522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8555 attribute.
8556 (grub_util_info): Likewise.
8557 (grub_util_error): Likewise.
8558
102fae4a
VS
85592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8562 * util/grub-fstest.c (fstest): Likewise.
8563
7e94d044
VS
85642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8567 (grub_md_sha512_real): Likewise.
8568 (grub_util_get_geli_uuid): Likewise.
8569 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8570 (grub_util_biosdisk_open): Fix format specification.
8571 Respect format security.
8572 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8573 (xrealloc): Likewise.
8574 (xasprintf): Likewise.
8575
5ebd9769
VS
85762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * util/import_gcry.py: Include grub/crypto.h in init.c.
8579
495fc8c1
VS
85802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8583 (generate_image): Make prefix a const char *.
8584 Fix format specifications. Respect format security.
8585 Avoid void * arithmetics.
8586 Avoid shadowing.
8587 (argp_parser): Remove unused variable. Respect format security.
8588 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8589 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8590 (count_funcs): Remove unused variable.
8591 (relocate_addresses): Fix format specification.
8592 Disable x86-64 with elf32. Remove unused variables.
8593 (add_fixup_entry): Avoid shadowing.
8594 (make_reloc_section): Fix format specification.
8595 Use assert.
8596 (locate_sections): Fix format specifications.
8597 (load_image): Avoid shadowing.
8598
043c2ea3
VS
85992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8602 Fix format specifications. Respect format security.
8603 Don't translate already translated grub_errmsg.
8604 (argp_parser): Remove unused variable
8605
3ec65a81
VS
86062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8609
a4d9fe4a
VS
86102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8613 (main): Likewise. Use xmalloc. Respect format security.
8614
15b81d49
VS
86152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8618 a const char *.
8619 (argp_parser): Remove unused variable.
8620
31731fc0
VS
86212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8624 (add_pixel): Make static.
8625 (add_font): Likewise.
8626 (write_string_section): Make name and str a const char *.
8627 (write_be16_section): Make name a const char *.
8628 (print_glyphs): Make static.
8629 (write_font_ascii_bitmap): Likewise.
8630 (write_font_width_spec): Likewise.
8631 (write_font_pf2): Likewise.
8632 (argp_parser): Remove unused variable.
8633 Respect format security.
8634 (main): Avoid shadowing. Respect format security.
8635
0809527b
VS
86362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * util/grub-editenv.c (argp_parser): Make static.
8639 (create_envblk_file): Use xmalloc.
8640 (open_envblk_file): Likewise.
8641 Resepect format security.
8642 (set_variables): Respect format security.
8643
45b0c8b7
VS
86442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/getroot.c (grub_find_device): Respect format security.
8647 (get_mdadm_uuid): Remove unused variable.
8648 (grub_util_pull_device): Dont call gettext on already translated
8649 grub_errmsg.
8650 (find_system_device): Remove unused variable.
8651 (grub_util_get_grub_dev): Likewise.
8652 (grub_make_system_path_relative_to_its_root): Respect format security.
8653
1b024b4e
VS
86542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * util/grub-fstest.c (execute_command): Make first argument
8657 a const char *.
8658 (read_file): Avoid shadowing.
8659 Reuse underlying error message if device open fails.
8660 (cmd_cmp): Respect format security.
8661 (root): Make const char *.
8662 (fstest): Remove args argument and use global copy.
8663 Respect format security.
8664 (argp_parser): Make static.
8665 (main): Make default_root const char *.
8666
5d1d4e28
VS
86672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * util/grub-mount.c (root): Make const char *.
8670 (execute_command): Make first argument a const char *.
8671 (fuse_init): Respect format security.
8672 (argp_parser): Make static. Remove unused variable.
8673 (main): Make default_root a const char *.
8674 Respect format security.
8675
36eb7379
VS
86762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * util/grub-probe.c (probe): Don't call gettext on already translated
8679 grub_errmsg.
8680 Remove unused variables.
8681 (argp_parser): Remove unused variable.
8682
76fb2ea9
VS
86832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * util/grub-script-check.c (argp_parser): Remove unused variable.
8686 (main): Rename read to curread to avoid shadowing.
8687
56c98584
VS
86882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * util/misc.c (grub_util_write_image_at): Fix format specification.
8691 (grub_util_write_image): Likewise.
8692 (grub_script_execute_argument_to_string): Removed (unused).
8693 (grub_script_execute_menuentry): Likewise.
8694 (grub_putchar): Likewise.
8695
164ebb48
VS
86962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8699 (FUNCTION) [GRUB_UTIL]: Likewise.
8700 (VARIABLE) [GRUB_UTIL]: Likewise.
8701
44318d61
VS
87022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8705 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8706
31a26002
VS
87072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8710 buffer.
8711
87122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8715 (LzmaEnc_SaveState): Removed (unused).
8716 (LzmaEnc_RestoreState): Likewise.
8717 (LzmaEnc_InitPriceTables): Made static.
8718 (LzmaEnc_Construct): Likewise.
8719 (LzmaEnc_FreeLits): Likewise.
8720 (LzmaEnc_Destruct): Likewise.
8721 (LzmaEnc_Init): Likewise.
8722 (LzmaEnc_InitPrices): Likewise.
8723 (LzmaEnc_Finish): Likewise.
8724 (LzmaEnc_PrepareForLzma2): Removed (unused).
8725 (LzmaEnc_MemPrepare): Likewise.
8726 (LzmaEnc_GetNumAvailableBytes): Likewise.
8727 (LzmaEnc_GetCurBuf): Likewise.
8728 (LzmaEnc_CodeOneMemBlock): Likewise.
8729
6fa67967
VS
87302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8733 (grub_util_ldm_embed): Likewise.
8734
9a7428e6
VS
87352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * util/grub-editenv.c (print_var): Rename name to varname to
8738 avoid shadowing.
8739 (main): Rename index to curindex to avoid shadowing.
31a26002 8740 Make filename a const char *.
9a7428e6 8741
4f96abd1
VS
87422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8745 to arg_getline to avoid shadowing.
8746
44d10dad
VS
87472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8750 disk_ to avoid shadowing.
8751
340ba63e
VS
87522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8755 curindex to avoid shadowing.
8756 Make static.
8757 (MatchFinder_GetNumAvailableBytes): Make static.
8758
22965bce
VS
87592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8762 avoid shadowing.
8763
7b5784d4
VS
87642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8767 argument from encrypt to do_encrypt to avoid shadowing.
8768
6f48ca01
VS
87692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8772 incorrect nesting of #if's.
8773
a4ea2dff
VS
87742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8777 checks which are always false on some platforms.
8778 (grub_cmd_lsacpi): Likewise.
8779 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8780 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8781 Likewise.
8782
def9fc1b
VS
87832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8786 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8787
a67b2a04
VS
87882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8791 re_dfa_t to avoid breaking alignment invariants.
8792 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8793 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8794
44c6828d
VS
87952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8798 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8799
bebe0dd0
VS
88002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8803 Fix declaration.
8804
a9cdb3cf
VS
88052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8808 conserve alignment invariants.
8809 (grub_ehci_ehcc_read16): Likewise.
8810 (grub_ehci_oper_read32): Likewise.
8811 (grub_ehci_oper_write32): Likewise.
8812 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8813 Conserve alignment invariants.
8814
ccc3b1b8
VS
88152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8818 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8819 declarations.
8820
987fbd95
VS
88212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8824 Remove unused variable.
8825
0df363f3
VS
88262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8829 Remove set in if.
8830
b2c0c4a6
VS
88312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * include/grub/net.h: Remove double declarations.
8834
690c531f
VS
88352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 Remove "payload" command in ia64 Linux loader since I couldn't
8838 find any evidence of it being used for anything.
8839 Replace "relocate" command with an environment variable
8840
8841 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8842 fields.
8843 (ia64_boot_payload): Removed.
8844 (last_payload): Likewise.
8845 (RELOCATE_OFF): Likewise.
8846 (RELOCATE_ON): Likewise.
8847 (RELOCATE_FORCE): Likewise.
8848 (relocate): Likewise.
8849 (free_pages): Don't free payloads.
8850 (grub_load_elf64): Use common error messages.
8851 Use "linux_relocate" variable.
8852 Increase the space after boot_params.
8853 (grub_cmd_payload): Removed.
8854 (grub_cmd_relocate): Likewise.
8855 (grub_cmd_fpswa): Improve messages.
8856 (cmd_payload): Removed.
8857 (cmd_relocate): Likewise.
8858 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8859 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8860
01783768
VS
88612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 Convert UHCI to DMA framework.
8864
8865 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8866 (grub_uhci_pci_iter): Fill new members
8867 (grub_alloc_td): Use P2V and V2P functions.
8868 (grub_free_queue): Likewise.
8869 (grub_alloc_qh): Likewise.
8870 (grub_uhci_setup_transfer): Likewise.
8871 (grub_uhci_check_transfer): Likewise.
8872
43206939
VS
88732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8876 Remove assignment in if while on it.
8877
571e140e
VS
88782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * util/grub-mkstandalone.in: Fix modules directory.
8881
a9d96eeb
VS
88822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8885 on i386-pc target.
8886 (argp_parser): Accept "auto" as compression specification.
8887
e4e37e8d
VS
88882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 Fix `help' with unloaded modules.
8891
8892 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8893 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8894 (grub_dyncmd_dispatcher): Small stylistic fix.
8895 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8896 explicit help is requested.
8897
e1ea3ade
VS
88982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8901 Explicitly init restart while on it.
8902
27556881
VS
89032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8906 uninited variable.
8907
d65f6b36
VS
89082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * util/grub-mknetdir.in: Use . rather than source for POSIX
8911 compatibility.
8912
0a1e473c
VS
89132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8916
ce6647c8
VS
89172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8920 variable.
8921
66747894
VS
89222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8925 without quotes.
8926
71645f6e
VS
89272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8930
0e1c1f61
VS
89312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8934 iteration of partitions.
8935
9c4b5c13
VS
89362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Improve gettext support. Stylistic fixes and error handling fixes while
8939 on it.
8940
215c90cb
VS
89412012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8944 part. Instead setup the correct stack in RM.
8945 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8946 for stack.
8947 * include/grub/i386/relocator_private.h: New file.
8948
b5c1f9bf
VS
89492012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8952 argument.
8953 * util/grub-fstest.c (options): Add missing DEVICE part.
8954
b525fd83
VS
89552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 Clarify and unify messages.
8958
8959 * grub-core/commands/hashsum.c (options): Unify messages.
8960 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8961 literal-only message as translatable.
8962 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8963 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8964 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8965 commands.
8966 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8967 key, not the key used to unlock. Clarify what it's used for.
8968 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8969 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8970 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8971 * util/grub-editenv.c (options): Unify "verbose" message.
8972 * util/grub-fstest.c (read_file): Unify error message.
8973 (fstest): Add quotes around commands.
8974 (options): Unify "verbose" message.
8975 * util/grub-install.in: Add quotes around variable name.
8976 * util/grub-kbdcomp.in: Unify error message.
8977 * util/grub-mkfont.c (main): Likewise.
8978 * util/grub-mkrescue.in: Likewise.
8979 * util/grub-mklayout.c (options): Unify "verbose" message.
8980 * util/grub-mkstandalone.in: Unify help and verbose messages.
8981 * util/grub-mount.c (options): Unify "verbose" message.
8982 * util/grub-probe.c (options): Likewise.
8983 * util/grub-script-check.c (options): Likewise.
8984 * util/grub-setup.c (setup): Unify no-terminator message.
8985 (options): Use DEVICE and not DEV.
8986 Unify "verbose" message.
8987 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8988
0ae70393
VS
89892012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Improve and unify messages.
8992
8993 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8994 name. All users updated.
8995 Print filename in error.
8996 (read_device_map): Print filename in error.
8997 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8998 (grub_util_get_os_disk): Likewise.
8999 (grub_util_biosdisk_get_grub_dev): Likewise.
9000 (grub_util_check_block_device): Likewise.
9001 (grub_util_check_char_device): Likewise.
9002 (grub_make_system_path_relative_to_its_root): Likewise.
9003 * util/grub-editenv.c (create_envblk_file): Likewise.
9004 (open_envblk_file): Likewise.
9005 (write_envblk): Likewise.
9006 * util/grub-fstest.c (cmd_cp): Likewise.
9007 (cmd_cat): Likewise.
9008 (cmd_cmp): Likewise.
9009 * util/grub-menulst2cfg.c (main): Likewise.
9010 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9011 (write_font_width_spec): Likewise.
9012 (write_font_pf2): Likewise.
9013 * util/grub-mkimage.c (generate_image): New argument outname.
9014 All users updated.
9015 Remove unreacheable message.
9016 (options): Unify messages.
9017 (help_filter): Likewise.
9018 * util/grub-mklayout.c (usage): Removed (unused).
9019 (main): Print filename in error.
9020 * util/grub-mkrescue.in: Fix wrong quoting.
9021 * util/grub-setup.c (setup): Print filename in error.
9022 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9023 (check_sas): Likewise.
9024 * util/misc.c (grub_util_get_fp_size): Removed.
9025 (grub_util_get_image_size): Print filename in error.
9026 (grub_util_read_at): Removed.
9027 (grub_util_read_image): Print filename in error.
9028 (grub_util_load_image): Likewise.
9029 (grub_util_write_image_at): New argument filename. All users updated.
9030 Print filename in error.
9031 (grub_util_write_image): New argument filename. All users updated.
9032 Print filename in error.
9033 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9034 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9035
0a96117d
VS
90362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/Makefile.core.def (pxechain): New module.
9039 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9040 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9041 function.
9042 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9043 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9044
aca002f7
VS
90452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9048 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9049 * include/grub/err.h (grub_error_saved): New struct.
9050 (grub_errmsg): Make array size explicit.
9051 * include/grub/misc.h (grub_error_save): New function.
9052 (grub_error_load): Likewise.
9053 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9054 (grub_error_push): Update `errno' member name.
9055 (grub_error_pop): Likewise
9056 * grub-core/net/tftp.c (tftp_data): New member save_err.
9057 (tftp_receive): Save error.
9058 (tftp_open): Restore error.
9059
a51dab13
VS
90602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9063 to real mode down to execute A20-related code in protected mode as
9064 intended.
9065
eb6e6649
GS
90662012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9067
9068 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9069 NULL when the argument `level' has an unexpected value.
9070
92cd0f6e
VS
90712012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 Move platform-dependent files from $prefix to $prefix/$platform.
9074
9075 * config.h.in (GRUB_TARGET_CPU): New definition.
9076 (GRUB_PLATFORM): Likewise.
9077 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9078 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9079 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9080 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9081 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9082 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9083 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9084 * grub-core/normal/term.c (read_terminal_list): Likewise.
9085 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9086 $prefix/locale.
9087 (grub_gettext_init_ext): Likewise.
9088 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9089 grub_platform.
9090 * util/grub-install.in: Update directories.
9091 * util/grub-mknetdir.in: Likewise.
9092 * util/grub-mkrescue.in: Likewise.
9093
db606889
VS
90942012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9097 grub_error framework. All users updated.
9098
c39992a4
VS
90992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9102 lists (by always binsearching), improve caching (cache strings
9103 used for binsearch, not only results), improve
9104 maintainability (by using more structured binary search) and correct
9105 error handling.
9106
1e5ec32f
VS
91072012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/script/execute.c (grub_script_return): Fix warning.
9110
ac576cde
VS
91112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * grub-core/script/execute.c (grub_script_return): Fix potential
9114 NULL-dereference.
9115 Reported by: Jim Meyering.
9116
498453f6
VS
91172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * po/POTFILES.in: Regenerate.
9120 * util/grub-install.in: Gettextize the strings missed in first pass.
9121
8be63f2e
VS
91222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * Makefile.util.def (grub-mkdevicemap): Removed.
9125 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9126 * include/grub/util/deviceiter.h: Removed.
9127 * util/deviceiter.c: Likewise.
9128 * util/getroot.c (grub_util_get_os_disk): New function.
9129 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9130 replacement for EFI.
9131 * util/grub-mkdevicemap.c: Removed.
9132 * util/grub-probe.c (probe): Handle PRINT_DISK.
9133 (argp_parser): Handle -t disk.
9134
8e1e4e39
VS
91352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * util/grub-mkfont.c: Migrate to argp.
9138 * util/grub-mklayout.c: Likewise.
9139 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9140 * util/grub-mkrelpath.c: Likewise.
9141 * util/grub-probe.c: Likewise.
9142 * util/grub-script-check.c: Likewise.
9143
4459819a
VS
91442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * util/grub-reboot.in: Add missing datarootdir.
9147 Add missing newline.
9148 * util/grub-set-default.in: Add missing datarootdir.
9149 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9150 * util/grub-mkrescue.in: Likewise.
9151
f65741c7
VS
91522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9155
c1a33466
VS
91562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * util/grub-kbdcomp.in: Add decent help and gettextize.
9159 * docs/man/grub-kbdcomp.h2m: New file.
9160
c76899a0
VS
91612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Migrate grub-mkimage.c to argp.
9164
9165 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9166 (grub-setup): Likewise.
9167 * util/grub-setup.c (print_version): Move to ...
9168 * util/argp_common.c (print_version): ... here.
9169 * util/grub-setup.c (argp_program_version_hook): Move to ...
9170 * util/argp_common.c (argp_program_version_hook): ... here.
9171 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9172 safety.
9173 * util/grub-mkimage.c (main): Migrate to argp.
9174
57db0757
VS
91752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * util/grub-mkrescue.in: Use same message as
9178 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9179 for better translations.
9180
18534ad9
VS
91812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9184 options with generic grub-mkrescue.in with the goal of future
9185 merge.
9186
c84ba308
VS
91872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 * grub-core/kern/mm.c: Add missing include of i18n.h
9190 * grub-core/lib/relocator.c: Likewise.
9191
347998c2
VS
91922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9195 error.
9196 (allocate_pages): Check return value.
9197 Replace fatal with error.
9198 (grub_linux_boot): Replace printf with dprintf.
9199 Check find_mmap_size return value.
9200 Replace fatal with error.
9201 Don't call grub_machine_fini.
9202 (grub_load_elf64): Replace printf with dprintf.
9203 (grub_cmd_linux): Likewise.
9204 (grub_cmd_initrd): Likewise.
9205 (grub_cmd_payload): Likewise.
9206
c779226e
VS
92072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9210 message.
9211 * grub-core/video/radeon_fuloong2e.c
9212 (grub_video_radeon_fuloong2e_setup): Likewise.
9213 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9214 * grub-core/video/video.c (grub_video_set_mode): Don't override
9215 standard out of memory message.
9216
dc87d45a
GS
92172012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9218
9219 NetBSD disk wedge support.
9220
9221 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9222 [__NetBSD__]: Handle NetBSD disk wedges.
9223 * util/getroot.c (convert_system_partition_to_system_disk)
9224 [__NetBSD__]: Likewise.
9225
055f856f
MW
92262012-02-03 Mark Wooding <mdw@distorted.org.uk>
9227
9228 * util/grub-mkconfig.in: Use umask rather than chmod to create
9229 grub.cfg.new to avoid insecure grub.cfg.
9230
4a9f8346
VS
92312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/commands/ls.c: Gettextize.
9234 * grub-core/commands/setpci.c: Likewise.
9235 * grub-core/commands/videotest.c: Likewise.
9236 * grub-core/disk/geli.c: Likewise.
9237 * grub-core/kern/mm.c: Likewise.
9238 * grub-core/lib/relocator.c: Likewise.
9239 * grub-core/loader/efi/appleloader.c: Likewise.
9240 * grub-core/loader/i386/xnu.c: Likewise.
9241 * grub-core/loader/ia64/efi/linux.c: Likewise.
9242 * grub-core/loader/xnu.c: Likewise.
9243 * grub-core/net/dns.c: Likewise.
9244 * grub-core/net/net.c: Likewise.
9245 * grub-core/script/lexer.c: Likewise.
9246 * grub-core/script/parser.y: Likewise.
9247 * grub-core/script/yylex.l: Likewise.
9248 * util/getroot.c: Likewise.
9249 * util/grub-setup.c: Likewise.
9250
a646a366
VS
92512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9254 number.
9255
54e2be26
VS
92562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9259
f7c71e68
VS
92602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9263 macro.
9264 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9265 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9266
a32d5c71
VS
92672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9270 * util/grub-install.in: Gettextize.
9271 * util/grub-mkconfig.in: Likewise.
9272 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9273 if not available.
9274 (grub_warn): Gettextize.
9275 * util/grub-mknetdir.in: Gettextize.
9276 * util/grub-mkrescue.in: Likewise.
9277 * util/grub-mkstandalone.in: Likewise.
9278 * util/grub-reboot.in: Likewise.
9279 * util/grub-set-default.in: Likewise.
9280 * util/grub.d/00_header.in: Likewise.
9281 * util/grub.d/10_hurd.in: Likewise.
9282 * util/grub.d/10_kfreebsd.in: Likewise.
9283 * util/grub.d/10_linux.in: Likewise.
9284 * util/grub.d/10_netbsd.in: Likewise.
9285 * util/grub.d/10_windows.in: Likewise.
9286 * util/grub.d/20_linux_xen.in: Likewise.
9287 * util/grub.d/30_os-prober.in: Likewise.
9288 * po/POTFILES-shell.in: Regenerate.
9289
69edd81a
RL
92902012-02-03 Richard Laager <rlaager@wiktel.com>
9291
9292 * util/grub-mkimage.c (main): Fix format-security warning.
9293 * util/grub-mkrelpath.c (main): Likewise.
9294 * util/grub-probe.c (main): Likewise.
9295
65f08dbf
RL
92962012-02-03 Richard Laager <rlaager@wiktel.com>
9297
9298 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9299 failure.
9300 Put back lost PRINT_DRIVE.
9301
e9084abe
RL
93022012-02-03 Richard Laager <rlaager@wiktel.com>
9303
9304 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9305 (grub_guess_root_devices): Replace strlen with sizeof.
9306 Avoid crash.
9307 (find_root_devices_from_poolname): Remove unused variable.
9308 Handle raidzN.
9309
cf5f7ee7
VS
93102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 Support install on multi-device filesystems.
9313
9314 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9315 (grub_guess_root_devices): ...this. Return char **. All users updated.
9316 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9317 Removed.
9318 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9319 (find_root_devices_from_poolname): ... here.
9320 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9321 Support zfs-fuse.
9322 (grub_guess_root_device): Rename to ...
9323 (grub_guess_root_devices): ... this. Return char **. All users updated.
9324 * util/grub-install.in: Handle multi-device filesystems.
9325 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9326 argument. All users updated.
9327 Handle multi-device filesystems.
9328 Use 'delim' as separator.
9329 Remove device check to allow filesystems on file.
9330 (main): Support -0 argument. Handle multi-device.
9331 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9332 Fix a cross-device check while on it.
9333 (arguments): Remove root_dev.
9334 (argp_parser): Remove -r.
9335 (main): Remove root_dev.
9336
2f53a9ed
VS
93372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9340
17e1d934
VS
93412012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9344 symbol.
9345 Reported by: NODA, Kai <nodakai>.
9346
d3e3fab5
VS
93472012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Fix ehci on amd64.
9350
9351 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9352 pointers.
9353 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9354 (grub_ehci_setup_qh): Likewise.
9355 (grub_ehci_find_qh): Likewise.
9356 (grub_ehci_transaction): Likewise.
9357 (grub_ehci_setup_transfer): Likewise.
9358 (grub_ehci_check_transfer): Likewise.
9359 (grub_ehci_portstatus): Likewise.
9360 (grub_ehci_detect_dev): Likewise.
9361 (grub_ehci_transfer_controller_data): New field td_last_phys.
9362 (grub_ehci_setup_transfer): Fill td_last_phys.
9363 (grub_ehci_check_transfer): Use td_last_phys.
9364
3008675b
SG
93652012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9366
9367 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9368 if no submenu is present.
9369
fc9b5652
AN
93702012-02-01 Aleš Nesrsta <starous@volny.cz>
9371
9372 CBI support.
9373
9374 * include/grub/usb.h (grub_usbms_protocol_t): New values
9375 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9376 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9377 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9378 (grub_usbms_dev): Add subclass, protocol and intrpt.
9379 Remove in_maxsz and out_maxsz.
9380 (grub_usbms_reset): Rename to ...
9381 (grub_usbms_bo_reset): .. this.
9382 (grub_usbms_cbi_cmd): New function.
9383 (grub_usbms_cbi_reset): Likewise.
9384 (grub_usbms_reset): Likewise.
9385 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9386 (grub_usbms_transfer): Rename to ...
9387 (grub_usbms_transfer_bo): ... this.
9388 (grub_usbms_transfer_cbi): Likewise.
9389 (grub_usbms_transfer): Likewise.
9390
a2b81d53
AN
93912012-02-01 Aleš Nesrsta <starous@volny.cz>
93922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9395 the support for the CS5536 modification thereos and few bugfixes.
9396
9397 * grub-core/Makefile.core.def (ehci): New module.
9398 * grub-core/bus/usb/ehci.c: New file.
9399 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9400 port and hubaddr. All users updated.
9401 Save port and hubaddr into dev structure.
9402 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9403 define.
9404 * include/grub/pci.h (grub_dma_phys2virt): New function.
9405 (grub_dma_virt2phys): Likewise.
9406 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9407
b1d51f02
VS
94082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9411 check as some mkfs implementations omit it.
9412
fc694106
VS
94132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9416
6c0920e3
VS
94172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9420 Add new member volname2.
9421 (grub_jfs_label): Use volname2 if available.
9422
d1a46f9a
VS
94232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9426 over last_mounted as seen in image generated by mkfs.nilfs2.
9427 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9428
dec8ed14
VS
94292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9432 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9433 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9434
7397c69b
VS
94352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9438 over the sector.
9439
b3fe42ad
VS
94402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9443 subvolume name (by removing a bogus and useless check).
9444
10476bb0
VS
94452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9448 sizeof while on it.
9449
9c08ad87
VS
94502012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9453 (grub_scsi_read_capacity10): ... this.
9454 (grub_scsi_read_capacity16): New function.
9455 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9456 0xffffffff.
9457 Fix off-by-one error.
9458 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9459 64-bit unsigned.
9460 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9461 (grub_scsi_read_capacity10): ... this.
9462 (grub_scsi_read_capacity_data): Rename to ...
9463 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9464 (grub_scsi_read_capacity16): New struct.
9465 (grub_scsi_read_capacity16_data): Likewise.
9466 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9467 grub_scsi_cmd_read_capacity10.
9468 New command grub_scsi_cmd_read_capacity16.
9469
bc8d0f45
VS
94702012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 SCSI >2TiB support.
9473
9474 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9475 (grub_scsi_write16): Likewise.
9476 (grub_scsi_read): Use read16 when necessary.
9477 (grub_scsi_write): Likewise.
9478 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9479 (grub_scsi_write16): Likewise.
9480 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9481
cc774926
VS
94822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 SCSI write support (for usbms mainly).
9485
9486 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9487 a const pointer.
9488 (grub_scsi_write): Implement.
9489 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9490
67639fd7
VS
94912012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9494 variable.
9495
9079d3ed
VS
94962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9499
c6a6f204
VS
95002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * po/POTFILES.in: Regenerate.
9503
ecbf8cd1
VS
95042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9507 with grub_printf to avoid unnecessary fatal failure.
9508
0b3b3b38
VS
95092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9512 (INT_MAX): Likewise.
9513 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9514 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9515 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9516 (strcpy): Likewise.
9517 (strstr): Likewise.
9518 (strchr): Likewise.
9519 (strncpy): Likewise.
9520 (strcat): Likewise.
9521 (strncat): Likewise.
9522 (strcoll): Likewise.
9523 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9524 (GRUB_INT_MAX): Likewise.
9525
db7337a3
VS
95262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9529 unexpected error.
9530 (optimize_utf8): Likewise.
9531 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9532
f37c87e1
VS
95332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/boot/i386/pc/lnxboot.S: Use
9536 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9537 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9538 location.
9539 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9540 definition.
9541 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9542
63fe43f3
VS
95432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9546 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9547 now to avoid double free.
9548 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9549 hostdisk.
9550 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9551 * util/grub-probe.c (escape_of_path): Always return a new copy.
9552 (print_full_name): Escape path.
9553 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9554 Fix hints on abstractions.
9555
ebe2c961
VS
95562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9559 Don't add "root" line if no compatibility hont is available.
9560 Suggested by: Seth Goldberg.
9561
2b5336a2
VS
95622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9565 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9566 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9567 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9568
74310bd8
VS
95692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9572
c30582ba
VS
95732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * util/grub-pe2elf.c (ehdr): Make static.
9576 (shdr): Likewise.
9577 (num_sections): Likewise.
9578 (offset): Likewise.
9579
5f47782c
VS
95802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 Eliminate ofpath limits and possible overflows.
9583
9584 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9585 (OF_PATH_MAX): Removed.
9586 (MAX_DISK_CAT): New const.
9587 (find_obppath): Use allocated rather than preallocated buffer.
9588 Return result. Argument of_path removed. All users updated.
9589 Add missing fdstat.
9590 (xrealpath): New function.
9591 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9592 Allocate rather than use preallocated buffer. All users updated.
9593 (__of_path_common): Use allocated rather than preallocatecd buffer.
9594 Return result. Argument of_path removed. All users updated.
9595 (vendor_is_ATA): Read only needed part form the file.
9596 (check_sas): Allocate depending on contents rather than fixed.
9597 (main) [STANDALONE]: Handle NULL result.
9598
f990cbf9
VS
95992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9602
9c6e84b8
VS
96032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Cryptodisk write support.
9606
9607 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9608 (grub_cryptodisk_decrypt): Moved logic to ...
9609 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9610 (grub_cryptodisk_write): Implement.
9611 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9612 (grub_util_fd_write): ... this. Make global.
9613 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9614
87cf9744
VS
96152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * include/grub/list.h (grub_list_remove): Don't crash if element is
9618 removed twice.
9619
ca8c0baf
VS
96202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 Rename ofconsole to console.
9623
9624 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9625 as sysnonym to console.
9626 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9627 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9628 Rename grub_ofconsole_ to grub_console_. All users updated
9629 (grub_console_term_output): Rename "ofconsole" to "console".
9630 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9631 as "console".
9632
64c8b8f6
VS
96332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9636 handling.
9637 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9638 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9639 GRUB_DISK_DEVICE_FILE_ID.
9640
f6c434d5
VS
96412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9644 and improve performance.
9645
5858b42d
VS
96462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9649 missing ieee1275/ prefix on whole disk.
9650
4ed3c26b
VS
96512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9654 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9655
df71143e
VS
96562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9659
076e7c0f
VS
96602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 Merge common RAID and LVM logic to an abstract diskfilter.
9663 Add LDM support using the same framework.
9664
9665 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9666 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9667 (libgrubmods): Remove grub-core/disk/raid.c and
9668 grub-core/partmap/gpt.c.
9669 * grub-core/Makefile.core.def (ldm): New module.
9670 (raid): Renamed to diskfilter. All users updated.
9671 * grub-core/disk/raid.c: Moved to ...
9672 * grub-core/disk/diskfilter.c: ... here.
9673 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9674 (lv_num): New var.
9675 (find_array): Renamed to ...
9676 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9677 (grub_is_array_readable): Renamed to ...
9678 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9679 (insert_array): New argument id.
9680 (is_node_readable): New function.
9681 (scan_device): Rename to ...
9682 (scan_disk): .. this. Restrict to one disk.
9683 (scan_devices): New function.
9684 (grub_diskfilter_iterate): Support multi-LV.
9685 Skip invisible and nameless LVs.
9686 (grub_diskfilter_memberlist): Support multi-LV.
9687 (grub_diskfilter_read_node): New function.
9688 (grub_raid_read): Most of logic moved to ...
9689 (read_segment): ... here
9690 (read_lv): New function.
9691 (grub_diskfilter_get_vg_by_uuid): New function.
9692 (grub_diskfilter_make_raid): Likewise.
9693 * grub-core/disk/ldm.c: New file.
9694 * grub-core/disk/lvm.c (vg_list): Removed.
9695 (lv_count): Likewise.
9696 (scan_depth): Likewise.
9697 (is_lv_readable): Likewise.
9698 (grub_lvm_getvalue): Advance pointer past the number.
9699 (find_lv): Removed.
9700 (do_lvm_scan): Refactored into ...
9701 (grub_lvm_detect): ... this. Support raid.
9702 (grub_lvm_iterate): Removed.
9703 (grub_lvm_memberlist): Likewise.
9704 (grub_lvm_open): Likewise.
9705 (grub_lvm_close): Likewise.
9706 (read_lv): Likewise.
9707 (read_node): Likewise.
9708 (is_node_readable): Likewise.
9709 (is_lv_readable): Likewise.
9710 (grub_lvm_read): Likewise.
9711 (grub_lvm_write): Likewise.
9712 (grub_lvm_dev): Use diskfilter
9713 (GRUB_MOD_INIT): Likewise.
9714 (GRUB_MOD_FINI): Likewise.
9715 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9716 new interface.
9717 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9718 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9719 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9720 grub_diskfilter_read_node.
9721 Fix a bug with xor.
9722 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9723 grub_diskfilter_read_node.
9724 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9725 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9726 (grub_disk_dev_iterate): Move from here...
9727 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9728 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9729 Make global.
9730 (grub_hostdisk_find_partition_start): Likewise.
9731 (grub_hostdisk_os_dev_to_grub_drive): New function.
9732 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9733 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9734 * util/getroot.c (make_device_name): ... here.
9735 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9736 Move to ...
9737 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9738 * grub-core/kern/emu/hostdisk.c
9739 (convert_system_partition_to_system_disk): Move to ...
9740 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9741 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9742 * util/getroot.c (device_is_wholedisk): ... here.
9743 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9744 * util/getroot.c (find_system_device): ... here.
9745 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9746 Move to ...
9747 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9748 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9749 Move to ...
9750 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9751 Handle LDM.
9752 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9753 Move to ...
9754 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9755 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9756 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9757 DISKFILTER.
9758 * include/grub/raid.h: Renamed to ...
9759 * include/grub/diskfilter.h: ... this.
9760 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9761 (GRUB_RAID_LAYOUT_*): Make into array.
9762 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9763 (grub_diskfilter_vg): New struct.
9764 (grub_diskfilter_pv_id): Likewise.
9765 (grub_raid_member): Removed.
9766 (grub_raid_array): Likewise.
9767 (grub_diskfilter_pv): New struct.
9768 (grub_diskfilter_lv): Likewise.
9769 (grub_diskfilter_segment): Likewise.
9770 (grub_diskfilter_node): Likewise.
9771 (grub_diskfilter_get_vg_by_uuid): New proto.
9772 (grub_raid_register): Inline.
9773 (grub_diskfilter_unregister): Likewise.
9774 (grub_diskfilter_make_raid): New proto.
9775 (grub_diskfilter_vg_register): Likewise.
9776 (grub_diskfilter_read_node): Likewise.
9777 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9778 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9779 (grub_util_is_ldm): Likewise.
9780 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9781 (grub_hostdisk_find_partition_start): Likewise.
9782 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9783 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9784 New definition.
9785 (grub_gpt_partition_map_iterate): New proto.
9786 * include/grub/lvm.h (grub_lvm_vg): Removed.
9787 (grub_lvm_pv): Likewise.
9788 (grub_lvm_lv): Likewise.
9789 (grub_lvm_segment): Likewise.
9790 (grub_lvm_node): Likewise.
9791 * util/getroot.c [...]
9792 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9793 (probe_abstraction): Likewise.
9794 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9795 (main): Remove dead logic.
9796
8a7f9b9c
VS
97972012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 Simplify root device discover and don't fail when trying to open
9800 incorrect devices.
9801
9802 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9803 function.
9804 (get_diskname_from_path): Likewise.
9805 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9806 of iterating.
9807
30545b85
VS
98082012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9811
28ea58cf
VS
98122012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9815 pastthe end.
9816
692dabca
VS
98172012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * util/grub-install.in: Add missing \.
9820 Reported by: gentoofan
9821
f6e4ea70
VS
98222012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9825 (direct_read): Use correct compressed size.
9826 (grub_squash_read_data): Likewise.
9827
98282012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9829
9830 * docs/grub.texi (Platform limitations): New section.
9831 (Platform-specific operations): Likewise.
9832 * docs/grub-dev.texi (Porting): Likewise.
9833
76261110
VS
98342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 IEEE1275 disk write support.
9837
9838 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9839 const void *.
9840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9841 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9842 and seek loginc to ...
9843 (grub_ofdisk_prepare): ... here.
9844 (grub_ofdisk_write): Implement.
9845
fc36d603
VS
98462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 ARC disk write support.
9849
9850 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9851 (reopen): New argument writable. All users updated.
9852 Handle required access mode.
9853 (grub_arcdisk_write): Implement.
9854 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9855 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9856
e06c2e7a
VS
98572012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9860 (read_sblock): Don't attempt to read superblocks outside the disk size.
9861
ff447958
VS
98622012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9865 first superblock to find the second one when possible.
9866
9e88df39
VS
98672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * util/grub-install.in: Fix an ARC bug.
9870 Print a warning if no platform-specific setup is available.
9871
bb26e4ff
VS
98722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Use static allocation rather than scratch pointer in reed_solomon.
9875 It decreases its size significantly and avoids a variable in .text.
9876
9877 * grub-core/lib/reed_solomon.c (scratch): Removed.
9878 (chosenstat): New const or static array.
9879 (sigma): Likewise.
9880 (errpot): Likewise.
9881 (errpos): Likewise.
9882 (sy): Likewise.
9883 (mstat): Likewise.
9884 (errvals): Likewise.
9885 (eqstat): Likewise.
9886 (pol_evaluate): Replace x with log_x argument. All users updated.
9887 (syndroms): Removed.
9888 (gauss_solve): Use statically allocated arrays.
9889 (rs_recover): Likewise.
9890 Calculate syndroms directly.
9891 (decode_block): Use statically allocated arrays.
9892 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9893 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9894
2e13ede5
VS
98952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 Eliminate fixed limit on reed solomon decoder length.
9898
9899 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9900 rather than hardcoding the address.
9901 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9902 no_reed_solomon_length.
9903 Move gate_a20 to no-reed-solomon part.
9904 Don't force a particular size of no reed-solomon part.
9905 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9906 Removed.
9907 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9908 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9909
f8a9ab12
VS
99102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/commands/wildcard.c (match_files): Handle filenames
9913 without explicit device.
9914 (wildcard_expand): Don't add explicit device if not already present.
9915 * tests/grub_script_echo1.in: Add a new expansion test.
9916
87edb894
VS
99172012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 Replace single-linked with double-linked lists. It results in more
9920 compact and more efficient code.
9921
9922 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9923 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9924 (grub_list_remove): Moved from here ...
9925 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9926 (grub_prio_list_insert): Set prev.
9927 * include/grub/list.h (grub_list): Add prev. All users updated.
9928
48b391e9
VS
99292012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 Handle newer autotools. Add some missing quotes while on it.
9932
9933 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9934 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9935 (pkgdata_DATA): ... here.
9936 * Makefile.util.def (update-grub_lib): Removed.
9937 * conf/Makefile.common (pkglib_DATA): Removed.
9938 (pkglib_SCRIPTS): Likewise.
9939 (pkgdata_DATA): New variable.
9940 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9941 needed.
9942 Add missing quotes.
9943 Remove unused variable while on it.
9944 * tests/util/grub-shell.in: Likewise.
9945 * util/grub-install.in: Likewise.
9946 * util/grub-mkconfig.in: Likewise.
9947 * util/grub-mknetdir.in: Likewise.
9948 * util/grub-mkrescue.in: Likewise.
9949 * util/grub-mkstandalone.in: Likewise.
9950 * util/grub.d/00_header.in: Likewise.
9951 * util/grub.d/10_hurd.in: Likewise.
9952 * util/grub.d/10_illumos.in: Likewise.
9953 * util/grub.d/10_kfreebsd.in: Likewise.
9954 * util/grub.d/10_linux.in: Likewise.
9955 * util/grub.d/10_netbsd.in: Likewise.
9956 * util/grub.d/10_windows.in: Likewise.
9957 * util/grub.d/20_linux_xen.in: Likewise.
9958 * util/grub.d/30_os-prober.in: Likewise.
9959 * util/update-grub_lib.in: Removed.
9960
99612012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9962
9963 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9964 a workaround for intel problem.
9965
66832792
PRP
99662012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
99672012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
99682012-01-23 pfsmorigo
9969
9970 * util/grub-install.in: Support dd'in into PreP partition.
9971 * util/grub-probe.c (probe): Support discovering partition type.
9972 (main): Support -t msdos_parttype.
9973
7816a17e
VS
99742012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9977 infinite recursion using counter.
9978 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9979 init to skip it if the magic check fails.
9980 (dec_stream_header): Init s->crc32.
9981
8f9d3a8c
ZB
99822012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
99832012-01-22 Zachary Bedell <pendorbound@gmail.com>
99842012-01-22 Richard Laager <rlaager@wiktel.com>
9985
9986 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9987 All users updated.
9988 (find_bestub): Determine correct size.
9989 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9990 (scan_disk): Align the size down.
9991 Call check pool before find_bestub to have ashift.
9992
b055dd32
VS
99932012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9996 dprintf in no-malloc zone.
9997
d779e9bd
ML
99982012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9999
10000 * configure.ac: Add back in test for limits.h.
10001
b508af69
VS
100022012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 Support 4K-sector NTFS.
10005
10006 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10007 (grub_ntfs_data): Remove blocksize.
10008 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10009 Remove data argument. All users updated.
10010
dad9c8b5
VS
100112012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10014 being in .text to avoid dprel references.
10015 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10016 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10017 (grub_arch_highmemsize): Likewise.
10018 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10019 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10020 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10021
d43a777e
VS
100222012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10025
10026 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10027 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10028
34e4208f
VS
100292012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10032 GRUB_UTIL.
10033 (grub_set_datetime_cmos): Likewise.
10034
3ec0fc1c
VS
100352012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Make XZ compression parameters dependent on target and not host CPU.
10038
10039 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10040 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10041
22489834
VS
100422012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10045 set but not used variable.
10046
8502fbca
VS
100472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10050 created when no uuid support is compiled into mkfs.reiser.
10051
76df2068
VS
100522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10055 (utf8_to_macroman): Do the opposite.
10056 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10057
64e3f8f6
VS
100582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * configure.ac: Refise build qemu_mips w/o unifont.
10061
9c271078
VS
100622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 Eliminate grub_min/grub_max prone to overflow usage.
10065
10066 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10067 (poll_nonroot_hub): Likewise.
10068 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10069 (grub_affs_label): Likewise.
10070 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10071 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10072 (grub_hfs_label): Likewise.
10073 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10074 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10075 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10076 (zap_leaf_array_get): Likewise.
10077 (dnode_get_path): Likewise.
10078 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10079 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10080 * grub-core/script/execute.c (grub_script_break): Likewise.
10081 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10082 grub_max.
10083 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10084 * include/grub/misc.h (grub_min): Removed.
10085 (grub_max): Likewise.
10086
80662dbc
VS
100872012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10088
10089 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10090 direct.inode = 0.
10091
e6da1467
VS
100922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10095
b1ac4cb1
VS
100962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10099
b4bf7c3b
VS
101002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10103 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10104
8ee1101a
VS
101052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10108 rather than a hack for grub_strncasemap.
10109
101102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 Support multiple initrds
10113 Note: part of this was accidently committed in r3739.
10114
10115 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10116 initrd.
10117 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10118 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10119 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10120 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10121 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10122
4d1e2bc9
VS
101232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10126 disks with unknown size.
10127 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10128
75b49ebe
VS
101292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 Remove defines pertaining to arbitrary limits not affecting GRUB
10132 anymore.
10133
10134 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10135 (EXT2_MAX_SYMLINKCNT): Likewise.
10136 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10137 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10138 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10139 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10140 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10141 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10142 (DN_MAX_OBJECT_SHIFT): Likewise.
10143 (DN_MAX_OFFSET_SHIFT): Likewise.
10144 (DN_MAX_OBJECT): Likewise.
10145 (DNODES_PER_LEVEL_SHIFT): Likewise.
10146 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10147 (SPA_MAXBLOCKSIZE): Likewise.
10148 (SPA_BLOCKSIZES): Likewise.
10149 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10150 (MZAP_MAX_BLKSZ): Likewise.
10151
74a1dce7
VS
101522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10155 handle NULL appropriately.
10156 Remove MIN.
10157
30c7d3ce
VS
101582012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Fix efiemu.
10161
10162 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10163 cpu/types.h.
10164 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10165 * configure.ac: Fix efiemu check.
10166
3c76ea0c
VS
101672012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10170 grub_probe.
10171 Reported by: adamwill
10172
7e532280
SG
101732012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10174
10175 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10176
30492374
VS
101772012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 Fix handling of wide characters in gfxterm.
10180
10181 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10182 (clear_char): Likewise.
10183 (paint_char): Skip code == NULL chars.
10184 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10185
e70cb72f
VS
101862012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/normal/charset.c: Move comment to right place.
10189
5c827cf9
VS
101902012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10193 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10194 (grub_affs_mount): Revert the correct version checking.
10195
53603892
VS
101962012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * docs/grub.texi (Unicode): Mention several other unsupported features.
10199
ff094b9b
VS
102002011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10203 case statements as compile-time one.
10204 (direct_read): Prevent spurious warnings.
10205 (grub_squash_read_data): Likewise.
10206
c029da8a
VS
102072011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 Various squash4 fixes and LZO and XZ support.
10210
10211 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10212 Add xzembed source files.
10213 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10214 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10215 (grub_squash_inode): New subtype long_dir.
10216 (SQUASH_TYPE_LONG_DIR): New inode type.
10217 (COMPRESSION): New enum.
10218 (XZBUFSIZ): New const.
10219 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10220 (read_chunk): Use data->decompress.
10221 (zlib_decompress): New function.
10222 (lzo_decompress): Likewise.
10223 (xz_decompress): Likewise.
10224 (squash_mount): Set new data fields.
10225 (grub_squash_iterate_dir): Handle long dir.
10226 (squash_unmount): Free xzdec and xzbuf.
10227 (grub_squash_open): Check ino type.
10228 (direct_read): Stylistic fixes. Use data->decompress.
10229 (grub_squash_read_data): Likewise.
10230 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10231 (get_byte): Likewise.
10232 (grub_zlib_disk_read): Removed.
10233 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10234 (GRUB_POSIX_BOOL_DEFINED): New define.
10235 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10236 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10237 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10238 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10239
7a45a539
VS
102402011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 Don't override more informative errors.
10243
10244 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10245 * grub-core/font/font.c (open_section): Likewise.
10246 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10247 filename. Don't override errors.
10248 (grub_cmd_openbsd_ramdisk): Don't override errors.
10249 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10250 (grub_cmd_initrd): Likewise.
10251 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10252 (grub_cmd_initrd): Likewise.
10253 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10254 (grub_cmd_linux): Likewise.
10255 (grub_cmd_initrd): Likewise.
10256 (grub_cmd_payload): Likewise.
10257 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10258 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10259 (grub_cmd_module): Likewise.
10260 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10261 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10262 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10263 (grub_cmd_xnu_mkext): Likewise.
10264 (grub_cmd_xnu_ramdisk): Likewise.
10265 (grub_xnu_check_os_bundle_required): Likewise.
10266 (grub_xnu_load_kext_from_dir): Likewise.
10267 (grub_cmd_xnu_kextdir): Likewise.
10268 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10269
b2d004db
VS
102702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10273 as 1024 in block size field. Found on one of my test images.
10274 Small optimisation while on it.
10275
ec000eac
VS
102762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10279 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10280 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10281 performance fixes while on it.
10282 (grub_sfs_close): Fix memory leak while on it.
10283 (grub_sfs_label): Convert Latin1 to UTF-8.
10284
f50e1165
VS
102852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10288 space to avoid overflows.
10289 (grub_hfs_label): Convert from macroman to UTF-8.
10290
2ae254de
VS
102912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10294
0108f491
VS
102952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10298
f45f5f89
VS
102992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * unicode: Import Unicode 6.0 data.
10302
4d8c4765
VS
103032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10304
63fa8ef9
VS
10305 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10306 outside of range.
10307
103082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10311
10312 * include/grub/charset.h (grub_getend): New function.
10313 * grub-core/script/function.c (grub_script_function_find): Use
10314 grub_getend.
10315 * grub-core/normal/completion.c (add_completion): Likewise.
10316
f3cb4a4e
VS
103172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10320 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10321 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10322 (GRUB_UNICODE_TAG_END): Likewise.
10323 (GRUB_UNICODE_LAST_VALID): Likewise.
10324
5da8dbc5
VS
103252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10328 len and make it smaller. All users updated.
10329 * util/import_unicode.py: Put length and not end character.
10330 Check length.
10331
8569f13d
VS
103322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 Make better Unicode-compliant and unify some UTF-8 code pathes.
10335
10336 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10337 valid character.
10338 (grub_is_valid_utf8): Use grub_utf8_process.
10339 Check resulting code range.
10340 (grub_utf8_to_ucs4): Use grub_utf8_process.
10341 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10342 valid character.
10343
cc4fddf5
VS
103442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10347
bbc47747
VS
103482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * docs/grub.texi (Filesystems): Mention AFS.
10351
f63d6bf4
VS
103522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * docs/grub.texi (Filesystems): Clarify restrictions.
10355 (Regexp): Mention non-Unicode regexp behaviour.
10356 (Other): Mention non-Unicode matching behaviour.
10357
74bbf0db
VS
103582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10359
f63d6bf4 10360 Make HFS implementation use MacRoman.
74bbf0db
VS
10361
10362 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10363 (macroman): New const array.
10364 (macroman_to_utf8): New function.
10365 (utf8_to_macroman): Likewise.
10366 (grub_hfs_find_dir): Use utf8_to_macroman.
10367 (grub_hfs_dir): Use macroman_to_utf8.
10368 Set case_insensitive.
10369
4ea0316e
VS
103702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10373
d3c13cbd
VS
103742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 Integrate hints into autogeneration scripts.
10377
10378 * docs/grub.texi (Filesystems): Add a hostdisk example.
10379 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10380 (grub-probe): Add ofpath.
10381 * gentpl.py: Remove group nosparc64.
10382 * grub-core/commands/search.c (cache_entry): New struct.
10383 (cache): New var.
10384 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10385 * grub-core/commands/search_wrap.c (options): Add platform-specific
10386 hint options.
10387 (grub_cmd_search): Handle platform-specific hints.
10388 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10389 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10390 (grub_util_biosdisk_data): Likewise.
10391 (grub_util_biosdisk_open): Set device_map.
10392 (read_device_map): Handle "" as indication of no map.
10393 Set device_map.
10394 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10395 (grub_util_biosdisk_get_compatibility_hint): New function.
10396 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10397 * include/grub/emu/hostdisk.h
10398 (grub_util_biosdisk_get_compatibility_hint): New proto.
10399 * util/grub-install.in: Don't call grub-mkdevicemap.
10400 Add platform-specific hint to load.cfg.
10401 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10402 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10403 hints. Set root preliminary to compatibility hint, not to OS name.
10404 * util/grub-probe.c (PRINT_*): Add hints.
10405 (print): Make static.
10406 (escape_of_path): New function.
10407 (guess_bios_drive): Likewise.
10408 (guess_efi_drive): Likewise.
10409 (guess_baremetal_drive): Likewise.
10410 (print_full_name): Likewise.
10411 (probe): Handle hints.
10412 (main): Likewise.
10413 * util/ieee1275/devicemap.c: Removed.
10414 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10415 updated.
10416 (grub_util_devname_to_ofpath): Return NULL on failure.
10417
10418 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10419 resource leak.
10420 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10421
10422 * po/POTFILES.in: Regenerated.
10423
10424 Allow purely long options
10425
10426 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10427 (SHORT_ARG_USAGE): Likewise.
10428 (grub_arg_show_help): Compare opt with help_options.
10429 (parse_option): Receive opt as argument. If makes big simplificatons.
10430 All users updated
10431
00ce2df3
VS
104322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10435 Restructure to avoid warning.
10436
e77e325f
VS
104372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * util/grub-install.in: Account for possible escaped comma in device
10440 name.
10441
165099ea
VS
104422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10445 channel.
10446
ce4a999d
VS
104472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10450 allocation and zero-setting.
10451 (grub_ieee1275_get_devname): Check that alias is complete.
10452
379586ad
VS
104532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10456 unaligned segments.
10457
9197b0ad
VS
104582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10461 prefix.
10462 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10463 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10464 Add ieee1275 prefix.
10465
edddb7f9
VS
104662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * docs/grub.texi (Filesystems): Update.
10469
a1a8b1b9
VS
104702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 Support odc, newc and bigendian cpio formats.
10473
10474 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10475 * grub-core/Makefile.core.def (newc): New module.
10476 (odc): Likewise.
10477 (cpio_be): Likewise.
10478 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10479 (MAGIC): Likewise.
10480 (MAGIC2): Likewise.
10481 (head) [MODE_ODC]: Adapt for the format.
10482 (head) [MODE_NEWC]: Likewise.
10483 (head) [!MODE_*]: Write fields of interest as arrays.
10484 (MAGIC_USTAR): Removed.
10485 (read_number) [MODE_NEWC]: Change to hex.
10486 (read_number) [!MODE_*]: Parse binary arrays.
10487 (grub_cpio_find_file): Factor out the code for better structure and
10488 always use read_number.
10489 (grub_cpio_mount): Use MAGIC and MAGIC2.
10490 (grub_cpio_dir): Exit on first hook non-0 return.
10491 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10492 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10493 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10494 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10495 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10496 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10497 * grub-core/fs/newc.c: New file.
10498 * grub-core/fs/odc.c: Likewise.
10499 * grub-core/fs/cpio_be.c: Likewise.
10500
58eba9ee
VS
105012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 Fix handling of tar numbers occupying the whole field.
10504
10505 * grub-core/fs/cpio.c (read_number): New function.
10506 (grub_cpio_find_file): Use read_number instead of strtoull.
10507
a54a0e12
VS
105082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10511 occupying the whole field size.
10512
a6120aca
LA
105132011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10514
10515 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10516
a93964ce
VS
105172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10520
3ea1ca46
SG
105212011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10522
10523 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10524 TARGET_IMG_LDFLAGS.
10525
b87f7ef2
VS
105262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10529 (mountinfo_entry): Increase the field size to take escaping into
10530 account.
10531 (find_root_device_from_libzfs): Add one byte to size of strings for
10532 security.
10533
62092395
VS
105342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10537 an assert.
10538 * util/grub-setup.c (setup): Likewise.
10539
1f0b1a77
VS
105402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10543 _LzmaDecodeA.
10544
8eba9997
VS
105452011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * docs/grub.texi (Internationalisation): New section.
10548
dd0c91e9
VS
105492011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * docs/grub.texi (Loopback booting): New section.
10552
105532011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10554
10555 * util/grub-mkstandalone.in: Fix minor typo errors.
10556
198e150a
VS
105572011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10560
10561 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10562 net/icmp.c and net/icmp6.c.
10563 (http): New module.
10564 (priority_queue): Likewise.
10565 * grub-core/io/bufio.c: Rewritten.
10566 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10567 TYPE_WITH_CONFIGFILE_OPTION.
10568 (legacy_commands): Add bootp and dhcp.
10569 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10570 (grub_legacy_parse): Likewise.
10571 * grub-core/lib/priority_queue.c: New file.
10572 * grub-core/net/arp.c: Add missing license header.
10573 (arp_find_entry): Removed.
10574 (arp_find_entry): Likewise.
10575 (grub_net_arp_resolve): Rename to ...
10576 (grub_net_arp_send_request): ...this.
10577 (grub_net_arp_receive): New card argument.
10578 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10579 Set router and DNS server.
10580 (grub_net_configure_by_dhcp_ack): Handle routing information.
10581 (grub_cmd_bootp): Set checksum.
10582 (grub_bootp_init): Remove net_dhcp.
10583 * grub-core/net/dns.c: New file.
10584 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10585 completion.
10586 (get_card_packet): Handle allocation.
10587 (grub_efinet_findcards): Set mtu.
10588 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10589 (get_card_packet): Handle allocation.
10590 (emucard): Set mtu.
10591 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10592 (GRUB_MOD_INIT): Set mtu.
10593 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10594 mtu.
10595 (get_card_packet): Handle allocation.
10596 (grub_ofnet_findcards): Set mtu.
10597 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10598 assert.
10599 (grub_net_recv_ethernet_packet): Handle IPv6.
10600 * grub-core/net/http.c: New file.
10601 * grub-core/net/icmp.c: Likewise.
10602 * grub-core/net/icmp6.c: Likewise.
10603 * grub-core/net/ip.c (ip6addr): New type.
10604 (ip6hdr): Likewise.
10605 (reassemble): Likewise.
10606 (cmp): New function.
10607 (reassembles): New variable.
10608 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10609 (id): New variable.
10610 (send_fragmented): New function.
10611 (grub_net_send_ip_packet): Rename to ...
10612 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10613 Handle non-UDP.
10614 (grub_net_recv_ip_packets): Rename to ...
10615 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10616 (free_rsm): New function.
10617 (free_old_fragments): Likewise.
10618 (grub_net_recv_ip4_packets): New function.
10619 (grub_net_send_ip6_packet): Likewise.
10620 (grub_net_send_ip_packet): Likewise.
10621 (grub_net_recv_ip6_packets): Likewise.
10622 (grub_net_recv_ip_packets): Likewise.
10623 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10624 (LINK_LAYER_CACHE_SIZE): New const.
10625 (link_layer_find_entry): New function.
10626 (grub_net_link_layer_add_address): Likewise.
10627 (grub_net_link_layer_resolve_check): Likewise.
10628 (grub_net_link_layer_resolve): Likewise.
10629 (grub_net_ipv6_get_slaac): Likewise.
10630 (grub_net_ipv6_get_link_local): Likewise.
10631 (grub_cmd_ipv6_autoconf): Likewise.
10632 (parse_ip): Handle one number representation.
10633 (parse_ip6): New functoion.
10634 (match_net): Handle IPv6.
10635 (grub_net_resolve_address): Handle IPv6 and DNS.
10636 (grub_net_resolve_net_address): Handle IPv6.
10637 (route_cmp): New function.
10638 (grub_net_route_address): Find best route.
10639 (grub_net_addr_to_str): Handle IPv6.
10640 (grub_net_addr_cmp): New function.
10641 (grub_net_add_addr): Register local route.
10642 (print_net_address): Handle net address.
10643 (grub_net_poll_cards): Retransmit TCP.
10644 (grub_net_poll_cards_idle_real): Likewise.
10645 (have_ahead): New function.
10646 (grub_net_seek_real): Use underlying seek.
10647 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10648 * grub-core/net/tcp.c: New file.
10649 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10650 (cmp): New function.
10651 (ack): Likewise.
10652 (tftp_receive): Handle unordered input.
10653 (destroy_pq): New function.
10654 (tftp_close): Close pq.
10655 * grub-core/net/udp.c: Put missing license header.
10656 (grub_net_udp_socket): New function.
10657 (udp_socket_register): Likewise.
10658 (grub_net_udp_close): Likewise.
10659 (grub_net_recv_udp_packet): Check checksum.
10660 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10661 * include/grub/misc.h (grub_memchr): New function.
10662 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10663 (grub_net_card_driver): Return buf in recv.
10664 (grub_net_slaac_mac_list): New struct.
10665 (grub_network_level_protocol_id): Add ipv6.
10666 (grub_net_network_level_addr): Likewise.
10667 (grub_net_network_level_net_addr): Likewise.
10668 (grub_net_app_protocol): Add seek.
10669 (grub_net_socket): Removed.
10670 (grub_net_sockets): Likewise.
10671 (grub_net_socket_register): Likewise.
10672 (grub_net_socket_unregister): Likewise.
10673 (FOR_NET_SOCKETS): Likewise.
10674 (grub_net_add_addr): Add const.
10675 (GRUB_NET_BOOTP_*): New enum.
10676 (grub_net_addr_cmp): New proto.
10677 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10678 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10679 (grub_net_hwaddr_to_str): NEw proto.
10680 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10681 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10682 (grub_dns_init): New proto.
10683 (grub_dns_fini): Likewise.
10684 (grub_net_tcp_retransmit): Likewise.
10685 (grub_net_link_layer_add_address): Likewise.
10686 (grub_net_link_layer_resolve_check): Likewise.
10687 (grub_net_link_layer_resolve): Likewise.
10688 (grub_net_dns_lookup): Likewise.
10689 (grub_net_add_dns_server): Likewise.
10690 (grub_net_remove_dns_server): Likewise.
10691 (GRUB_NET_TRIES): New const.
10692 (GRUB_NET_INTERVAL): Likewise.
10693 * include/grub/net/arp.h: Mostly rewritten.
10694 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10695 * include/grub/net/ip.h: Mostly rewritten.
10696 * include/grub/net/netbuff.h: Indent.
10697 * include/grub/net/tcp.h: New file.
10698 * include/grub/net/udp.h: Mostly rewritten.
10699 * include/grub/priority_queue.h: New file.
10700 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10701 (grub_swap_bytes64_compile_time): Likewise.
10702 (grub_cpu_to_be16_compile_time): Likewise.
10703 (grub_cpu_to_be32_compile_time): Likewise.
10704 (grub_cpu_to_be64_compile_time): Likewise.
10705 (grub_be_to_cpu64_compile_time): Likewise.
10706
215c1800
VS
107072011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10710 UINT_TO_PTR with cast.
10711
c17e546c
VS
107122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10715 don't use them.
10716
ff6b18b6
VS
107172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10720 already there.
10721
70ffcc93
VS
107222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10725 confusing ipxe.
10726
e5f4d260
VS
107272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10730 Add missing const attribute.
10731 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10732 Likewise.
10733 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10734 Likewise.
10735
8e54b4b7
VS
107362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10739 misaligned access.
10740 (serpent_setkey): Likewise.
10741 (serpent_encrypt_internal): Likewise.
10742 (serpent_decrypt_internal): Likewise.
10743 (serpent_encrypt): Don't put an alignment-increasing cast.
10744 (serpent_decrypt): Likewise.
10745 (serpent_test): Likewise.
10746
813c0a2b
VS
107472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10750
f2b60fbd
VS
107512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10754
10755 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10756 grub_addr_t casts.
10757 (PTR_TO_UINT64): Likewise.
10758 (PTR_TO_UINT32): Likewise.
10759
5ef5c511
VS
107602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10763 because of stack.
10764 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10765 limit.
10766
c476e6df
VS
107672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10770 text_width > available width a bit more gracefully.
10771
384ad7cc
VS
107722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10775 current address calculation.
10776
96f8caf8
VS
107772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10780 stack.
10781 (encode_block): Likewise.
10782
276b7a8b
VS
107832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10786 certainety.
10787
e3fd394a
VS
107882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10791 non-RS part to avoid RS messing with GDT.
10792 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10793 Increase to suit in realmode routines.
10794
107952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/kern/i386/realmode.S: Increase alignment.
10798 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10799
ee9c2e7a
VS
108002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10803 be deterministic.
10804 (syndroms): Compute 0 syndrom.
10805 (rs_recover): Use 0 syndrom.
10806
7a7f7cc9
VS
108072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10810
a14b16d1
VS
108112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10814 brackets.
10815
9f59e9fc
VS
108162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10817
ca1b552c
VS
10818 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10819 account.
10820 (get_top_pad): Likewise.
10821 (get_right_pad): Likewise.
10822 (get_bottom_pad): Likewise.
10823
108242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10827
e739d698
VS
108282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10831 attribute as the structure isn't guaranteed to be properly aligned.
10832 (grub_efi_pci_device_path): Likewise.
10833 (grub_efi_pccard_device_path): Likewise.
10834 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10835 specify the size of `memory_type'.
10836 (grub_efi_vendor_device_path): Likewise.
10837 (grub_efi_controller_device_path): Likewise.
10838 (grub_efi_acpi_device_path): Likewise.
10839 (grub_efi_expanded_acpi_device_path): Likewise.
10840 (grub_efi_atapi_device_path): Likewise.
10841 (grub_efi_scsi_device_path): Likewise.
10842 (grub_efi_fibre_channel_device_path): Likewise.
10843 (grub_efi_1394_device_path): Likewise.
10844 (grub_efi_usb_device_path): Likewise.
10845 (grub_efi_usb_class_device_path): Likewise.
10846 (grub_efi_i2o_device_path): Likewise.
10847 (grub_efi_mac_address_device_path): Likewise.
10848 (grub_efi_ipv4_device_path): Likewise.
10849 (grub_efi_ipv6_device_path): Likewise.
10850 (grub_efi_infiniband_device_path): Likewise.
10851 (grub_efi_uart_device_path): Likewise.
10852 (grub_efi_vendor_messaging_device_path): Likewise.
10853 (grub_efi_hard_drive_device_path): Likewise.
10854 (grub_efi_cdrom_device_path): Likewise.
10855 (grub_efi_vendor_media_device_path): Likewise.
10856 (grub_efi_file_path_device_path): Likewise.
10857 (grub_efi_protocol_device_path): Likewise.
10858 (grub_efi_piwg_device_path): Likewise.
10859 (grub_efi_bios_device_path): Likewise.
10860
cb8f88ea
VS
108612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10864 (grub_ucs4_to_utf8_alloc): Likewise.
10865 (grub_ucs4_to_utf8): Likewise.
10866 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10867 (grub_ucs4_to_utf8_alloc): Likewise.
10868
309e5352
VS
108692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 AFFS never uses unicode.
10872
10873 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10874 (grub_latin1_to_utf8): New inline function.
10875 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10876
e7987e1b
VS
108772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10880 overflow.
10881
efc2616e
VS
108822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10885 (grub_squash_dirent_header): Likewise.
10886 (read_chunk): Don't double swap.
10887 (grub_squash_iterate_dir): Fix swap sizes.
10888
3c349f5a
VS
108892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10892
b453412d
VS
108932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10896 (grub_hfs_iterate_dir): Likewise.
10897
12e9d4d1
VS
108982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Fix video on platforms where unaligned access is forbidden.
10901 Make several optimisations while on it.
10902
10903 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10904 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10905 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10906 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10907 Disable.
10908 (grub_video_fbblit_replace_16bit_1bit):
10909 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10910 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10911 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10912 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10913 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10914 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10915 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10916 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10917 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10918 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10919 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10920 (grub_video_fbblit_replace_index_RGB888): Likewise.
10921 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10922 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10923 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10924 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10925 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10926 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10927 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10928 Disable.
10929 (grub_video_fbblit_blend_XXX565_1bit):
10930 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10931 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10932 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10933 void *.
10934 * grub-core/video/fb/video_fb.c (common_blitter)
10935 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10936 (grub_video_fb_create_render_target_from_pointer)
10937 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10938 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10939 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10940 definition.
10941 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10942
ace96609
VS
109432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10946 HH22 and HM10 relocations.
10947
fd261d73
VS
109482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10951
e59b7857
VS
109522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10955 allocation succeeded.
10956
9b4baaa4
VS
109572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10958
10959 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10960 argument a u8 pointer. All users updated.
10961 Handle unaligned buffers.
10962
dc713193
VS
109632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10966 add_part to workaround compiler bug.
10967
30dd48c2
VS
109682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10971
0c6087a8
VS
109722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10975 Reserve alignment invariants.
10976 (grub_multiboot_load): Likewise.
10977 (retrieve_video_parameters): Likewise.
10978 (grub_multiboot_make_mbi): Likewise.
10979
c2e77777
VS
109802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10983 incorrect pointer.
10984
b70b6d11
VS
109852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10988 (grub_pata_pio_write): Likewise.
10989
02a2bf83
VS
109902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Add noreturn attributes and remove unreachable code.
10993
10994 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10995 code.
10996 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10997 code. Mark as noreturn.
10998 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10999 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11000 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11001 unreachable code.
11002 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11003 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11004 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11005 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11006 * include/grub/kernel.h (grub_main): Mark as noreturn.
11007 * include/grub/reader.h (grub_rescue_run): Likewise.
11008
2019d09e
VS
110092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11012 redundant declaration.
11013
d1c501ee
VS
110142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11017 redundant declaration.
11018 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11019
61664420
VS
110202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11023 to ensure alignment.
11024 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11025 alignment. Ensure tmp alignment.
11026 (grub_cmd_hdparm): Ensure buf alignment.
11027 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11028 to ensure alignment.
11029 (grub_ata_dumpinfo): Ensure text alignment.
11030 (grub_atapi_identify): Preserve alignment invariant.
11031 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11032
0d51ee20
VS
110332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11036 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11037 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11038 * include/grub/misc.h (grub_reboot)
11039 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11040 (grub_halt) [__mips__]: Likewise.
11041
753ef8c1
VS
110422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11045 Remove redundant declaration.
11046 (grub_mmap_get_post64): Likewise.
11047 (grub_mmap_get_upper): Likewise.
11048 (grub_mmap_get_lower): Likewise.
11049
85c85365
VS
110502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11053 uint32_t * to ensure alignment.
11054 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11055
a23f2cc4
VS
110562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11057
93018f64
VS
11058 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11059 uint16_t * to ensure alignment.
11060 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11061 alignment.
11062
110632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11066 to ensure alignment.
11067 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11068
58acccd6
VS
110692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11072 Handle unaligned pointers.
11073 (u32at): Likewise.
11074 (u64at): Likewise.
11075 (fixup): Use byte access instead of v16at.
11076 (find_attr): Fix imporper usage of v32at.
11077 (read_data): Likewise.
11078 (list_file): Handle byte-swapping and unaligned strings.
11079 (grub_ntfs_label): Likewise.
11080
9b05cad7
VS
110812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11084 as it's not necessarily aligned.
11085
b3950b84
VS
110862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11089 redundant declaration.
11090 (grub_serial_init): Likewise.
11091 (grub_terminfo_init): Likewise.
11092
fcd232b7
VS
110932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11096 function.
11097 (ZAP_HASH_IDX): Likewise.
11098 (ZAP_LEAF_HASH_SHIFT): Likewise.
11099 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11100 (LEAF_HASH): Likewise.
11101 (ZAP_LEAF_NUMCHUNKS): Likewise.
11102 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11103 alignment invariants. Return pointer. All users updated.
11104 (ZAP_LEAF_ENTRY): Make into inline function.
11105 (NBBY): Removed.
11106 (xor): LIkewise.
11107 (xor_out): Use grub_crypto_xor.
11108 (dnode_get_path): Use grub_get_unaligned.
11109 (nvlist_find_value): Likewise.
11110 (grub_zfs_nvlist_lookup_uint64): Likewise.
11111 (grub_zfs_nvlist_lookup_string): Likewise.
11112 (get_nvlist_size): Likewise.
11113 (grub_zfs_open): Likewise.
11114 (fill_fs_info): Likewise.
11115 (grub_zfs_dir): Likewise.
11116 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11117 alignment invariants.
11118 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11119 necessarily aligned.
11120
f138623a
VS
111212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11124
564840dc
VS
111252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11128 arithmetic to conserve alignment invariants.
11129
9b40df20
VS
111302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11133 redundant declaration.
11134 (grub_efiemu_mm_obtain_request): Likewise.
11135 (grub_efiemu_prepare): Likewise.
11136
d1c930f9
VS
111372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11140 to match types.
11141
4c5f3056
VS
111422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11145 case of aunaligned recptr.
11146 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11147 alignment.
11148 (grub_hfsplus_btree_search): Handle unaligned index.
11149
728cba91
VS
111502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11153 to get freetag and skip.
11154
eb561f31
VS
111552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11158 array.
11159 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11160 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11161
20993fbb
VS
111622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11165 name for checksum and fix allocation algorithm.
11166
1f313b94
VS
111672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * include/grub/types.h (grub_properly_aligned_t): New type.
11170 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11171 (grub_get_unaligned16): Add explicit casts.
11172 (grub_get_unaligned32): Likewise.
11173 (grub_get_unaligned64): Likewise.
11174 (grub_set_unaligned16): New function.
11175 (grub_set_unaligned32): Likewise.
11176
47ae27ec
VS
111772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11180
78c2cd1c
VS
111812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11184 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11185 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11186
53072f9b
VS
111872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11190 conditionals.
11191
055dc239
VS
111922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11195 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11196
496bd074
VS
111972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 Unify and improve RAID and crypto xor.
11200
11201 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11202 changed to grub_crypto_xor
11203 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11204 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11205 Use bigger types when possible.
11206
ef6e4335
VS
112072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/disk/raid.c (scan_devices): Fix condition.
11210
5d048bf2
VS
112112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11214 Make name a const ptr.
11215
ee533335
VS
112162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11219 first argument a const pointer.
11220 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11222 proto.
11223 (grub_children_iterate): Likewise.
11224 (grub_machine_mmap_iterate): Remove redundant declaration.
11225
cc8f3668
VS
112262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11229 (grub_cmd_acpi) [!x86]: Disable EBDA.
11230
c5fc563a
VS
112312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 Enable UTF8 in gnulib regexp.
11234
11235 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11236 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11237 (isupper): Use grub_isupper.
11238 (isascii): New inline function.
11239 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11240 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11241 * grub-core/normal/charset.c (grub_utf8_process): New function.
11242 (grub_utf8_to_utf16): Use grub_utf8_process.
11243 (grub_encode_utf8_character): New function.
11244 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11245 * include/grub/charset.h (grub_utf8_process): New declaration.
11246 (grub_encode_utf8_character): Likewise.
11247 * include/grub/misc.h (grub_islower): New inline function.
11248 (grub_isupper): Likewise.
11249 (grub_strchrsub): Moved down to fix the definitions.
11250
0af2346f
VS
112512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11254 specification.
11255
74dbd244
VS
112562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * include/grub/loader.h (grub_loader_register_preboot_hook):
11259 Use struct preboot * and not void * for handle. All users updated.
11260 (grub_loader_unregister_preboot_hook): Likewise.
11261
1bc8f60d
VS
112622011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11265 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11266 UTF-16-BE. All users updated.
11267 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11268 (grub_hfsplus_iterate_dir): Likewise.
11269 (grub_hfsplus_label): Likewise.
11270
48d6e456
VS
112712011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11274
bf3a3857
VS
112752011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 Add missing const qualifiers.
11278
11279 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11280 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11281 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11282 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11283 (grub_lvm_check_flag): Likewise.
11284 * grub-core/efiemu/i386/coredetect.c
11285 (grub_efiemu_get_default_core_name): Likewise
11286 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11287 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11288 * grub-core/fs/ntfs.c (fixup): Likewise.
11289 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11290 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11291 (fzap_lookup): Likewise.
11292 (zap_lookup): Likewise.
11293 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11294 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11295 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11296 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11297 (grub_freebsd_add_meta_module): Likewise.
11298 (grub_cmd_freebsd_module): Likewise.
11299 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11300 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11301 (grub_xnu_writetree_get_size): Likewise.
11302 (grub_xnu_writetree_toheap_real): Likewise.
11303 (grub_xnu_find_key): Likewise.
11304 (grub_xnu_create_key): Likewise.
11305 (grub_xnu_create_value): Likewise.
11306 (grub_xnu_register_memory): Likewise.
11307 (grub_xnu_check_os_bundle_required): Likewise.
11308 (grub_xnu_scan_dir_for_kexts): Likewise.
11309 (grub_xnu_load_kext_from_dir): Likewise.
11310 * grub-core/normal/color.c (color_list): Likewise.
11311 * grub-core/normal/completion.c (current_word): Likewise.
11312 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11313 * grub-core/term/serial.c (grub_serial_find): Likewise.
11314 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11315 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11316 Likewise.
11317 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11318 (grub_freebsd_add_meta_module): Likewise.
11319 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11320 * include/grub/net.h (grub_net_card_driver): Likewise.
11321 (grub_net_card): Likewise.
11322 (grub_net_app_protocol): Likewise.
11323 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11324 * include/grub/serial.h (grub_serial_find): Likewise.
11325 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11326 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11327 (grub_xnu_create_value): Likewise.
11328 (grub_xnu_find_key): Likewise.
11329 (grub_xnu_scan_dir_for_kexts): Likewise.
11330 (grub_xnu_load_kext_from_dir): Likewise.
11331
11332 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11333 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11334 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11335 Moved from here ...
11336 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11337
112b4837
CW
113382011-11-28 Colin Watson <cjwatson@ubuntu.com>
11339
11340 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11341
49e891ac
VS
113422011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11345 (read_device): Fix size calculation.
11346
fd258e5c
RM
113472011-11-25 Robert Millan <rmh@gnu.org>
11348
11349 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11350 (find_root_device_from_libzfs): Add zpool output parser to be used
11351 as fallback when libzfs isn't available.
11352
78845dc2
SG
113532011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11354
11355 * po/Makefile.in.in: Add missing escape-continuation.
11356
adac5211
VS
113572011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11360
10b64f1c
VS
113612011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11364
bb416954
VS
113652011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11368
bdfe9eeb
VS
113692011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11372
581ffa8a
VS
113732011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/lib/adler32.c: Add missing license specification.
11376 * grub-core/lib/crc64.c: Likewise.
11377 * grub-core/loader/i386/pc/plan9.c: Likewise.
11378 * grub-core/partmap/plan.c: Likewise.
11379
2536cf64
LK
113802011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11381
11382 Add facility to debug GRUB with gdb under qemu.
11383
11384 * grub-core/gdb_grub.in: New file.
11385 * grub-core/gmodule.pl.in: Likewise.
11386 * grub-core/Makefile.core.def (gmodule.pl): New script.
11387 (gdb_grub): Likewise.
11388
bc108a4a
VS
113892011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * util/grub-mount.c (argp_parser): Accept relative pathes.
11392 * util/grub-fstest.c (argp_parser): Likewise.
11393
111c1778
VS
113942011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 Plan9 support.
11397
11398 * Makefile.util.def (libgrubmods): Add
11399 grub-core/partmap/plan.c.
11400 * docs/grub.texi: Notice Plan9 support.
11401 * grub-core/Makefile.core.def (plan9): New module.
11402 (part_plan): Likewise.
11403 * grub-core/loader/i386/pc/plan9.c: New file.
11404 * grub-core/partmap/plan.c: Likewise.
11405 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11406 define.
11407 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11408 * include/grub/mm.h (grub_extend_alloc): New inline function.
11409
c30be3b6
VS
114102011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Make Reed-Solomon faster by using power of generator representation of
11413 GF(256)*.
11414
11415 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11416 (gf_double_t): Likewise.
11417 (gf_invert): Removed.
11418 (gf_powx): New array.
11419 (gf_powx_inv): Likewise.
11420 (scratch): Move higher.
11421 (gf_reduce): Removed.
11422 (gf_mul): Use powx.
11423 (gf_invert): Likewise.
11424 (init_inverts): Replaced with ...
11425 (init_powx): ...this. All users updated.
11426 (pol_evaluate): Replace multiplications with additions.
11427 (rs_encode): Likewise.
11428 (gauss_eliminate): Call gf_invert.
11429 (grub_reed_solomon_add_redundancy): Call init_powx.
11430 (grub_reed_solomon_recover): Call init_powx unconditionally.
11431
fa5aeffc
VS
114322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11435
a346b81c
VS
114362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11439 disk->partiton for safety.
11440
d89ee414
VS
114412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11444 Fix a memory leak.
11445 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11446
91ee7b6d
VS
114472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11450
91e5a33d
VS
114512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11454
9edd7be2
VS
114552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Fix spaces handling in proc/self/mountinfo.
11458
11459 * util/getroot.c (unescape): New function.
11460 (grub_find_root_device_from_mountinfo): Use unescape.
11461
ba102053
VS
114622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Support ZFS embedding.
11465
11466 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11467 (grub_zfs_fs): Register grub_zfs_embed.
11468
aa94b870
VS
114692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 Fix MIPS compilation.
11472
11473 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11474 * include/grub/offsets.h: Rename decompressor fields from
11475 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11476 * util/grub-mkimage.c (image_targets): Use new names.
11477
5fbdac14
VS
114782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 Defer multiboot device parsing until we're in compressed part.
11481
11482 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11483 bsd_part. setdevice has fallen into disuse.
11484 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11485 (bsd_part): Likewise.
11486 (boot_dev): New variable.
11487 (multiboot_trampoline): Don't parse multiboot device.
11488 Pass multiboot device in %edx.
11489 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11490 grub_boot_device.
11491 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11492 Likewise.
11493 * grub-core/kern/i386/pc/startup.S: Save edx.
11494 (grub_boot_drive): Removed.
11495 (grub_install_dos_part): Likewise.
11496 (grub_install_bsd_part): Likewise.
11497 (grub_boot_device): New variable.
11498 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11499 (grub_install_bsd_part): Likewise.
11500 (grub_boot_drive): Likewise.
11501 (grub_boot_device): New variable.
11502 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11503 Removed.
11504 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11505 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11506 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11507 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11508 * util/grub-install.in: Remove redundant condition.
11509
691cbb58
VS
115102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 Fix bug introduced by previous commit.
11513
11514 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11515
60240b8b
VS
115162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 Use decompressors framework on i386-pc. It increases core size
11519 by 46 bytes but improves compatibility and maintainability.
11520
11521 * grub-core/Makefile.core.def (lzma_decompress): New image.
11522 (kernel): Add i386_pc_ldflags.
11523 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11524 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11525 to real_to_prot, prot_to_real and device info.
11526 * include/grub/offsets.h: Renamed decompressor offsets.
11527 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11528 (image_target_desc): Remove raw_size and rename decompressor fields.
11529 (compress_kernel): Handle lzma.
11530 (generate_image): Handle decompressors on i386-pc.
11531
e9d3421c
VS
115322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * configure.ac: Add -fno-asynchronous-unwind-tables.
11535
2b23074a
VS
115362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Move assembly code to C by using intwrap. It increases core size
11539 by 88 bytes but improves compatibility and maintainability.
11540
11541 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11542 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11543 ... here. Translated to C.
11544 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11545 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11546 ... here. Translated to C.
11547 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11548 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11549 ... here. Translated to C.
11550 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11551 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11552 ... here. Translated to C.
11553 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11554 * grub-core/term/i386/pc/console.c (grub_console_cls):
11555 ... here. Translated to C.
11556 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11557 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11558 ... here. Translated to C.
11559 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11560 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11561 Translated to C.
11562 * grub-core/term/i386/pc/console.c (int10_9): New function.
11563 (grub_console_putchar): Likewise.
11564 * include/grub/i386/pc/console.h: Removed the not anymore shared
11565 functions.
11566
678f4b67
VS
115672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 Move grub_chainloader_real_boot out of the kernel.
11570
11571 * grub-core/Makefile.am: Remove machine/loader.h.
11572 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11573 Removed.
11574 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11575 variable.
11576 (grub_relocator16_keep_a20_enabled): Likewise.
11577 (grub_relocator16_boot): Fill new variables.
11578 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11579 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11580 relocator.
11581 (grub_chainloader_unload): Likewise.
11582 (grub_chainloader_cmd): Likewise.
11583 * include/grub/i386/pc/loader.h: Removed.
11584 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11585 and esi. All initialisers updated.
11586
4626edf6
VS
115872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
115882011-11-12 Colin Watson <cjwatson@ubuntu.com>
11589
11590 * Makefile.util.def (grub-mount): New util.
11591 * .bzrignore: Add grub-mount.
11592 * configure.ac: Check for fuse and enable grub-mount if available.
11593 * docs/man/grub-mount.h2m: New file.
11594 * util/grub-mount.c: Likewise.
11595
10f0117b
VS
115962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * grub-core/commands/efi/fixvideo.c: Gettextize.
11599 * grub-core/commands/hashsum.c: Likewise.
11600 * grub-core/commands/i386/cmostest.c: Likewise.
11601 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11602 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11603 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11604 * grub-core/commands/lsmmap.c: Likewise.
11605 * grub-core/commands/menuentry.c: Likewise.
11606 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11607 * grub-core/commands/setpci.c: Likewise.
11608 * grub-core/loader/i386/bsd.c: Likewise.
11609 * grub-core/loader/i386/linux.c: Likewise.
11610 * util/getroot.c: Likewise.
11611 * util/grub-editenv.c: Likewise.
11612 * util/grub-fstest.c: Likewise.
11613 * util/grub-mkfont.c: Likewise.
11614 * util/grub-mkimage.c: Likewise.
11615 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11616 * util/grub-pe2elf.c: Likewise.
11617 * util/grub-probe.c: Likewise.
11618 * util/grub-setup.c: Likewise.
11619 * util/ieee1275/ofpath.c: Likewise.
11620 * util/misc.c: Likewise.
11621 * util/raid.c: Likewise.
11622
566f779b
RM
116232011-11-11 Robert Millan <rmh@gnu.org>
11624
11625 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11626 __attribute__((unused)) from `os_dev', which *is* being used.
11627
b50787de
VS
116282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11631 forgotten define.
11632 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11633 GRUB_IA64_DL_GOT_ALIGN.
11634 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11635 GRUB_IA64_DL_TRAMP_ALIGN.
11636
119d11c8
VS
116372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 Replace grub_fatal with normal errors in i386 linux loader.
11640
11641 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11642 (allocate_pages): Check find_efi_mmap_size return value.
11643 (grub_e820_add_region): Return error.
11644 (grub_linux_boot): Check mmap return value.
11645
6e0632e2
VS
116462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/commands/acpihalt.c: Gettextized.
11649 * grub-core/commands/cacheinfo.c: Likewise.
11650 * grub-core/commands/cmp.c: Likewise.
11651 * grub-core/commands/efi/loadbios.c: Likewise.
11652 * grub-core/commands/gptsync.c: Likewise.
11653 * grub-core/commands/ieee1275/suspend.c: Likewise.
11654 * grub-core/commands/legacycfg.c: Likewise.
11655 * grub-core/commands/memrw.c: Likewise.
11656 * grub-core/commands/minicmd.c: Likewise.
11657 * grub-core/commands/parttool.c: Likewise.
11658 * grub-core/commands/time.c: Likewise.
11659 * grub-core/commands/videoinfo.c: Likewise.
11660 * grub-core/disk/geli.c: Likewise.
11661 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11662 * grub-core/disk/luks.c: Likewise.
11663 * grub-core/disk/lvm.c: Likewise.
11664 * grub-core/font/font_cmd.c: Likewise.
11665 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11666 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11667 * grub-core/gfxmenu/view.c: Likewise.
11668 * grub-core/kern/emu/hostdisk.c: Likewise.
11669 * grub-core/kern/emu/main.c: Likewise.
11670 * grub-core/kern/emu/misc.c: Likewise.
11671 * grub-core/kern/emu/mm.c: Likewise.
11672 * grub-core/kern/mips/arc/init.c: Likewise.
11673 * grub-core/kern/mips/loongson/init.c: Likewise.
11674 * grub-core/kern/partition.c: Likewise.
11675 * grub-core/lib/i386/halt.c: Likewise.
11676 * grub-core/lib/mips/arc/reboot.c: Likewise.
11677 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11678 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11679 * grub-core/loader/i386/xnu.c: Likewise.
11680 * grub-core/loader/multiboot.c: Likewise.
11681 * grub-core/net/bootp.c: Likewise.
11682 * grub-core/net/net.c: Likewise.
11683 * grub-core/normal/term.c: Likewise.
11684 * grub-core/partmap/bsdlabel.c: Likewise.
11685 * grub-core/parttool/msdospart.c: Likewise.
11686 * grub-core/term/gfxterm.c: Likewise.
11687 * grub-core/term/terminfo.c: Likewise.
11688 * grub-core/video/i386/pc/vbe.c: Likewise.
11689 * util/grub-menulst2cfg.c: Likewise.
11690 * util/grub-mkdevicemap.c: Likewise.
11691 * util/grub-mklayout.c: Likewise.
11692 * util/grub-mkrelpath.c: Likewise.
11693 * util/grub-script-check.c: Likewise.
11694 * util/ieee1275/grub-ofpathname.c: Likewise.
11695 * util/resolve.c: Likewise.
11696
073aa7a9
VS
116972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 Support %1$d syntax.
11700
11701 * tests/printf_unit_test.c: New file.
11702 * Makefile.util.def (printf_test): New test.
11703 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11704
c76b5417
VS
117052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11708 fix.
11709
df067ad1
VS
117102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11713 dprintf.
11714 * grub-core/font/font.c (grub_font_load): Likewise.
11715
5b289bc5
VS
117162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * util/grub-macho2img.c: Add comment concerning gettext.
11719 * grub-core/lib/legacy_parse.c: Likewise.
11720
c1860f87
VS
117212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11724 (grub_xvasprintf): Likewise.
11725
d35d0d37
VS
117262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 Add const keyword to grub_env_get and gettextize week days.
11729
11730 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11731 (grub_read_hook_datetime): Return const char *.
11732 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11733 updated.
11734 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11735 Mark for gettext.
11736 (grub_get_weekday_name): Return const char *. Call gettext.
11737 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11738 char * and len as the argument. All users updated.
11739 (grub_script_argv_split_append): Receive const char *.
11740 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11741 * include/grub/env.h (grub_env_get): Likewise.
11742 (grub_env_read_hook_t): Return const char *.
11743 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11744 (grub_script_argv_split_append): Likewise.
11745
9aed8a71
VS
117462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11749
067fdf00
VS
117502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11753 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11754
a8bd9d39
VS
117552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11758 Fix prototype.
11759
f7ce5baf
VS
117602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 Fix mips compilation.
11763
11764 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11765 normal decoder.
11766 (hashes): Use in embed decoder as well (for sizes).
11767 (dec_stream_header): Fix embed decompressor logic.
11768 (dec_stream_footer): Likewise.
11769
9bb182f3
VS
117702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11773 an error and not a fatal on unrecognised relocation types.
11774
63a9e6f6
VS
117752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11778 Issue error rather than printf on unknown arguments.
11779
4c458569
VS
117802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11783 Make buf a const.
11784
e2d22baf
VS
117852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11788 Fix module name.
11789
53dc8590
VS
117902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11793 leftover debug printf.
11794
6c189294
VS
117952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11798
f7688369
VS
117992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11802 A stylistic fix.
11803
11a775a3
VS
118042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11807
33f784e8
SL
118082011-11-10 Shea Levy <slevy@tieronedesign.com>
11809
11810 Allow all modules to perform serial IO
11811
11812 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11813 * include/grub/serial.h (grub_serial_port_configure): New inline
11814 function.
11815 (grub_serial_port_fetch): Likewise.
11816 (grub_serial_port_put): Likewise.
11817 (grub_serial_port_fini): Likewise.
11818 (grub_serial_find): New proto.
11819
f6276525
VS
118202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 Put symlink at the end of the node and fix a potential
11823 memory corruption.
11824
11825 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11826 Make symlink into an array.
11827 (set_rockridge): Set have_symlink and alloc_dirents.
11828 (grub_iso9660_read_symlink): Use new layout.
11829 (grub_iso9660_iterate_dir): Fix memory corruption.
11830 Use new layout.
11831 (grub_iso9660_dir): Set have_symlink.
11832 (grub_iso9660_open): Likewise.
11833
c3591189
VS
118342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 Remove local keyword.
11837
11838 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11839 (version_test_gt): Likewise.
11840 (version_find_latest): Likewise.
11841 (gettext_printf): Likewise.
11842 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11843
cb544caa
VS
118442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11847
45bd824d
VS
118482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Fix ZFS memory and resource leaks.
11851
11852 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11853 All users updated.
11854 Free type on exit.
11855 (fill_vdev_info): New parameter inserted. All users updated.
11856 (check_pool_label): Likewise.
11857 (scan_disk): Likewise.
11858 (scan_devices): Close non-inserted disks.
11859 (fzap_iterate): Free l.
11860 (unmount_device): Free children descripto memory.
11861
ad9a2f44
VS
118622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11865 argument (access out of bounds).
11866
6b68db81
VS
118672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11870 >= 6 drives.
11871
28840fda
VS
118722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11875 Fix declaration.
11876
8a5a3a5b
VS
118772011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Fix several memory leaks.
11880
11881 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11882 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11883 (grub_cpio_dir): Likewise.
11884 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11885 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11886 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11887 (grub_romfs_label): Likewise.
11888 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11889 (squash_unmount): New function.
11890 (grub_squash_dir): Fix memory leak.
11891 (grub_squash_open): Likewise.
11892 (grub_squash_read): Likewise.
11893 (grub_squash_mtime): Likewise.
11894 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11895 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11896 * util/grub-fstest.c (fstest): Likewise.
11897
57b01250
VS
118982011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11901 avoid accessing beyond the array.
11902
19e81ba7
VS
119032011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11906
52b656c0
VS
119072011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 Several AFFS fixes.
11910
11911 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11912 (GRUB_AFFS_FLAG_FFS): Removed.
11913 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11914 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11915 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11916 (grub_fshelp_node): Make block 32-bit.
11917 Add block_cache and last_block_cache.
11918 (grub_affs_read_block): Fill and use block cache.
11919 (grub_affs_read_file): Removed.
11920 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11921 boot block.
11922 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11923 safety.
11924 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11925 space.
11926 (grub_affs_close): Free block cache.
11927 (grub_affs_read): Use grub_fshelp_read_file directly.
11928
438a746a
VS
119292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11932 with no error set.
11933
49a45021
VS
119342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11937 used variable.
11938 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11939 Likewise.
11940
3ae17eb8
VS
119412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11944
11945 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11946 byteswap when needed.
11947
27610c38
VS
119482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 Fix FreeBSD compilation.
11951
11952 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11953 to avoid circular dependency.
11954 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11955 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11956 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11957
4a19b601
VS
119582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Fix ZFS crypto error types.
11961
11962 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11963 (grub_gcm_decrypt): Likewise.
11964 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11965 from PBKDF2.
11966
958ee221
VS
119672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 Illumos support.
11970
11971 * Makefile.util.def (10_illumos): New script.
11972 * configure.ac: Set COND_HOST_ILLUMOS.
11973 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11974 Support Illumos calls.
11975 (find_partition_start) [__sun__]: Likewise.
11976 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11977 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11978 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11979 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11980 device.
11981 * util/grub-probe.c (probe) [__sun__]: Do character check.
11982 * util/grub.d/10_illumos.in: New file.
11983
cac14fb6
VS
119842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Support escaped commas in hostdisk.
11987
11988 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11989 (find_grub_drive): Use unescape_cmp.
11990 (make_device_name): Escape commas.
11991
78e08dc3
VS
119922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11995
9f421dd1
VS
119962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11999 variable.
12000
ed64e9e2
VS
120012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Support trampoline jumps on powerpc.
12004
12005 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12006 __ia64__ path.
12007 (grub_dl_load_segments): Set mod->sz.
12008 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12009 segments.
12010 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12011 (jump): Likewise.
12012 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12013 function.
12014 (trampoline): New struct.
12015 (trampoline_template): New const.
12016 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12017 * include/grub/dl.h (grub_dl): Add sz element.
12018 [__powerpc__]: Follow __ia64__.
12019 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12020 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12021 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12022 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12023
3084ede4
VS
120242011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 ZFS crypto support.
12027
12028 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12029 * grub-core/Makefile.core.def (zfscrypt): New module.
12030 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12031 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12032 it. All users updated.
12033 (grub_zfs_decrypt): New var.
12034 (grub_zfs_load_key): Likewise.
12035 (zio_checksum_functions): Add SHA256+MAC.
12036 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12037 (zio_read): Handle encrypted blocks.
12038 (zap_verify): Remove incorrect check.
12039 (fzap_iterate): Handle non-standard fzap.
12040 (zap_iterate): Likewise.
12041 (zap_iterate_u64): New function.
12042 (dnode_get_fullpath): Load keys.
12043 * grub-core/fs/zfs/zfscrypt.c: New file.
12044 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12045 (grub_crypto_ecb_encrypt): Make input const.
12046 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12047 (grub_crypto_ecb_encrypt): Make input const.
12048 (GRUB_CIPHER_AES): New macro.
12049 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12050 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12051 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12052 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12053 prefix. All users updated.
12054 (grub_zfs_add_key): New proto.
12055 (grub_zfs_decrypt): Likewise.
12056 (grub_zfs_load_key): Likewise.
12057 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12058 * util/grub-fstest.c (options): Add -K option.
12059 (argp_parser): Likewise.
12060
b632b404
VS
120612011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 Support zle compression on ZFS.
12064
12065 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12066 (decomp_table): Add zle.
12067 * include/grub/zfs/zio.h (zio_compress): Add zle.
12068
c7ba4f69
VS
120692011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 Support BtrFS embedding.
12072
12073 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12074 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12075 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12076 * util/grub-setup.c (setup): Use fs embedding if available.
12077 Add additional sanity check.
12078
455377d9
VS
120792011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * util/grub-install.in: Fix condition for config_opt.
12082
c2fd16ca
VS
120832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 Support third redundancy strip on raidz3.
12086
12087 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12088 Return error on singularity. All users updated.
12089 (read_device): Don't stop on 3rd failure on raidz3.
12090
8622923b
VS
120912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 Support case-insensitive ZFS subvolumes.
12094
12095 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12096 All users updated.
12097 (zap_hash): Likewise.
12098 (name_cmp): New function.
12099 (zap_leaf_array_equal): New parameter case_insensitive.
12100 All users updated.
12101 (zap_leaf_lookup): Likewise.
12102 (fzap_lookup): Likewise.
12103 (zap_lookup): Likewise.
12104 (dnode_get_path): New parameter case_insensitive. Retrieve case
12105 sensitiviness of a volume. All users updated.
12106 (dnode_get_fullpath): New parameter case_insensitive.
12107 All users updated.
12108 (grub_zfs_dir): Set info.case_insensitiveness.
12109
95f2e860
VS
121102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 Support second redundancy strip on raidz(2,3).
12113
12114 * grub-core/fs/zfs/zfs.c (powx): New array.
12115 (powx_inv): Likewise.
12116 (poly): New const.
12117 (xor_out): New function.
12118 (gf_mul): Likewise.
12119 (recovery): Likewise.
12120 (read_device): Use second redundancy strip.
12121
11ee4389
VS
121222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 Use a power of generator representation of GF(256) multiplication group
12125 to save space time and complexity.
12126
12127 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12128 (raid6_table2): Likewise.
12129 (powx): New array.
12130 (powx_inv): Likewise.
12131 (poly): New const.
12132 (grub_raid_block_mul): Replace with ...
12133 (grub_raid_block_mulx): ...this.
12134 (grub_raid6_init_table): Rewritten.
12135 (grub_raid6_recover): Use power of generator representation.
12136
09e2763f
VS
121372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12140 for the right device.
12141
8bec9a28
VS
121422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12145 expected by grub-mkimage and it's more clear since there is no implicit
12146 padding.
12147
dbd3a32e
VS
121482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12151 disk.
12152 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12153
182c872a
PMH
121542011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12155
12156 * util/grub-mkrescue.in: Fix handling xorriso option.
12157
1e51cabd
VS
121582011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12161 NULL.
12162
9cc3581d 121632011-11-03 crocket <crockabiscuit@gmail.com>
12164
12165 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12166
158dc1ea
VS
121672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 XZ CRC64 and SHA256 support.
12170
12171 * Makefile.util.def (libgrubmods): Add crc64.c.
12172 * grub-core/Makefile.core.def (crc64): New module.
12173 * grub-core/lib/crc64.c: New file.
12174 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12175 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12176 Fix the type.
12177 (MAX_HASH_SIZE): New define.
12178 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12179 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12180 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12181 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12182 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12183 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12184 Handle non-crc32 hashes.
12185 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12186 (dec_stream_header): Handle non-crc32 hashes.
12187 (dec_stream_footer): Likewise.
12188 (dec_block_header): Likewise.
12189 (dec_main): Likewise.
12190 (xz_dec_init): Likewise.
12191 (xz_dec_reset): Likewise.
12192 (xz_dec_end): Likewise.
12193 * util/import_gcry.py: Add CRC64 line.
12194
9d9b3d2f
VS
121952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12198 as well.
12199
7d0ac931
VS
122002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 Make reiserfs label retrieval similar to other *_label functions.
12203
12204 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12205 (REISERFS_MAX_LABEL_LENGTH): Removed.
12206 (REISERFS_LABEL_OFFSET): Likewise.
12207 (grub_reiserfs_label): Rewritten.
12208
122092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12212 field.
12213
cf5ba824
VS
122142011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12217
17744004
VS
122182011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12221 drive failure on both raidz and raidz2.
12222
aca5aefc
VS
122232011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 Fix RAIDZ(2) for >= 5 devices.
12226
12227 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12228 asize argument. All users updated.
12229
ce8ca56e
VS
122302011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 Fix RAIDZ(2).
12233
12234 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12235 (fill_vdev_info_real): Set ashift.
12236 (read_device): Rewrite RAIDZ part based on reverse engineering.
12237
7c01e783
VS
122382011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12241 don't report potentially unavialiable fields in debug output.
12242 (find_path): Fix double-free and memory leak.
12243
ce109e84
VS
122442011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 Read label on UFS1.
12247
12248 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12249 (grub_ufs_fs): Always set .label.
12250
87661123
VS
122512011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 Use shifts in UFS.
12254
12255 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12256 (grub_ufs_data): New field log2_blksz.
12257 (grub_ufs_read_file): Use shifts.
12258 (grub_ufs_mount): Check block size and logarithm it.
12259
46bc1dc2
VS
122602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12263 long symlinks.
12264
19ee2987
VS
122652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 Handle symlinks and long names on tar and cpio.
12268
12269 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12270 (ATTR_FILE): Likewise.
12271 (ATTR_DIR): Likewise.
12272 (ATTR_LNK): Likewise.
12273 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12274 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12275 L and K entries.
12276 (grub_cpio_mount): Zero-fill data.
12277 (handle_symlink): New function.
46bc1dc2
VS
12278 (grub_cpio_dir): Handle symlinks.
12279 (grub_cpio_open): Likewise.
12280 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12281
c83a08d8
VS
122822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Fix iso9660 filename limitations and fix memory leaks.
12285
12286 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12287 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12288
45cdd3ea
VS
122892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 Fix JFS file name length limitations.
12292
12293 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12294 (grub_jfs_diropen): Fix maximum filename length.
12295 (grub_jfs_getent): Fix filename length.
12296 (grub_jfs_lookup_symlink): Fix size checks.
12297
94ef05c2
VS
122982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12301 string.
12302
785ab8c7
VS
123032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12304
eb0b6b45
VS
12305 Leverage BFS implementation to read AFS.
12306
12307 * Makefile.util.def (libgrubmods): Add afs.c.
12308 * grub-core/Makefile.core.def (afs): New module
12309 * grub-core/fs/afs.c: New file.
12310 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12311
123122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12315
c4a1628f
VS
123162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * grub-core/fs/bfs.c: Run indent.
12319
5825b379
VS
123202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 BFS implementation based on the specification.
12323
12324 * grub-core/fs/bfs.c: New file.
12325 * Makefile.util.def (libgrubmods): Add bfs.c.
12326 * grub-core/Makefile.core.def (bfs): New module.
12327
42b2a706
VS
123282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * util/grub-fstest.c (cmd_cp): Clarify error message.
12331 (cmd_cmp): Likewise.
12332
61b99bfc
YB
123332011-10-30 Yves Blusseau <blusseau@zetam.org>
12334
12335 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12336 and befs_be.
12337
faba3d16
VS
123382011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 Remove afs and befs because of copyright problem.
12341
12342 * grub-core/fs/afs.c: Removed.
12343 * grub-core/fs/afs_be.c: Removed.
12344 * grub-core/fs/befs.c: Removed.
12345 * grub-core/fs/befs_be.c: Removed.
12346 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12347 * grub-core/Makefile.core.def (afs): Removed.
12348 (afs_be): Likewise.
12349 (befs): Likewise.
12350 (befs_be): Likewise.
12351
c39224b0
VS
123522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 Prefer rockridge over Joliet.
12355
12356 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12357 to ...
12358 (set_rockridge): ... here.
12359 (grub_iso9660_mount): Check rockridge on the primary label when
12360 discovering. Ignore Joliet if Rockridge is present.
12361
e551115a
VS
123622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Use shifts in nilfs2.
12365
12366 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12367 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12368 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12369 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12370 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12371 (grub_nilfs2_entries_per_block): Replaced with ...
12372 (grub_nilfs2_log_entries_per_block_log): ... this.
12373 (grub_nilfs2_blocks_per_group): Replaced with ...
12374 (grub_nilfs2_blocks_per_group_log): ... this.
12375 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12376 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12377 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12378 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12379 (grub_nilfs2_palloc_entry_offset): Replaced ...
12380 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12381 (grub_nilfs2_dat_translate): Use shifts.
12382 (grub_nilfs2_read_inode): Likewise.
12383 (GRUB_MOD_INIT): Ensure that logs are correct.
12384
564dd58c
VS
123852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 Use shifts in minix filesystem.
12388
12389 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12390 (GRUB_MINIX_ZONE2SECT): Likewise.
12391 (grub_minix_data): Replace block_size with log_block_size.
12392 (grub_minix_read_file): Use shifts.
12393 (grub_minix_mount): Check block size and take a logarithm.
12394
ed9ba06d
VS
123952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Use shifts in squash4.
12398
12399 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12400 (squash_mount): Check block size and take logarithm.
12401 (direct_read): Use shifts.
12402
ad03fe76
VS
124032011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 Correct befs block counting logic.
12406
12407 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12408 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12409 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12410 (grub_afs_read_inode): Use block_shift.
12411 (RANGE_SHIFT): New definition.
12412 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12413 unexpected conditions, use shifts and appropriate types.
12414 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12415
6563f63d
VS
124162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * grub-core/disk/raid.c (scan_devices): Check partition.
12419 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12420
5b1ae25f
VS
124212011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Support BFS (befs) UUID.
12424
12425 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12426 (grub_afs_small_data_element_header): New struct.
12427 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12428 (grub_afs_read_attribute) [MODE_BFS]: New function.
12429 (grub_afs_iterate_dir): Allocate for complete inode.
12430 (grub_afs_mount): Likewise.
12431 (grub_afs_uuid) [MODE_BFS]: New function.
12432 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12433
f8d82408
VS
124342011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12437 (zfs_unmount): Fix memory leak.
12438
5773fb64
VS
124392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 Support NTFS reparse points.
12442
12443 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12444 (symlink_descriptor): New struct.
12445 (grub_ntfs_read_symlink): New function.
12446 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12447 (grub_ntfs_open): Likewise.
12448
91c3fdde
VS
124492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12452
3be82e10
VS
124532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 fstest xnu_uuid subcommand.
12456
12457 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12458 grub-core/commands/xnu_uuid.c.
12459 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12460 (fstest): Handle xnu_uuid.
12461 (options): Document xnu_uuid.
12462 (argp_parser): Parse xnu_uuid.
12463
8e32442e
VS
124642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12467 -l argument. Add newline at the end if printing.
12468 (GRUB_MOD_INIT): Document -l.
12469
52a05075
VS
124702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12473
1869edb5
VS
124742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 ZFS multi-device and version 33 support.
12477
12478 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12479 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12480 (grub_zfs_data): Add multidev-ice-related fields.
12481 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12482 (dva_get_offset): Make dva const.
12483 (zfs_fetch_nvlist): New function.
12484 (fill_vdev_info_real): Likewise.
12485 (fill_vdev_info): Likewise.
12486 (check_pool_label): Likewise.
12487 (scan_disk): Likewise.
12488 (scan_devices): Likewise.
12489 (read_device): Likewise.
12490 (read_dva): Likewise.
12491 (zio_read_gang): Use read_dva.
12492 (zio_read_data): Likewise.
12493 (zap_leaf_lookup): Add missing endian conversion.
12494 (zap_verify): Add missing endian conversion. All users updated.
12495 (fzap_lookup): Likewise.
12496 (fzap_iterate): Likewise.
12497 (dnode_get_path): Handle SA bonus.
12498 (nvlist_find_value): Make input const. All users updated.
12499 (unmount_device): New function.
12500 (zfs_unmount): Use unmount_device.
12501 (zfs_mount): Use scan_disk.
12502 (zfs_mtime): New function.
12503 (grub_zfs_open): Handle system attributes.
12504 (fill_fs_info): Likewise.
12505 (grub_zfs_dir): Likewise.
12506 (grub_zfs_fs): Add mtime.
12507 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12508 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12509 (SA_MTIME_OFFSET): Likewise.
12510 (SA_SYMLINK_OFFSET): Likewise.
12511 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12512 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12513 (fstest): Support zfsinfo.
12514 (argp_parser): Likewise.
12515
186b4028
VS
125162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12519 error.
12520
125212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12522
12523 ZFS fixes.
12524
12525 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12526 sharing the same block. Iterate over correct number of indices.
12527 (dnode_get_path): Handle symlinks correctly.
12528
c0584900
VS
125292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12532
67e2bd71
VS
125332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 Read label on HFS+.
12536
12537 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12538 (grub_hfsplus_btree_search): Fix types.
12539 (grub_hfsplus_label): Implement.
12540
e9cc6b7b
VS
125412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12544
19832ddb
VS
125452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12548
66b40850
VS
125492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Fix symlink handling on iso9660.
12552
12553 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12554 All users updated.
12555 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12556 (grub_iso9660_read_symlink): Moved most of code ...
12557 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12558
db821363
VS
125592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12562 Use union to avoid breaking strict-aliasing rules.
12563
e1211949
VS
125642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Support multi-extent iso files.
12567
12568 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12569 Add node.
12570 (grub_fshelp_node): Revamp. All users updated.
12571 (FLAG_*): New enum.
12572 (read_node): New function.
12573 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12574 All users updated.
12575 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12576 (get_node_size): New function.
12577 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12578 entries.
12579 Fix memory leak on . and ..
12580 (grub_iso9660_read): Use read_node.
12581 (grub_iso9660_close): Free node.
12582
d4888031
VS
125832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 Fix tar 4G limit and handle paths containing dot.
12586
12587 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12588 (canonicalize): New function.
12589 (grub_cpio_find_file): Use canonicalize. Store offs in
12590 grub_disk_addr_t.
12591 (grub_cpio_dir): Use grub_disk_addr_t.
12592 (grub_cpio_open): Likewise.
12593
9f12e664
VS
125942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12597
12598 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12599 unused flags.
12600 (grub_squash_inode): Add long_file and block_size.
12601 (grub_squash_cache_inode): New struct.
12602 (grub_squash_dirent): Make types into enum.
12603 (SQUASH_TYPE_LONG_REGULAR): New type.
12604 (grub_squash_frag_desc): Add field size.
12605 (SQUASH_BLOCK_FLAGS): New enum.
12606 (grub_squash_data): Use grub_squash_cache_inode.
12607 (grub_fshelp_node): Make ino_chunk 64-bit.
12608 (read_chunk): Minor argument change. All users updated.
12609 (squash_mount): Use correct le_to_cpu.
12610 (grub_squash_open): Handle LONG_REGULAR.
12611 (direct_read): New function.
12612 (grub_squash_read_data): Handle blocks correctly.
12613
9f326fba
VS
126142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12617
f4d9b64b
VS
126182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12621
5bbd28b8
VS
126222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 Fix 2G limit on ZFS.
12625
12626 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12627 types.
12628 (uberblock_verify): Likewise.
12629 (dmu_read): Likewise.
12630 (grub_zfs_read): Likewise. Remove invalid cast.
12631
68c72069
VS
126322011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12635 (grub_jfs_blkno): Fix incorrect shift.
12636 (grub_jfs_read_file): Use more appropriate types.
12637
6e536dc8
VS
126382011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 Support triple indirect on minix2 and minix3.
12641
12642 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12643 Declare triple_indir_zone.
12644 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12645 indirect.
12646
e0864e7a
VS
126472011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 Minix FS fixes.
12650
12651 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12652 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12653 Rename ctime to mtime. All users updated.
12654 (grub_minix_get_file_block): Fix types and double indirect computations.
12655
89481cab
VS
126562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12659 if no label is found.
12660 (grub_fat_iterate_dir): Fix file size type.
12661 (grub_fat_iterate_dir): Likewise.
12662
f646e143
VS
126632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12666 save some space.
12667 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12668 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12669
534d769e
VS
126702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12673
e084ba18
VS
126742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * util/import_gcry.py: Accept space between # and include.
12677
3471ecdf
VS
126782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12681
124df5f6
VS
126822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12685
12686 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12687 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12688 yylex_strncpy.
12689 * grub-core/script/yylex.l: Add fine-grained #pragma.
12690
4defb8d5
VS
126912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12694 New inline function.
12695 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12696 Likewise.
12697 (memset) [GRUB_UTIL]: Likewise.
12698 (memcmp) [GRUB_UTIL]: Likewise.
12699
4e94ae65
VS
127002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12703 inline function rather than a define.
12704
18c575e5
VS
127052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-setup.c: Add missing include.
12708
f8bc22a8
VS
127092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * util/ieee1275/grub-ofpathname.c: Add missing include.
12712
3ce69fc9
VS
127132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12716 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12717 Likewise.
12718
d1e293bb
VS
127192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12722 grub_memcmp usage.
12723
7a5c54a4
VS
127242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * util/grub-install.in: Add datarootdir as per automake manual
12727 suggestion.
12728 * util/grub-mknetdir.in: Likewise.
12729
127302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12731
12732 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12733 suggestion.
12734 * util/grub.d/10_kfreebsd.in: Likewise.
12735 * util/grub.d/10_linux.in: Likewise.
12736 * util/grub.d/10_netbsd.in: Likewise.
12737 * util/grub.d/10_windows.in: Likewise.
12738 * util/grub.d/20_linux_xen.in: Likewise.
12739
766f7d08
VS
127402011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 Remove redundant grub_kernel_image_size.
12743
12744 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12745 _edata and _start.
12746 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12747 the small code. It moves it only by few bytes but simplifies the code.
12748 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12749 _start.
12750 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12751 (grub_kernel_image_size): Removed.
12752 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12753 (grub_kernel_image_size): Removed.
12754 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12755 compiled with Apple toolchain.
12756 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12757 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12758 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12759 (grub_total_module_size): Likewise.
12760 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12761 Removed.
12762 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12763 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12764 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12765 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12766 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12767 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12768 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12769 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12770 Removed.
12771 (grub_total_module_size): Removed.
12772 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12773 (image_targets): Likewise.
12774 Set .compressed_size to no field on sparc.
12775 (generate_image): Remove kernel_image_size handling.
12776
fcf1d672
SJ
127772011-10-19 Szymon Janc <szymon@janc.net.pl>
12778
12779 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12780 NULL pointer dereference.
12781
de9c615e
VS
127822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12785 done with a dedicated section.
12786
12787 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12788 Ensure the correct position of boot_path.
12789 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12790 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12791 other fields.
12792 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12793 * include/grub/boot.h: Removed. All references removed.
12794 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12795 Removed.
12796 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12797
e55599dc
VS
127982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12801 name.
12802
36dd20ad
VS
128032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12806
f8f72eb8
VS
128072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12810 Don't add the bogus brackets.
12811
a374751b
VS
128122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 ExFAT support.
12815
12816 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12817 * grub-core/Makefile.core.def (exfat): New module.
12818 * grub-core/fs/exfat.c: New file.
12819 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12820 (GRUB_FAT_ATTR_*): Make into an enum.
12821 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12822 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12823 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12824 (GRUB_FAT_MAXFILE): Removed.
12825 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12826 (grub_current_fat_bpb_t): New type.
12827 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12828 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12829 (grub_fat_dir_node_t): New type.
12830 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12831 (fat_log2) [MODE_EXFAT]: Removed.
12832 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12833 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12834 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12835 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12836 (grub_fat_label) [MODE_EXFAT]: New function.
12837 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12838 reserved_first_sector to 0.
12839
544c2487
VS
128402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 Move grub_reboot out of the kernel.
12843
12844 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12845 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12846 * grub-core/lib/efi/reboot.c: ... here.
12847 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12848 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12849 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12850 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12851 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12852 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12853 * grub-core/lib/ieee1275/reboot.c: ... here.
12854 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12855 * grub-core/lib/mips/arc/reboot.c: ... here.
12856 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12857 * grub-core/lib/mips/loongson/reboot.c: ...here.
12858 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12859 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12860 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12861 * include/grub/i386/reboot.h: New file.
12862 * include/grub/mips/loongson/ec.h: Fix includes.
12863 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12864 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12865 * grub-core/lib/i386/reboot.c: New file.
12866
a97501d2
VS
128672011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 Make grub_prefix into module to fix the arbitrary limit and save
12870 some space.
12871
12872 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12873 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12874 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12875 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12876 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12877 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12878 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12879 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12880 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12881 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12882 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12883 * include/grub/ia64/efi/kernel.h: Removed.
12884 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12885 (grub_prefix): Removed.
12886 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12887 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12888 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12889 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12890 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12891 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12892 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12893 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12894 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12895 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12896 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12897 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12898 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12899 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12900 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12901 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12902 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12903 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12904 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12905 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12906 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12907 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12908 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12909 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12910 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12911 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12912 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12913 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12914 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12915 from module.
12916 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12917 prefix_end.
12918 (image_targets): Likewise.
12919 (generate_image): Put prefix as a module.
12920
39705fad
VS
129212011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Replace grub_module_iterate with FOR_MODULES.
12924
12925 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12926 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12927 (grub_efi_modules_addr): ...this.
12928 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12929 (grub_efi_init): Set grub_modbase.
12930 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12931 (grub_modbase): New variable.
12932 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12933 (grub_modbase): New variable.
12934 (grub_machine_init): Set grub_modbase.
12935 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12936 (grub_modbase): New variable.
12937 (grub_machine_init): Set grub_modbase.
12938 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12939 (grub_modbase): New variable.
12940 (grub_machine_init): Set grub_modbase.
12941 * grub-core/kern/main.c (grub_module_iterate): Remove.
12942 (grub_modules_get_end): Use grub_modbase.
12943 (grub_load_modules): Use FOR_MODULES.
12944 (grub_load_config): Likewise.
12945 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12946 (grub_modbase): New variable.
12947 (grub_machine_init): Set grub_modbase.
12948 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12949 (grub_modbase): New variable.
12950 (grub_machine_init): Set grub_modbase.
12951 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12952 Removed.
12953 (grub_modbase): New variable.
12954 (grub_machine_init): Set grub_modbase.
12955 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12956 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12957 (grub_module_iterate): Likewise.
12958 (grub_modbase): New variable declaration.
12959 (FOR_MODULES): New macro.
12960
2afb7f6c
VS
129612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12964 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12965
366e34fa
VS
129662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 Fix few obvious type discrepancies.
12969
12970 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12971 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12972 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12973 variable.
12974 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12975 and connected types.
12976 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12977 offset.
12978 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12979 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12980 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12981 and connected types.
12982
177b960e
VS
129832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 Fix python 3.x incompatibilities.
12986
12987 * gentpl.py: Put brackets around print strings.
12988 * util/import_gcry.py: Open explicitly as utf-8.
12989 Use in instead of has_key.
12990
3b619ae1
VS
129912011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12994 (GRUB_XFS_INO_AGBITS): Make into inline function.
12995 (GRUB_XFS_INO_INOINAG): Likewise.
12996 (GRUB_XFS_INO_AG): Likewise.
12997 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12998 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12999 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13000 (GRUB_XFS_EXTENT_SIZE): Likewise.
13001 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13002 (GRUB_XFS_NEXT_DIRENT): Likewise.
13003 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13004 (grub_xfs_read_file): Fix offset type.
13005
8bcebcb8
RM
130062011-10-15 Robert Millan <rmh@gnu.org>
13007
13008 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13009
0017e5ef
RM
130102011-10-15 Robert Millan <rmh@gnu.org>
13011
13012 Fix build problem on FreeBSD and GNU/kFreeBSD.
13013
13014 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13015
d8919552
VS
130162011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13019
13020 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13021 types.
13022 (grub_hfsplus_btree_recoffset): Likewise.
13023 (grub_hfsplus_btree_recptr): Likewise.
13024 (grub_hfsplus_find_block): Likewise.
13025 (grub_hfsplus_btree_search): Likewise.
13026 (grub_hfsplus_read_block): Likewise.
13027 (grub_hfsplus_read_file): Likewise.
13028 (grub_hfsplus_mount): Likewise.
13029 (grub_hfsplus_btree_iterate_node): Likewise.
13030 (grub_hfsplus_btree_search): Likewise.
13031 (grub_hfsplus_iterate_dir): Likewise.
13032 (grub_hfsplus_read): A small code simplification.
13033
c81296b6
VS
130342011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/emu/hostdisk.c
13037 (convert_system_partition_to_system_disk): Don't assume that children
13038 of mapper nodes are mapper nodes.
13039
0eb8ffb1
VS
130402011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13043 * include/grub/misc.h (grub_isxdigit): New function.
13044 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13045 switched to grub_isxdigit.
13046 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13047 number starting with a letter.
13048
a98f4a08
RM
130492011-10-09 Robert Millan <rmh@gnu.org>
13050
13051 LVM support for FreeBSD and GNU/kFreeBSD.
13052
13053 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13054 GNU/kFreeBSD.
13055 (LVM_DEV_MAPPER_STRING): Move from here ...
13056 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13057 * util/getroot.c: Include `<grub/util/lvm.h>'.
13058 (grub_util_get_dev_abstraction): Enable
13059 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13060 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13061 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13062 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13063 support it.
13064 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13065 GNU/kFreeBSD.
13066 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13067 when LVM abstraction is required for ${GRUB_DEVICE}.
13068
050e8e90
SJ
130692011-10-06 Szymon Janc <szymon@janc.net.pl>
13070
13071 Add support for LZO compression in GRUB:
13072 - import of minilzo library,
13073 - LZO decompression for btrfs,
13074 - lzop files decompression.
13075
13076 * grub-core/io/lzopio.c: New file.
13077 * grub-core/lib/adler32.c: Likewise.
13078 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13079 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13080 * grub-core/lib/minilzo/minilzo.c: Likewise.
13081 * grub-core/lib/minilzo/minilzo.h: Likewise.
13082 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13083 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13084 grub-core/lib/minilzo/minilzo.c to common.
13085 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13086 cflags in cppflags.
13087 * grub-core/Makefile.core.def (btrfs): Likewise.
13088 * grub-core/Makefile.core.def (lzopio): New module.
13089 (adler32): Likewise.
13090 * grub-core/fs/btrfs.c: Include minilzo.h.
13091 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13092 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13093 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13094 (grub_btrfs_lzo_decompress): New function.
13095 (grub_btrfs_extent_read): Add support for LZO compression type.
13096 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13097 (GRUB_USHRT_MAX): Likewise.
13098 (GRUB_UINT_MAX): Likewise.
13099 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13100 (UINT_MAX): Likewise.
13101 (CHAR_BIT): Likewise.
13102 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13103 grub-core/lib/posix_wrap/limits.h
13104 (UCHAR_MAX): Likewise.
13105 * include/grub/file.h (grub_file_filter_id): New compression filter
13106 GRUB_FILE_FILTER_LZOPIO.
13107 * include/grub/file.h (grub_file_filter_id): Set
13108 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13109 * include/grub/types.h (grub_get_unaligned16): New function.
13110 (grub_get_unaligned32): Likewise.
13111 (grub_get_unaligned64): Likewise.
13112 * util/import_gcry.py (cryptolist): Add adler32.
13113
0eb8ffb1
VS
131142011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13117 in perspective decreases the complexity of build system and fixes
13118 compilation right now.
13119
ce79cc99 131202011-10-01 Ales Nesrsta <starous@volny.cz>
13121
13122 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13123 (fixed problem related to using UHCI with coreboot).
13124
8667a314
BC
131252011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13126
13127 * gentpl.py: Use Autogen macros so that the output template file
13128 (Makefile.tpl) size is reduced.
13129
fc5efcc0
MK
131302011-09-29 Mads Kiilerich <mads@kiilerich.com>
13131
13132 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13133 extra_dist.
13134
d1ab689d
ML
131352011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13136
13137 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13138 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13139
c05de032
ML
131402011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13141
13142 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13143 _fullpath.
13144
cca7ccd8
ML
131452011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13146
13147 Remove extra declaration of sleep for mingw32.
13148
13149 * util/misc.c (sleep) [__MINGW32__]: Removed.
13150 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13151
e0b0dc83
GS
131522011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13153
13154 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13155 type and packname.
13156 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13157 Resurrected.
13158 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13159 (grub_netbsd_btinfo_bootwedge): New struct.
13160 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13161 New function.
13162 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13163
91a1a164
TH
131642011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13165
13166 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13167 loader.
13168
2ded951e
AB
131692011-09-28 Andreas Born <futur.andy@googlemail.com>
13170
13171 Fix incorrect identifiers in bash-completion.
13172
13173 * util/bash-completion.d/grub-completion.bash.in
13174 (_grub_mkpasswd-pbkdf2): Rename to ...
13175 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13176 (_grub_script-check): Rename to ...
13177 (_grub_script_check): ... this. All users updated.
13178
69915030
VS
131792011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13182 Return 0 if disk isn't biosdisk.
13183
20fd15f9
GS
131842011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13185
13186 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13187 on NetBSD.
13188 * Makefile.util.def (grub-fstest): Likewise.
13189
1a7d7db9
GS
131902011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13191
13192 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13193 Get sector size from disk label.
13194
2221ab6c
CW
131952011-09-05 Colin Watson <cjwatson@ubuntu.com>
13196
13197 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13198 */README* as well as README*.
13199 Reported by: Axel Beckert.
13200
ca51c4a0
VS
132012011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13204 case of less than 256 MiB of RAM.
13205
ab80f326
VS
132062011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/commands/wildcard.c (make_regex): Handle @.
13209
4155e697
VS
132102011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13213
ab178c08
SJ
132142011-08-21 Szymon Janc <szymon@janc.net.pl>
13215
13216 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13217 AC_LANG_CONFTEST macros.
13218
7dc3c686
SJ
132192011-08-20 Szymon Janc <szymon@janc.net.pl>
13220
13221 Add grub-fstest option to uncompress data for commands.
13222
13223 * util/grub-fstest.c (uncompress): New var.
13224 (options): New option -u.
13225
fe8d4a7b
SJ
132262011-08-20 Szymon Janc <szymon@janc.net.pl>
13227
13228 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13229 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13230
a5219af1
SJ
132312011-08-20 Szymon Janc <szymon@janc.net.pl>
13232
13233 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13234 file type was not recognized correctly (not gzip or corrupted).
13235
f87abff5
VS
132362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13239 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13240
d94497ea
VS
132412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13244 loongson.
13245 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13246 video_radeon_fuloong2e.
13247 * grub-core/video/radeon_fuloong2e.c: New file.
13248 * include/grub/video.h (grub_video_id_t): Add new ID
13249 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13250
0d1fd011
VS
132512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13254 define.
13255 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13256 that PRID matches the detected subplatform and reset the subplatform
13257 if it doesn't.
13258
84beb0ee
VS
132592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13262
1227c133
VS
132632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 Fix PCI iterating on functions >= 4.
13266
13267 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13268 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13269 Removed.
13270 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13271 (grub_pci_read): Fix bitmask.
13272 (grub_pci_read_word): Likewise.
13273 (grub_pci_read_byte): Likewise.
13274 (grub_pci_write): Likewise.
13275 (grub_pci_write_word): Likewise.
13276 (grub_pci_write_byte): Likewise.
13277
9594c689
VS
132782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13281 can still be specified in TARGET_CFLAGS)
13282
14a2562c
VS
132832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13286
13287 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13288 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13289 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13290 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13291 (FULOONG): Rename to ...
13292 (FULOONG2F): ... this. All users updated.
13293 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13294 (machtype_fuloong2f_str): ... this.
13295 (machtype_fuloong2e_str): New string.
13296 Check for machtype_fuloong2e_str.
13297 * grub-core/loader/mips/linux.c (loongson_machtypes)
13298 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13299 * grub-core/term/serial.c (loongson_defserial)
13300 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13301 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13302 loongson_defserial.
13303 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13304 Rename to ...
13305 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13306 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13307 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13308 to IMAGE_FULOONG2F_FLASH. All users updated.
13309 (image_targets): Rename images.
13310 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13311
b526cbb6
SJ
133122011-08-19 Szymon Janc <szymon@janc.net.pl>
13313
13314 Make enable of disk cache statistics code configurable.
13315
13316 * configure.ac: --enable-cache-stats added.
13317 * config.h.in (DISK_CACHE_STATS): New define.
13318 * grub-core/Makefile.core.def (cacheinfo): New command.
13319 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13320 * grub-core/commands/cacheinfo.c: New file.
13321 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13322 moved to cacheinfo.c.
13323 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13324 debug code.
13325 * include/grub/disk.h: Likewise.
13326
fb739ccd
SJ
133272011-08-19 Szymon Janc <szymon@janc.net.pl>
13328
13329 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13330 * grub-core/Makefile.am: Likewise.
13331
2bba8cfd
VS
133322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13335 non-zero pull.
13336
43526629
VS
133372011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13340 All users updated.
13341 (grub_jfs_lookup_symlink): Use correct starting inode.
13342
5c144cc8
VS
133432011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * util/grub-setup.c (main): Add missing gcry initialisation.
13346
b1257f65
VS
133472011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 Don't accept text modes on EFI when booting Linux.
13350
13351 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13352 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13353
828bc390
ML
133542011-08-15 Mario Limonciello <mario_limonciello@dell.com>
133552011-08-15 Colin Watson <cjwatson@ubuntu.com>
13356
13357 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13358 use of "/path/.." as in grub-install for EFI as well as handling
13359 symlinks correctly.
13360 Fixes Debian bug #637768.
13361
5f60ccac
CW
133622011-08-15 Colin Watson <cjwatson@ubuntu.com>
13363
13364 * util/grub-probe.c: Remove duplicate #include.
13365
6dc212f9
RM
133662011-08-10 Robert Millan <rmh@gnu.org>
13367
13368 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13369
13370 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13371 function.
13372 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13373 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13374
66816d85
RM
133752011-08-03 Robert Millan <rmh@gnu.org>
13376
13377 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13378 la_array as packed.
13379 Reported by: Zachary Bedell
13380
20168fca
CW
133812011-07-26 Colin Watson <cjwatson@ubuntu.com>
13382
13383 * configure.ac: The Loongson port requires grub-mkfont due to its
13384 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13385 be built.
13386
303b6246
CW
133872011-07-26 Colin Watson <cjwatson@ubuntu.com>
13388
13389 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13390 processing arguments (otherwise help2man fails when GRUB has not yet
13391 been installed).
13392
6795300e
VS
133932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13394
41aa28ea
VS
13395 New script grub-mkstandalone.
13396
13397 * Makefile.util.def (grub-mkstandalone): New script.
13398 * docs/man/grub-mkstandalone.h2m: New file.
13399 * util/grub-mkstandalone.in: Likewise.
13400
134012011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 Support ATA disks with 4K sectors.
6795300e
VS
13404
13405 * include/grub/ata.h (grub_ata): New member log_sector_size.
13406 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13407 (grub_ata_identify): Read sector size.
13408 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13409
92227597
VS
134102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * util/grub-install.in: Don't use uhci outside of x86.
13413
c77069f5
VS
134142011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13415
13416 * util/grub-mkrescue.in: Add missing quotes.
13417
134182011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13419
13420 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13421 dereference.
13422
583168a2
VS
134232011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13426
6be1c01f
VS
134272011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * include/grub/video.h: add missing EXPORT_FUND on
13430 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13431
a1167439
VS
134322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * include/grub/mips/kernel.h: Fix define conflict.
13435
bf66054f
VS
134362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13439 all four ways.
13440
8fc4fa45
CW
134412011-07-21 Colin Watson <cjwatson@ubuntu.com>
13442
13443 Preferred resolution detection for VBE.
13444
13445 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13446 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13447 the Flat Panel extension, in line with the X.org VESA driver.
13448 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13449 New function.
13450 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13451 (grub_vbe_bios_read_edid): Likewise.
13452 (grub_vbe_get_preferred_mode): Likewise.
13453 (grub_video_vbe_setup): When the mode is "auto", try to get the
13454 preferred mode from VBE, and use the largest mode that is no larger
13455 than the preferred mode (some BIOSes expose a preferred mode that is
13456 not in their mode list!). If this fails, fall back to 640x480 as a
13457 safe conservative choice.
13458 (grub_video_vbe_get_edid): New function.
13459 (grub_video_vbe_adapter): Add get_edid.
13460 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13461 (struct grub_video_adapter): Add get_edid.
13462 (grub_video_edid_checksum): Add prototype.
13463 (grub_video_edid_preferred_mode): Likewise.
13464 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13465 structure.
13466
13467 * grub-core/commands/videoinfo.c (print_edid): New function.
13468 (grub_cmd_videoinfo): Print EDID if available.
13469
13470 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13471 is more appropriate on a wider range of platforms than 640x480.
13472 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13473 documentation.
13474
ca5572a9
VS
134752011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13478
e4bcf625
VS
134792011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 * po/POTFILES.in: Regenerate.
13482
c4edd548
VS
134832011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13486 incorrect memory usage.
13487
16a2bab0
VS
134882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * util/grub-install.in: Source grub-mkconfig_lib.
13491
2e418de6
VS
134922011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 Remove getroot.c from core on emu platform.
13495
13496 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13497 kern/emu/raid.c.
13498 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13499 useless.
13500 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13501 * util/getroot.c (get_win32_path): ... here.
13502 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13503 * util/getroot.c (fini_libzfs): ... here.
13504 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13505 * util/getroot.c (grub_get_libzfs_handle): ... here.
13506 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13507 Moved from here...
13508 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13509 * grub-core/kern/emu/misc.c
13510 (grub_make_system_path_relative_to_its_root): Moved from here...
13511 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13512 * grub-core/kern/emu/getroot.c: Moved from here ...
13513 * util/getroot.c: ... here. All users updated.
13514 * grub-core/kern/emu/raid.c: Moved from here ...
13515 * util/raid.c: ... here. All users updated.
13516
def9832a
VS
135172011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * po/POTFILES.in: Regenerate.
13520
cd8fe79a
VS
135212011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Fix compilation on GNU/Linux.
13524
13525 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13526 Disable geli.
13527 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13528 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13529 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13530
a251b719
VS
135312011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
135322011-07-07 Michael Gorven <michael@gorven.za.net>
135332011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13534
13535 LUKS and GELI support.
13536
13537 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13538 grub-core/disk/luks.c, grub-core/disk/geli.c,
13539 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13540 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13541 grub-core/lib/arg.c.
13542 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13543 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13544 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13545 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13546 (grub-bin2h): Add libgcry.a.
13547 (grub-mkimage): Likewise.
13548 (grub-mkrelpath): Likewise.
13549 (grub-script-check): Likewise.
13550 (grub-editenv): Likewise.
13551 (grub-mkpasswd-pbkdf2): Likewise.
13552 (grub-pe2elf): Likewise.
13553 (grub-fstest): Likewise.
13554 (grub-mkfont): Likewise.
13555 (grub-mkdevicemap): Likewise.
13556 (grub-probe): Likewise.
13557 (grub-ofpath): Likewise.
13558 (grub-mklayout): Likewise.
13559 (example_unit_test): Likewise.
13560 (grub-menulst2cfg): Likewise.
13561 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13562 * grub-core/Makefile.core.def (cryptodisk): New module.
13563 (luks): Likewise.
13564 (geli): Likewise.
13565 * grub-core/disk/AFSplitter.c: New file.
13566 * grub-core/disk/cryptodisk.c: Likewise.
13567 * grub-core/disk/geli.c: Likewise.
13568 * grub-core/disk/luks.c: Likewise.
13569 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13570 grub_util_is_lvm.
13571 (grub_util_get_dm_abstraction): New function.
13572 (grub_util_follow_gpart_up): Likewise.
13573 (grub_util_get_geom_abstraction): Likewise.
13574 (grub_util_get_dev_abstraction): Use new functions.
13575 (grub_util_pull_device): Pull GELI and LUKS.
13576 (grub_util_get_grub_dev): Handle LUKS and GELI.
13577 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13578 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13579 (follow_geom_up): Removed.
13580 (grub_util_fd_seek): New function.
13581 (open_device): Use grub_util_fd_seek.
13582 (nread): Rename to ..
13583 (grub_util_fd_read): ... this. All users updated.
13584 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13585 (grub_crypto_cbc_decrypt): Likewise.
13586 (grub_crypto_hmac_write): Likewise.
13587 (grub_crypto_hmac_buffer): Likewise.
13588 (grub_password_get): Extend to util.
13589 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13590 New member modname.
13591 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13592 * include/grub/cryptodisk.h: New file.
13593 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13594 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13595 LUKS and GELI.
13596 (grub_util_follow_gpart_up): New proto.
13597 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13598 (grub_util_fd_read): Likewise.
13599 (grub_cryptodisk_cheat_mount): Likewise.
13600 (grub_util_cryptodisk_print_uuid): Likewise.
13601 (grub_util_get_fd_sectors): Likewise.
13602 * util/grub-fstest.c (mount_crypt): New var.
13603 (fstest): Mount crypto if requested.
13604 (options): New option -C.
13605 (argp_parser): Parse -C.
13606 (main): Init and fini gcry.
13607 * util/grub-install.in: Support cryptodisk install.
13608 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13609 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13610 cryptodisk.
13611 (prepare_grub_to_access_device): Likewise.
13612 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13613 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13614 (probe_cryptodisk_uuid): New function.
13615 (probe_abstraction): Likewise.
13616 (probe): Use new functions.
13617 * util/import_gcry.py: Create Makefile.utilgcry.def.
13618 Add modname member.
13619
9bfdcbbc
VS
136202011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Lazy device scanning.
13623
13624 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13625 (grub-setup): Remove util/raid.c.
13626 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13627 * grub-core/disk/lvm.c (scan_depth): New variable.
13628 (grub_lvm_iterate): Rescan if necessary.
13629 (find_lv): New function based on grub_lvm_open.
13630 (grub_lvm_open): Use find_lv. Rescan on error.
13631 (is_node_readable): New function.
13632 (is_lv_readable): Likewise.
13633 (grub_lvm_scan_device): Skip already found disks.
13634 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13635 Stop if searched device is found and readable.
13636 * grub-core/disk/raid.c (inscnt): New variable.
13637 (scan_depth): Likewise.
13638 (scan_devices): New function based on grub_raid_register. Abort if
13639 looked for device is found.
13640 (grub_raid_iterate): Rescan if needed.
13641 (find_array): NEw function based on -grub_raid_open.
13642 (grub_raid_open): Use find_array and rescan.
13643 (insert_array): Set became_readable_at.
13644 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13645 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13646 New function.
13647 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13648 (grub_util_pull_device): New function.
13649 (grub_util_get_grub_dev): Call grub_util_pull_device.
13650 * util/raid.c: Moved to ..
13651 * grub-core/kern/emu/raid.c: ... here.
13652 (grub_util_raid_getmembers): New parameter "bootable".
13653 All users updated. Support 1.x.
13654 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13655 All users updated.
13656 * include/grub/disk.h (grub_disk_pull_t): New enum.
13657 (grub_disk_dev): Change iterate prototype.
13658 All users updated.
13659 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13660 New proto.
13661 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13662 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13663 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13664 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13665 All users updated.
13666 * include/grub/util/raid.h: Removed.
13667
1c358e59
VS
136682011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * po/POTFILES.in: Regenerate.
13671
abee94ed
VS
136722011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Unify sparc init with other ieee1275.
13675
13676 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13677 instead of kern/sparc64/ieee1275/init.c.
13678 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13679 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13680 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13681 grub/machine/kernel.h.
13682 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13683 (grub_claim_heap) [__sparc__]: Use sparc version.
13684 (grub_machine_init): Moved args parsing to
13685 (grub_parse_cmdline): ...this.
13686 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13687 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13688 New definition.
13689 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13690
13691 Move BOOTP to separate file.
13692
13693 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13694 * grub-core/net/net.c: Move all BOOTP functions to
13695 * grub-core/net/bootp.c: ... here.
13696
13697 Use frame interface on PXE.
13698
13699 * grub-core/Makefile.core.def (pxecmd): Removed.
13700 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13701 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13702 * grub-core/i386/pc/pxe.c: Moved from here ...
13703 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13704 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13705 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13706
13707 EFI network support.
13708
13709 * grub-core/Makefile.core.def (efinet): New module.
13710 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13711 here...
13712 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13713 All users updated.
13714 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13715 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13716 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13717 * grub-core/net/drivers/efi/efinet.c: New file.
13718 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13719 (grub_efi_net_config): New extern var.
13720
13721 Various cleanups and bugfixes.
13722
13723 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13724 error.
13725 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13726 disk declared as partition.
13727 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13728 leak on failure.
13729 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13730 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13731 (grub_debug_zalloc): Likewise.
13732 (grub_debug_realloc): Likewise.
13733 (grub_debug_memalign): Likewise.
13734 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13735 Check that target is IPv4.
13736 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13737 local-mac-address as fallback.
13738 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13739 memory leak.
13740 * grub-core/net/ip.c (ipchksum): Rename to ...
13741 (grub_net_ip_chksum): ... this. All users updated.
13742 (grub_net_recv_ip_packets): Special handling for DHCP.
13743 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13744
13745 Unify prefix handling
13746
13747 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13748 (grub_machine_get_bootlocation): ... this.
13749 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13750 (grub_machine_get_bootlocation): ... this.
13751 (grub_prefix): New variable.
13752 (prefix): Removed.
13753 (root_dev): New variable.
13754 (dir): Likewise.
13755 (main): Use new variables.
13756 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13757 Revamped into ...
13758 (grub_machine_get_bootlocation): ... this.
13759 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13760 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13761 (grub_machine_get_bootlocation): ... this.
13762 (grub_machine_set_prefix): Removed.
13763 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13764 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13765 Revamped into ...
13766 (grub_machine_get_bootlocation): ... this.
13767 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13768 (grub_set_prefix_and_root): ... this. All users updated.
13769 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13770 Revamped into ...
13771 (grub_machine_get_bootlocation): ... this.
13772 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13773 (grub_machine_get_bootlocation): New proto.
13774 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13775
13776 Less intrusive and more reliable seek on network implementation.
13777
13778 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13779 (grub_file_seek): Don't call grub_file_net_seek.
13780 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13781 (grub_net_fs_read_real): .. this.
13782 (grub_net_seek_real): Use net->offset.
13783 (grub_net_fs_read): Seek if necessary.
13784
13785 Unify IEEE1275 netwotk config with the other platforms.
13786
13787 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13788 New variable.
13789 (grub_machine_get_bootlocation): Support network.
13790 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13791 Support type and device parsing.
13792 (grub_ieee1275_get_device_type): New function.
13793 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13794 into ...
13795 (grub_ieee1275_net_config_real): ... this.
13796 (grub_ofnet_probecards): Removed.
13797 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13798 * include/grub/ieee1275/ofnet.h: Removed.
13799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13800 extern var.
13801 (grub_ieee1275_get_device_type): New function.
13802
13803 Unify network device closing across platforms and make more robust.
13804
13805 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13806 grub_grubnet_fini.
13807 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13808 already.
13809 * grub-core/net/net.c (grub_net_network_level_interface_register):
13810 Update num_ifaces.
13811 (grub_net_card_unregister): Close all interfaces.
13812 (receive_packets): Don't poll if no iterfaces are registered.
13813 Open if necessary.
13814 (grub_net_fini_hw): New function.
13815 (grub_net_restore_hw): Likewise.
13816 (fini_hnd): New variable.
13817 (GRUB_MOD_INIT): Register preboot hook.
13818 (GRUB_MOD_FINI): Run and unregister preboot hook.
13819
13820 Poll network cards when idle.
13821
13822 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13823 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13824 * grub-core/net/net.c (receive_packets): Save last poll time.
13825 (grub_net_poll_cards_idle_real): New function.
13826 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13827 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13828 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13829
13830 Rename ofnet interfaces.
13831
13832 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13833 (grub_ofnet_findcards): Use ofnet_%s names.
13834
13835 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13836
13837 Cleanup socket opening.
13838
13839 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13840 (grub_net_fs_close): Likewise.
13841 (grub_net_fs_read_real): Use eof member.
13842 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13843 (+grub_net_udp_close): New inline function.
13844
13845 * include/grub/net/tftp.h: Moved to the top of ...
13846 * grub-core/net/tftp.c: ... here.
13847 * include/grub/net/ip.h: Moved mostly to the top of ...
13848 * grub-core/net/ip.c: ... here.
13849 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13850 * grub-core/net/ethernet.c: ... here.
13851
13852 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13853
13854 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13855 FS name.
13856
13857 * include/grub/net/ip.h (ipv4_ini): Removed.
13858 (ipv4_fini): Likewise.
13859
13860 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13861 (grub_net_send_ip_packets): Likewise.
13862
cf1337aa
VS
138632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13866 grub_read_cmos prototype.
13867
93c06ff9
VS
138682011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 VGA text support in qemu-mips
13871
13872 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13873 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13874 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13875 text.
13876 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13877 * grub-core/kern/vga_init.c: ... this.
13878 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13879 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13880 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13881 Adjust.
13882 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13883 GRUB_MACHINE_PCI_IO_BASE.
13884
748ccabe
VS
138852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 MIPS qemu flash support.
13888
13889 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13890 magic.
13891 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13892 (grub_machine_init): Probe memory if its size isn't known.
13893 * util/grub-mkimage.c (image_targets): Add flash targets.
13894 (generate_image): Handle flash targets.
13895
d7345994
VS
138962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 MIPS qemu at_keyboard support.
13899
13900 * gentpl.py (videoinkernel): Add qemu-mips.
13901 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13902 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13903 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13904 modules.
13905 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13906 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13907 * grub-core/term/serial.c (grub_serial_register)
13908 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13909
a07a81b3
VS
139102011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 CMOS support on sparc.
13913
13914 * gentpl.py (cmos): Add powerpc and sparc.
13915 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13916 powerpc and sparc.
13917 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13918 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13919 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13920 grub_set_datetime_cmos.
13921 * grub-core/lib/ieee1275/cmos.c: New file.
13922 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13923 (find_rtc): Set no_ieee1275_rtc on error.
13924 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13925 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13926 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13927 fail. Move value to argument. All users updated
13928 (grub_cmos_write): Likewise.
13929 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13930 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13931 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13932 grub_get_datetime_cmos and grub_set_datetime_cmos.
13933
77546584
GS
139342011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13935
13936 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13937 sourcing grub-mkconfig_lib.
13938 * util/update-grub_lib.in: Likewise.
13939 * util/grub.d/00_header.in: Likewise.
13940 * util/grub.d/10_hurd.in: Likewise.
13941 * util/grub.d/10_kfreebsd.in: Likewise.
13942 * util/grub.d/10_linux.in: Likewise.
13943 * util/grub.d/10_netbsd.in: Likewise.
13944 * util/grub.d/10_windows.in: Likewise.
13945 * util/grub.d/20_linux_xen.in: Likewise.
13946 * util/grub.d/30_os-prober.in: Likewise.
13947
54894791
CW
139482011-06-28 Colin Watson <cjwatson@ubuntu.com>
13949
13950 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13951 default_bg_color rather than black.
13952 (grub_gfxterm_fullscreen): Likewise.
13953 (grub_gfxterm_background_color_cmd): Save new background color in
13954 default_bg_color.
13955
8d5d8444
VS
139562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13959
5afeb5bd
VS
139602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13963 mismerge.
13964
ba7df45e
VS
139652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 Chainloading on coreboot support.
13968
13969 * grub-core/Makefile.core.def (chain): Add coreboot.
13970 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13971
d0b526b2
VS
139722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13975 if it happens.
13976
5ff1d945
VS
139772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 Implement time command.
13980
13981 * grub-core/Makefile.core.def (time): New module.
13982 * grub-core/commands/time.c: New file.
13983 * grub-core/script/parser.y: Remove "time" keyword.
13984 * grub-core/script/yylex.l: Likewise.
13985
5ebaad7e
VS
139862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13989
bdea3798
VS
139902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13993 when handling leftovers.
13994
b28c5655
VS
139952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13998 so that help2man doesn't fail.
13999
b6f945dc
VS
140002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14003 type in pointers on sparc64.
14004 (get_card_packet): Likewise.
14005
f9b75e8a
CW
140062011-06-27 Colin Watson <cjwatson@ubuntu.com>
14007
14008 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14009 with `*'.
14010 (grub_cmd_videoinfo): Fetch current video mode.
14011
1e3d9b86
VS
140122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14015 because of underlying system restrictions.
14016
efff4b1c
VS
140172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14020 necessary.
14021
9fc9ce37
VS
140222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 Coreboot video support.
14025
14026 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14027 (vbe): Likewise.
14028 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14029 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14030 here ...
14031 * grub-core/kern/i386/int.S: ... here.
14032 * grub-core/video/i386/pc/vbe.c: Updated includes.
14033 * grub-core/video/i386/pc/vga.c: Likewise.
14034 * include/grub/i386/coreboot/memory.h
14035 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14036 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14037 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14038 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14039 Disable interrupts.
14040 * include/grub/i386/pc/vga.h: Removed. All users updated.
14041
41bec7fe
VS
140422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14045 definitions for dprintf.
14046 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14047
ca80309d
VS
140482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14051 prototype.
14052 (get_card_packet): Likewise.
14053
9e322ce8
YB
140542011-06-26 Yves Blusseau <blusseau@zetam.org>
14055
14056 Display the path of the file when file is not found
14057
14058 * grub-core/fs/fat.c: Display the filename when file is not found.
14059 * grub-core/fs/fshelp.c: Likewise.
14060 * grub-core/fs/hfs.c: Likewise.
14061 * grub-core/fs/jfs.c: Likewise.
14062 * grub-core/fs/minix.c: Likewise.
14063 * grub-core/fs/ufs.c: Likewise.
14064 * grub-core/fs/btrfs.c: Likewise.
14065 * grub-core/commands/i386/pc/play.c: Likewise.
14066
cbf597af
SJ
140672011-06-26 Szymon Janc <szymon@janc.net.pl>
14068
14069 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14070 pointer checks before calling grub_free().
14071 * grub-core/commands/wildcard.c (match_devices): Likewise.
14072 * grub-core/commands/wildcard.c (match_files): Likewise.
14073 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14074 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14075 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14076 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14077 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14078 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14079 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14080 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14081 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14082
6295b32f
P
140832011-06-25 Patrick <p55@mailinator.com>
14084
14085 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14086
77c0840b
VS
140872011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14090 (grub_pxe_send): Likewise.
14091 (GRUB_MOD_INIT): Fix types.
14092
40ea05de
SJ
140932011-06-24 Szymon Janc <szymon@janc.net.pl>
14094
14095 * grub-core/io/xzio.c: Fix code style issues
14096
90162423
MRA
140972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
140982011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14099
14100 Network infrastructure.
14101 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14102
14103 * include/grub/net/arp.h: New file.
90162423
MRA
14104 * include/grub/net/device.h: Likewise.
14105 * include/grub/net/ethernet.h: Likewise.
14106 * include/grub/net/ip.h: Likewise.
14107 * include/grub/net/netbuff.h: Likewise.
14108 * include/grub/net/tftp.h: Likewise.
14109 * include/grub/net/udp.h: Likewise.
14110 * include/grub/ieee1275/ofnet.h: Likewise.
14111 * include/grub/emu/export.h: Likewise.
14112 * include/grub/net.h: Likewise.
14113 * grub-core/net/arp.c: Likewise.
14114 * grub-core/net/ethernet.c: Likewise.
14115 * grub-core/net/ip.c: Likewise.
14116 * grub-core/net/udp.c: Likewise.
14117 * grub-core/net/tftp.c: Likewise.
14118 * grub-core/net/netbuff.c: Likewise.
14119 * grub-core/net/net.c: Likewise.
14120 * grub-core/net/drivers/emu/emunet.c: Likewise.
14121 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14122 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14123 export.h.
14124 * grub-core/Makefile.core.def (net): New module.
14125 (tftp): Likewise.
14126 (ofnet): Likewise.
14127 (emunet): Likewise.
14128 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14129 network protocols.
14130 * grub-core/kern/device.c (grub_net_open) : New variable.
14131 (grub_device_open): Handle network device.
14132 (grub_device_close): Likewise.
14133 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14134 (grub_grubnet_fini): Likewise.
14135 (grub_file_seek): Seek in network device.
14136 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14137 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14138 network root.
14139 (grub_machine_fini): Call grub_grubnet_fini.
14140 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14141 network.
14142 (grub_ieee1275_get_aliasdevname): New function.
14143 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14144 Add unofficial Solaris network info.
14145 (grub_multiboot_make_mbi): Likewise.
14146 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14147 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14148 * include/grub/device.h (grub_fs): Removed.
14149 * include/grub/err.h (grub_err_t): Add network-related values.
14150 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14151 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14152 (grub_ieee1275_get_aliasdevname): New proto.
14153 * include/grub/net.h: Rewritten.
423a1849 14154
031f22a0
VS
141552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14158 names.
14159
4388ca72
VS
141602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14163 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14164 it truncates the output.
14165 Reported by: Ximin Luo.
14166
98e2f506
VS
141672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14170
2a5e94d8
VS
141712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14174 partmap before abstraction.
14175
535c1910
AK
141762011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14177
14178 * util/grub-mkconfig_lib.in: Add missing quotes.
14179
bc09e1a2
VS
141802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14183 old method if mountinfo would return /dev/root and /dev/root doesn't
14184 exist.
14185
290766fb
VS
141862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 ZFS zlib support
14189
14190 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14191 (decomp_table): Add zlib entries.
14192 (zio_read): USe 8 bits for compression function rather than 3.
14193 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14194
141952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/disk/ahci.c: Add missing license statements.
14198 * grub-core/fs/romfs.c: Likewise.
14199 * grub-core/lib/ia64/setjmp.S: Likewise.
14200 * grub-core/loader/i386/pc/freedos.c: Likewise.
14201 * grub-core/loader/ia64/efi/linux.c: Likewise.
14202 * grub-core/video/colors.c: Likewise.
14203 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14204
5ab3f48a
VS
142052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 AHCI support.
14208
14209 * grub-core/Makefile.core.def (ata_pthru): Removed.
14210 (ahci): New module.
14211 (pata): Likewise.
14212 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14213 on unload.
14214 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14215 readwrite.
14216 (grub_hdparm_do_check_powermode_cmd): Likewise.
14217 (grub_hdparm_do_smart_cmd): Likewise.
14218 (grub_hdparm_set_val_cmd): Likewise.
14219 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14220 * grub-core/disk/ahci.c: New file.
14221 * grub-core/disk/ata.c: Factor out the low-level part into ...
14222 * grub-core/disk/pata.c: ... here.
14223 * grub-core/disk/ata_pthru.c: Contents moved to ...
14224 * grub-core/disk/pata.c: ... here.
14225 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14226 (grub_scsi_iterate): Use grub_scsi_names.
14227 (grub_scsi_open): Likewise.
14228 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14229 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14230 (grub_ata_regs_t): New struct.
14231 (grub_disk_ata_pass_through_parms): Likewise.
14232 (grub_ata_device): Renamed to ...
14233 (grub_ata): ... this.
14234 (grub_ata_dev): New struct.
14235 Removed all low-level inline functions.
14236 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14237 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14238 iterate hooks and open. All users updated.
14239 * util/grub-install.in: Handle AHCI disk module.
14240
c31dc5f5
SJ
142412011-06-23 Szymon Janc <szymon@janc.net.pl>
14242
14243 Add support for DRI and RSTn markers in JPEG files.
14244
14245 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14246 (JPEG_MARKER_RST0): Likewise.
14247 (JPEG_MARKER_RST1): Likewise.
14248 (JPEG_MARKER_RST2): Likewise.
14249 (JPEG_MARKER_RST3): Likewise.
14250 (JPEG_MARKER_RST4): Likewise.
14251 (JPEG_MARKER_RST5): Likewise.
14252 (JPEG_MARKER_RST6): Likewise.
14253 (JPEG_MARKER_RST7): Likewise.
14254 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14255 (grub_jpeg_decode_dri): New function.
14256 (grub_jpeg_decode_sos): Move image data related part into
14257 grub_jpeg_decode_data function.
14258 (grub_jpeg_decode_data): New function.
14259 (grub_jpeg_reset): New function.
14260 (grub_jpeg_decode_jpeg): Handle new markers.
14261
fe12fd5b
VS
142622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * util/ieee1275/ofpath.c (check_sas): Close fd.
14265 (main): Free of_path.
14266 Reported by: David Volgyes <dvolgyes>.
14267
03147f46
VS
142682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14271 Reported by: David Volgyes <dvolgyes>.
14272
cad3237f
VS
142732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14276 file after stat.
14277 Reported by: David Volgyes <dvolgyes>.
14278
13548d26
VS
142792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14280
14281 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14282
14283 Reported by: David Volgyes <dvolgyes>.
14284
e061a1b5
VS
142852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14286
14287 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14288 Prevent memory leak.
14289
1abe47dc
VS
142902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14293 (main): Close file.
e061a1b5 14294 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14295
fbc62666
VS
142962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14299 to continue if allocation is failed.
14300
14301 Reported by: David Volgyes <dvolgyes>.
14302
e98c83e9
DV
143032011-06-23 David Volgyes <dvolgyes>
14304
14305 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14306 dereference.
14307
a199a8cd
VS
143082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 Fix spurious warning.
14311
14312 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14313 (acorn_partition_map_find): Use .bin member.
14314
e2d1dba0
VS
143152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14318 /dev/root as a valid device.
14319
8a5d6919
JM
143202011-06-23 Jim Meyering <meyering@redhat.com>
14321
e2d1dba0
VS
14322 Avoid NULL deref in grub_device_open.
14323
8a5d6919
JM
14324 * grub-core/kern/device.c (grub_device_open): Don't dereference
14325 a NULL pointer upon failed grub_env_get.
14326
f7db6f4a
VS
143272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Support non-512B sectors and agglomerate reads.
14330
14331 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14332 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14333 (disk_io_guid): Removed.
14334 (make_devices): Locate solely by BlockIO.
14335 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14336 (grub_efidisk_read): Use read_blocks.
14337 (grub_efidisk_write): Use write_blocks.
14338 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14339 log_sector_size.
14340 (get_safe_sectors): Handle non-512B sectors.
14341 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14342 sectors.
14343 (grub_biosdisk_write): Handle non-512B sectors.
14344 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14345 (grub_scsi_read): Remove special non-512B block handling (now handled
14346 one level up).
14347 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14348 and do sanity checks.
14349 (grub_disk_adjust_range): Handle non-512B sectors.
14350 (transform_sector): New function.
14351 (grub_disk_read_small): Likewise.
14352 (grub_disk_read): Rewritten.
14353 (grub_disk_write): Handle non-512B sectors.
14354 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14355 log_sector_size.
14356 (open_device): Use log_sector_size.
14357 (grub_util_biosdisk_read): Likewise.
14358 (grub_util_biosdisk_write): Likewise.
14359 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14360 non-512B sectors.
14361 (pc_partition_map_embed): Likewise.
14362 * include/grub/disk.h (grub_disk): New field log_sector_size.
14363 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14364 (GRUB_DISK_CACHE_BITS): Increased to 6.
14365 * util/grub-fstest.c (fstest): New command testload.
14366 (argp_parser): Likewise.
14367
881ac815
RM
143682011-06-16 Robert Millan <rmh@gnu.org>
14369
14370 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14371 `ata' driver on kernel of FreeBSD 9.
14372
14373 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14374 (get_ataraid_disk_name): New functions.
14375 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14376 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14377 get_ataraid_disk_name() and get_ada_disk_name().
14378
1e9aef7d
CW
143792011-06-13 Colin Watson <cjwatson@ubuntu.com>
14380
14381 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14382 input format.
14383
351c7c8a
CW
143842011-05-29 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14387 `ftp.gnu.org' for `alpha.gnu.org'.
14388
6b4e6430
CW
143892011-05-27 Colin Watson <cjwatson@ubuntu.com>
14390
14391 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14392 partitions under /dev/disk/by-id/.
14393
c64db050
CW
143942011-05-27 Colin Watson <cjwatson@ubuntu.com>
14395
14396 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14397 after ten consecutive open failures. Scanning all the way up to
14398 10000 is excessive and can cause serious performance problems in
14399 some configurations.
14400 Fixes Ubuntu bug #787461.
14401
245f4aba
VS
144022011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14405 opening new one.
14406
f767c929
VS
144072011-05-21 Colin Watson <cjwatson@ubuntu.com>
144082011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 Don't stat devices unless we have to.
14411
14412 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14413 dir == /dev/mapper.
14414 (grub_guess_root_device): Use already known os_dev if possible.
14415 * grub-core/kern/emu/hostdisk.c
14416 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14417 if device is known to be a dm one.
14418
f35fa3a6
CW
144192011-05-20 Colin Watson <cjwatson@ubuntu.com>
14420
14421 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14422 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14423 Reported by: Pawel Tecza.
14424
9a79fcf2
VS
144252011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14428 (lsefisystab): Likewise.
14429 (lssal): Likewise.
14430 (lsefimmap): Likewise.
14431 (hdparm): Enable on qemu-mips.
14432 (setjmp): Add ia64 nodist.
14433 (serial): Simplify tags.
14434
63e3eea9
CW
144352011-05-18 Colin Watson <cjwatson@ubuntu.com>
14436
14437 * Makefile.util.def (grub-ofpathname): Install manual page.
14438
09728256
CW
144392011-05-18 Colin Watson <cjwatson@ubuntu.com>
14440
14441 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14442
8b63a142
CW
144432011-05-18 Colin Watson <cjwatson@ubuntu.com>
14444
14445 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14446
e775d8ed
VS
144472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14450 into dprintf.
14451
bf947d36
VS
144522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 Use full 64-bit division.
14455
14456 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14457 (grub_divmod64): ... this.
14458 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14459 version.
14460
b84f26c5
CW
144612011-05-18 Colin Watson <cjwatson@ubuntu.com>
14462
14463 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14464 `source'.
14465
5626056f
CW
144662011-05-18 Colin Watson <cjwatson@ubuntu.com>
14467
14468 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14469 to avoid accidents when debugging with 'sh -x'.
14470 * grub-core/gensyminfo.sh.in: Likewise.
14471 * tests/example_scripted_test.in: Likewise.
14472 * tests/grub_cmd_regexp.in: Likewise.
14473 * tests/grub_script_blanklines.in: Likewise.
14474 * tests/grub_script_dollar.in: Likewise.
14475 * tests/grub_script_expansion.in: Likewise.
14476 * tests/grub_script_final_semicolon.in: Likewise.
14477 * tests/partmap_test.in: Likewise.
14478 * tests/util/grub-shell-tester.in: Likewise.
14479 * tests/util/grub-shell.in: Likewise.
14480
e2965f4a
CW
144812011-05-18 Colin Watson <cjwatson@ubuntu.com>
14482
14483 Move gfxmenu color handling to video, so that gfxterm can use it
14484 too.
14485
14486 * grub-core/gfxmenu/named_colors.c: Move to ...
14487 * grub-core/video/colors.c: ... here. Rename
14488 grub_gui_get_named_color to grub_video_get_named_color.
14489 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14490 * grub-core/video/colors.c (my_isxdigit): ... here.
14491 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14492 Move to ...
14493 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14494 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14495 to ...
14496 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14497
14498 * include/grub/gui.h (grub_gui_color_t): Move to ...
14499 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14500 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14501 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14502 * include/grub/gui.h (grub_gui_map_color): Move to ...
14503 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14504 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14505 to ...
14506 * include/grub/video.h (grub_video_get_named_color): ... here.
14507 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14508 * include/grub/video.h (grub_video_parse_color): ... here.
14509
14510 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14511 video/colors.c.
14512 (gfxmenu): Remove gfxmenu/named_colors.c.
14513 (video) [videomodules]: Add video/colors.c.
14514
14515 Add a background_color command.
14516
14517 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14518 function.
14519 (GRUB_MOD_INIT): Register background_color command.
14520 (GRUB_MOD_FINI): Unregister background_color command.
14521 (redraw_screen_rect): Allow blend/replace of text layer to be
14522 controlled independently from whether there is a background bitmap.
14523 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14524 changing bitmap.
14525
1e4b4390
VS
145262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14527
26618ff0
VS
14528 Patch BPB in ntldr and chainloader --bpb.
14529
1e4b4390
VS
14530 * grub-core/fs/fat.c: Include grub/fat.h.
14531 (grub_fat_bpb): Moved to ...
14532 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14533 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14534 grub/ntfs.h.
14535 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14536 Moved from here...
14537 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14538 here.
14539 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14540 New function.
14541 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14542 (GRUB_MOD_INIT): Show --bpb.
14543 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14544 * grub-core/normal/main.c (features): New variable.
14545 (GRUB_MOD_INIT): Set feature_* variables.
14546 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14547 proto.
14548 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14549
cf02731e
VS
145502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14553 for cleanness.
14554
e3a1073f
VS
145552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 FreeDOS direct loading support.
14558
14559 * docs/grub.texi (Supported OS): Add FreeDOS.
14560 * grub-core/Makefile.core.def (freedos): New module.
14561 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14562 variable.
14563 (grub_relocator16_boot): Handle %ebx.
14564 * grub-core/lib/i386/relocator16.S: Likewise.
14565 * grub-core/loader/i386/pc/freedos.c: New file.
14566
05caa461
VS
145672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 Long Linux command line support.
14570
14571 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14572 (maximal_cmdline_size): New variable.
14573 (allocate_pages): Use maximal_cmdline_size.
14574 (grub_cmd_linux): Set and use maximal_cmdline_size.
14575 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14576 (allocate_pages): Use maximal_cmdline_size.
14577 (grub_cmd_linux): Set and use maximal_cmdline_size.
14578 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14579 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14580 and cmdline_size.
14581
a2491e23
VS
145822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
145832011-05-18 Colin Watson <cjwatson@ubuntu.com>
14584
14585 Improve devmapper support
14586
14587 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14588 (grub_util_is_lvm): New function.
14589 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14590 than lvm if not dmraid.
14591 Handle mapped md nodes.
14592 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14593 (grub_util_device_is_mapped): ... this. Make always available. All users
14594 updated.
14595 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14596 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14597 dmraid nodes.
14598 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14599
6ad6223e
VS
146002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14603
14604 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14605 * grub-core/modinfo.sh.in: New file.
14606 * grub-core/Makefile.core.def (modinfo.sh): New script.
14607 * util/grub-mknetdir.in: Use modinfo.sh.
14608 * util/grub-mkrescue.in: Likewise.
14609
543a8f6e
VS
146102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14613 Fix potential usage of Elf32 instead of Elf64 when compiling on
14614 32-bit architecture. Add endianness macros while on it.
14615
4959e111
VS
146162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Use mipsel- rather than mips- in directories involving mipsel ports to
14619 allow both endiannesses coexist.
14620
14621 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14622 mips. All conditions adjusted.
14623 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14624 variable.
14625 * util/grub-install.in: Adjust conditions to take renaming into account.
14626 * util/grub-mkimage.c (image_targets): Likewise. New target
14627 mips-qemu_mips-elf for bigendian mips.
14628
35341bbc
VS
146292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 Avoid unnecessary copying on MIPS.
14632
14633 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14634 early if src == dest.
14635 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14636 compression is none.
14637
b772baed
VS
146382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Reduce memory footprint on SGI by putting modules before the kernel
14641 as opposed to after.
14642
14643 * grub-core/Makefile.core.def (kernel): Increase linking address.
14644 (none_decompress): Likewise.
14645 (xz_decompress): Likewise.
14646 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14647 address.
14648 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14649 layout change.
14650 (grub_arch_modules_addr): New function.
14651 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14652 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14653 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14654 here.
14655 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14656 (grub_total_modules_size): ... this. Make global.
14657 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14658 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14659 New definition.
14660 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14661 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14662 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14663 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14664 * util/grub-mkimage.c (image_target_desc): New flag
14665 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14666 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14667 (generate_image): Handle images with modules before kernel.
14668
566a1917
VS
146692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 Prevent potential loss of memory map by overwrite on qemu-mips.
14672
14673 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14674 Save ram size in $s4.
14675 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14676 All users changed to grub_arch_memsize.
14677 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14678 Loongson.
14679 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14680 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14681 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14682 external variable.
14683
5d420cd9
CW
146842011-05-17 Colin Watson <cjwatson@ubuntu.com>
14685
14686 * .bzrignore: Remove grub-dumpbios.
14687
d064b830
CW
146882011-05-17 Colin Watson <cjwatson@ubuntu.com>
14689
14690 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14691 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14692 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14693 existing options which append).
14694 * docs/grub.texi (Simple configuration): Document new options.
14695 Reported by: Ian Jackson. Fixes Debian bug #617538.
14696
3ca2b466
CW
146972011-05-17 Colin Watson <cjwatson@ubuntu.com>
14698
14699 * util/grub-fstest.c (cmd_cat): New function.
14700 (fstest): Handle CMD_CAT.
14701 (options): Add cat.
14702 (argp_parser): Handle cat.
14703
24c9143a
CW
147042011-05-17 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * Makefile.util.def (grub-bin2h): Don't install.
14707 * docs/man/grub-bin2h.h2m: Remove.
14708
90f7ac19
VS
147092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14712 place.
14713
8d4a5178
VS
147142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 Reenable qemu-mips port.
14717
14718 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14719 Fix small arc bug while on it.
14720 * gentpl.py: Handle qemu_mips.
14721 * grub-core/Makefile.am: Likewise.
14722 * grub-core/Makefile.core.def: Likewise.
14723 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14724 inappropriate includes.
14725 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14726 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14727 * grub-core/kern/main.c (grub_modules_get_end)
14728 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14729 * grub-core/kern/mips/qemu-mips: Moved to ..
14730 * grub-core/kern/mips/qemu_mips: ... this.
14731 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14732 (grub_machine_init): Call terminfo_init and serial_init.
14733 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14734 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14735 New variable.
14736 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14737 parameter passing.
14738 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14739 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14740 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14741 * include/grub/mips/qemu_mips/cmos.h: New file.
14742 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14743 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14744 Removed.
14745 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14746 Use correct mips-style address.
14747 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14748 (GRUB_TICKS_PER_SECOND): Removed.
14749 (grub_get_rtc): Likewise.
14750 (grub_cpu_idle): Likewise.
14751 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14752 New definition.
14753 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14754 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14755 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14756 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14757 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14758 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14759 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14760 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14761
400b9371
VS
147622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 SGI ARCS port.
14765
14766 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14767 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14768 platforms.
14769 * configure.ac: New target mips-arc.
14770 * gentpl.py: Likewise.
14771 * grub-core/Makefile.am: Likewise.
14772 * grub-core/Makefile.core.def: Likewise.
14773 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14774 (none_decompress): Likewise.
14775 (lsdev): New module.
14776 (datetime): Use lib/arc/datetime.c on ARC.
14777 (part_dvh): New module.
14778 * grub-core/commands/arc/lsdev.c: New file.
14779 * grub-core/disk/arc/arcdisk.c: Likewise.
14780 * grub-core/kern/mips/arc/init.c: Likewise.
14781 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14782 aligned addresses.
14783 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14784 support.
14785 (grub_arch_dl_relocate_symbols): Likewise.
14786 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14787 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14788 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14789 platforms.
14790 * grub-core/lib/arc/datetime.c: New file.
14791 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14792 pci.h on non-loongson.
14793 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14794 (grub_linux_boot): Set unused registers to 0.
14795 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14796 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14797 * grub-core/mmap/mips/uppermem.c: ...here.
14798 * grub-core/partmap/dvh.c: New file.
14799 * grub-core/term/arc/console.c: Likewise.
14800 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14801 (grub_terminfo_set_current): Add terminal "arc".
14802 (grub_terminfo_readkey): Support ARC sequences.
14803 * include/grub/arc/arc.h: New file.
14804 * include/grub/arc/console.h: Likewise.
14805 * include/grub/disk.h (grub_disk_dev_id): Add
14806 GRUB_DISK_DEVICE_ARCDISK_ID.
14807 * include/grub/mips/arc/kernel.h: New file.
14808 * include/grub/mips/arc/memory.h: Likewise.
14809 * include/grub/mips/arc/time.h: Likewise.
14810 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14811 * include/grub/mips/kernel.h (grub_halt): ... here.
14812 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14813 here...
14814 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14815 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14816 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14817 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14818 proto.
14819 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14820 from here ...
14821 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14822 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14823 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14824 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14825 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14826 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14827 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14828 (grub_phys_addr_t): Moved from here ...
14829 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14830 (grub_vtop): Moved from here ...
14831 * include/grub/mips/memory.h (grub_vtop): ... here.
14832 (grub_map_memory): Moved from here ...
14833 * include/grub/mips/memory.h (grub_map_memory): ... here.
14834 (grub_unmap_memory): Moved from here ...
14835 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14836 (grub_machine_mmap_iterate): Moved from here ...
14837 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14838 (grub_mmap_get_lower): Moved from here ...
14839 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14840 (grub_mmap_get_upper): Moved from here ...
14841 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14842 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14843 here ...
14844 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14845 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14846 here ...
14847 * include/grub/mips/time.h (grub_get_rtc): ... here.
14848 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14849 here ...
14850 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14851 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14852 here ...
14853 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14854 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14855 definition.
14856 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14857 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14858 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14859 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14860 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14861 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14862 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14863 (GRUB_MACHINE_LINK_ADDR): Likewise.
14864 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14865 to 6.
14866 * util/grub-install.in: Run dvhtool on ARC.
14867 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14868 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14869
c8ecc840
VS
148702011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14873 blocks.
14874
153a4b55
VS
148752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14878 after enabling port.
14879
ff44d107
VS
148802011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 Skip incorrect USB devices.
14883
14884 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14885 configcnt == 0.
14886 * include/grub/usb.h (grub_usb_err_t): New enum value
14887 GRUB_USB_ERR_BADDEVICE.
14888
638dbe4f
VS
148892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Fuloong video init support.
14892
14893 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14894 well.
14895 (grub_vga_read_arx): New function.
14896 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14897 definition.
14898 (framebuffer): New members io, mmioptr and mmiobase.
14899 (read_sis_cmd): New function.
14900 (write_sis_cmd): Likewise.
14901 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14902 rather than 640x400.
14903 * grub-core/video/sis315_init.c: New file.
14904
c3fc520c
VS
149052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14908 non-loongson.
14909 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14910 to grub_dl_register_symbol.
14911
67b1e5c9
VS
149122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Fix compilation errors.
14915
14916 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14917 potentially unused.
14918 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14919 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14920 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14921 to loongson machines.
14922
b756f75f
VS
149232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 Several FS mtime support.
14926
14927 * grub-core/fs/affs.c (grub_affs_time): New struct.
14928 (grub_affs_file): New field mtime.
14929 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14930 type. Removed 'size'. New field 'di'. All users updated.
14931 (grub_affs_mount): Simplify checsum checking.
14932 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14933 (grub_affs_dir): Handle mtime.
14934 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14935 (grub_cpio_dir): Likewise.
14936 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14937 (grub_hfs_filerec): New field mtime.
14938 (grub_hfs_dir): Handle mtime.
14939 (grub_hfs_mtime): New function.
14940 (grub_hfs_fs): Register grub_hfs_mtime.
14941 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14942 (grub_iso9660_dir): New field mtime.
14943 (grub_fshelp_node): New field dirent.
14944 (iso9660_to_unixtime): New function.
14945 (iso9660_to_unixtime2): Likewise.
14946 (grub_iso9660_read_symlink): Use node->dirent.
14947 (grub_iso9660_iterate_dir): Likewise.
14948 (grub_iso9660_dir): Set mtime.
14949 (grub_iso9660_mtime): New function.
14950 (grub_iso9660_fs): Register grub_iso9660_mtime.
14951 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14952 (grub_jfs_inode): New fields atime, ctime and mtime.
14953 (grub_jfs_dir): Set mtime.
14954 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14955 * grub-core/fs/ntfs.c (list_file): Set mtime.
14956 (grub_ntfs_dir): Likewise.
14957 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14958 (grub_reiserfs_iterate_dir): Set mtime.
14959 (grub_reiserfs_dir): Likewise.
14960 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14961 (grub_fshelp_node): Likewise.
14962 (grub_sfs_iterate_dir): Set mtime.
14963 (grub_sfs_dir): Likewise.
14964 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14965 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14966 (grub_xfs_inode): New fields atime, mtime, ctime.
14967 (grub_xfs_dir): Set mtime.
14968 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14969 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14970 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14971
14972 Support UDF symlinks.
14973
14974 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14975 (grub_ufs_read_symlink): New function. All users updated.
14976
14977 Check amiga partmap checksum.
14978
14979 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14980 (grub_amiga_partition): Likewise.
14981 (amiga_partition_map_checksum): New function.
14982 (amiga_partition_map_iterate): Check checksum.
14983
5470225d
VS
149842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 ROMFS support.
14987
14988 * Makefile.util.def (libgrubmods.a): Add romfs.
14989 * grub-core/Makefile.core.def (romfs): New module.
14990 * grub-core/fs/romfs.c: New file.
14991
d4680a35
VS
149922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Squashfs v4 support.
14995
14996 * Makefile.util.def (libgrubmods.a): Add squash4.
14997 * grub-core/Makefile.core.def (squash4): New module.
14998 * grub-core/fs/squash4.c: New file.
14999 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15000 disk_input_start, disk_input.
15001 (get_byte): Handle disk_input.
15002 (grub_zlib_disk_read): New function.
15003 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15004
bcb18e74
FZ
150052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
150062011-05-15 Feiran Zheng <famcool@gmail.com>
15007
15008 * Makefile.util.def (libgrubmods.a): Add minix3.
15009 * grub-core/Makefile.core.def (minix3): New module.
15010 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15011 (GRUB_MINIX_BSIZE): Removed.
15012 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15013 (grub_minix_ino_t): New type.
15014 (grub_minix_le_to_cpu_ino): New macro.
15015 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15016 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15017 (grub_minix_data): New field block_size.
15018 (grub_minix_read_file): Handle 64-bit correctly.
15019 * grub-core/fs/minix3.c: New file.
15020
32297d5f
TG
150212011-05-15 Tristan Gingold <gingold@free.fr>
150222011-05-15 Robert Millan <rmh.grub@aybabtu.com>
150232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 IA64 support.
15026
15027 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15028 * configure.ac: Add ia64-efi target.
15029 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15030 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15031 * gentpl.py: Add ia64_efi platform.
15032 Rename x86_efi to efi and Add ia64-efi. All users updated.
15033 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15034 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15035 Remove kern/generic/rtc_get_time_ms.c on EFI.
15036 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15037 kern/ia64/dl_helper.c on ia64-efi.
15038 Add kern/emu/cache.c on emu.
15039 (linux): Use on loader/ia64/efi/linux.c on ia64.
15040 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15041 whether symbol is a function.
15042 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15043 (grub_symbol): New field 'isfunc'.
15044 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15045 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15046 (grub_dl_load_segments): Place all sections into the same region.
15047 [__ia64__]: Create trampolines and got.
15048 [GRUB_MACHINE_EMU]: Call mprotect.
15049 (grub_dl_resolve_symbols): Resolve symbol type as well.
15050 [__ia64__]: Create function descriptors.
15051 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15052 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15053 (grub_get_rtc): New function.
15054 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15055 * grub-core/kern/emu/cache.S: Renamed to ...
15056 * grub-core/kern/emu/cache_s.S: ... this.
15057 [__ia64__]: Add a nop.
15058 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15059 [__ia64__]: New function.
15060 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15061 * grub-core/kern/ia64/dl.c: New file.
15062 * grub-core/kern/ia64/dl_helper.c: Likewise.
15063 * grub-core/kern/ia64/efi/init.c: New file.
15064 * grub-core/kern/ia64/efi/startup.S: Likewise.
15065 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15066 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15067 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15068 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15069 * grub-core/loader/ia64/efi/linux.c: New file.
15070 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15071 (GRUB_MOD_DEP): Likewise.
15072 (grub_dl) [__ia64__]: New fields got and tramp.
15073 (grub_dl): New field 'base'.
15074 (grub_dl_register_symbol): New argument isfunc. All users updated.
15075 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15076 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15077 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15078 (grub_ia64_dl_get_tramp_got_size): New proto.
15079 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15080 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15081 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15082 * include/grub/efi/api.h: Skip call wrappers on ia64.
15083 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15084 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15085 * include/grub/elf.h (ELF_ST_INFO): New definition.
15086 * include/grub/ia64/efi/kernel.h: New file.
15087 * include/grub/ia64/efi/memory.h: Likewise.
15088 * include/grub/ia64/efi/time.h: Likewise.
15089 * include/grub/ia64/kernel.h: Likewise.
15090 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15091 * include/grub/ia64/time.h: New file.
15092 * include/grub/ia64/types.h: Likewise.
15093 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15094 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15095 New protos.
15096 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15097 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15098 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15099 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15100 All users updated.
15101 (EFI64_HEADER_SIZE): New definition. All users updated.
15102 (image_targets): Add ia64-efi.
15103 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15104 jumpers_addr. All users updated.
15105 Create function descriptors.
15106 (count_funcs): New function.
15107 (unaligned_uint32): New struct.
15108 (MASK20): New definition.
15109 (MASK19): Likewise.
15110 (MASKF21): Likewise.
15111 (add_value_to_slot_20b): New function.
15112 (add_value_to_slot_21_real): Likewise.
15113 (add_value_to_slot_21): Likewise.
15114 (ia64_kernel_trampoline): New struct.
15115 (nopm): New variable.
15116 (jump): Likewise.
15117 (make_trampoline): New function.
15118 (relocate_addresses): Handle ia64.
15119 (make_reloc_section): Likewise.
15120 (load_image): Likewise.
15121
983b414d
VS
151222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15125 warning. Move variables before code while on it.
15126
5d063cdc
VS
151272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 Fuloong support.
15130
15131 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15132 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15133 * grub-core/boot/mips/loongson/fuloong.S: New file.
15134 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15135 Explicitly init CS5536.
15136 [FULOONG]: Don't use serial until CS5536 is available.
15137 Set GPIO based on dumps.
15138 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15139 [FULOONG]: Handle GPIO and memory controller differences.
15140 Parse machine type in $a2.
15141 * grub-core/boot/mips/startup_raw.S: Determine and save the
15142 architecture.
15143 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15144 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15145 init on architecture type.
15146 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15147 SIS315E. Don't init at_keyboard on fuloong.
15148 (grub_halt): Support Fuloong.
15149 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15150 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15151 (loongson_machtypes): New array.
15152 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15153 type.
15154 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15155 config. All users updated. Handle CS5536 serial.
15156 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15157 default port on machine type. Register serial as inactive.
15158 * grub-core/video/sis315pro.c: New file.
15159 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15160 definition.
15161 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15162 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15163 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15164 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15165 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15166 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15167 to ...
15168 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15169 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15170 definition.
15171 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15172 (grub_arch_machine): New extern var.
15173 * include/grub/mips/loongson/serial.h
15174 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15175 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15176 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15177 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15178 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15179 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15180 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15181 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15182 * include/grub/term.h (grub_term_register_input_inactive): New inline
15183 function.
15184 (grub_term_register_output_inactive): Likewise.
15185 * include/grub/video.h (grub_video_driver_id): New value
15186 GRUB_VIDEO_DRIVER_SIS315PRO.
15187 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15188 New field "names". All users updated.
15189 New field value IMAGE_FULOONG_FLASH.
15190 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15191
6ada82d1
JU
151922011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15193
15194 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15195 and add some clarification.
15196
90c571a4
VS
151972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15200 platforms if kernel is compressed.
15201
de04eecf
VS
152022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15205 unused modules since currently referrence counter isn't reliable and
15206 there isn't much memory to recover there anyway.
15207
57688121
VS
152082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15211 rather than resetting it to allow modules to reference themselves
15212 in init.
15213
3d2c7e35
VS
152142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15217 counter on dependencies since grub_dl_unref already handles this.
15218
b25db218
VS
152192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15222 on error if not already done.
15223
25a45338
VS
152242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 Fix few potential memory misusage.
15227
15228 * grub-core/font/font.c (load_font_index): Don't free char_index to
15229 avoid double free.
b25db218
VS
15230 (grub_font_load): Zero-fill font at alloc for safety.
15231 Close file on error.
15232 (free_font): Free bmp_idx.
25a45338 15233
0cac83df
VS
152342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * docs/grub.texi (Installation): Fix several outdated claims.
15237
2217a143
VS
152382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 Handle module_license on windows.
15241
15242 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15243 sections shifted.
15244 (insert_string): Make argument const char * instead of char *.
15245 (write_section_data): Handle long section names.
15246 Handle module_license.
15247
d4de6b01
VS
152482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15251 handle class-free menuentries.
15252 (grub_normal_add_menu_entry): Add a check to be sure.
15253
4c2a3b43
VS
152542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15257 PgUp and PgDown.
15258
85c6210f
VS
152592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 * configure.ac: Bump version to 1.99.
15262
36084912
VS
152632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 Give ATA device a bit more time on first try in order to allow disks
15266 to spin up.
15267
15268 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15269 if dev->present is 1. Reset dev->present on failure.
15270 (grub_ata_device_initialize): Set dev->present to 1.
15271 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15272 (grub_ata_device): New member 'present'.
15273
bda0e219
VS
152742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * util/grub-mkimage.c (generate_image): Update hash.
15277
19e1c41b
VS
152782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 Flush caches on DMA memory.
15281
15282 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15283 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15284 (grub_dma_free): Likewise.
15285 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15286
91bbcc0c
VS
152872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15290 to avoid asm treating ld and sd as macros.
15291
60ddfad3
VS
152922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15295 decompressor.
15296
a298aa04
VS
152972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15300 grub_decompress_core since later would fail if grub_decompress_core
15301 is too far.
15302
9b44feca
VS
153032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15306 R_MIPS_JALR since it's used by newer compiler.
15307
56dbe7b4
VS
153082011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15311
52856af2
VS
153122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15315 file_path to 0 for surety.
15316 (grub_chainloader_boot): Set exit_data to NULL.
15317 Unset the loader once done.
15318 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15319
9c9bfc6d
VS
153202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15323 unknown key into a dprintf.
15324
dd94a3df
VS
153252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15328 on first non-existant partition.
15329
fa68d99c
VS
153302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15333 openning fails.
15334 Reported by: Mark Korenberg.
15335
157effb7
VS
153362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15339 overflow.
15340
ea75312f
VS
153412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15344 before closing to ensure that it will be readable by grub-setup.
15345
072b5d31
VS
153462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15349 (devpath_1): Use MAKE_PIWG_PATH.
15350 (devpath_2): Likewise.
15351 (devpath_3): Likewise.
15352 (devpath_4): Likewise.
15353 (devpath_5): Likewise.
15354 (devpath_6): Likewise.
15355
15356 The appleldr.mod was checked that to be binary identical to previous
15357 version.
15358
7fae0051
Z
153592011-05-05 Zach <mikezackles>
15360
15361 Support 2010 Macbooks.
15362
15363 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15364 (devs): Add devpath_6.
15365
7c515bee
VS
153662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15369 /dev/random. /dev/urandom is good enough for our purposes (salting).
15370
ed660bd8
VS
153712011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15374
ee5614b7
VS
153752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15378 hexadecimal.
15379
664889a6
VS
153802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15383 and not 0 on failure.
15384
bd405bbc
CW
153852011-05-03 Colin Watson <cjwatson@ubuntu.com>
15386
15387 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15388 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15389 disk; otherwise grub_fs_probe will not fall back to the next
15390 filesystem.
15391 (grub_pxefs_open): Likewise, for consistency.
15392 Reported and tested by: Ezekiel Grave.
15393
4ebff753
CW
153942011-05-03 Colin Watson <cjwatson@ubuntu.com>
15395
15396 * tests/partmap_test.in: Don't hardcode path to parted.
15397 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15398
8f942553
CW
153992011-05-01 Colin Watson <cjwatson@ubuntu.com>
15400
15401 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15402 of `ls' to find out which devices are available.
15403
3c62402d
VS
154042011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15407 than source address for efi mmap buffer.
15408
723f63f2
VS
154092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15412 wrong action on non-detecting the magic.
15413
68797f92
VS
154142011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15417 already supplied by another part of the module (fixes compilation on
15418 FreeBSD).
15419
6be8715d
VS
154202011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15423 match the one used by mdadm.
15424
e91dba5b
CW
154252011-04-21 Colin Watson <cjwatson@ubuntu.com>
15426
15427 * po/README: Add instructions for creating po/LINGUAS.
15428
c85140b3
CW
154292011-04-21 Colin Watson <cjwatson@ubuntu.com>
15430
15431 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15432 #551428.
15433
15434 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15435 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15436 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15437 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15438 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15439 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15440 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15441 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15442 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15443 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15444 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15445 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15446 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15447 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15448 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15449 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15450 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15451 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15452 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15453 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15454 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15455 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15456
92051871
CW
154572011-04-21 Colin Watson <cjwatson@ubuntu.com>
15458
15459 * grub-core/kern/emu/getroot.c
15460 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15461 test that was incorrectly reintroduced in r3214.
15462 Reported by: Ian Dall. Fixes Savannah bug #33133.
15463
b13f79a4
CW
154642011-04-21 Colin Watson <cjwatson@ubuntu.com>
15465
15466 Fix stack pointer handling in 16-bit relocator.
15467
15468 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15469 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15470 Fixes Ubuntu bug #683904.
15471
9b710a88
VS
154722011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * configure.ac: Bump version to 1.99~rc2.
15475
d97e7b59
VS
154762011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15479 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15480 * grub-core/lib/x86_64/setjmp.S: Likewise.
15481 * grub-core/lib/mips/setjmp.S: Likewise.
15482 * grub-core/lib/powerpc/setjmp.S: Likewise.
15483 * grub-core/lib/sparc64/setjmp.S: Likewise.
15484
0624551c
VS
154852011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15488 * grub-core/lib/efi/datetime.c: Likewise.
15489
e8f28d4c
VS
154902011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15493 New function.
15494 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15495 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15496 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15497
bba79a15
VS
154982011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15501 bitmap.
15502 (grub_gfxterm_term_init): Likewise.
15503
abc474ef
VS
155042011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 Take into account the decorations the computing menu entry width.
15507
15508 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15509 (grub_gfxmenu_create_box): Register get_border_width.
15510 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15511 if available.
15512 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15513 get_border_width.
15514
e74b3947
EP
155152011-04-18 Endres Puschner <code@e7p.de>
15516
15517 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15518 Don't skip first class.
15519
34faa595
VS
155202011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15523 chunks.
15524 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15525
93a777e3
VS
155262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 Complete 64-bit division support.
15529
15530 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15531 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15532 * include/grub/misc.h (grub_divmod64): Rename to ...
15533 (grub_divmod64_full): ... this.
15534 (grub_divmod64): New inline function.
15535
a5102d94
VS
155362011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15539
f3fb7b36
VS
155402011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15543 performing the necessary test.
15544
9ac718b0
VS
155452011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15548 (kfreebsd.elf): Likewise.
15549 (pc-chainloader.elf): Likewise.
15550 (ntldr.elf): Likewise.
15551
50d2cc5a
VS
155522011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Identify RAID by its UUID rather than (guessed) name.
15555
15556 * grub-core/disk/raid.c (ascii2hex): New function.
15557 (grub_raid_open): Accept mduuid/%s specification.
15558 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15559 (get_mdadm_uuid): ... this.
15560 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15561
e03f7bea
VS
155622011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15565 to negative size.
15566
e74c3112
CW
155672011-04-13 Colin Watson <cjwatson@ubuntu.com>
15568
15569 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15570 btrfs subvolume.
15571 * util/grub.d/20_linux_xen.in: Likewise.
15572
78fa584f
CW
155732011-04-13 Colin Watson <cjwatson@ubuntu.com>
15574
15575 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15576 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15577
15578 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15579 Build a list of relevant visible mounts using the mnt_id and
15580 parent_mnt_id fields, and then scan that list at the end.
15581
9d5f8162
CW
155822011-04-12 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * docs/grub.texi (normal): New section.
15585 (normal_exit): New section.
15586 (Embedded configuration): Add reference to normal.
15587 (GRUB only offers a rescue shell): Likewise.
15588 * docs/grub-dev.texi (Error Handling): Fix typo.
15589
09a9d66f
CW
155902011-04-12 Colin Watson <cjwatson@ubuntu.com>
15591
15592 * NEWS: Drop obsolete entry about probe-only btrfs support.
15593
0c676933
CW
155942011-04-12 Colin Watson <cjwatson@ubuntu.com>
15595
15596 * util/import_gcry.py: Fix typo.
15597
ec9f5e0d
VS
155982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * NEWS: Add btrfs support.
15601
fe6b2cba
VS
156022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
156032011-04-11 Colin Watson <cjwatson@ubuntu.com>
15604
15605 BtrFS support. Written by me (Vladimir) with important bugfixes and
15606 even more important testing by Colin.
15607
15608 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15609 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15610 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15611 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15612 mem_input_off and mem_input. All users updated to accept in-RAM input.
15613 (gzio_seek): New function.
15614 (test_zlib_header): Likewise.
15615 (grub_gzio_read): Likewise.
15616 (grub_zlib_decompress): Likewise.
15617 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15618 Accept partial and non-virtual mounts.
15619 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15620 avoid receiving /dev/dm-X as device.
15621 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15622 Handle bind and partial mounts.
15623 * grub-core/lib/crc.c: New file.
15624 * include/grub/deflate.h: Likewise.
15625 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15626 proto.
15627 * include/grub/lib/crc.h: New file.
15628
e745cf0c
VS
156292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 Implement automatic module license checking according to new GNU
15632 guidelines.
15633
15634 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15635 (grub_dl_load_core): Use grub_dl_check_license.
15636 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15637 (GRUB_MOD_LICENSE): Likewise.
15638 (GRUB_MOD_DUAL_LICENSE): Likewise.
15639 All modules updated.
15640
2a9bc016
CW
156412011-04-11 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15644 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15645 loaders.
15646 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15647
8a3bc88e
VS
156482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15651
af869a4a
VS
156522011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15655 failed.
15656
9ee8d94f
VS
156572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15660 parenthesis in the middle of the filename.
15661
b01abe3e
VS
156622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15665 rather than trying to put initrd way too high.
15666 Reported by: Ryan Lortie <desrt@desrt.ca>
15667
335bda1e
VS
156682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15671 improperly removed string.
15672
5ca1a64d
VS
156732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15676 is_disk.
15677 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15678 (open_device) Likewise.
15679 (grub_util_biosdisk_close): Likewise.
d8ce9995 15680 Reported by: Mark Korenberg.
5ca1a64d 15681
cbac5b1e
AK
156822011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15683
15684 * util/grub-mkconfig_lib.in: Add missing quotes.
15685
088cdb65
CW
156862011-04-10 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15689 is NULL.
15690
8b8a81fa
VS
156912011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 Dynamically count the number of lines for the lower banner.
15694
15695 * grub-core/normal/menu_entry.c (per_term_screen): New member
15696 num_entries.
15697 (print_down): Use num_entries.
15698 (update_screen): Likewise.
15699 (grub_menu_entry_run): Set num_entries.
15700 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15701 num_entries.
15702 (grub_print_message_indented): Move real part to ...
15703 (grub_print_message_indented_real): ... here. Additional argument
15704 dry_run.
15705 (draw_border): Additional argument num_entries.
15706 (print_message): Additional argument dry_run.
15707 (print_entries): Receive menu viewer data.
15708 (grub_menu_init_page): New argment num_entries.
15709 (menu_text_set_chosen_entry): Use num_entries.
15710 (grub_menu_try_text): Likewise.
15711 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15712 All users updated.
15713 (grub_ucs4_count_lines): New function.
15714 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15715 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15716 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15717 (grub_term_border_height): Likewise.
15718 (grub_term_num_entries): Likewise.
15719
277f955b
VS
157202011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15723 Remove now unused string.
15724
536ce85a
CW
157252011-04-09 Colin Watson <cjwatson@ubuntu.com>
15726
15727 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15728 build system.
15729 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15730
15731 (Comment): Fix typo.
15732 (Getting started): General copy-editing.
15733 (Typical Development Experience): Likewise.
15734 (Error Handling): Likewise.
15735 (Video API): Likewise.
15736
2cf09e32
CW
157372011-04-09 Colin Watson <cjwatson@ubuntu.com>
15738
15739 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15740 throughout.
15741
1ec652f4
VS
157422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15745 directory.
15746
2c583728
CW
157472011-04-08 Colin Watson <cjwatson@ubuntu.com>
15748
15749 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15750 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15751 "development".
15752
d7a565e9
VS
157532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15756 grub_strcpy since the lines aren't necessarily 0-terminated.
15757
7c2e4909
VS
157582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15761 root on legacy.
15762
34c09785
VS
157632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15766 (GRUB_MOD_INIT): DEVICE isn't optional.
15767
6a6f8058
VS
157682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15771 word on new line if it's too long anyway. Fixes a hang.
15772
2e335e90
VS
157732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15776 const.
15777 * util/grub-setup.c (main): Reuse md device name if available.
15778 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15779 not GRUB name as argument.
15780 Based on patch by: Florian Wagner <fwagner>.
15781
10a7a867
VS
157822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15785 Place mbi on low memory for better compatibility.
15786
7a3d6cd9
VS
157872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15790
18dd6b47
VS
157912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
157922011-04-08 Colin Watson <cjwatson@ubuntu.com>
15793
15794 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15795 * conf/Makefile.common: Likewise.
18dd6b47 15796
3c0e3f14
VS
157972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15798
f7148863
VS
15799 * grub-core/normal/menu.c: Add missing include.
15800
158012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15804
6d1fa41f
MZ
158052011-04-08 Martin Zuther <mzuther@mzuther.de>
15806
15807 * util/grub-mkconfig.in: Ignore emacsen backup.
15808
478182a8
VS
158092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15812 on open.
15813 (grub_util_biosdisk_close): Likewise.
15814
72a89a54
VS
158152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15818 const attribute and use grub_isdigit.
15819
b5ebecfa
A
158202011-04-06 Andrey <dev_null@ukr.net>
15821
15822 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15823 gcc warning.
15824
7755f66e
VS
158252011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15828 useful grub_dprintf's.
15829
461121ff
VS
158302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15833
2a961775
VS
158342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15837
adf594cc
VS
158382011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 Output errors if theme loading failed.
15841
15842 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15843 grub_gfxterm_fullscreen on error paths to ...
15844 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15845 theme loading error.
15846
665900a3
VS
158472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15850 space for older compilers.
15851 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15852
a562b479
VS
158532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15856 and report them as not RAID members since they are useless for GRUB.
15857 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15858
850e9373
VS
158592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Increase LVM implementation robustness in order not to crash on
15862 configurations like pvmove. Previously code assumed that in some places
15863 only lvs or only pvs are used whereas it seems that they are used
15864 interchangeably.
15865
15866 * grub-core/disk/lvm.c (read_node): New function.
15867 (read_lv): Use read_node.
15868 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15869 Match volumes only at the end when all lvs are found. Take both
15870 pvs (first) and lvs (second) into account.
15871 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15872 mirror_* into node_*. All users updated.
15873 (grub_lvm_stripe): Merge this ...
15874 (grub_lvm_mirror): ... and this ...
15875 (grub_lvm_node): ... into this. All users updated.
15876
6f332153
VS
158772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15880 of function to allow further scanning for LVMs.
15881
829ea451
VS
158822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15885 on failed seek as it breaks open fd reusage.
15886
09ceb9a5
VS
158872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * util/grub-install.in: Add a recommendation to use --recheck before
15890 reporting bugs.
15891
67e11623
VS
158922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15895 are obtained.
15896
caee5efd
VS
158972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 GRUB developper manual based on existing Internals section and
15900 contributions by the various authors with active copyright assignment.
15901
15902 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15903 * docs/font_char_metrics.png: New file.
15904 * docs/font_char_metrics.txt: Likewise.
15905 * docs/grub-dev.texi: Likewise.
15906 * docs/grub.texi (Internals): Move from here ...
15907 * docs/grub-dev.texi: ... here.
15908
2cccc747
CW
159092011-04-01 Colin Watson <cjwatson@ubuntu.com>
15910
15911 Store the loopback device as data on loopback grub_disk structures,
15912 rather than the file it points to. This fixes use of freed memory
15913 if an existing loopback device is replaced.
15914
15915 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15916 disk->data, not dev->file.
15917 (grub_loopback_read): Adjust file assignment to match.
15918 Fixes Ubuntu bug #742967.
15919
186ae367
CW
159202011-04-01 Colin Watson <cjwatson@ubuntu.com>
15921
15922 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15923 when replacing an existing device.
15924
cfed2ad0
VS
159252011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15928 memory corruptions.
15929
15930 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15931 unsigned.
15932 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15933 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15934 (grub_jfs_read_inode): Likewise.
15935 (grub_jfs_opendir): Likewise. Remove now useless casts.
15936 (grub_jfs_getent): Likewise.
15937 Make ino a grub_uint32_t rather than int.
15938 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15939 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15940 division and module with bit operations.
15941 (grub_jfs_find_file): Make ino a grub_uint32_t.
15942 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15943
05d2ed32
CW
159442011-04-01 Colin Watson <cjwatson@ubuntu.com>
15945
15946 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15947 warning. (This was in fact always initialised before use, but GCC
15948 wasn't smart enough to prove that.)
15949 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15950
91dc6073
VS
159512011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15954 stack alignment.
15955 (efi_wrap_1): Likewise.
15956 (efi_wrap_2): Likewise.
15957 (efi_wrap_3): Likewise.
15958 (efi_wrap_4): Likewise.
15959 (efi_wrap_5): Likewise.
15960 (efi_wrap_6): Likewise.
15961 (efi_wrap_10): Likewise.
15962 Based on information by: Red Hat/Peter Jones.
15963
a8afc1d1
CW
159642011-03-31 Colin Watson <cjwatson@ubuntu.com>
15965
15966 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15967 set-but-not-used variable.
15968
a826cc7d
CW
159692011-03-31 Colin Watson <cjwatson@ubuntu.com>
15970
15971 * docs/grub.texi (Simple configuration): Be more explicit about
15972 GRUB_DEFAULT, and add an example.
15973 Reported by: Leslie Rhorer.
15974
875b67ba
CW
159752011-03-30 Colin Watson <cjwatson@ubuntu.com>
15976
15977 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15978 shell".
15979
fd7cd914
AS
159802011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15981
15982 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15983 * util/grub.d/20_linux_xen.in: Likewise.
15984
090b1b6a
VS
159852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * util/grub.d/10_linux.in: Try alternative config filenames where
15988 we parse config file.
15989 * util/grub.d/20_linux_xen.in: Likewise.
15990
baad885c
AS
159912011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15992
15993 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15994 * util/grub.d/20_linux_xen.in: Likewise.
15995
241e41f5
VS
159962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * grub-core/disk/raid.c (insert_array): Add few potentially
15999 useful grub_util_info.
16000 (grub_raid_register): Likewise.
16001
56445fb2
VS
160022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16005 Preserve partition number in mdadm code path.
16006
c871b1c6
VS
160072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16010 few potentially useful grub_util_info.
16011
5e631b4f
CW
160122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16015
2d5d0333
CW
160162011-03-30 Colin Watson <cjwatson@ubuntu.com>
16017
16018 * docs/grub.texi (default): Use @example rather than nested
16019 itemized lists to avoid breaking gendocs.
16020
3d7ed04e
CW
160212011-03-30 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * docs/grub.texi (Future): Update.
16024
abf04200 160252011-03-30 Colin Watson <cjwatson@ubuntu.com>
16026
16027 * docs/grub.texi (Environment): New chapter.
16028 (Changes from GRUB Legacy): Link to "Environment block" section for
16029 details of limitations.
16030 (Simple configuration): Likewise. Link to documentation of gfxmode
16031 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16032 respectively.
16033 (Shell-like scripting): Note that normal variables are stored in the
16034 environment.
16035 (gettext): Link to documentation of lang and locale_dir.
16036 (list_env): New section.
16037 (load_env): New section.
16038 (save_env): New section.
16039
16040 (Reporting bugs): Fix typo.
16041
e1ad0edd
VS
160422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16045 the example.
16046
5d803174
VS
160472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * grub-core/term/at_keyboard.c (set_scancodes)
16050 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16051
2a2da1d0
CW
160522011-03-30 Colin Watson <cjwatson@ubuntu.com>
16053
16054 * docs/grub.texi (Menu-specific commands): Remove some semantics
16055 that were true in GRUB Legacy but not in GRUB 2.
16056 (submenu): New section.
16057 (false): New section.
16058 (read): New section.
16059 (true): New section.
16060
a7527639
CW
160612011-03-30 Colin Watson <cjwatson@ubuntu.com>
16062
16063 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16064
160652011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16066
16067 * docs/grub.texi (Simple configuration): Explain some of the
16068 current limitations of grub-mkconfig.
8a748df2 16069 Reported by: Leslie Rhorer.
e30af029 16070
fc858482
VS
160712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 Old macs search for boot.efi rather than for bootia32.efi.
16074
16075 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16076 * util/grub-mkrescue.in: Likewise.
16077 Suggested by: Peter Jones.
16078
e1eb511d
VS
160792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16082
70e75364
VS
160832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16086 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16087 (grub_lvm_mirror): New struct.
16088 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16089 (grub_lvm_iterate): Iterate only visible volumes.
16090 (grub_lvm_read): Factor out to ..
16091 (read_lv): ... this. Support mirrors.
16092 (grub_lvm_read): New wrapper function.
16093 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16094 stripped or mirrored.
16095
fc18f6a3
VS
160962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16099
5c650f4c
CW
161002011-03-29 Colin Watson <cjwatson@ubuntu.com>
16101
16102 * docs/grub.texi (loopback): New section.
16103
61d7156b
CW
161042011-03-29 Colin Watson <cjwatson@ubuntu.com>
16105
16106 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16107 removed -p option.
16108
994b8264
CW
161092011-03-29 Colin Watson <cjwatson@ubuntu.com>
16110
16111 * docs/grub.texi (BIOS installation): New section, partly based on
16112 previous text in other sections.
16113 (Installing GRUB using grub-install): Replace BIOS discussion with a
16114 cross-reference.
16115 (Images): Likewise.
16116
9e4d19e0
VS
161172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16120 [HAVE_DIOCGDINFO]: Add safety checks.
16121
a307c0b2
VS
161222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16125 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16126
b4db4f39
CW
161272011-03-29 Colin Watson <cjwatson@ubuntu.com>
16128
16129 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16130 real_sb->size is zero (e.g. RAID-0), get the disk size from
16131 real_sb->data_size instead.
16132 Fixes Ubuntu bug #743136.
16133
35e5f84c
VS
161342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16137 printf clauses for printing size and start.
16138
d2e29d81
VS
161392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16142 Reported and tested by: Timothy Nikkel.
16143
ed5587af
VS
161442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16147 (dirty_region_add_real): ... this.
16148 (dirty_region_add): Don't discard margin refresh when performing
16149 scheduled repaint.
16150
a1dc717c
VS
161512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * grub-core/lib/relocator.c (allocate_regstart)
16154 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16155 terminals are capabple of malloc-free operation.
16156 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16157 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16158
9f3677d3
VS
161592011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16160
16161 * util/grub-setup.c: Copy the partition table zone if floppy support
16162 is disabled, even if no partition table is found.
16163
16164 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16165 during POST if an invalid partition table is contained in the PBR
16166 of the active partition when GRUB is installed to a partition.
16167
24148725
CW
161682011-03-28 Colin Watson <cjwatson@debian.org>
16169
16170 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16171 comment.
16172
f329eda7
CW
161732011-03-28 Colin Watson <cjwatson@debian.org>
16174
16175 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16176 to be specific about what kind of RAID device we're scanning for.
16177
c482ad98
SG
161782011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16179
16180 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16181 return freed string.
16182
5ee04984
VS
161832011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16186
f4727da9
VS
161872011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Use libgeom on FreeBSD to detect partitions.
16190
16191 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16192 (grub-mkrelpath): Likewise.
16193 (grub-script-check): Likewise.
16194 (grub-editenv): Likewise.
16195 (grub-mkpasswd-pbkdf2): Likewise.
16196 (grub-fstest): Likewise.
16197 (grub-mkfont): Likewise.
16198 (grub-mkdevicemap): Likewise.
16199 (grub-probe): Likewise.
16200 (grub-setup): Likewise.
16201 (grub-ofpathname): Likewise.
16202 (grub-mklayout): Likewise.
16203 (example_unit_test): Likewise.
16204 (grub-menulst2cfg): Likewise.
16205 * grub-core/Makefile.core.def (grub-emu): Likewise.
16206 (grub-emu-lite): Likewise.
16207 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16208 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16209 define HAVE_DIOCGDINFO.
16210 (follow_geom_up) [FreeBSD]: New function.
16211 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16212 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16213 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16214 unconditionally of HAVE_DIOCGDINFO.
16215
82fe6c75
VS
162162011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 Fix FreeBSD compilation problem.
16219
16220 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16221 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16222
4c6c9431
CW
162232011-03-24 Colin Watson <cjwatson@ubuntu.com>
16224
16225 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16226 Switch back to page zero before loading a kernel, since some kernel
16227 drivers expect that.
16228 Thanks to: Felix Kuehling.
16229
c7064d94
VS
162302011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16233 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16234 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16235
3f71cded
VS
162362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16239 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16240
ef6de21a
VS
162412011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16244 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16245 malloc is disabled.
16246
8bc66a2c
VS
162472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16250 for modules headers when counting the needed allocation size.
16251
5657722c
VS
162522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16255 if no ASCII character is found to prevent crash.
16256
41a85f55
AK
162572011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16258
16259 * grub-core/video/bitmap.c (match_extension): Ignore case.
16260
59e1e5f1
VS
162612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16264
bd4d051a
VS
162652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * grub-core/script/parser.y: Declare "time" as valid argument.
16268
bae7fcc1
PJ
162692011-03-23 Peter Jones <pjones@redhat.com>
16270
16271 Fix incorrect assert failure reporting.
16272
16273 * grub-core/tests/example_functional_test.c (example_test): Add
16274 a failure comment.
16275 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16276 (failure_start): ...this. Check that malloc succeeded.
16277 Don't call xvasprintf. Return failure struct.
16278 (failure_append_vtext): New function.
16279 (failure_append_text): Likewise.
16280 (add_failure): Likewise.
16281 (grub_test_assert_helper): Likewise.
16282 * include/grub/test.h (grub_test_assert_helper): New declaration.
16283 (grub_test_assert): Macro rewritten.
16284
537dc9be
VS
162852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16288
fa3e01bf
VS
162892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16292
b1d28404
VS
162932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16296 into GRUB-style one.
16297
2e3e2e09
VS
162982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16301 error and not grub_errno.
16302 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16303
ed57e557
VS
163042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16307 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16308
d1611f01
VS
163092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/efiemu/i386/pc/cfgtables.c
16312 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16313 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16314 (grub_xnu_unlock): Likewise.
16315 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16316
7d4e39d6
VS
163172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16320 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16321 * grub-core/commands/hashsum.c (aliases): Likewise.
16322 * grub-core/commands/setpci.c (pci_registers): Likewise.
16323 * grub-core/disk/usbms.c (attach_hook): Likewise.
16324 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16325 (zio_checksum_table): Likewise.
16326 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16327 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16328 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16329 * grub-core/lib/relocator.c (leftovers): Likewise.
16330 (extra_blocks): Likewise.
16331 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16332 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16333 (modules_last): Likewise.
16334 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16335 (devices): Likewise.
16336 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16337 (modules_last): Likewise.
16338 * grub-core/normal/auth.c (users): Likewise.
16339 * grub-core/normal/context.c (initial_menu): Likewise.
16340 (current_menu): Likewise.
16341 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16342 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16343 (grub_serial_terminfo_input_template): Likewise.
16344 (grub_serial_terminfo_output_template): Likewise.
16345 (grub_serial_terminfo_input): Likewise.
16346 (grub_serial_terminfo_output): Likewise.
16347 (registered): Likewise.
16348 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16349
40fc4659
VS
163502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16353 grub_video_mode_type_t.
16354 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16355 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16356 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16357
2da48d28
VS
163582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * util/grub-install.in: Correct the x86-64 name as x86_64.
16361
9b43bf39
CW
163622011-03-11 Colin Watson <cjwatson@ubuntu.com>
16363
16364 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16365 initial chunk read from the kernel always includes GRUB's multiboot
16366 header, which is now outside the first sector.
16367
be1a7ce0
CW
163682011-03-09 Colin Watson <cjwatson@ubuntu.com>
16369
16370 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16371 cached mmap_size, so that this works correctly when called multiple
16372 times.
16373 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16374
83a3c48d
CW
163752011-03-09 Colin Watson <cjwatson@ubuntu.com>
16376
16377 * docs/grub.texi (Simple configuration): Tidy up formatting.
16378
57d75699
SJ
163792011-03-07 Szymon Janc <szymon@janc.net.pl>
16380
16381 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16382 Set-but-not-used variable removed.
16383
028501a0
VS
163842011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 Workaround yet another IEEE1275 bug.
16387
16388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16389 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16390 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16391 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16392 is set.
16393 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16394 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16395
d998657d
VS
163962011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16399 error.
16400
fee7cdd4
CW
164012011-02-11 Colin Watson <cjwatson@ubuntu.com>
16402
16403 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16404 empty, since in that case we can only generate either nothing or a
16405 syntactically invalid configuration file.
16406 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16407
97286eb5
CW
164082011-02-09 Colin Watson <cjwatson@ubuntu.com>
16409
16410 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16411 (Making a GRUB bootable CD-ROM): Likewise.
16412 (Invoking grub-mkrescue): New section.
16413 Reported by: Yann Dirson. Fixes Debian bug #612585.
16414
22b28eb3
CW
164152011-02-09 Colin Watson <cjwatson@ubuntu.com>
16416
16417 * util/grub-install.in: Remove unnecessary brackets from tr
16418 arguments.
16419 * util/grub.d/10_hurd.in: Likewise.
16420 * util/grub.d/10_kfreebsd.in: Likewise.
16421 * util/grub.d/10_linux.in: Likewise.
16422 * util/grub.d/20_linux_xen.in: Likewise.
16423 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16424
7e735e43
CW
164252011-02-08 Colin Watson <cjwatson@ubuntu.com>
16426
16427 * include/grub/file.h (not_easly_seekable): Rename to ...
16428 (not_easily_seekable): ... this. Update all users.
16429
800f1881
CW
164302011-01-28 Colin Watson <cjwatson@ubuntu.com>
16431
16432 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16433 grub-mkrescue.
16434
3281d3d6
VS
164352011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 * util/grub-mkimage.c (generate_image): Refuse to create the images
16438 bigger than the actual flash (512K) in Loongson machines. 512K is also
16439 the biggest chip supported by them.
16440
3533413c
VS
164412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16444
73ae4f4f
VS
164452011-01-22 Anthony DeRobertis <anthony@derobert.net>
16446
16447 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16448 super_offset field.
16449
37f4f608
VS
164502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 * util/grub-install.in: Ignore install device on platforms
16453 where it doesn't make sense. Always use UUIDs except on pc, efi and
16454 sparc64.
16455 Reported by: Daniel Kahn Gillmor.
16456
03a4ccb5
VS
164572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16460
ffc8f4d8
VS
164612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16464 (iterate_real): Don't rely on partition being non-NULL.
16465
80f23be7
VS
164662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16469 supported platforms. Put a compile time assert for this rather than
16470 generate a warning with 32-bit shift.
16471
5d4f4dd5
VS
164722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16475 logical expression more readable.
16476
e489601a
VS
164772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16480 even if some elements have a name.
16481 Reported by: Alexander GQ Gerasiov.
16482
96e0a6ea
CW
164832011-01-22 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16486 path unreadable if `grub-probe -t abstraction' fails, for example if
16487 memberlist fails on an LVM volume group.
16488 Reported by: Darius Jahandarie.
16489
81431e2b
CW
164902011-01-22 Colin Watson <cjwatson@ubuntu.com>
16491
16492 * docs/grub.texi (Simple configuration): Document
16493 GRUB_PRELOAD_MODULES.
16494
5e79d66a
CW
164952011-01-17 Colin Watson <cjwatson@ubuntu.com>
16496
16497 * .bzrignore: Remove nonexistent grub-pbkdf2.
16498
646ada34
VS
164992011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * configure.ac: Bump version to 1.99~rc1.
16502
04360337
VS
165032011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16506 for safety.
16507
46c9db88
VS
165082011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16511 module.
16512
165132011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16514
16515 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16516
4fbf1852
VS
165172011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16520 diskdevid.
16521
f1632d4d
VS
165222011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 Fix compilation on cygwin.
16525
16526 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16527 -R .drectve on cygwin.
16528 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16529 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16530 (COND_CYGWIN): New condition.
16531 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16532 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16533 not @TARGET_OBJ2ELF@.
16534 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16535 type to determine whether aux is to be used.
16536
0b5e127b
VS
165372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16540 realpath'ed device string.
16541 Handle floppy (somewhat).
16542 Issue error in unknown case rather than garbage.
16543 Reported by: Axel Beckert.
16544
173b71e9
VS
165452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * util/grub.d/00_header.in (load_video): Handle the case when no video
16548 drivers available.
16549 Thanks to: Axel Beckert.
16550
f8f479db
VS
165512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16552
16553 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16554 variable. Fixes problem on big endian platforms.
16555
8fc0a245
VS
165562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16559 It doesn't work well there.
16560
b8494fbe
VS
165612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16564 warning.
16565 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16566 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16567 counter.
16568
b44a558c
VS
165692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Use alias->path rather than buggy "canon".
16572
16573 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16574 (ofdisk_hash_add): New argument curcan. All users updated.
16575
51fa856c
CW
165762011-01-11 Colin Watson <cjwatson@ubuntu.com>
16577
16578 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16579
9da068a5
VS
165802011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16583 loadmask before doing any calculations. Use correct type for offset.
16584 (grub_linux_load64): Likewise.
16585
86205c94
CW
165862011-01-11 Colin Watson <cjwatson@ubuntu.com>
16587
16588 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16589 with NULL.
16590 (console_grub_equivalences_unshift): Likewise.
16591 Reported by: Daniel Dehennin.
16592
4531a206
VS
165932011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16596 (set_env_limn_ro): Likewise.
16597 (GRUB_MOD_INIT): Likewise.
16598 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16599 ARRAY_SIZE while on it.
16600 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16601 * grub-core/normal/context.c (grub_env_export): Move from here ...
16602 * grub-core/kern/env.c (grub_env_export): ... here.
16603 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16604 prefix.
16605 * grub-core/kern/main.c (grub_main): Export root and prefix.
16606 * include/grub/env.h (grub_env_export): Export.
16607 Reported by: Seth Goldberg.
16608
45146057
VS
166092011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16612 Take into account space used by ELF sections and multiboot palette.
16613 Reported by: Grégoire Sutre.
16614
f093110b
VS
166152011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * BUGS: New file.
16618
3395fe52
VS
166192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 Pass more appropriate video id to Linux.
16622
16623 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16624 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16625 fill have_vga.
16626 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16627 shift params->lfb_size.
16628 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16629
c2fa6cbb
VS
166302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16633
b3ff6ff0
VS
166342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16635
16636 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16637 separator and pass bootpath/devid even if only one of them is available.
16638 Reported by: Seth Goldberg.
16639
ae67942e
VS
166402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16643 implementations bug on them.
16644
16645 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16646 memory.
16647 (filter_memory_map): Likewise.
16648
d570097a
VS
166492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16652 Reported by: nebuchadnezzar.
16653
a508e776
VS
166542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16657 Reported by: nebuchadnezzar.
16658
dcb883b1
VS
166592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 Submenu default support.
16662
16663 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16664 auto_boot. All users updated.
16665 Declared static.
16666 Handle chosen and default with submenus.
16667 (grub_menu_execute_with_fallback): Declared static.
16668 Don't notify failure if autobooted. Upper level does it.
16669 (menuentry_eq): New function.
16670 (get_entry_number): Use menuentry_eq.
16671 (show_menu): New parameter "autobooted". All users updated.
16672 (grub_show_menu): Likewise.
16673 * include/grub/normal.h (grub_show_menu): Likewise.
16674 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16675 (grub_menu_execute_with_fallback): Likewise.
16676
6fef99b4
VS
166772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * util/grub-mklayout.c (usage): Update help text.
16680
47a77af5
VS
166812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16684
ce6bb3ee
VS
166852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 * util/grub-menulst2cfg.c (main): Trim the line.
16688
db87be2a
VS
166892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16692 (grub_machine_init): Don't check amount of low memory as reportedly
16693 INT 12h can be broken and if low memory is too low we wouldn't have
16694 gotten into grub_machine_init anyway.
16695
c49849cc
VS
166962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16699 (grub_machine_mmap_iterate): Take low memory into account
16700
b1969b30
VS
167012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16704 badfs.
16705 Reported by: TiCPU.
16706
cf0eaf13
VS
167072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16710 members errors.
16711
1f060f39
GS
167122011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16713
16714 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16715 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16716
a21e5672
GS
167172011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16718
16719 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16720 openbsd and netbsd types being in part_bsd module.
16721
c88172fa
VS
167222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16725 (_FILE_OFFSET_BITS): Likewise.
16726 Reported by: Seth Goldberg.
16727
53798c4b
GS
167282011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16729
16730 * configure.ac: Check for libdevmapper header.
16731
e7121b69
VS
167322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16735 avoid aliasing.
16736 (fzap_lookup): Likewise.
16737 (dnode_get): Likewise.
16738 (make_mdn): Likewise.
16739 (zfs_mount): Likewise.
16740 (fzap_iterate): Use temporary pointer to avoid aliasing.
16741 (grub_zfs_read): Likewise.
16742 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16743 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16744 pointers to avoid aliasing.
16745 (grub_cmd_xnu_kernel64): Likewise.
16746 (grub_xnu_load_driver): Likewise.
16747
fc836af9
VS
167482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16751 aliasing warning.
16752 (grub_cmd_terminal_output): Likewise.
16753 Reported and tested by: Grégoire Sutre.
16754
f9f37648
VS
167552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16758 warning.
16759 Reported and tested by: Grégoire Sutre.
16760
ec1dfd63
VS
167612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * configure.ac: Do CPU substitution even if it's specified explicitly.
16764 Reported and tested by: Alain Greppin.
16765
9462775a
VS
167662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16769 Reported and tested by: Alain Greppin.
16770
0fd48e35
VS
167712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 Satisfy some bison versions need for inttypes.h.
16774
16775 * grub-core/lib/posix_wrap/inttypes.h: New file.
16776 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16777 (int16_t): Likewise.
16778 (int32_t): Likewise.
16779 (int64_t): Likewise.
16780 Reported and tested by: Alain Greppin.
16781
43f1bc83
VS
167822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16785 Silence spurious warning.
16786 Reported and tested by: Alain Greppin.
16787
64d1f041
SJ
167882011-01-07 Szymon Janc <szymon@janc.net.pl>
16789
16790 * docs/grub.texi (Support automatic decompression): Update with xz
16791 decompression support.
16792
25953e10
SJ
167932011-01-07 Szymon Janc <szymon@janc.net.pl>
16794
16795 Improve loaders' kernel command line handling.
16796
16797 * grub-core/lib/cmdline.c: New file.
16798 * include/grub/lib/cmdline.h: Likewise.
16799 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16800 grub_create_loader_cmdline to create kernel command line.
16801 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16802 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16803 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16804 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16805 (linux): Add lib/cmdline.c on common.
16806
e72d259f
VS
168072011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16810 inopos might be unaligned.
16811
c0cf26da
VS
168122011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16815 endian transformations.
16816 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16817 Based on report by: Doug Nazar.
16818
0ca09e6c
DN
168192011-01-07 Doug Nazar <nazard.michi@gmail.com>
16820
16821 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16822 array->members[i].start_sector.
16823 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16824
014b6806
VS
168252011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16828 Reported and tested by: Grégoire Sutre.
16829
415502c2
CW
168302011-01-06 Colin Watson <cjwatson@ubuntu.com>
16831
16832 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16833 avoid causing test failures by clearing the screen.
16834
71b6a2b7
CW
168352011-01-06 Colin Watson <cjwatson@ubuntu.com>
16836
16837 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16838 Fix prefix check to handle the case where dir ends with a slash
16839 (most significantly, "/" itself).
16840 Reported by: Michael Vogt.
16841
b3f8d28a
VS
168422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 Run terminfo_cls on initing terminfo output to clear the screen and
16845 move the cursor to (0,0).
16846
16847 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16848 Call grub_terminfo_output_init.
16849 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16850 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16851 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16852
4c3e4f37
VS
168532011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16854
16855 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16856 only when needed.
16857
488f71f1
VS
168582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16861 CTRL.
16862
18a38098
VS
168632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 The E820 type 5 is BADRAM, not EXEC_CODE.
16866
16867 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16868 (GRUB_E820_BADRAM): New define.
16869 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16870 into reserved. Propagate BADRAM.
16871 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16872 (GRUB_E820_BADRAM): New define.
16873
9eae2084
VS
168742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16877 Ignore the memory post-4G.
16878 (grub_relocator_firmware_alloc_region): Additional debug statement.
16879
ebc71d28
VS
168802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16883 names.
16884 Reported by: David Pravec.
16885
446fa400
VS
168862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16889 BIOSes.
16890
a0159f37
VS
168912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16894 Prevent overflow.
16895 (grub_reed_solomon_recover): Likewise.
16896
e5146ca1
VS
168972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16900
169012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16902
16903 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16904 variable.
16905
5b1bdf12
CW
169062011-01-04 Colin Watson <cjwatson@ubuntu.com>
16907
16908 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16909 descriptions of extract_legacy_entries_source and
16910 extract_legacy_entries_configfile.
16911 Reported by: Seung Soo, Ha.
16912
99d925aa
CW
169132011-01-03 Colin Watson <cjwatson@ubuntu.com>
16914
16915 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16916 on devices that do not implement function 0.
16917
4af0504b
DV
169182011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16919
16920 * grub-core/fs/hfsplus.c: Make parent unsigned.
16921 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16922 overflows.
16923 (grub_hfsplus_cmp_extkey): Likewise
16924
469ee10a
VS
169252011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * util/grub-install.in: Correctly use bootloader_id and not
16928 GRUB_DISTRIBUTOR on efibootmgr line.
16929
323a8e9c
VS
169302011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16933
1b394975
IC
169342010-12-31 Ian Campbell <ijc@hellion.org.uk>
16935
16936 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16937 Xen and reorder menu item wording to make it clearer that this entry
16938 will launch Xen. Print separate messages when loading Xen and
16939 Linux.
16940
275bff5f
VS
169412010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16944 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16945 loop in case of incorrect amiga partmap.
16946
307806cb
VS
169472010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16950 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16951 Reported by:EHeM.
16952
b12b923e
VS
169532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16956 spurious warning.
16957 Reported by: crocket
16958
14b48a19
VS
169592010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16962 Preload EFIemu.
16963 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16964
693db2df
VS
169652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16968 is loaded
16969 (grub_cmd_xnu_kextdir): Likewise.
16970 (grub_cmd_xnu_splash): Likewise.
16971
c7638645
VS
169722010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 Avoid using Reed-Solomon with 0 redundancy.
16975
16976 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16977 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16978 or 0 redundancy.
16979 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16980 (grub_reed_solomon_recover): Likewise.
16981
25dd4780
VS
169822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 Don't use disk subsystem in freebsd_boot.
16985
16986 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16987 (freebsd_biosdev): Likewise.
16988 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16989 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16990
0b2db943
VS
169912010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Handling of files of unknown size is currently limited. They can't be
16994 used e.g. for initrd or modules. Moreover gzip handling of not
16995 easily seekable files is buggy. Disable unknown file size for now. May
16996 be inefficient but works.
16997
16998 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16999 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17000
5c408d0f
MP
170012010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17002
17003 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17004 floppy probe.
17005
190a011a
JD
170062010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17007
17008 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17009
022d01b8
SL
170102010-12-25 Shea Levy <shlevy>
17011
17012 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17013
c4855fdc
VS
170142010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17017 Windows Server 2008.
17018 Reported by: Devin Giddings.
17019
0354b867
VS
170202010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17023 writing an error message because of async power management.
17024 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17025 (grub_reboot): Likewise.
17026
ab66c69f
JU
170272010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17028
17029 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17030 keep unit tests from failing when they shouldn't.
17031
1426ef35
CW
170322010-12-21 Colin Watson <cjwatson@ubuntu.com>
17033
17034 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17035 previous patch increased the size of the RS code by 20 bytes (at
17036 least with gcc-4.4), so increase this by 20 bytes to match.
17037 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17038
20641b6b
CW
170392010-12-21 Colin Watson <cjwatson@ubuntu.com>
17040
17041 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17042 scratch area. Make sure to initialise chosen in standalone mode as
17043 well as non-standalone.
17044 Reported by: Robert Hooker and Andy Whitcroft.
17045 Tested by: Andy Whitcroft.
17046
d060ad60
CW
170472010-12-21 Colin Watson <cjwatson@ubuntu.com>
17048
17049 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17050 constructing a new unescaped string and passing it to grub_xputs in
17051 one go, rather than passing characters to grub_printf one at a time.
17052
b889cfad
CW
170532010-12-21 Colin Watson <cjwatson@ubuntu.com>
17054
17055 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17056 initialising utf16.
17057
4e01b6c8
CW
170582010-12-21 Colin Watson <cjwatson@ubuntu.com>
17059
17060 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17061 comment. Add an extra layer of quotation, requiring the output of
17062 this function to be used in a printf format string.
17063 (gettext_printf): New function.
17064 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17065 Extract translatable strings from here-documents and use a temporary
17066 variable instead, so that xgettext can find them.
17067 * util/grub.d/10_kfreebsd.in: Likewise.
17068 * util/grub.d/10_linux.in: Likewise.
17069 * util/grub.d/20_linux_xen.in: Likewise.
17070
17071 * po/grub.d.sed: New file.
17072 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17073 arguments. Set c-format flags on all strings extracted from
17074 util/grub.d/ (xgettext refuses to include these itself for strings
17075 it extracted from a shell file, but these really are c-format).
17076
5318fe98
VS
170772010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17080 Avoid next pointing to nowhere.
17081
6c85b743
VS
170822010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17085 rather than assuming than rootblock is exactly in the middle.
17086 (grub_affs_label): Likewise.
17087
a2a08a35
VS
170882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17091 reserved_first_sector to 0.
17092 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17093 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17094 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17095
7059d1ec
VS
170962010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 Fix handling of UTF-16 UDF labels.
17099
17100 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17101 (read_string): .. here.
17102 (grub_udf_label): Use read_string.
17103
30aff4cb
BC
171042010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17105
17106 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17107 editor under argument scope.
17108 Reported by: Jordan Uggla
17109
5cf86f4b
VS
171102010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17113
32570200
CW
171142010-12-18 Colin Watson <cjwatson@ubuntu.com>
17115
17116 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17117 line, and other keys scroll an entire page (previous handling was
17118 for \r and \n to scroll a page and other keys to scroll two lines).
17119
e1dffcf2
VS
171202010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17123 Set ptrdest to correct get_physical_target_address rather than
17124 incorrect get_virtual_current_address.
17125
b04298cf 171262010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17127
17128 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17129 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17130
5367ecd3
CW
171312010-12-10 Colin Watson <cjwatson@ubuntu.com>
17132
17133 * .bzrignore: Ignore grub-core/rs_decoder.S.
17134
1fb430f8
CW
171352010-12-10 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17138 .mo/.mo.gz opening sequence to ...
17139 (grub_mofile_open_lang): ... here.
17140 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17141 * util/grub.d/00_header.in (grub_lang): Include country part of
17142 locale.
17143 Reported by: Mario Limonciello.
17144
a94a6671
RM
171452010-12-09 Robert Millan <rmh@gnu.org>
17146
17147 * NEWS: Document addition of ZFS support.
17148
24b7938b
CW
171492010-12-04 Colin Watson <cjwatson@ubuntu.com>
17150
17151 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17152 rather than `/ 2', as the latter requires -Wa,--divide which would
17153 require bumping our minimum binutils version.
17154
bddc3ef6
BC
171552010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17156
17157 * util/grub-script-check.c (main): Print script line number on
17158 error.
17159
bf78d5b2
RM
171602010-12-01 Robert Millan <rmh@gnu.org>
17161
17162 * grub-core/fs/zfs/zfs.c: New file.
17163 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17164 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17165 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17166 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17167
17168 * include/grub/zfs/dmu.h: Likewise.
17169 * include/grub/zfs/dmu_objset.h: Likewise.
17170 * include/grub/zfs/dnode.h: Likewise.
17171 * include/grub/zfs/dsl_dataset.h: Likewise.
17172 * include/grub/zfs/dsl_dir.h: Likewise.
17173 * include/grub/zfs/sa_impl.h: Likewise.
17174 * include/grub/zfs/spa.h: Likewise.
17175 * include/grub/zfs/uberblock_impl.h: Likewise.
17176 * include/grub/zfs/vdev_impl.h: Likewise.
17177 * include/grub/zfs/zap_impl.h: Likewise.
17178 * include/grub/zfs/zap_leaf.h: Likewise.
17179 * include/grub/zfs/zfs.h: Likewise.
17180 * include/grub/zfs/zfs_acl.h: Likewise.
17181 * include/grub/zfs/zfs_znode.h: Likewise.
17182 * include/grub/zfs/zil.h: Likewise.
17183 * include/grub/zfs/zio.h: Likewise.
17184 * include/grub/zfs/zio_checksum.h: Likewise.
17185
17186 * Makefile.util.def: Build ZFS into libgrubmods.
17187 * grub-core/Makefile.core.def: Build zfs.mod.
17188
3f0f3831
SJ
171892010-11-30 Szymon Janc <szymon@janc.net.pl>
17190
17191 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17192 variable.
17193 * grub-core/commands/wildcard.c (match_files): Likewise.
17194
3a4253b2
RM
171952010-11-30 Robert Millan <rmh@gnu.org>
17196
17197 * grub-core/loader/i386/bsd.c
17198 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17199 whether kernel is loaded using grub_loader_is_loaded(), rather
17200 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17201 certain error conditions.
17202
8c317b27
RM
172032010-11-30 Robert Millan <rmh@gnu.org>
17204
c5c9cd3e
RM
17205 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17206 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17207
49d3ab46
VS
172082010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 Avoid using tricks for initialising endian variables.
17211
17212 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17213 Make const.
17214 (GRUB_MOD_INIT): Don't byte-swap.
17215 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17216 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17217 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17218 (grub_swap_bytes32_compile_time): Likewise.
17219 (grub_cpu_to_le32_compile_time): Likewise.
17220 (grub_cpu_to_le16_compile_time): Likewise.
17221
f420a804
VS
172222010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * util/grub-setup.c (setup): Stop recommending --force. People who
17225 understand the dangers of blocklists are able to find this option
17226 anyway and the ones who don't shouldn't use it anyway.
17227
4e7db17b
RM
172282010-11-26 Robert Millan <rmh@gnu.org>
17229
17230 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17231 Update all users.
17232
9be57a0d
CW
172332010-11-26 Colin Watson <cjwatson@ubuntu.com>
17234
17235 Fix LVM-on-RAID probing.
17236
17237 * util/grub-probe.c (probe): Remember which disk was detected as
17238 RAID (perhaps an LVM physical volume). Use that disk's raidname
17239 rather than that of the top-level disk.
17240
2c7859b3 172412010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17242
d7647bb6
BC
17243 Fix cmdline argument quotes for setparams command of menuentry
17244 definitions.
7e623b0d
BC
17245
17246 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17247 quotes for arguments.
f866fe80 17248 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17249 grub_strchrsub function instead.
f866fe80 17250
7955bea0 17251 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17252
74f72a64
CW
172532010-11-24 Colin Watson <cjwatson@ubuntu.com>
17254
17255 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17256 effort by skipping "." and ".." entries up-front.
17257 Suggested by: Michael Lazarev.
17258
5a407278
CW
172592010-11-24 Colin Watson <cjwatson@ubuntu.com>
17260
17261 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17262 ldflags to ldadd, to fix link line ordering.
17263 (none_decompress): Likewise.
17264
3030d8ec
CW
172652010-11-24 Colin Watson <cjwatson@ubuntu.com>
17266
17267 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17268 platforms.
17269 (grub-emu-lite): Remove kern/emu/cache.S.
17270
b7fbac12
CW
172712010-11-23 Colin Watson <cjwatson@ubuntu.com>
17272
17273 * util/deviceiter.c (compare_devices): If the by-id link for a
17274 device couldn't be resolved, fall back to sorting by the by-id link
17275 rather than segfaulting.
17276 Reported and tested by: Daniel Mierswa.
17277
5225f328
CW
172782010-11-23 Colin Watson <cjwatson@ubuntu.com>
17279
17280 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17281 ldflags, to fix link line ordering.
17282
038b3ce8
CW
172832010-11-23 Colin Watson <cjwatson@ubuntu.com>
17284
17285 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17286 linkers are picky about this.
17287
bf16e98e
CW
172882010-11-23 Colin Watson <cjwatson@ubuntu.com>
17289
17290 * grub-core/Makefile.am (command.lst): Adjust sed expression
17291 ordering so that extended and priority commands aren't treated as
17292 ordinary commands.
17293
7242bab6
CW
172942010-11-23 Colin Watson <cjwatson@ubuntu.com>
17295
17296 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17297 Remove byte-swapping function calls, which are not valid in
17298 structure initialisers.
17299 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17300 non-const.
17301 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17302 grub_gpt_partition_type_bios_boot.
17303
14e8b279
CW
173042010-11-22 Colin Watson <cjwatson@ubuntu.com>
17305
17306 Fix test program build on GNU/kFreeBSD.
17307
17308 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17309 $(LIBNVPAIR)' library dependencies.
17310
e6f63338 173112010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17312
17313 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17314
cf8ffc38
CW
173152010-11-22 Colin Watson <cjwatson@ubuntu.com>
17316
17317 * util/grub-install.in: Remove excessive quoting that broke
17318 installations to RAID devices.
17319
7f8b0fd7
VS
173202010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17323 bootloader version instead of 0.
17324
dfd240b1
VS
173252010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17328 warning.
17329
7b61e609
VS
173302010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17333 retrieve the metadat sector if size isn't known.
17334 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17335
9dfe92d0
RM
173362010-11-18 Robert Millan <rmh@gnu.org>
17337
17338 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17339 with grub_memcmp().
17340
41cc919e
VS
173412010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17344 arrow.
17345 Reported by: Jordan Uggla.
17346
1afcc914
VS
173472010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 Make better UTF compliant.
17350
17351 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17352 sequences as incorrect.
17353 (grub_is_valid_utf8): Likewise.
17354 (grub_utf8_to_ucs4): Likewise.
17355 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17356 (grub_ucs4_to_utf8_alloc): Likewise.
17357 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17358
f1808884
VS
173592010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Make legacy_source behave like source.
17362
17363 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17364 grub_show_menu.
17365 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17366
24ec575b
CW
173672010-11-16 Colin Watson <cjwatson@debian.org>
17368
17369 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17370 (-Wunused implies -Wunused-parameter, but not vice versa).
17371
72b7c7aa
CW
173722010-11-16 Colin Watson <cjwatson@ubuntu.com>
17373
17374 * configure.ac: Make error messages less confusing by testing for
17375 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17376 accepted, but produces a diagnostic if something else is wrong).
17377
e98937aa
VS
173782010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17381 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17382 (now unused).
17383 (grub_keyboard_controller_init)
17384 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17385 read the initial state since controller isn't inited yet.
17386
f6bbabc3
VS
173872010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17390 allocate_regbeg may need to create new chunk header.
17391
22e7dbb2
VS
173922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 Fix quoting in legacy parser.
17395
17396 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17397 single quotes.
17398 (grub_legacy_parse): Likewise.
17399 Reported by: Jordan Uggla.
17400 Tested by: Jordan Uggla.
17401
03f80960
VS
174022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Don't add -lgcc on i386 and x86_64.
17405
17406 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17407 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17408 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17409
779dc15b
VS
174102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * configure.ac: Add -Wno-trampolines when supported.
17413
d20a3b37
MV
174142010-11-14 Modestas Vainius <modax@debian.org>
17415
17416 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17417 fakeraid.
17418
e5360933
GC
174192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17420
17421 Add generic logical block size support for UDF.
17422
17423 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17424 (GRUB_UDF_BLKSZ): Removed.
17425 (struct grub_udf_data): New field "lbshift" to hold the logical block
17426 size of the file system in log2 format. All users updated.
17427 (sblocklist): Change type to unsigned.
17428 (grub_udf_mount): Change type of "sblklist" to unsigned.
17429 Move AVDP search before VRS recognition, because the latter requires
17430 knowledge of the logical block size, which is detected during the
17431 former.
17432 Detect and validate logical block size during AVDP search, adding
17433 support for block sizes 512, 1024 and 4096.
17434 Make VRS recognition independent of block size.
17435
cb0229c5
GC
174362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17437
17438 Properly handle deleted files on UDF.
17439
17440 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17441 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17442 set.
17443
406858a8
GC
174442010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17445
17446 Support reading files larger than 2 GiB.
17447
17448 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17449 "offset" to grub_off_t.
17450 (grub_udf_read_file): Likewise for parameter "pos".
17451
130da6a7
VS
174522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17455 unavailable.
17456 (Simple configuration): Refer to Changes from GRUB Legacy about
17457 save_env availability.
17458
65e93f6b
VS
174592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * util/grub-install.in: Ignore empty partition table detection
17462 instead of trying to include part_ module.
17463
1fd08bf1
VS
174642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17467 LVM on RAID support.
17468
de1a024f
VS
174692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 Properly define WORDS_BIGENDIAN in wrapped environments.
17472
17473 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17474 definition.
17475 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17476
17477 Reported by: Manoel Rebelo Abranches.
17478 Tested by: Manoel Rebelo Abranches.
17479
bc5dd0b9
VS
174802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 * util/grub-mkconfig.in: Fix quoting.
17483
58c184be
VS
174842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 Support big ext2 files.
17487
17488 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17489 (grub_ext2_read_block): Support triple indirect blocks.
17490 (grub_ext2_read_file): Use 64-bit types and read size_high.
17491 (grub_ext2_open): Read size_high.
17492 Reported by: Ximin Luo.
17493 Tested by: Manoel Rebelo Abranches.
17494
5f0c02b3
VS
174952010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * util/grub-install.in: Handle filenames containing spaces.
17498 Reported by: Jordan Uggla.
17499 Tested by: Jordan Uggla.
17500
4417aae6
VS
175012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * util/grub-mkconfig.in (grub_script_check): New variable.
17504 Use grub_script_check instead of grub-script-check.
17505 Reported by: Barry Jackson.
17506
7625a68e
VS
175072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * docs/grub.texi (menu): Correct the order.
17510 Reported by: D. Hugh Redelmeier.
17511
10001ac5
VS
175122010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17515 jump.
17516
9c4cf53b
MRA
175172010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17518
10001ac5
VS
17519 * include/grub/elfload.h (grub_elf32_size): New parameter.
17520 All users updated.
9c4cf53b
MRA
17521 Return maximum segments alignment.
17522 (grub_elf64_size): Likewise.
17523 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17524 Return maximum segments alignment.
17525 (grub_elf64_size): Likewise.
17526 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17527 (grub_linux_claimmap_iterate): New function. Uses the
17528 "available" property in the "memory" node for memory allocation
17529 for kernel in the PowerPC loader.
9c4cf53b
MRA
17530 (grub_linux_load32): Correctly find linux entry point offset.
17531 (grub_linux_load64): Likewise.
17532
d2bf06bf
RM
175332010-11-07 Robert Millan <rmh@gnu.org>
17534
17535 On mips-yeeloong, build with -march=loongson2f when this flag is
17536 available (GCC >= 4.4).
17537 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17538 `-march=mips3'.
17539 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17540 or otherwise add -march=mips3.
17541
898c99a2
BC
175422010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17543
87220a68
BC
17544 Suppress shell expansion on echo '*' and echo "*" like cases.
17545 Reported by: Jordan Uggla.
898c99a2
BC
17546
17547 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17548 string arguments before shell expansion.
17549 * tests/grub_cmd_echo.in: New testcases.
17550
4f9b406a
RM
175512010-11-07 Robert Millan <rmh@gnu.org>
17552
17553 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17554 transition.
17555
80c6d25e
VS
175562010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * grub-core/kern/emu/hostdisk.c
17559 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17560
4a1a0153
VS
175612010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17564 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17565 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17566
34706ddc
VS
175672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17568
17569 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17570
6972dea9
VS
175712010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * util/grub-install.in: Replace useless recomendation to pass
17574 --modules with a recomendation to report a bug.
17575
9c693bd6
VS
175762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 Properly register serial terminfo.
17579 Reported by: Jordan Uggla
17580
17581 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17582 const.
17583 (grub_serial_terminfo_output_template): Likewise.
17584 (grub_cmd_serial): Register "serial" with terminfo.
17585 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17586 grub_serial_terminfo_output.
17587
6c9e4c0c
RM
175882010-11-05 Robert Millan <rmh@gnu.org>
17589
17590 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17591 needed).
17592
b9b3839f
RM
175932010-11-05 Robert Millan <rmh@gnu.org>
17594
17595 On Yeeloong, pass machine type information to Linux.
17596
17597 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17598 (LOONGSON_MACHTYPE): New macro, set to
17599 "machtype=lemote-yeeloong-2f-8.9inches".
17600 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17601 additional argument to Linux.
17602
1a3aaff4
RM
176032010-11-04 Robert Millan <rmh@gnu.org>
17604
17605 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17606 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17607 (its SATA disks are detected as slaveless IDE master drives on
17608 kFreeBSD).
17609 Reported by Carsten Aulbert.
17610
a75f4f62
CW
176112010-11-02 Colin Watson <cjwatson@ubuntu.com>
17612
17613 * util/bin2h.c (main): Fix spelling error in generated output.
17614
33b4b0c6
GS
176152010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17616
17617 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17618
2b36fbf4
VS
176192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17620
17621 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17622 vga= option is supplied.
17623
74aaf558
VS
176242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17627 * util/grub.d/10_kfreebsd.in: Likewise.
17628 * util/grub.d/10_linux.in: Likewise.
17629 * util/grub.d/20_linux_xen.in: Likewise.
17630
6428dec3
VS
176312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17634 argument as an argument to no-argument option.
17635
f8729d98
VS
176362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * util/grub.d/10_linux.in: Add missing load_video with explicit
17639 GRUB_GFXPAYLOAD_LINUX.
17640
89d68fa6
VS
176412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17644
3a1197cd
VS
176452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17648 elements with invlid index.
17649 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17650 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17651 members.
17652 * include/grub/raid.h (grub_raid_member): New struct.
17653 (grub_raid_array): Transform devices and start_sector into usage of
17654 grub_raid_member. All users updated
17655 (allocated_devs): New member.
17656
71574288
VS
176572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17660 is modified
17661
8d40ec65
BC
176622010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17663
17664 NetBSD build fix for getline function conflict from gnulib.
17665
17666 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17667 components that depend on gnulib headers.
17668 (libgrubmods.a): Renamed from earlier libgrub.a.
17669 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17670
95b9257e
VS
176712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17674 install rather than creating a broken install.
17675
26c53dc6
VS
176762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * util/grub-setup.c (argp): Remove misleading example of installing to
17679 a partition.
17680
4171b3c5
VS
176812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * util/grub-setup.c (setup): Clarify the error message.
17684
18568d18
VS
176852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17688
4f6a2e21
VS
176892010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 * grub-core/kern/emu/misc.c
17692 (grub_make_system_path_relative_to_its_root)
17693 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17694
176952010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17696
17697 * grub-core/kern/emu/misc.c
17698 (grub_make_system_path_relative_to_its_root): Revert r2882.
17699
e138c458
VS
177002010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17703 useless field head. All users updated.
17704 (free_subchunk): Correct handling of IN_REGION subchunk.
17705
0cbcdf0e
CW
177062010-10-22 Colin Watson <cjwatson@ubuntu.com>
17707
17708 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17709 (Supported kernels): Likewise.
17710
b65ea155
GS
177112010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17712
17713 Make mktemp invocations portable.
17714
17715 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17716 exit if mktemp fails.
17717 * tests/grub_script_blockarg.in: Likewise.
17718 * tests/partmap_test.in: Likewise.
17719 * tests/util/grub-shell-tester.in: Likewise.
17720 * tests/util/grub-shell.in: Likewise.
17721 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17722 * Makefile.am: Likewise, and chain shell commands with `&&'
17723 instead of ';'.
17724 * util/grub-mkrescue.in: Use the same explicit template as above, and
17725 exit if mktemp fails.
17726
05f43cdd
BC
177272010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17728
17729 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17730 Linux kernel, reported by Dennis Schridde.
17731
800e6a9b
SJ
177322010-10-17 Szymon Janc <szymon@janc.net.pl>
17733
17734 * grub-core/normal/auth.c (grub_auth_check_authentication):
17735 Set-but-not-used variable removed.
17736
d82df574
VS
177372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17740 32-bit linux protocol.
17741
7bced458
VS
177422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17745 cursor shape for sanity.
17746
5b027690
VS
177472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * docs/grub.texi (Installation): Document buggy BIOS install.
17750
ba5f65cf
VS
177512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * docs/grub.texi (Installation): Indent.
17754
fdf2ec9c
VS
177552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * util/grub-setup.c (setup): New parameter allow_floppy.
17758 (arguments): New member allow_floppy.
17759 (argp_parser): Handle --allow-floppy.
17760 (main): Pass allow_floppy.
17761 * util/grub-install.in: New option --allow-floppy passed though to
17762 grub-setup.
17763
861dfd4c
VS
177642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * util/grub-install.in: Handle partitionless disks.
17767
f77a8c24
VS
177682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * util/grub-setup.c (setup): Don't clean blocklists before readability
17771 verfification.
17772
27d9ee32
VS
177732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * docs/grub.texi (Installation): Document embedding zone. Remove
17776 obsolete grub-install example.
17777
6bdda8f8
SJ
177782010-10-16 Szymon Janc <szymon@janc.net.pl>
17779
17780 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17781 Set-but-not-used variable ifdef'ed.
17782 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17783 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17784 variable removed.
17785 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17786 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17787 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17788 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17789 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17790 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17791 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17792 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17793 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17794 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17795 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17796 Likewise.
17797
e19b016b
VS
177982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17801 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17802 enum value.
17803
6c8d3002
VS
178042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17807 synonym to _S5_. Needed for some DSDTs.
17808
c32b51c9
VS
178092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 Userspace ACPI parser debugging.
17812
17813 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17814 headers and add relevant defines. Don't include standard headers.
17815 (main) [GRUB_DSDT_TEST]: New function.
17816 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17817 Don't declare functions.
17818
fbfbeb39
VS
178192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 Remove dead grub_efi_mm_fini.
17822
17823 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17824 (ALLOCATED_PAGES_SIZE): Likewise.
17825 (MAX_ALLOCATED_PAGES): Likewise.
17826 (allocated_pages): Likewise.
17827 (grub_efi_allocate_pages): Don't record allocated pages.
17828 (grub_efi_free_pages): Likewise.
17829 (grub_efi_mm_init): Likewise.
17830 (grub_efi_mm_fini): Removed.
17831
65f7ed7c
VS
178322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17835 (grub_efi_mm_init): Take into account the memory map size increase.
17836
24977b44
VS
178372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17840 (serial_hw_put): Wait based on real time rather than port reads. Don't
17841 roken ports.
17842 * include/grub/serial.h (grub_serial_port): New field broken.
17843
1eb01cd2
RM
178442010-10-16 Robert Millan <rmh@gnu.org>
17845
17846 * grub-core/kern/emu/misc.c
17847 (grub_make_system_path_relative_to_its_root): Fix premature return
17848 when processing non-root ZFS filesystems.
5f8b440b 17849 Reported by Sergio Talens-Oliag.
1eb01cd2 17850
2d5fed60
RM
178512010-10-15 Robert Millan <rmh@gnu.org>
17852
17853 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17854 guarantee compressed ones are processed first.
17855
d0f4c1ea
VS
178562010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17859 grub_efiemu_autocore.
17860
d87c681f
VS
178612010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17864 rather than 0x1b.
17865 (grub_console_getkey): Use correct jae opcode rather than ja.
17866
219b3564
RM
178672010-10-12 Robert Millan <rmh@gnu.org>
17868
17869 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17870 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17871 variable. All references updated.
17872
17873 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17874
20c6bb7e
VS
178752010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 Correctly distinguish mdraid flavours.
17878
17879 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17880 (insert_array): New argument raid.
17881 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17882 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17883 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17884
74baff84
VS
178852010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17888 handling of special keys.
17889
3ef068df 178902010-10-02 Aleš Nesrsta <starous@volny.cz>
17891
c7980ad9
VS
17892 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17893 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17894
a9455194 178952010-10-02 Aleš Nesrsta <starous@volny.cz>
17896
c7980ad9
VS
17897 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17898 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17899 users updated.
a9455194 17900 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17901 Use right endpoint when querying descriptor.
a9455194 17902
441cfe65
VS
179032010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 Clear out 0x80 color bit on EFI.
17906 Tested by: decoder
17907 Reported by: decoder and meta tech.
17908
17909 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17910 (grub_console_setcolorstate): Clear out 0x80 bit.
17911 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17912 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17913 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17914
bf26bcc4
VS
179152010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17918 Set to "auto".
17919
6e3c515d
VS
179202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17923 mo_file after freeing.
17924
e6d983ba
VS
179252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17928
74ccb5b5
VS
179292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17932 flags.
17933
17821956
VS
179342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17937 usage.
17938
ee74fa48
VS
179392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17942
17943 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17944 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17945 and terminfo.h when needed.
17946 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17947 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17948 (terminfo): Enable only on terminfokernel.
17949 (extcmd): Likewise.
17950 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17951 * include/grub/lib/arg.h: Likewise.
17952 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17953 incorrect usage of ->.
17954
aa438e68
VS
179552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17958 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17959
57994012
VS
179602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Fix coreboot compilation.
17963
17964 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17965 Take VBE info into account even if only text is supported.
17966 (fill_vbe_info): Take into account the case when only VGA text
17967 is supported.
17968 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17969 on coreboot, multiboot and qemu.
17970
2a406611
VS
179712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17974 debug messages.
17975 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17976
d33613fc
VS
179772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17978
17979 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17980 parameters.
17981
44a1b432
VS
179822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17985 if they were BSD-style.
17986
edde54e6
VS
179872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * grub-core/boot/i386/pc/lnxboot.S: Replace
17990 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17991 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17992
b65830fa
VS
179932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 Write embedding zone using Reed-Solomon.
17996
17997 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17998 * grub-core/Makefile.am (rs_decoder.S): New target.
17999 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18000 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18001 (multiboot): Move to RS part.
18002 (post_reed_solomon): New label.
18003 (grub_boot_drive): Move to non-RS part since it's modified in memory
18004 on boot.
18005 Include rs_decoder.S.
18006 * grub-core/lib/reed_solomon.c: New file.
18007 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18008 New definition.
18009 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18010 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18011 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18012 * include/grub/partition.h (grub_partition_map): Change prototype of
18013 embed to allow returning additional sectors.
18014 * include/grub/reed_solomon.h: New file.
18015 * util/grub-setup.c (setup): Handle Reed-Solomon.
18016
0b4b227f
CW
180172010-09-28 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18020 i386 and x86-64 definedness tests.
18021
f772623b
YB
180222010-09-27 Yves Blusseau <blusseau@zetam.org>
18023
18024 Fix generation of kernel_syms.lst
18025
18026 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18027 ASM_PREFIX
18028
8e57a6ca
RM
180292010-09-26 Robert Millan <rmh@gnu.org>
18030
18031 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18032
18033 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18034 the pool is an array of devices, iterate through it and return the
18035 first device that passes a stat() test (instead of blindly returning
18036 the first one).
18037
f9130836
RM
180382010-09-26 Robert Millan <rmh@gnu.org>
18039
18040 Build fixes for GNU/kFreeBSD.
18041
18042 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18043 to programs that require ZFS conversion.
18044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18045 kernels that don't have FLOPPY_MAJOR.
18046
96510faf
BC
180472010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18048
18049 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18050
449333eb
BC
180512010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18052
18053 Fix grub-emu build.
18054
18055 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18056 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18057 mdraid09 and mdraid1x.
18058
e1fd1939
CW
180592010-09-24 Colin Watson <cjwatson@ubuntu.com>
18060
18061 Re-enable grub-extras.
18062
18063 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18064 avoid confusing Automake. Run autogen only twice, once for the top
18065 level and once for grub-core. Add Makefile.util.def and
18066 Makefile.core.def from extra modules to the appropriate autogen
18067 invocations. If Makefile.common exists in an extra module, include
18068 it in both Makefile.util.am and grub-core/Makefile.core.am;
18069 similarly, include any Makefile.util.common file in Makefile.util.am
18070 and any Makefile.core.common file in grub-core/Makefile.core.am.
18071 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18072 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18073 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18074 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18075
18076 * gentpl.py (gvar_add): Turn GVARS into a set.
18077 (global_variable_initializers): Sort global variables on output.
18078 (vars_init): New function.
18079 (first_time): Likewise.
18080 (library): Ensure that non-global variable initialisations are
18081 emitted before the first time we emit code for a library block.
18082 Append to variables rather than setting them. Only emit
18083 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18084 each conditional path.
18085 (program): installdir() emits an Autogen macro, so must be passed to
18086 var_add rather than gvar_add.
18087 (data): Likewise.
18088 (script): Likewise.
18089 (rules): New function, centralising handling for different target
18090 types. Set up Guile association lists for first_time and vars_init,
18091 and send most output to a diversion so that variable initialisations
18092 can be emitted first.
18093 (module_rules): Use new rules function.
18094 (kernel_rules): Likewise.
18095 (image_rules): Likewise.
18096 (library_rules): Likewise.
18097 (program_rules): Likewise.
18098 (script_rules): Likewise.
18099 (data_rules): Likewise.
18100
18101 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18102
18103 * .bzrignore: Add contrib and grub-core/contrib. Remove
18104 grub-core/Makefile.gcry.am.
18105
1d12cf29
YB
181062010-09-24 Yves Blusseau <blusseau@zetam.org>
18107
18108 * grub-core/lib/LzFind.c: Add missing include.
18109 * grub-core/lib/LzmaEnc.c: Likewise.
18110 * grub-core/script/lexer.c: Likewise.
18111 * grub-core/script/yylex.l: Likewise.
18112 * util/grub-macho2img.c: Likewise.
18113 * util/grub-menulst2cfg.c: Likewise.
18114 * util/grub-mklayout.c: Likewise.
18115 * util/grub-mkpasswd-pbkdf2.c
18116 * util/grub-mkrelpath.c: Likewise.
18117 * util/resolve.c: Likewise.
18118
dd363028
BC
181192010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18120
18121 * Makefile.util.def (example_unit_test): Add
18122 grub-core/gnulib/libgnu.a.
18123
f5a109e2
GS
181242010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18125
18126 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18127
6d0fa83c
VS
181282010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 Support xz compression on yeeloong.
18131
18132 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18133 * configure.ac: Check for LZMA.
18134 * grub-core/Makefile.core.def (xz_decompress): New target.
18135 (none_decompress): Likewise.
18136 * grub-core/boot/decompressor/minilib.c: New file.
18137 * grub-core/boot/decompressor/none.c: Likewise.
18138 * grub-core/boot/decompressor/xz.c: Likewise.
18139 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18140 * grub-core/kern/mips/cache_flush.S: Likewise.
18141 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18142 * grub-core/kern/mips/startup.S: Move first stage to ...
18143 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18144 nomacro.
18145 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18146 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18147 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18148 Allocate statically.
18149 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18150 Allocate statically or use scratch. Don't check CRC32.
18151 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18152 Allocate statically. Don't check CRC32.
18153 * include/grub/decompressor.h: New file.
18154 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18155 Removed.
18156 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18157 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18158 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18159 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18160 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18161 * util/grub-mkimage.c (grub_compression_t): New type.
18162 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18163 (image_target_desc): New field default_compression.
18164 (image_targets): Adjust yeeloong targets.
18165 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18166 (compress_kernel): New parameter comp.
18167 (generate_image): Likewise. Handle new compression case.
18168 (options): New option --compression
18169 (help): Likewise.
18170 (main): Handle new option.
18171
1b655af6
GS
181722010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18173
18174 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18175
8f03f0b5
CW
181762010-09-22 Colin Watson <cjwatson@ubuntu.com>
18177
18178 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18179 typo in __i386__ conditional.
18180
7835dfd3
VS
181812010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18184 include.
18185
e255597e
VS
181862010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18187
6d0fa83c 18188 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18189
18190 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18191 new tags as supported.
18192 (acpiv2_size): New function.
18193 (grub_multiboot_get_mbi_size): Take new tags into account.
18194 (grub_multiboot_make_mbi): Add new tags.
18195 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18196
6cc14051 181972010-09-21 Aleš Nesrsta <starous@volny.cz>
18198
18199 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18200 Added missing configuration of USB device.
18201
df7769d8
CW
182022010-09-21 Colin Watson <cjwatson@ubuntu.com>
18203
18204 * grub-core/normal/menu_entry.c (run): Make sure we always return
18205 a value.
18206
b031012d
CW
182072010-09-21 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18210 NumberOfPages is UINT64 according to the UEFI specification, not
18211 UINTN. Fix printf format.
18212
174de8f3
CW
182132010-09-21 Colin Watson <cjwatson@ubuntu.com>
18214
18215 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18216 `err' to grub_usb_err_t.
18217 Reported and tested by: KESHAV P.R.
18218
d7dbe923
CW
182192010-09-21 Colin Watson <cjwatson@ubuntu.com>
18220
18221 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18222 tpart non-const, so that we can assign to it. (Since this is a
18223 typedef, the constness refers to the pointer rather than what it
18224 points to.)
18225
8d5e2af3
CW
182262010-09-21 Colin Watson <cjwatson@ubuntu.com>
18227
18228 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18229 $(top_srcdir)/grub-core/gnulib as well as
18230 $(top_builddir)/grub-core/gnulib.
18231 Reported by: KESHAV P.R.
18232
5c527783
CW
182332010-09-21 Colin Watson <cjwatson@ubuntu.com>
18234
18235 * util/grub-install.in: Fix the bootloader ID option to be
18236 consistently --bootloader-id, not --bootloader_id.
18237 Reported by: KESHAV P.R.
18238
d309a16e
CW
182392010-09-21 Colin Watson <cjwatson@ubuntu.com>
18240
18241 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18242 check hash checksum." consistently translatable.
18243
b830cd16
YB
182442010-09-21 Yves Blusseau <blusseau@zetam.org>
18245
18246 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18247 $(top_builddir).
18248
c4fe27a8
CW
182492010-09-21 Colin Watson <cjwatson@ubuntu.com>
18250
18251 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18252 (GRUB_MOD_INIT): Register sha1sum command.
18253 (GRUB_MOD_FINI): Unregister sha1sum command.
18254
a4c1d277
YB
182552010-09-21 Yves Blusseau <blusseau@zetam.org>
18256
18257 Keep boot and grub directory names in sync with utils scripts
18258
18259 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18260 * config.h.in: Add previous macros.
18261 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18262 * util/grub-install.in: Use $bootdir and $grubdir variables.
18263
4eff79d2
CW
182642010-09-21 Colin Watson <cjwatson@ubuntu.com>
18265
18266 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18267 convert partition names to disk names if the new `convert' parameter
18268 is set.
18269 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18270 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18271 disk in its own right. This can happen with Xen disk images.
18272
934d7e44
YB
182732010-09-21 Yves Blusseau <blusseau@zetam.org>
18274
18275 * util/grub-editenv.c: Update strings to avoid warnings when generating
18276 grub.pot file.
18277 * util/grub-setup.c: Likewise.
934d7e44 18278
df3367cc
VS
182792010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 * configure.ac: Change version to 1.99~beta0.
18282
77a94e98
VS
182832010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18286 Add BADRAM.
18287 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18288 Likewise.
18289 * include/multiboot.h: Resynced with specification.
18290 * include/multiboot2.h: Likewise.
18291
269004c1
CW
182922010-09-21 Colin Watson <cjwatson@ubuntu.com>
18293
18294 Fix po directory handling.
18295
18296 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18297 * grub-core/gnulib/Makefile.am: Import gettext module.
18298 * m4/gnulib-cache.m4: Likewise.
18299 * m4/gnulib-comp.m4: Likewise.
18300 * m4/gettext.m4: New file, from gnulib.
18301 * m4/glibc2.m4: Likewise.
18302 * m4/iconv.m4: Likewise.
18303 * m4/intdiv0.m4: Likewise.
18304 * m4/intl.m4: Likewise.
18305 * m4/intldir.m4: Likewise.
18306 * m4/intlmacosx.m4: Likewise.
18307 * m4/intmax.m4: Likewise.
18308 * m4/inttypes-pri.m4: Likewise.
18309 * m4/lcmessage.m4: Likewise.
18310 * m4/lib-ld.m4: Likewise.
18311 * m4/lib-link.m4: Likewise.
18312 * m4/lib-prefix.m4: Likewise.
18313 * m4/lock.m4: Likewise.
18314 * m4/nls.m4: Likewise.
18315 * m4/po.m4: Likewise.
18316 * m4/printf-posix.m4: Likewise.
18317 * m4/progtest.m4: Likewise.
18318 * m4/threadlib.m4: Likewise.
18319 * m4/uintmax_t.m4: Likewise.
18320 * m4/visibility.m4: Likewise.
18321 * po/Makefile.am: Remove.
18322 * po/Makefile.in.in: New file, from gettext.
18323 ($(DOMAIN).pot-update): Support POTFILES-shell.
18324 * po/Makevars: New file.
18325 * po/POTFILES-shell: Rename to ...
18326 * po/POTFILES-shell.in: ... this. Update.
18327 * po/POTFILES: Rename to ...
18328 * po/POTFILES.in: ... this. Update.
18329 * po/Rules-quot: New file, from gettext.
18330 * po/boldquot.sed: Likewise.
18331 * po/en@boldquot.header: Likewise.
18332 * po/en@quot.header: Likewise.
18333 * po/insert-header.sin: Likewise.
18334 * po/quot.sed: Likewise.
18335 * po/remove-potcdate.sin: Likewise.
18336
3e0fa5d0
VS
183372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18340
ade9bd66
VS
183412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * util/grub.d/20_linux_xen.in: Use submenus.
18344
fc55cc4c
VS
183452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 Support submenus.
18348
18349 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18350 parameter submenu. All users updated.
18351 * grub-core/normal/main.c (free_menu): Rename to ...
18352 (grub_normal_free_menu): ... this. Made global.
18353 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18354 if requested.
18355 * grub-core/normal/menu_entry.c (screen): New field submenu.
18356 (make_screen): Set submenu.
18357 (run): Open new context if requested.
18358 * include/grub/menu.h (grub_menu_entry): New field submenu.
18359 * include/grub/normal.h (grub_normal_free_menu): New proto.
18360
600cedf7
VS
183612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 Menu entries extractor.
18364
18365 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18366 variants.
18367 (GRUB_MOD_INIT): Register new variants.
18368 (GRUB_MOD_FINI): Unregister new variants.
18369 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18370 into grub_cmd_legacy_source.
18371 (grub_cmd_legacy_source): Implement extractor variants.
18372 (GRUB_MOD_INIT): Register new variants.
18373 (GRUB_MOD_FINI): Unregister new variants.
18374 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18375 as an extractor.
18376 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18377 search as an extractor.
18378 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18379 test as an extractor.
18380 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18381 as an extractor.
18382 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18383 (grub_env_new_context): New function.
18384 (grub_env_context_open): Likewise.
18385 (grub_env_extractor_open): Likewise.
18386 (grub_env_extractor_close): Likewise.
18387 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18388 grub_extractor_level.
18389 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18390 * include/grub/env.h (grub_env_extractor_open): New proto.
18391 (grub_env_extractor_close): Likewise.
18392 * include/grub/normal.h (grub_extractor_level): New external variable.
18393
7bda3a87
VS
183942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 Make cutmem accept a region specification.
18397 Suggested by: Samuel Thibault
18398
18399 * grub-core/mmap/mmap.c (parsemem): New function.
18400 (grub_cmd_cutmem): Handle new arguments.
18401
2ea57f88
VS
184022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 New command cutmem.
18405
18406 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18407 (GRUB_MOD_INIT): Register new command.
18408 (GRUB_MOD_FINI): Unregister new command.
18409
74342e31
VS
184102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 Support some annoying BSD and Minix subpartitions.
18413
18414 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18415 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18416 Properly handle concatenation.
18417 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18418 * grub-core/normal/completion.c (iterate_partition): Likewise.
18419 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18420 contain partition. All users updated.
18421 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18422 struct.
18423 (grub_openbsdlabel_partition_map): Likewise.
18424 (bsdlabel_partition_map_iterate): Rename to ..
18425 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18426 (bsdlabel_partition_map_iterate): New function.
18427 (netopenbsdlabel_partition_map_iterate): Likewise.
18428 (netbsdlabel_partition_map_iterate): Likewise.
18429 (openbsdlabel_partition_map_iterate): Likewise.
18430 (GRUB_MOD_INIT): Register new partmaps.
18431 (GRUB_MOD_FINI): Unregister new partmaps.
18432 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18433 (grub_partition_msdos_iterate): ... this. All users updated.
18434 Don't support embedding other than in a minix partition.
18435 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18436 proto.
18437 * include/grub/partition.h (grub_partition): New field msdostype.
18438 * util/grub-install.in: Handle openbsd and netbsd types being in
18439 part_bsd module.
18440
1e8d555b
VS
184412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18444
18445 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18446 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18447 (mdraid09): ... this.
18448 (mdraid1x): New module.
18449 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18450 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18451
899d8af4
VS
184522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18455 vsprintf.
18456
40901acd
CW
184572010-09-20 Colin Watson <cjwatson@ubuntu.com>
18458
18459 * grub-core/commands/efi/lsefimmap.c: Correct header.
18460 * NEWS: Update.
18461
dfe3b247
CW
184622010-09-20 Colin Watson <cjwatson@ubuntu.com>
18463
18464 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18465 as printf format strings; the translations might contain '%' which
18466 could cause a crash.
18467 (main): Likewise.
18468 * util/grub-fstest.c (argp_parser): Likewise.
18469 * util/grub-setup.c (argp_parser): Likewise.
18470 (main): Likewise.
18471
3286a4b4
VS
184722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 Use argp in grub-fstest.
18475
18476 * util/grub-fstest.c: Don't include getopt.h.
18477 Include argp.h.
18478 (root): New variable.
18479 (args_count): Likewise.
18480 (nparm): Likewise.
18481 (num_disks): Likewise.
18482 (images): Likewise.
18483 (cmd): Likewise.
18484 (debug_str): Likewise.
18485 (args): Likewise.
18486 (options): Transformed to argp.
18487 (usage): Removed.
18488 (main): Split argument parsing into ...
18489 (argp_parser): ... this. Changed to argp format.
18490 (argp): New variable.
18491 (main): Use argp_parse.
18492
3dccbe4b
TG
184932010-09-20 Tristan Gingold <gingold@free.fr>
184942010-09-20 Robert Millan <rmh.grub@aybabtu.com>
184952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 * grub-core/commands/efi/lsefimmap.c: New file.
18498 * grub-core/Makefile.core.def (lsefimmap): New module.
18499 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18500
38c259a7
VS
185012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 Pause the execution (10s max) if any errors are displayed so the user
18504 has a chance to see them.
18505
18506 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18507 (grub_print_error): Increment grub_err_printed_errors.
18508 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18509 execution if any errors were displayed.
18510 (show_menu): Remove old code for pause.
18511 * grub-core/normal/menu_entry.c (run): Likewise.
18512 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18513 users updated.
18514 (grub_normal_get_char_counter): Likewise.
18515 * include/grub/err.h (grub_err_printed_errors): New external variable.
18516 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18517
f218b09c
VS
185182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 Support multiboot VBE info.
18521
18522 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18523 Take VBE info into account.
18524 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18525 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18526 Call fill_vbe_info when appropriate.
18527 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18528 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18529 as supported.
18530 (grub_multiboot_get_mbi_size): Take new tags into account.
18531 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18532 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18533 Call fill_vbe_tag when appropriate.
18534 (grub_multiboot_make_mbi): Properly align tags.
18535 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18536 function.
18537 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18538 proto.
18539 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18540
a9cc5438
VS
185412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 Suport manual terminal geometry specification.
18544
18545 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18546 Save state in grub_ofconsole_terminfo_output.
18547 (grub_ofconsole_term): Use grub_terminfo_getwh.
18548 (grub_ofconsole_getwh): Removed.
18549 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18550 (grub_serial_term): Use grub_terminfo_getwh.
18551 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18552 (options): New struct.
18553 (OPTION_*): New enum.
18554 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18555 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18556 width and height.
18557 (grub_terminfo_getwh): New proto.
18558 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18559
1a8fed20
VS
185602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Handle legacy "terminal" command.
18563
18564 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18565 and FLAG_TERMINAL.
18566 (legacy_commands): Add terminal and title.
18567 (grub_legacy_parse): Handle terminal. Simplify title handling.
18568
41e9c57d
VS
185692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18572 parameters overflow.
18573
61c874c5
CW
185742010-09-20 Colin Watson <cjwatson@ubuntu.com>
18575
18576 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18577 widthspec.h.
18578
18579 * docs/grub.texi (Shell-like scripting): Document `!'.
18580 (Network): Simplify using new i386-pc-pxe format. Mention
18581 grub-mknetdir.
18582
18583 * NEWS: Update.
18584
943682b4
CW
185852010-09-20 Colin Watson <cjwatson@ubuntu.com>
18586
18587 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18588 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18589 when needed.
18590
6d3d698d
CW
185912010-09-20 Colin Watson <cjwatson@ubuntu.com>
18592
18593 * grub-core/commands/efi/lsefisystab.c: Correct header.
18594 * grub-core/commands/efi/lssal.c: Likewise.
18595 * grub-core/commands/testload.c: Likewise.
18596
c982589f
CW
185972010-09-20 Colin Watson <cjwatson@ubuntu.com>
18598
18599 * util/grub-mkrescue.in: Add explicit root argument to --set to
18600 prevent the UUID being interpreted as an argument to --set (matches
18601 previous change to prepare_grub_to_access_device).
18602
a63c31b6
CW
186032010-09-20 Colin Watson <cjwatson@ubuntu.com>
18604
18605 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18606 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18607 the verbosity of later #ifs.
18608 (find_partition_start): Define this function on FreeBSD too.
18609 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18610 function.
18611 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18612 on FreeBSD.
18613
6439b8ee
YB
186142010-09-20 Yves Blusseau <blusseau@zetam.org>
18615
18616 * util/grub-editenv.c: Use argp instead of getopt.
18617
c5930ec8
YB
186182010-09-20 Yves Blusseau <blusseau@zetam.org>
18619
18620 * util/grub-setup.c: Use argp instead of getopt.
18621
15c69261
YB
186222010-09-20 Yves Blusseau <blusseau@zetam.org>
18623
18624 Use gnulib-tool to create gnulib source files.
18625
18626 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18627 grub-core/gnulib directories
18628 * .bzignore: Add **/.deps and autogenerated gnulib files
18629 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18630 of gnulib macros, add grub-core/gnulib/Makefile
18631 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18632 include m4 directory to aclocal.
18633 * Makefile.util.def: Remove direct compilation of gnulib source files
18634 and use the new grub-core/gnulib/libgnu.a.
18635 * build-aux/config.rpath: move config.rpath from top directory to
18636 build-aux
18637 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18638 in gnulib headers
18639 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18640 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18641 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18642 header.
18643 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18644 string.
18645
e511c9f5
YB
186462010-09-20 Yves Blusseau <blusseau@zetam.org>
18647
18648 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18649 grub-core/genmod.sh and grub-core/gensyminfo.sh
18650
c2dede05
BC
186512010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18652
18653 Add a test for echo command options.
18654
18655 * tests/grub_cmd_echo.in: New test.
18656 * Makefile.util.def: Rules for new test.
18657
c55f5018
SJ
186582010-09-20 Szymon Janc <szymon@janc.net.pl>
18659
18660 Remove crc.mod and move crc command to hashsum.mod.
18661 Remove lib/crc.c - users updated to use gcrypt implementation.
18662
18663 * grub-core/commands/crc.c: Removed.
18664 * grub-core/Makefile.core.def (crc): Module removed.
18665 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18666 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18667 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18668 * grub-core/lib/crc.c: Removed.
18669 * include/grub/lib/crc.h: Removed.
18670 * Makefile.util.def (crc): Remove lib/crc.c
18671 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18672 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18673 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18674 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18675 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18676 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18677
e0337366
VS
186782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18681
742f9232
VS
186822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 Split config.h for util and core.
18685
18686 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18687 (ADDR32): Likewise.
18688 (DATA32): Likewise.
18689 (BSS_START_SYMBOL): Likewise.
18690 (END_SYMBOL): Likewise.
18691 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18692 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18693 * config.h.in: New file.
18694 * configure.ac: Use config-util.h as config define file.
18695 Rename MACHINE into GRUB_MACHINE. All users updated.
18696 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18697 updated.
18698 (NESTED_FUNC_ATTR): Likewise.
18699 Substitue new variables.
18700 (COND_HAVE_ASM_USCORE): New conditional.
18701 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18702 (kernel_syms.lst): Use ASM_PREFIX.
18703 * grub-core/kern/emu/console.c: Include config-util.h.
18704 * grub-core/kern/emu/misc.c: Likewise.
18705 * grub-core/kern/emu/mm.c: Likewise.
18706 * include/grub/emu/misc.h: Likewise.
18707 * include/grub/libgcc.h: Likewise.
18708
39feb0e8
VS
187092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18710
18711 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18712 constants usage.
18713 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18714 Fix GRUB_TERM_KEY_* constants usage.
18715 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18716
9af6dac3
VS
187172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18718
18719 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18720 print pointer.
18721 * grub-core/bus/usb/uhci.c: Remove empty define.
18722 (grub_uhci_check_transfer): Add missing cast.
18723 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18724 print pointer.
18725 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18726 PRIuGRUB_SIZE.
18727 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18728
d6d94820
VS
187292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 * grub-core/Makefile.core.def (legacycfg): Add
18732 lib/i386/pc/vesa_modes_table.c on emu.
18733
3572f2b6
BC
187342010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18735
18736 Reduce number of temporary files generated by build system.
18737
18738 * grub-core/gencmdlist.sh: Removed.
18739 * grub-core/genfslist.sh: Removed.
18740 * grub-core/genhandlerlist.sh: Removed.
18741 * grub-core/genmodsrc.sh: Removed.
18742 * grub-core/genpartmaplist.sh: Removed.
18743 * grub-core/genparttoollist.sh: Removed.
18744 * grub-core/gentermiinallist.sh: Removed.
18745 * grub-core/genvideolist.sh: Removed.
18746
18747 * grub-core/genmod.sh.in: New file.
18748 * grub-core/gensyminfo.sh.in: New file.
18749
18750 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18751 * conf/Makefile.extra-dist: Update with new files.
18752 * gentpl.py: Remove rules related to unnecessary temporary files.
18753 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18754 and und-* files.
18755 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18756 genmod.sh scripts.
18757 * grub-core/bus/usb/uhci.c: Remove empty #define.
18758 * grub-core/genmoddep.awk: Updated with new syminfo format.
18759 * util/bash-completion.d/Makefile.am: Add config.log to
18760 CLEANFILES.
18761
c836b030
YB
187622010-09-19 Yves Blusseau <blusseau@zetam.org>
18763
18764 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18765
2f4e8053
BC
187662010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18767
18768 * util/grub-mkconfig.in: Check the config script for syntax errors
18769 before saving.
18770
75831c34
CW
187712010-09-19 Colin Watson <cjwatson@ubuntu.com>
187722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18775 platforms.
18776 * util/grub-install.in: Add EFI and IEEE1275 support.
18777 * util/i386/efi/grub-install.in: Removed.
18778 * util/ieee1275/grub-install.in: Likewise.
18779
eaf41b25
VS
187802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18783 (grub_cmd_cmosclean): Likewise.
18784 (GRUB_MOD_INIT): Register command cmosclean.
18785 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18786 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18787
1a9130dd
CPE
187882010-09-18 Carles Pina i Estany <carles@pina.cat>
187892010-09-18 Aleš Nesrsta <starous@volny.cz>
187902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 Add keyboard layouts support.
18793
18794 * Makefile.util.def (grub-mklayout): New file.
18795 (grub-kbdcomp): New script.
18796 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18797 Add keyboard_layouts.h.
18798 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18799 commands/boot.c on yeeloong.
18800 (keylayouts): New module.
18801 * grub-core/bus/usb/ohci.c
18802 * grub-core/bus/usb/uhci.c
18803 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18804 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18805 (attach_root_port): Likewise.
18806 (poll_nonroot_hub): Likewise.
18807 (grub_usb_poll_devices): Likewise.
18808 (detach_device): Close transfer.
18809 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18810 function.
18811 (grub_usb_bulk_setup_readwrite): Likewise.
18812 (grub_usb_bulk_finish_readwrite): Likewise.
18813 * grub-core/commands/keylayouts.c: New file.
18814 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18815 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18816 aliases.
18817 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18818 support scancode 2.
18819 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18820 * include/grub/keyboard_layouts.h: New file.
18821 * util/grub-mklayout.c: New file.
18822 * util/grub-kbdcomp.in: Likewise.
18823
a1d84a5e
VS
188242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 Unify memory types.
18827
18828 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18829 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18830 types.
18831 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18832 (grub_upper_mem): Likewise.
18833 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18834 * include/grub/memory.h (grub_memory_type_t): New enum.
18835 All users updated.
18836
9696382e
VS
188372010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * grub-core/Makefile.core.def (lsapm): New module.
18840 * grub-core/commands/i386/pc/lsapm.c: New file.
18841 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18842 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18843 Likewise.
18844 * include/grub/i386/pc/apm.h: New file.
18845 * include/multiboot.h (multiboot_apm_info): New struct.
18846
188472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 GRUB-legacy configuration file support.
18850
18851 * Makefile.util.def (grub-menulst2cfg): New util.
18852 * docs/man/grub-menulst2cfg.h2m: New file.
18853 * grub-core/Makefile.core.def (legacycfg): New module.
18854 * grub-core/commands/legacycfg.c: New file.
18855 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18856 (grub_normal_add_menu_entry): ... this.
18857 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18858 (grub_normal_set_password): ...this.
18859 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18860 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18861 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18862 * grub-core/lib/legacy_parse.c: New file.
18863 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18864 * include/grub/i386/pc/vesa_modes_table.h: New file.
18865 * include/grub/legacy_parse.h: Likewise.
18866 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18867 * util/grub-menulst2cfg.c: New file.
18868
bf8d1338
CW
188692010-09-17 Colin Watson <cjwatson@ubuntu.com>
18870
18871 * grub-core/kern/emu/hostdisk.c
18872 (convert_system_partition_to_system_disk): Initialise node.
18873
9c0bad2e
CW
188742010-09-17 Colin Watson <cjwatson@ubuntu.com>
18875
18876 * grub-core/kern/emu/hostdisk.c
18877 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18878 leak.
18879 Reported and based on patch by: Modestas Vainius.
18880
a939d135
CW
188812010-09-17 Colin Watson <cjwatson@ubuntu.com>
18882
18883 Fix DM-RAID probing with recent versions of device-mapper udev
18884 rules.
18885
18886 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18887 canonicalise device paths under /dev/mapper/.
18888 (convert_system_partition_to_system_disk): Compare the
18889 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18890 path, since device nodes under /dev/mapper/ are often symlinks.
18891
0f7ee3c9
YB
188922010-09-17 Yves Blusseau <blusseau@zetam.org>
18893
18894 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18895
10854d0d
YB
188962010-09-16 Yves Blusseau <blusseau@zetam.org>
18897
18898 * configure.ac: Avoid some annoying error messages if freetype-config
18899 program is not found.
18900
108538d8
CW
189012010-09-16 Colin Watson <cjwatson@ubuntu.com>
18902
18903 Support RAID on virtio devices, and others.
18904
18905 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18906 Rename to ...
18907 [__MINGW32__] (grub_find_device): ... this.
18908 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18909 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18910 reasonable default if dir is NULL.
18911 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18912 ...
18913 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18914 (grub_guess_root_device): Update callers.
18915 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18916
18917 * util/raid.c (grub_util_getdiskname): Remove.
18918 (grub_util_raid_getmembers): Use grub_find_device rather than
18919 grub_util_getdiskname.
18920
e5bfc130
CW
189212010-09-16 Colin Watson <cjwatson@ubuntu.com>
18922
18923 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18924 needing to be compiled with serial support.
18925 (ls): Indicate that multiple files are accepted.
18926 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18927 indicate that multiple files are accepted.
18928
be458ae2
CW
189292010-09-16 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18932 libgrub_a_init.c, and util/bash-completion.d/grub.
18933
cb731b5e
VS
189342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 * util/grub-setup.c (setup): Fix incorrect container semantics.
18937
35139e8a
VS
189382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18941 misusage.
18942 Reported by: J. Nick Terry
18943
e50fca4a
VS
189442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 Move embedding routines to partmap sources files.
18947
18948 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18949 [GRUB_UTIL]: New variable.
18950 (gpt_partition_map_iterate): Set part.parent.
18951 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18952 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18953 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18954 New function.
18955 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18956 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18957 (grub_partition_map) [GRUB_UTIL]: New field embed.
18958 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18959 (setup): Use ->embed.
18960
f00478b7
VS
189612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18964 function.
18965 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18966 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18967
2b94e3ff
YB
189682010-09-15 Yves Blusseau <blusseau@zetam.org>
18969
18970 Add function to get completions from usage.
18971
18972 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18973 completions from usage. Use LC_ALL=C to get options properly.
18974
2e04a006
VS
189752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * grub-core/gnulib/basename-lgpl.c: Imported.
18978 * grub-core/gnulib/basename.c: Likewise.
18979 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18980 * grub-core/gnulib/dirname.c: Likewise.
18981 * grub-core/gnulib/dirname.h: Likewise.
18982 * grub-core/gnulib/stripslash.c: Likewise.
18983
5dcdf93a
VS
189842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * grub-core/gnulib/error.c: Resynced.
18987 * grub-core/gnulib/getopt.c: Likewise.
18988 * grub-core/gnulib/getopt_int.h: Likewise.
18989 * grub-core/gnulib/regex.h: Likewise.
18990 * grub-core/gnulib/regex_internal.c: Likewise.
18991 * grub-core/gnulib/regex_internal.h: Likewise.
18992
014f47b7
SJ
189932010-09-15 Szymon Janc <szymon@janc.net.pl>
18994
18995 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18996 CRC calculations and validity checks.
18997 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18998 calculations.
18999
dd521a4a
SJ
190002010-09-15 Szymon Janc <szymon@janc.net.pl>
19001
19002 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19003
79c4eeb9
VS
190042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 Fix incorrect echo options handling.
19007 Reported by: Yves Blusseau.
19008
19009 * include/grub/command.h (grub_command_flags_t): New flags
19010 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19011 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19012 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19013
ed80f7d5
VS
190142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19017 users updated.
19018 (GRUB_COMMAND_FLAG_MENU): Likewise.
19019 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19020 (GRUB_COMMAND_FLAG_TITLE): Removed.
19021 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19022 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19023 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19024 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19025 (grub_command_flags_t): New enum. All users updated.
19026
5fe7620a
SG
190272010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19028
19029 Fix solaris compilation.
19030
19031 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19032 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19033 (grub-emu-list): Likewise.
19034
545b752f
VS
190352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 Remove deprecated root command.
19038
19039 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19040 updated.
19041
6c1a338c
VS
190422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * util/i386/pc/grub-setup.c: Merge this ...
19045 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19046 * util/grub-setup.c: ... into this.
19047 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19048 New struct.
19049
190502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19053 possible.
19054
d2ea4551
VS
190552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19058 allocate p.
19059
3c3b5040
VS
190602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19063 explicit root argument to set to prevent UUID to be interpreted as
19064 argument to set.
19065
b71c3fae
VS
190662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19069
275433e6
VS
190702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 Don't export grub_gate_a20.
19073
19074 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19075 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19076 to ...
19077 (grub_gate_a20): ... this. All users updated.
19078 * include/grub/i386/pc/init.h: Removed. All users updated.
19079
a5dbb1f1
VS
190802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 Create euro.pf2 which supports most European languages.
19083
19084 * Makefile.am (grubdata_DATA): Add euro.pf2.
19085 (euro.pf2): New target.
19086 (CLEANFILES): Add euro.pf2.
19087
62a747cb
VS
190882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * configure.ac: Disable emu-usb by default to prevent inadvertent
19091 device takeover.
19092
608e43b1
VS
190932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 Disable usbserial on grub-emu since our libusb code isn't good enough
19096 yet.
19097
19098 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19099 (usbserial_pl2303): Likewise.
19100 (usbserial_ftdi): Likewise.
19101
94564f81
VS
191022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 * include/grub/disk.h (grub_disk): Remove has_partitions.
19105 All users updated.
19106 * disk/loopback.c (grub_loopback): Remove has_partitions.
19107 All users updated.
19108 (options): Remove partitions. All users updated.
19109 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19110 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19111 actual partition table is found.
19112
3352800b
VS
191132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 Remove readability checks (too many false negatives).
19116
19117 * util/grub-install.in: Remove readability checks.
19118 * util/grub-mkconfig.in: Likewise.
19119 * util/grub.d/10_hurd.in: Likewise.
19120 * util/grub.d/10_kfreebsd.in: Likewise.
19121 * util/grub.d/10_linux.in: Likewise.
19122 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19123 way.
19124
2419f17a
VS
191252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 Enable acpi shutdown on all ACPI platforms.
19128
19129 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19130 on coreboo, multiboot and EFI.
19131 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19132 (grub_acpi_halt): Likewise.
19133 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19134 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19135 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19136 * grub-core/lib/i386/halt.c (grub_halt)
19137 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19138
0575c7c3
VS
191392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19142 context.
19143
54ac3cd1
VS
191442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19145
19146 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19147 * grub-core/video/efi_uga.c: Likewise.
19148
b2a30ac5
VS
191492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Filter devaliases and never open same device twice.
19152
19153 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19154 (last_ihandle): Likewise.
19155 (ofdisk_hash_ent): New member shortest.
19156 (ofdisk_hash_add): Add canonical path too.
19157 (scan): New function.
19158 (grub_ofdisk_iterate): Iterate over hashed entries.
19159 (compute_dev_path): Don't add :0.
19160 (grub_ofdisk_open): Don't really open the disk.
19161 (grub_ofdisk_close): Avoid closing unrelated disk.
19162 (grub_ofdisk_read): Implement reopen logic.
19163 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19164 New function.
19165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19166 New proto.
19167
fb53b340
VS
191682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 Fix sparc64.
19171
19172 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19173 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19174 right address. Add sparc64_ieee1275_ldflags.
19175 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19176 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19177 to grub_host_to_target_addr
19178 (load_image): Likewise.
19179
f452b040
VS
191802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * grub-core/normal/completion.c (complete_file): Handle device
19183 containing slash.
19184 Fix based on patch by Doug Nazar.
19185
9b5b2541
VS
191862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 grub-mknetdir script.
19189
19190 * Makefile.util.def (grub-mknetdir): New module.
19191 * tests/util/grub-shell.in: Support boot=net
19192 * util/grub-mknetdir.in: New file.
19193
9d2be652
VS
191942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 videoinfo on non-vbe.
19197
19198 * grub-core/Makefile.core.def (vbeinfo): Removed.
19199 (vbetest): Removed.
19200 (videoinfo): New module.
19201 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19202 * grub-core/commands/i386/pc/vbetest.c: Removed.
19203 * grub-core/commands/videoinfo.c: New file.
19204 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19205 specification.
19206 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19207 as vbetest.
19208 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19209 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19210 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19211 mode_number. New parameter mode. All users updated.
19212 (grub_video_gop_iterate): New function.
19213 (grub_video_efi_gop): New member iterate.
19214 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19215 (grub_vbe_set_video_mode): Remove setting useless fields.
19216 (vbe2videoinfo): New function.
19217 (grub_video_vbe_iterate): Likewise.
19218 (grub_video_vbe_setup): Use vbe2videoinfo.
19219 (grub_video_vbe_print_adapter_specific_info): New function.
19220 (grub_video_vbe_adapter): New fields iterate and
19221 print_adapter_specific_info.
19222 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19223 All users updated.
19224 (grub_video_mode_info): New field mode_number.
19225 (grub_video_adapter): New fields iterate and
19226 print_adapter_specific_info.
19227
179503f5
TG
192282010-09-13 Tristan Gingold <gingold@free.fr>
192292010-09-13 Robert Millan <rmh.grub@aybabtu.com>
192302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * grub-core/commands/efi/lsefisystab.c: New file.
19233 * grub-core/commands/efi/lssal.c: Likewise.
19234 * grub-core/Makefile.core.def (lsacpi): New module.
19235 (lsefisystab): Likewise.
19236 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19237 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19238 (grub_efi_sal_system_table): New struct.
19239 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19240 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19241 (grub_efi_sal_system_table_platform_features): Likewise.
19242 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19243 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19244 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19245 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19246
cf9827de
VS
192472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 Support explicit user claim that a device is BIOS-visible.
19250
19251 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19252 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19253 * grub-core/kern/emu/hostdisk.c
19254 (convert_system_partition_to_system_disk): Support mdX.
19255 (find_system_device): New parameter add. All users updated.
19256 (grub_util_biosdisk_is_present): New function.
19257 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19258 proto.
19259
53f0eb1f
VS
192602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 Search hints support.
19263
19264 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19265 All users updated.
19266
b23ffd70
YB
192672010-09-13 Yves Blusseau <blusseau@zetam.org>
19268
19269 Bash completion script for util commands
19270
19271 * Makefile.am: Add util/bash-completion.d directory
19272 * configure.ac: Likewise.
19273 * util/bash-completion.d/Makefile.am: New file.
19274 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19275
d547dc28
VS
192762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19279 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19280 Reported by: Yves Blusseau.
19281
2fc8ccb9
VS
192822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19285 partition size and offset.
19286
d8a84076
VS
192872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19288
19289 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19290
84fb3b3d
VS
192912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19292
19293 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19294
768ec2e2
VS
192952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19298 (grub_xvasprintf): Likewise.
19299
4870900f
VS
193002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19303
faca6bec
VS
193042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19307 args ending with NULL.
19308
193092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19310
19311 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19312 pointer.
19313
3c70f225
SJ
193142010-09-11 Szymon Janc <szymon@janc.net.pl>
19315
19316 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19317
4df7996d
VS
193182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 Shutdown using ACPI.
19321
19322 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19323 * grub-core/commands/acpihalt.c: New file.
19324 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19325 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19326 (grub_acpi_halt): New proto.
19327 (GRUB_ACPI_SLP_EN): New const.
19328 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19329 (GRUB_ACPI_OPCODE_*): New enum.
19330 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19331
126b4c32
TG
193322010-09-11 Tristan Gingold <gingold@free.fr>
193332010-09-11 Robert Millan <rmh.grub@aybabtu.com>
193342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * commands/lsacpi.c: New file.
19337 * grub-core/Makefile.core.def (lsacpi): New module.
19338 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19339 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19340 (grub_acpi_madt_entry_header): New struct.
19341 (grub_acpi_madt): Likewise.
19342 (grub_acpi_madt_entry_interrupt_override): Likewise.
19343 (grub_acpi_madt_entry_sapic): Likewise.
19344 (grub_acpi_madt_entry_lsapic): Likewise.
19345 (grub_acpi_madt_entry_platform_int_source): Likewise.
19346 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19347 (PRIuGRUB_UINT32_T): Likewise.
19348 (PRIxGRUB_UINT64_T): Likewise.
19349
1aa4fe88
VS
193502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 Implement loading palette on ieee1275_fb.
19353
19354 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19355 (have_setcolors): Likewise.
19356 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19357 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19358 (grub_video_ieee1275_set_palette): Implement.
19359
25761e13
VS
193602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
193612010-09-11 Colin Watson <cjwatson@ubuntu.com>
19362
19363 * util/grub-install.in (grub_partition): New variable.
19364 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19365 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19366 Fixes a bug reported by Yves Blusseau.
19367
050abaea
VS
193682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 Fix emu on mipsel.
19371
19372 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19373 =grub_cpu_flush_cache on all mips and not only yeeloong.
19374 * configure.ac (COND_mips): New conditional.
19375 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19376 platforms.
19377 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19378 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19379 [GRUB_LINKER_HAVE_INIT]: New function.
19380 (grub_emu_post_init): Likewise.
19381 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19382 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19383 * include/grub/cache.h (_mips): Include mips/cache.h.
19384 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19385 LVM and RAID prototypes.
19386 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19387 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19388 function.
19389
5ed7d816
CW
193902010-09-10 Colin Watson <cjwatson@ubuntu.com>
19391
19392 * util/grub-install.in: Don't try to verify core.img until after
19393 running grub-mkimage to create it.
19394
90367e04
RM
193952010-09-10 Robert Millan <rmh@gnu.org>
19396
19397 * util/grub.d/10_hurd.in: Add misc readability checks.
19398 * util/grub.d/10_kfreebsd.in: Likewise.
19399 * util/grub.d/10_linux.in: Likewise.
19400
c452fa66
CW
194012010-09-10 Colin Watson <cjwatson@ubuntu.com>
19402
19403 * util/grub-install.in: ${imgext} won't be defined here until the
19404 install branch is merged. For the meantime, only verify core.img on
19405 i386-pc and sparc64-ieee1275 platforms.
19406
c38fe9f4
RM
194072010-09-10 Robert Millan <rmh@gnu.org>
19408
19409 Solaris support in grub_find_zpool_from_dir(). Thanks
19410 Seth Goldberg for referring to getextmntent() facility.
19411
19412 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19413 `sys/mkdev.h'.
19414 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19415 `<sys/mnttab.h>'.
19416 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19417 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19418 method for finding zpool name.
19419
905f7773
CW
194202010-09-10 Colin Watson <cjwatson@ubuntu.com>
19421
19422 grub-fstest needs the host and hostfs modules while other utilities
19423 actively require those modules to be absent, so grub-fstest needs
19424 its own initialisation and finalisation code.
19425
19426 * Makefile.am (grub_fstest.pp): New target.
19427 (grub_fstest_init.lst): Likewise.
19428 (grub_fstest_init.c): Likewise.
19429 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19430
fb90b546
RM
194312010-09-10 Robert Millan <rmh@gnu.org>
19432
19433 * configure.ac: Check for `struct statfs.f_fstypename' and
19434 `struct statfs.f_mntfromname'.
19435
19436 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19437 kFreeBSD-specific code.
19438
66d4bea5
RM
194392010-09-10 Robert Millan <rmh@gnu.org>
19440
19441 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19442 on ZFS. Now non-main filesystems are supported as / too.
19443
b6a690ee
CW
194442010-09-09 Colin Watson <cjwatson@ubuntu.com>
19445
19446 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19447 and grub-core/disk/host.c to ...
19448 (grub-fstest): ... here. Having the host disk implementation
19449 present confuses grub-probe and other utility programs.
19450
19451 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19452 when writing to a file, not when writing to stdout.
19453
8901b00c 194542010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19455
19456 * tests/partmap_test.in: New test for partitions.
19457 * Makefile.util.def: Rules for new test.
19458
7bf45fdd
RM
194592010-09-09 Robert Millan <rmh@gnu.org>
19460
19461 * util/grub-probe.c (probe): Fix a pair of unhandled error
19462 conditions.
19463
4dfbc574
RM
194642010-09-09 Robert Millan <rmh@gnu.org>
19465
19466 Basic Btrfs support (detection and UUID).
19467
19468 * grub-core/fs/btrfs.c: New file.
19469 * Makefile.util.def (library): Register btrfs.c.
19470 * grub-core/Makefile.core.def: Likewise.
19471
6b8e78ae
RM
194722010-09-08 Robert Millan <rmh@gnu.org>
19473
19474 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19475 with (optional) parameters to specify device and relative path.
19476 * util/grub-install.in: Use is_path_readable_by_grub() to
19477 verify readability of a few critical files.
19478 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19479 verify readability of grub.cfg.new.
19480
27f21a8b
VS
194812010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 Split minix.mod into minix.mod and minix2.mod.
19484
19485 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19486 * grub-core/Makefile.core.def (minix2): New module.
19487 * grub-core/fs/minix.c: Use definitions instead of runtime version
19488 checking.
19489 * grub-core/fs/minix2.c: New file.
19490
c0e53ea5
YB
194912010-09-08 Yves Blusseau <blusseau@zetam.org>
19492
19493 Add new --boot-directory option to replace --root-directory
19494
19495 * util/grub-install.in: Add new --boot-directory option
19496 * util/grub-reboot.in: Likewise.
19497 * util/grub-set-default.in: Likewise.
19498
b9fe6ea2
YB
194992010-09-08 Yves Blusseau <blusseau@zetam.org>
19500
19501 * util/grub-mkconfig.in: Use new variable.
19502
d87aedff
YB
195032010-09-08 Yves Blusseau <blusseau@zetam.org>
19504
19505 * configure.ac: Define some useful variables.
19506
e55e8495
VS
195072010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19510 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19511 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19512 Use terminfo and don't use cursor-on/cursor-off unless it's known
19513 to work.
19514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19515 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19516
6fa6d675
CW
195172010-09-08 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19520 starts with "(,", fill the drive containing the loaded image in
19521 between those two characters, but expect that a full partition
19522 specification including partition map names will follow.
19523
92f2aef0
RM
195242010-09-08 Robert Millan <rmh@gnu.org>
19525
19526 * configure.ac: Remove `--enable-grub-fstest' option.
19527 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19528
19529 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19530 `grub-fstest' instead of `grub-probe' for readability verification.
19531 * util/grub-probe.c (probe): Remove readability verification kludge.
19532
99fd620d
RM
195332010-09-08 Robert Millan <rmh@gnu.org>
19534
19535 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19536 initializing `GRUB_FS'.
19537
058e30ac 195382010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19539
19540 Not command (!) support to GRUB script.
19541
19542 * tests/grub_script_not.in: New test.
19543 * Makefile.util.def: Rules for new test.
19544
19545 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19546 ! command as a special case.
19547 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19548
b61d05ed 195492010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19550
058e30ac 19551 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19552 grub_free.
b61d05ed 19553
4d69c786 195542010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19555
19556 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19557
aa3119c4 195582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19559
19560 * docs/grub.texi (Shell-like scripting): Documentation for break,
19561 continue, shift and return commands.
19562
db0f7e3d
VS
195632010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 Rename CD-ROM to cd on BIOS.
19566
19567 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19568 "cd".
19569 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19570
88b87c93
VS
195712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19574 * util/grub-probe.c (main): Likewise.
19575 * util/i386/pc/grub-setup.c (main): Likewise.
19576 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19577 Reported and debugged by: alexxy
19578
294f324d
VS
195792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19582 diagnostic info.
19583
d7ee3441
JS
195842010-09-05 Jo Shields <directhex@apebox.org>
19585
19586 * util/grub.d/30_os-prober.in: Add missing classes.
19587
d7e06c1f
VS
195882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19589
19590 * docs/grub.texi (Theme file format): Document new position format.
19591
fc157e53
VS
195922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19595 a table. Use @code instead of @verbatim.
19596
506e9a1c
CB
195972010-09-05 Colin D Bennett <colin@gibibit.com>
19598
19599 Gfxmenu documentation.
19600
19601 * docs/grub.texi (Theme file format): New chapter.
19602
f0aff67c
SJ
196032010-09-05 Szymon Janc <szymon@janc.net.pl>
19604
19605 * grub-core/Makefile.core.def (xzio): New module.
19606 * grub-core/io/xzio.c: New file.
19607 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19608 * grub-core/lib/xzembed/xz_config.h: Likewise.
19609 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19610 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19611 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19612 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19613 * grub-core/lib/xzembed/xz_private.h: Likewise.
19614 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19615 * include/grub/file.h (grub_file_filter_id): New compression filter
19616 GRUB_FILE_FILTER_XZIO.
19617
82a85062
VS
196182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19621 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19622 size.
19623
3579415d
VS
196242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19625
19626 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19627 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19628
5124ae6d
VS
196292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19630
19631 Uncompressed checksum support.
19632
19633 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19634 (check_list): New parameter uncompress.
19635 (grub_cmd_hashsum): Handle --uncompress.
19636
9aadb3d1
VS
196372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 Reintroduce testload.
19640
19641 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19642 from here ...
19643 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19644 (GRUB_MOD_INIT): New function.
19645 (GRUB_MOD_FINI): Likewise.
19646 * grub-core/Makefile.core.def (testload): New module.
19647
a17792c3
SJ
196482010-09-05 Szymon Janc <szymon@janc.net.pl>
19649
19650 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19651 (uint8_t): New type.
19652 (uint16_t): Likewise.
19653 (uint32_t): Likewise.
19654 (uint64_t): Likewise.
19655
b81e40a3
SJ
196562010-09-05 Szymon Janc <szymon@janc.net.pl>
19657
19658 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19659
fc2ef117
VS
196602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19661
19662 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19663 Made static.
19664 (grub_gzfile_open): Removed. All users updated.
19665 (GRUB_MOD_INIT): New function.
19666 (GRUB_MOD_FINI): Likewise.
19667 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19668 (grub_file_filters_enabled): Likewise.
19669 (grub_file_open): Handle filters.
19670 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19671 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19672 * include/grub/file.h (grub_file_filter_id_t): New type.
19673 (grub_file_filter_t): Likewise.
19674 (grub_file_filters_all): New extern variable.
19675 (grub_file_filters_enabled): Likewise.
19676 (grub_file_filter_register): New inline function.
19677 (grub_file_filter_unregister): Likewise.
19678 (grub_file_filter_disable): Likewise.
19679 (grub_file_filter_disable_compression): Likewise.
19680 * include/grub/gzio.h: Removed.
19681
35ee15e0
BC
196822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19683
19684 Filename expansion support for wildcards in GRUB script.
19685
19686 * tests/grub_script_expansion.in: New test.
19687 * Makefile.util.def: Rule for new test.
19688
19689 * grub-core/commands/wildcard.c: New file, implements filename
19690 expansion support for GRUB script.
19691 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19692 * grub-core/script/argv.c: Cosmetic changes.
19693 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19694 Refactored to perform wildcard expansion on arguments.
19695 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19696 struct.
19697
19698 * tests/util/grub-shell.in: Fix quoting for read input.
19699
5f0c4aca
BC
197002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19701
19702 Support for updating environment variables with matched substrings
19703 of regexp.
19704
19705 * tests/grub_cmd_regexp.in: New test.
19706 * Makefile.util.def: Rule for new test.
19707
19708 * grub-core/commands/regexp.c: New option -s to update environment
19709 variables with regexp matches.
19710
3759a35f
SJ
197112010-09-04 Szymon Janc <szymon@janc.net.pl>
19712
19713 * include/grub/file.h (grub_file): New member not_easly_seekable.
19714 (grub_file_seekable): New inline function.
19715 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19716 easily seekable.
19717 (grub_gzio_open): Set not_easly_seekable.
19718 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19719 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19720
ed8c6dec
BC
197212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19722
19723 Support for options to appear multiple times on cmdline.
19724
19725 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19726 * grub-core/commands/extcmd.c: Support for repeatable option.
19727 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19728 repeatable option support.
19729
19730 Refactor menuentry into a regular command.
19731
19732 * grub-core/commands/menuentry.c: New file, menuentry command
19733 implementation.
19734 * grub-core/Makefile.core.def: Rule update for normal.mod.
19735 * grub-core/normal/main.c: Moved menuentry creation to
19736 grub-core/commands/menuentry.c.
19737 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19738 (grub_menu_execute_entry_real): Removed.
19739 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19740 function.
19741 (grub_script_execute_menuentry): Removed.
19742 * grub-core/script/parser.y (menuentry): Removed.
19743 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19744 * grub-core/script/yylex.l (menuentry): Removed.
19745 * include/grub/menu.h (grub_menu_init): New prototype.
19746 (grub_menu_fini): New prototype.
19747 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19748 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19749 (grub_script_execute_sourcecode): New prototype.
19750
dacd0cf0
BC
197512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19752
19753 "return" command for GRUB script functions.
19754
19755 * tests/grub_script_return.in: New test.
19756 * Makefile.util.def: Rules for new test.
19757
19758 * grub-core/script/execute.c (grub_script_return): New function.
19759 * grub-core/script/main.c: Register/unregister return commaond.
19760 * include/grub/script_sh.h (grub_script_return): New prototype.
19761
52e72f9d
BC
197622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19763
19764 "setparams" command to update positional parameters.
19765
19766 * tests/grub_script_setparams.in: New test.
19767 * Makefile.util.def: Rules for new test.
19768
19769 * grub-core/script/argv.c (grub_script_argv_make): New function.
19770 * grub-core/script/execute.c (replace_scope): New function.
19771 (grub_script_setparams): New function.
19772 * grub-core/script/lexer.c: Remove unused variables.
19773 * grub-core/script/main.c: Register/unregister setparams command.
19774 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19775 (grub_script_setparams): New prototype.
19776
25b60c91
BC
197772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19778
19779 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19780 grub_free order.
19781
37e7bf68
BC
197822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19783
19784 Support for passing block of commands as an argument to extcmds.
19785
19786 * Makefile.util.def: Rules for new test.
19787 * tests/grub_script_blockarg.in: New test.
19788 * grub-core/tests/test_blockarg.c: New file, block argument
19789 command used in the test.
19790
19791 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19792 (grub_register_extcmd_prio): New function prototype.
19793 (grub_extcmd_dispatcher): New function prototype.
19794 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19795 type.
19796 * include/grub/script_sh.h (struct grub_script): New members
19797 `children', `next_siblings' and `refcnt' for block arguments and
19798 reference counting.
19799 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19800 (grub_script_arg): New member `script' for block argument.
19801 (grub_script_argv): New member `script' for block argument.
19802 (grub_parser_param): New member `scripts' for block argument.
19803 (grub_script_mem_free): New extern function prototype.
19804 (grub_script_ref): New function prototype.
19805 (grub_script_unref): New function prototype.
19806
19807 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19808 extcmd form to support block arguments.
19809 * grub-core/script/argv.c: Block arguments support.
19810 * grub-core/script/execute.c: Likewise.
19811 * grub-core/script/lexer.c: Likewise.
19812 * grub-core/script/main.c: Likewise.
19813 * grub-core/script/script.c: Likewise.
19814 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19815 non-terminals.
19816
19817 * grub-core/commands/acpi.c: Update extcmd implementations with
19818 grub_extcmd_context_t.
19819 * grub-core/commands/cat.c: Likewise.
19820 * grub-core/commands/echo.c: Likewise.
19821 * grub-core/commands/extcmd.c: Likewise.
19822 * grub-core/commands/hashsum.c: Likewise.
19823 * grub-core/commands/hdparm.c: Likewise.
19824 * grub-core/commands/help.c: Likewise.
19825 * grub-core/commands/hexdump.c: Likewise.
19826 * grub-core/commands/i386/cpuid.c: Likewise.
19827 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19828 * grub-core/commands/i386/pc/halt.c: Likewise.
19829 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19830 * grub-core/commands/iorw.c: Likewise.
19831 * grub-core/commands/keystatus.c: Likewise.
19832 * grub-core/commands/loadenv.c: Likewise.
19833 * grub-core/commands/ls.c: Likewise.
19834 * grub-core/commands/lspci.c: Likewise.
19835 * grub-core/commands/memrw.c: Likewise.
19836 * grub-core/commands/probe.c: Likewise.
19837 * grub-core/commands/search_wrap.c: Likewise.
19838 * grub-core/commands/setpci.c: Likewise.
19839 * grub-core/commands/sleep.c: Likewise.
19840 * grub-core/disk/loopback.c: Likewise.
19841 * grub-core/hello/hello.c: Likewise.
19842 * grub-core/loader/i386/bsd.c: Likewise.
19843 * grub-core/loader/xnu.c: Likewise.
19844 * grub-core/term/gfxterm.c: Likewise.
19845 * grub-core/term/serial.c: Likewise.
19846 * grub-core/tests/lib/functional_test.c: Likewise.
19847
888d1500
BC
198482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19849
19850 Multi-line quoted strings support.
19851
19852 * grub-core/script/lexer.c (append_newline): Removed.
19853 (grub_script_lexer_yywrap): Refactored.
19854 (grub_script_lexer_init): Refactored.
19855 * grub-core/script/yylex.l (yywrap): New function.
19856 (grub_lexer_resplit): New function.
19857 (grub_lexer_unput): New function.
19858 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19859 and resplit.
19860 * tests/grub_script_echo1.in: Added few more testcases.
19861
dda060dd
VS
198622010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * grub-core/kern/misc.c: Don't add abort alias in utils.
19865 Reported by: echoline.
19866
6556eba9
BC
198672010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19868
19869 Add missing files into "make dist" tarball for other platforms.
19870
19871 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19872 * conf/Makefile.common (dist_noinst_DATA): New variable.
19873 * conf/Makefile.extra-dist: Added missing make dist files.
19874 * grub-core/Makefile.core.def: Likewise.
19875
c8e7bf5f
VS
198762010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 Compress grub_prefix.
19879
19880 * grub-core/boot/i386/pc/lnxboot.S: Use
19881 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19882 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19883 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19884 GRUB_MACHINE_PREFIX_END. All users updated.
19885 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19886 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19887 + 0x40.
19888 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19889 * util/grub-mkimage.c (image_target_desc): Change data_end to
19890 prefix_end. All users updated.
19891
a7c00cdb
VS
198922010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19895 value.
19896 (grub_openbsd_boot): Likewise.
19897 (grub_netbsd_boot): Likewise.
19898 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19899 (grub_xnu_boot): Likewise.
19900
9f915872
VS
199012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * configure.ac: Clean LIBS variable after tests.
19904
efa1bee7
CW
199052010-09-02 Colin Watson <cjwatson@ubuntu.com>
19906
19907 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19908
61d720e5
VS
199092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19912 echo if libdevmapper will be used.
19913
ef8e0ec8
IT
199142010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19915
19916 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19917 constant for the same file.
19918
03e261d8
VS
199192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19922
c2a4eba6
CW
199232010-09-02 Colin Watson <cjwatson@ubuntu.com>
19924
19925 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19926 grub-core/*.pp.
19927
9056cbf3
CW
199282010-09-02 Colin Watson <cjwatson@ubuntu.com>
19929
19930 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19931 required by the boot protocol.
19932
19933 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19934 ebp and edi members.
19935 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19936 state.ebp and state.edi.
19937 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19938 %ebp and %edi according to grub_relocator32_ebp and
19939 grub_relocator32_edi respectively.
19940 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19941 and state.edi.
19942
529cc99a
VS
199432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 Add i386-pc-pxe image target.
19946
19947 * util/grub-mkimage.c (image_target_desc): New enum value
19948 IMAGE_I386_PC_PXE.
19949 (image_targets): New target i386-pc-pxe.
19950 (generate_image): Handle i386-pc-pxe image.
19951
9a093920
VS
199522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19953
19954 Fix grub_pxe_scan.
19955
19956 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19957 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19958 All users updated.
19959 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19960 (grub_pxe_pxenv): Correct type.
19961
f9cefc4e
CW
199622010-09-01 Colin Watson <cjwatson@ubuntu.com>
19963
19964 * NEWS: Document most of the important changes since 1.98.
19965
4066f57f
CW
199662010-09-01 Colin Watson <cjwatson@ubuntu.com>
19967
19968 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19969 generated manual page) a little.
19970
da2891f9
CW
199712010-09-01 Colin Watson <cjwatson@ubuntu.com>
19972
19973 * docs/grub.texi: Add myself as an author.
19974
ad717fae
VS
199752010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * Makefile.util.def (libgrub.a): Add missing sunpc.
19978 Reported by: Seth Goldberg.
19979
eefe8abd
VS
199802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 Interrupt wrapping and code simplifications.
19983
9494ef9a
VS
19984 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19985 x86_noieee1275 which are functionaly equivalent in this case.
19986 (grub-install): Make source on each platform explicit. Enable on
19987 all noemu.
19988 * gentpl.py (x86_efi_pc): Removed group.
19989 (x86_noefi): Likewise.
19990 (i386_noefi): Likewise.
19991 (x86_noieee1275): Likewise.
19992 (i386_noieee1275): Likewise.
19993 (i386_noefi_noieee1275): Likewise.
19994 (i386_pc_qemu_coreboot): Likewise.
19995 (i386_coreboot_multiboot): Likewise.
19996 (i386_pc_coreboot_multiboot_qemu): Likewise.
19997 (x86_noefi_mips): Likewise.
19998 (noieee1275): Likewise.
19999 (ieee1275_mips): Likewise.
20000 (noemu_noieee1275): Likewise.
20001 (cmos): New group.
20002 (usb): Likewise.
20003 (videoinkernel): Likewise.
20004 (videomodules): Likewise.
eefe8abd 20005 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20006 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20007 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20008 include/grub/loader.h, include/grub/msdos_partition.h,
20009 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20010 include/grub/machine/console.h, include/grub/machine/vga.h,
20011 include/grub/machine/vbe.h, include/grub/machine/init.h,
20012 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20013 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20014 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20015 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20016 * grub-core/Makefile.core.def (kernel): Explicit the source for
20017 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20018 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20019 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20020 Use videoinkernel tag.
20021 (usb): Enable on all usb.
20022 (usbserial_common): Likewise.
20023 (usbserial_pl2303): Likewise.
20024 (usbserial_ftdi): Likewise.
20025 (uhci): Enable on all x86.
20026 (ohci): Enable on all pci.
20027 (cmostest): Enable on all CMOS.
20028 (acpi): Include commands/acpi.c on all platforms.
20029 (halt): Add relevant lib/*/halt.c.
20030 (hdparm): Enable on all pci.
20031 (lspci): Likewise.
20032 (usbtest): Enable on all usb.
20033 (ata): Enable on all pci.
20034 (ata_pthru): Likewise.
20035 (usbms): Enable on all usb.
20036 (usb_keyboard): Likewise.
20037 (font): Use tag videomodules.
20038 (bufio): Likewise.
20039 (datetime): Use tag cmos. Enable on all noemu.
20040 (mmap): Use tags common and x86.
20041 (gfxterm): Use tag videomodules.
20042 (bitmap): Likewise.
20043 (bitmap_scale): Likewise.
20044 (video_fb): Likewise.
20045 (video): Likewise.
20046 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20047 adjust padding accordingly. All users updated.
20048 (grub_ohci_transaction): Fix bad format specification.
20049 (GRUB_MOD_INIT): Add asserts for struct size.
20050 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20051 (grub_alloc_td): Likewise.
20052 (grub_free_queue): Likewise.
20053 (grub_uhci_transfer): Likewise.
20054 (grub_uhci_transaction): Fix bad format specification.
20055 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20056 (grub_usb_bulk_readwrite): Likewise.
20057 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20058 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20059 Made static.
20060 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20061 Made static.
20062 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20063 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20064 Transformed into C.
20065 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20066 Moved from here ...
20067 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20068 ... here. Transformed into C. Made static.
20069 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20070 Moved from here ...
20071 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20072 ... here. Transformed into C. Made static.
20073 * grub-core/kern/i386/pc/startup.S
20074 (grub_biosdisk_check_int13_extensions): Moved from here ...
20075 * grub-core/disk/i386/pc/biosdisk.c
20076 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20077 Made static.
20078 * grub-core/kern/i386/pc/startup.S
20079 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20080 * grub-core/disk/i386/pc/biosdisk.c
20081 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20082 Transformed into C. Made static.
20083 * grub-core/kern/i386/pc/startup.S
20084 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20085 * grub-core/disk/i386/pc/biosdisk.c
20086 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20087 Transformed into C. Made static.
20088 * grub-core/kern/i386/pc/startup.S
20089 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20090 * grub-core/disk/i386/pc/biosdisk.c
20091 (grub_biosdisk_get_diskinfo_standard): ... here.
20092 Transformed into C. Made static.
20093 * grub-core/kern/i386/pc/startup.S
20094 (grub_biosdisk_get_num_floppies): Moved from here ...
20095 * grub-core/disk/i386/pc/biosdisk.c
20096 (grub_biosdisk_get_num_floppies): ... here.
20097 Transformed into C. Made static.
20098 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20099 New function.
20100 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20101 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20102 Transformed into C. Made static.
20103 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20104 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20105 Transformed into C. Made static.
20106 * grub-core/kern/i386/ieee1275/init.c: Removed.
20107 * grub-core/kern/i386/misc.S: Likewise.
20108 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20109 Splitted from here ...
20110 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20111 Transformed into C. Made static. All users updated.
20112 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20113 Transformed into C. Made static. All users updated.
20114 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20115 Moved from here...
20116 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20117 Transformed into C. Made static. All users updated.
20118 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20119 Moved from here...
20120 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20121 Transformed into C. Made static. All users updated.
20122 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20123 Removed (replaced by C version).
20124 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20125 Moved from here...
20126 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20127 Transformed into C. Made static.
20128 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20129 Moved from here...
20130 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20131 ... here. Transformed into C.
20132 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20133 Moved from here...
20134 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20135 ... here. Transformed into C.
20136 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20137 Moved from here...
20138 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20139 ... here. Transformed into C. Made static.
20140 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20141 Moved from here...
20142 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20143 ... here. Transformed into C.
21ed554b
VS
20144 * grub-core/kern/i386/pc/startup.S
20145 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20146 * grub-core/video/i386/pc/vbe.c
20147 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20148 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20149 Moved from here...
20150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20151 ... here. Transformed into C.
20152 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20153 Moved from here...
20154 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20155 ... here. Transformed into C.
20156 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20157 Moved from here...
20158 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20159 ... here. Transformed into C.
20160 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20161 Moved from here...
20162 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20163 ... here. Transformed into C.
20164 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20165 Moved from here...
20166 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20167 ... here. Transformed into C. Made static.
20168 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20169 Moved from here...
20170 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20171 ... here. Transformed into C. Made static.
20172 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20173 Moved from here...
20174 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20175 ... here. Transformed into C. Made static.
20176 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20177 pxe_rm_entry as third argument.
20178 (grub_bios_interrupt): New function.
20179 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20180 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20181 of calling grub_stop.
20182 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20183 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20184 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20185 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20186 * grub-core/lib/i386/halt.c: Moved from here ...
20187 * grub-core/lib/i386/halt.c: ... here.
20188 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20189 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20190 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20191 grub_stop_floppy.
20192 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20193 * include/grub/i386/coreboot/init.h: Removed.
20194 * include/grub/i386/multiboot/init.h: Likewise.
20195 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20196 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20197 * include/grub/i386/pc/int.h: New file.
20198 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20199 (grub_pxe_scan): Removed.
20200 (grub_pxe_call): Update prototype.
20201 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20202 prototypes.
20203 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20204 * include/grub/i386/qemu/init.h: Removed.
20205 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20206 noreturn.
20207 (grub_halt): Likewise.
20208 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20209 (grub_reboot): Likewise.
20210 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20211 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20212 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20213
215dd471
RM
202142010-08-30 Robert Millan <rmh@gnu.org>
20215
20216 * NEWS: Document addition of ZFS support in `grub-install' and
20217 `grub-mkconfig'.
20218
ebd65b82
BC
202192010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20220
20221 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20222 dprintf output.
20223
11721d19
VS
202242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 Remove leftover embedding of font objects.
20227
20228 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20229 * util/grub-install.in (font): Removed.
20230 * util/grub-mkimage.c (generate_image): Remove font support. All users
20231 updated.
20232
37837d4e
VS
202332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 Remove leftover embedding of font objects.
20236
20237 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20238 * util/grub-install.in (font): Removed.
20239 * util/grub-mkimage.c (generate_image): Remove font support. All users
20240 updated.
20241
b4c1aae0
VS
202422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20245 Reported by: Ian Turner
b4c1aae0 20246
8920a08d
VS
202472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20250 timeout to avoid indefinite boot stalling.
20251
f21db033
VS
202522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20255 (grub_env_write_color_highlight): Likewise.
20256
9a9de209
VS
202572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * grub-core/normal/term.c (print_more): Return to normal and not
20260 to standard state after printing "---MORE---".
20261
3dca01d7
VS
202622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20265 Mask out the bit 0x80 since it has other meaning that specifiing color.
20266
0b986c40
VS
202672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 New relocator. Allows for more kernel support and more straightforward
20270 loader writing.
20271
20272 * Makefile.am (BOOTTARGET): New variable.
20273 (QEMU32): Likewise.
20274 (linux.init.x86_64): New target.
20275 (linux.init.i386): Likewise.
20276 (multiboot.elf): Likewise.
20277 (kfreebsd.elf): Likewise.
20278 (kfreebsd.aout): Likewise.
20279 (pc-chainloader.elf): Likewise.
20280 (pc-chainloader.bin): Likewise.
20281 (ntldr.elf): Likewise.
20282 (ntldr.bin): Likewise.
20283 (multiboot2.elf): Likewise.
20284 (kfreebsd.init.x86_64): Likewise.
20285 (kfreebsd.init.i386): Likewise.
20286 (knetbsd.init.i386): Likewise.
20287 (kopenbsd.init.i386): Likewise.
20288 (knetbsd.init.x86_64): Likewise.
20289 (kopenbsd.init.x86_64): Likewise.
20290 (linux-initramfs.i386): Likewise.
20291 (linux-initramfs.x86_64): Likewise.
20292 (kfreebsd-mfsroot.i386.img): Likewise.
20293 (knetbsd.image.i386): Likewise.
20294 (kopenbsd.image.i386): Likewise.
20295 (kopenbsd.image.x86_64): Likewise.
20296 (knetbsd.miniroot-image.i386.img): Likewise.
20297 (kfreebsd-mfsroot.x86_64.img): Likewise.
20298 (knetbsd.image.x86_64): Likewise.
20299 (knetbsd.miniroot-image.x86_64.img): Likewise.
20300 (kfreebsd-mfsroot.i386.gz): Likewise.
20301 (bootcheck-kfreebsd-i386): Likewise.
20302 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20303 (bootcheck-kfreebsd-x86_64): Likewise.
20304 (knetbsd.miniroot-image.i386.gz): Likewise.
20305 (bootcheck-knetbsd-i386): Likewise.
20306 (bootcheck-kopenbsd-i386): Likewise.
20307 (bootcheck-kopenbsd-x86_64): Likewise.
20308 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20309 (bootcheck-knetbsd-x86_64): Likewise.
20310 (bootcheck-linux-i386): Likewise.
20311 (bootcheck-linux-x86_64): Likewise.
20312 (bootcheck-linux16-i386): Likewise.
20313 (bootcheck-linux16-x86_64): Likewise.
20314 (bootcheck-multiboot): Likewise.
20315 (bootcheck-multiboot2): Likewise.
20316 (bootcheck-kfreebsd-aout): Likewise.
20317 (bootcheck-pc-chainloader): Likewise.
20318 (bootcheck-ntldr): Likewise.
20319 (CLEANFILES): Add new targets.
20320 (BOOTCHECKS): New variable.
20321 (.PHONY): Add bootchecks.
20322 (SUCCESSFUL_BOOT_STRING): New variable.
20323 (BOOTCHECK_TIMEOUT): Likewise.
20324 (bootcheck): New target
20325 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20326 * configure.ac: Correct efiemu excuse.
20327 * docs/grub.texi (Supported kernels): New chapter.
20328 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20329 include/grub/mm_private.h. Simplify inclusion of
20330 include/grub/boot.h, include/grub/loader.h
20331 and include/grub/msdos_partition.h
20332 (KERNEL_HEADER_FILES) [i386_coreboot]:
20333 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20334 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20335 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20336 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20337 include/grub/machine/loader.h.
20338 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20339 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20340 extra_dist.
20341 (pci.mod): Enable on i386-multiboot.
20342 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20343 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20344 i386-qemu.
20345 (relocator.mod): Rewritten.
20346 (aout.mod): Enable on all x86.
20347 (bsd.mod): Likewise.
20348 (ntldr.mod): New module.
20349 (linux.mod): Use loader/i386/linux.c on all x86.
20350 (xnu.mod): Enable on all x86.
20351 (vga_text.mod): disable on EFI and QEMU.
20352 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20353 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20354 * grub-core/efiemu/loadcore.c: Likewise.
20355 * grub-core/efiemu/main.c: Likewise.
20356 (grub_efiemu_exit_boot_services): Removed.
20357 (grub_efiemu_finish_boot_services): Likewise.
20358 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20359 function.
20360 * grub-core/efiemu/i386/nocfgtables.c: New file.
20361 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20362 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20363 (grub_efi_finish_boot_services): Moved from here ...
20364 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20365 Fille finish memory map and related data.
20366 (finish_mmap_buf): New variable.
20367 (grub_efi_uintn_t finish_mmap_size): Likewise.
20368 (grub_efi_uintn_t finish_key): Likewise.
20369 (grub_efi_uintn_t finish_desc_size): Likewise.
20370 (grub_efi_uint32_t finish_desc_version): Likewise.
20371 (grub_efi_is_finished): Likewise.
20372 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20373 finished.
20374 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20375 (grub_elf64_phdr_iterate): Likewise.
20376 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20377 (grub_os_area_size): Likewise.
20378 (grub_machine_init): Don't reserve os area.
20379 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20380 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20381 * grub-core/kern/i386/loader.S: Removed.
20382 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20383 (grub_os_area_size): Likewise.
20384 (grub_machine_init): Don't reserve os area.
20385 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20386 Don't call grub_dl_unload_all.
20387 Don't include loader.S.
20388 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20389 Declare the memory after _end as available.
20390 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20391 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20392 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20393 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20394 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20395 * include/grub/mm_private.h (grub_mm_header): ... here.
20396 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20397 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20398 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20399 (grub_mm_region): ..here. Removed addr. Added pre_size.
20400 All users updated.
20401 * grub-core/kern/mm.c (base): Renamed to ...
20402 (grub_mm_base): ... this. Made global.
20403 (grub_real_malloc): Alloc from end of region.
20404 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20405 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20406 * grub-core/kern/powerpc/cache_flush.S: ... here.
20407 * grub-core/lib/efi/relocator.c: New file.
20408 * grub-core/lib/i386/relocator.c: Rewritten.
20409 * grub-core/lib/i386/relocator16.S: New file.
20410 * grub-core/lib/i386/relocator32.S: Likewise.
20411 * grub-core/lib/i386/relocator64.S: Likewise.
20412 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20413 * grub-core/lib/i386/relocator_common.S: New file.
20414 * grub-core/lib/ieee1275/relocator.c: Likewise.
20415 * grub-core/lib/mips/relocator.c: Rewritten.
20416 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20417 stylistic adjustments.
20418 * grub-core/lib/powerpc/relocator.c: New file.
20419 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20420 * grub-core/lib/relocator.c: Rewritten.
20421 * grub-core/lib/x86_64/relocator_asm.S: New file.
20422 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20423 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20424 (bsd_tag): New struct.
20425 (tags): New variable.
20426 (tags_last): Likewise.
20427 (netbsd_module): New struct.
20428 (netbsd_mods): New variable.
20429 (netbsd_mods_last): Likewise.
20430 (openbsd_opts): New parameter "serial".
20431 (OPENBSD_SERIAL_ARG): New definition.
20432 (netbsd_opts): New parameter "serial".
20433 (NETBSD_SERIAL_ARG): New definition.
20434 (grub_freebsd_add_meta): Reorganised into ...
20435 (grub_bsd_add_meta): ...this. All users updated.
20436 (grub_freebsd_add_mmap): Reorganised into ...
20437 (generate_e820_mmap): ...this...
20438 (grub_bsd_add_mmap): ...and this. All users updated.
20439 (grub_freebsd_list_modules): Use tags.
20440 (grub_netbsd_add_meta_module): New function.
20441 (grub_netbsd_list_modules): Likewise.
20442 (grub_freebsd_boot): Use relocator and finish EFI.
20443 (grub_openbsd_boot): Likewise.
20444 (grub_netbsd_setup_video): New function.
20445 (grub_netbsd_add_modules): Likewise.
20446 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20447 and finish EFI.
20448 (grub_bsd_unload): Unload tags.
20449 (grub_bsd_load_aout): Use relocator.
20450 (grub_bsd_elf32_size_hook): New function.
20451 (grub_bsd_elf32_hook): Use relocator.
20452 (grub_bsd_elf64_size_hook): New function.
20453 (grub_bsd_elf64_hook): Use relocator.
20454 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20455 (grub_bsd_load): Zero-out openbsd_ramdisk.
20456 (grub_bsd_load): Use relocator.
20457 (grub_cmd_openbsd): Support serial.
20458 (grub_cmd_netbsd): Support modules.
20459 (grub_cmd_freebsd_module): Use relocator.
20460 (grub_netbsd_module_load): New function.
20461 (grub_cmd_netbsd_module): Likewise.
20462 (grub_cmd_openbsd_ramdisk): Likewise.
20463 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20464 kopenbsd_ramdisk.
20465 (GRUB_MOD_FINI): Unregister new commands.
20466 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20467 (grub_freebsd_load_elfmodule_obj): Use relocator.
20468 (grub_freebsd_load_elfmodule): Likewise.
20469 (grub_freebsd_load_elf_meta): Likewise.
20470 (grub_netbsd_load_elf_meta): New function.
20471 (grub_openbsd_find_ramdisk): Likewise.
20472 * grub-core/loader/i386/bsd_helper.S: Removed.
20473 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20474 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20475 * grub-core/loader/i386/efi/linux.c: Likewise.
20476 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20477 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20478 (DEFAULT_VIDEO_MODE): Likewise.
20479 (real_mode_target): New variable.
20480 (prot_mode_target): Likewise.
20481 (initrd_mem_target): Likewise.
20482 (relocator): Likewise.
20483 (efi_mmap_buf): Likewise.
20484 (efi_mmap_size): Likewise.
20485 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20486 (free_pages): Use relocator.
20487 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20488 (grub_linux_setup_video): Return error.
20489 (grub_linux_trampoline_start): Removed.
20490 (grub_linux_trampoline_end): Likewise.
20491 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20492 andd video parameters depending on firmware.
20493 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20494 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20495 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20496 (grub_cmd_initrd): Use relocator.
20497 * grub-core/loader/i386/linux_trampoline.S: Removed.
20498 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20499 (elf_sec_entsize): Likewise.
20500 (elf_sec_shstrndx): Likewise.
20501 (elf_sections): Likewise.
20502 (grub_multiboot_load): Use relocator.
20503 (grub_multiboot_get_mbi_size): Account for sections.
20504 (grub_multiboot_make_mbi): Use relocator and support sections.
20505 (grub_multiboot_add_elfsyms): New function.
20506 (grub_multiboot_free_mbi): Free sections.
20507 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20508 (grub_linux_real_target): Likewise.
20509 (grub_linux_real_chunk): Likewise.
20510 (grub_linux16_prot_size): Likewise.
20511 (grub_linux16_boot): Use relocator.
20512 (grub_linux_unload): Unload relocator.
20513 (grub_cmd_linux): Use relocator.
20514 (grub_cmd_initrd): Likewise.
20515 * grub-core/loader/i386/pc/ntldr.c: New file.
20516 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20517 Don't try to guess CPU frequency.
20518 (grub_xnu_set_video): Stretch bitmap.
20519 (grub_xnu_boot): Use relocator.
20520 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20521 (grub_linux_unload): Free relocator.
20522 (grub_linux_load32): Use relocator.
20523 (grub_linux_load64): Likewise.
20524 (grub_cmd_initrd): Likewise.
20525 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20526 (grub_multiboot_unload): Unload relocator.
20527 (grub_cmd_multiboot): Use relocator.
20528 (grub_cmd_module): Likewise.
20529 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20530 Use relocator and support sections.
20531 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20532 (elf_sec_entsize): Likewise.
20533 (elf_sec_shstrndx): Likewise.
20534 (elf_sections): Likewise.
20535 (grub_multiboot_load): Use relocator.
20536 (grub_multiboot_get_mbi_size): Account for sections.
20537 (grub_multiboot_make_mbi): Use relocator and support sections.
20538 (grub_multiboot_add_elfsyms): New function.
20539 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20540 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20541 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20542 Prototype changed. All users updated.
20543 (grub_xnu_align_heap): Simplified.
20544 (grub_xnu_writetree_toheap): Likewise.
20545 (grub_xnu_unload): Unload relocator.
20546 (grub_cmd_xnu_kernel): Use relocator.
20547 (grub_cmd_xnu_kernel64): Likewise.
20548 (grub_xnu_register_memory): Simplified.
20549 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20550 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20551 EFI is finished.
20552 (grub_console_checkkey): Likewise.
20553 (grub_console_getkey): Likewise.
20554 (grub_console_getwh): Likewise.
20555 (grub_console_getxy): Likewise.
20556 (grub_console_gotoxy): Likewise.
20557 (grub_console_cls): Likewise.
20558 (grub_console_setcolorstate): Likewise.
20559 (grub_console_setcursor): Likewise.
20560 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20561 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20562 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20563 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20564 * grub-core/tests/boot/kernel-8086.S: Likewise.
20565 * grub-core/tests/boot/kernel-i386.S: Likewise.
20566 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20567 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20568 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20569 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20570 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20571 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20572 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20573 * grub-core/tests/boot/linux.cfg: Likewise.
20574 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20575 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20576 * grub-core/tests/boot/linux16.cfg: Likewise.
20577 * grub-core/tests/boot/multiboot.cfg: Likewise.
20578 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20579 * grub-core/tests/boot/ntldr.cfg: Likewise.
20580 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20581 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20582 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20583 New definition.
20584 * include/grub/dl.h (grub_dl_unload_all): Removed.
20585 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20586 (grub_efi_finish_boot_services): Change prototype.
20587 (grub_efi_is_finished): New variable.
20588 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20589 Changed prototype.
20590 (grub_efiemu_finish_boot_services): Removed.
20591 (grub_machine_efiemu_init_tables): New prototype.
20592 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20593 (grub_elf64_phdr_iterate): Likewise.
20594 * include/grub/i386/bsd.h: Include relocator.h.
20595 (freebsd_tag_header): New struct.
20596 (grub_openbsd_bios_mmap): Removed.
20597 (grub_unix_real_boot): Removed.
20598 (grub_freebsd_load_elfmodule32): Changed prototype.
20599 (grub_freebsd_load_elfmodule_obj64): Likewise.
20600 (grub_freebsd_load_elf_meta32): Likewise.
20601 (grub_freebsd_load_elf_meta64): Likewise.
20602 (grub_freebsd_add_meta): Removed.
20603 (grub_netbsd_load_elf_meta32): New prototype.
20604 (grub_netbsd_load_elf_meta64): Likewise.
20605 (grub_bsd_add_meta): Likewise.
20606 (grub_openbsd_ramdisk_descriptor): New struct.
20607 (grub_openbsd_find_ramdisk32): New prototype.
20608 (grub_openbsd_find_ramdisk64): Likewise.
20609 * include/grub/i386/coreboot/loader.h: Removed.
20610 * include/grub/i386/efi/loader.h: Likewise.
20611 * include/grub/i386/ieee1275/loader.h: Likewise.
20612 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20613 to grub_uint32_t.
20614 * include/grub/i386/loader.h: Removed.
20615 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20616 value.
20617 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20618 (grub_phys_addr_t): New type.
20619 (grub_vtop): New inline function.
20620 (grub_map_memory): Likewise.
20621 (grub_unmap_memory): Likewise.
20622 * include/grub/i386/multiboot/loader.h: Removed.
20623 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20624 (NETBSD_BTINFO_CONSOLE): New definition.
20625 (NETBSD_BTINFO_SYMTAB): Likewise.
20626 (NETBSD_BTINFO_MODULES): Likewise.
20627 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20628 (grub_netbsd_bootinfo): New struct.
20629 (grub_netbsd_btinfo_common): Use explicit bitsize.
20630 (grub_netbsd_btinfo_mmap_entry): Removed.
20631 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20632 (grub_netbsd_btinfo_bootdisk): New struct.
20633 (grub_netbsd_btinfo_symtab): Likewise.
20634 (grub_netbsd_btinfo_serial): Likewise.
20635 (grub_netbsd_btinfo_modules): Likewise.
20636 (grub_netbsd_btinfo_framebuf): Likewise.
20637 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20638 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20639 Likewise.
20640 (grub_openbsd_bootargs): Use explicit bitsize.
20641 (grub_openbsd_bootarg_console): New struct.
20642 (GRUB_OPENBSD_COM_MAJOR): New definition.
20643 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20644 * include/grub/i386/pc/efiemu.h: Removed.
20645 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20646 * include/grub/i386/qemu/loader.h: Removed.
20647 * include/grub/i386/relocator.h: Rewritten.
20648 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20649 * include/grub/mips/memory.h: New file.
20650 * include/grub/mips/multiboot.h: Rewritten.
20651 * include/grub/mips/relocator.h: Rewritten.
20652 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20653 (grub_vtop): New function.
20654 (grub_map_memory): Likewise.
20655 (grub_unmap_memory): Likewise.
20656 * include/grub/misc.h (ALIGN_DOWN): New definition.
20657 * include/grub/mm.h (grub_mm_check_real): New proto.
20658 (GRUB_MM_CHECK): New definition.
20659 * include/grub/mm_private.h: New file.
20660 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20661 (grub_multiboot_get_mbi_size): Removed.
20662 (grub_multiboot_make_mbi): Change prottype.
20663 (grub_multiboot_set_accepts_video): New proto.
20664 (grub_multiboot_add_elfsyms): Likewise.
20665 (grub_multiboot_payload_eip): New variable.
20666 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20667 New prototype.
20668 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20669 New definition.
20670 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20671 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20672 * include/grub/powerpc/ieee1275/loader.h: Removed.
20673 * include/grub/powerpc/memory.h: New file.
20674 * include/grub/powerpc/relocator.h: Likewise.
20675 * include/grub/relocator.h: Likewise.
20676 * include/grub/relocator_private.h: Likewise.
20677 * include/grub/sparc64/ieee1275/loader.h: Removed.
20678 * include/grub/x86_64/memory.h: New file.
20679 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20680 (grub_xnu_heap_malloc): Likewise.
20681 (grub_xnu_heap_real_start): Removed.
20682 (grub_xnu_heap_start): Likewise.
20683 (grub_xnu_relocator): New variable.
20684 (grub_xnu_heap_target_start): Likewise.
20685 * tests/util/grub-shell.in: Support non-pc.
20686 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20687
5303b85d
VS
206882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20691 on malloc error.
20692 (grub_bidi_logical_to_visual): Check that malloc succeded.
20693 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20694 puts.
20695 (grub_xputs_normal): Likewise.
20696
d768d159
VS
206972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20700 extra_dist.
20701
207022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20705
5bf84df4
VS
207062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20709
3626810e
VS
207102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20713 dprintf.
20714
a7363f53
BC
207152010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20716
20717 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20718
902f75f6
VS
207192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20720
20721 * grub-core/normal/term.c (print_more): Fix a memory leak.
20722 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20723 (grub_xputs_normal): Likewise.
20724
3c707967
VS
207252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20728 the begining of the string
20729
2053cc07
VS
207302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20731
20732 * grub-core/script/script.c (grub_script_parse): Free parsed on
20733 failure.
20734
46422ebf
VS
207352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20736
20737 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20738 on failure.
20739
9e0fa3f6
VS
207402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20743 return.
20744
3393cf16
VS
207452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20748 (scroll_up): Fix a memory leak.
20749
b17540cb
VS
207502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20753 errors.
20754
67140446
VS
207552010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 Handle USB pendrives exposed as floppies.
20758
20759 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20760 floppy.
20761 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20762 Check for partitions on all devices.
20763
e35e46fc
VS
207642010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20767 (readkey): Likewise.
20768
d24c6190
BC
207692010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20770
20771 Multiple variable names support to "export" command.
20772
20773 * normal/context.c (grub_cmd_export): "export" command supports
20774 multiple variable names.
20775
04ddcc6a
ST
207762010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20777
20778 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20779 --target=drive output to Mach device name.
20780
0c8b61d8
BC
207812010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20782
20783 New Automake based build system for GRUB.
20784
20785 * ABOUT-NLS: New file.
20786 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20787 in Makefile.util.def file.
20788 * Makefile.util.def: New file. Autogen build definitions file for
20789 GRUB host utils.
20790 * conf/Makefile.common: New file. Common variables for GRUB host
20791 utils and target modules.
20792 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20793 * docs/Makefile.am: New file. Automake file for docs.
20794 * gentpl.py: New file. Python script to generate Autogen
20795 template.
20796 * grub-core/Makefile.am: New file. GRUB target modules' rules
20797 that doesn't fit in Makefile.core.def file.
20798 * grub-core/Makefile.core.def: New file. Autogen build
20799 definitions file for GRUB target modules.
20800 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20801 specific setjmp.S file.
20802 * po/Makefile.am: New file.
20803
20804 * .bzrignore: New ignores.
20805 * INSTALL: New requirements, without Ruby.
20806 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20807 * autogen.sh: Updated to invoke autogen as necessary.
20808 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20809 and defines for Automake conditionals.
20810 * geninit.sh: Refactoring.
20811
20812 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20813 necessary.
20814 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20815 New prototype.
20816
20817 * include/grub/test.h: Fix functional test modules' naming.
20818 * grub-core/tests/example_functional_test.c: Fix test module name.
20819
20820 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20821 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20822 * util/grub-editenv.c: Likewise.
20823 * util/grub-fstest.c: Likewise.
20824 * util/grub-mkdevicemap.c: Likewise.
20825 * util/grub-mkfont.c: Likewise.
20826 * util/grub-mkimage.c: Likewise.
20827 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20828 * util/grub-probe.c: Likewise.
20829 * util/grub-script-check.c: Likewise.
20830 * util/i386/pc/grub-setup.c: Likewise.
20831 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20832
20833 * tests/util/grub-shell.in: Fix override directory path.
20834 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20835 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20836
20837 * util/lvm.c: Update #includes.
20838 * util/raid.c: Likewise.
20839 * util/resolve.c: Likewise.
20840 * grub-core/bus/emu/pci.c: Likewise.
20841 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20842 * grub-core/lib/posix_wrap/string.h: Likewise.
20843 * grub-core/kern/emu/main.c: Likewise.
20844
20845 * grub-core/gensymlist.sh: New file. Script for generating kernel
20846 symbols file.
20847 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20848
20849 * grub-core/gentrigtables.c: Fix unused variable warnings.
20850
20851 * Makefile.in: Removed.
20852 * conf/any-emu.rmk: Removed.
20853 * conf/common.rmk: Removed.
20854 * conf/i386-coreboot.rmk: Removed.
20855 * conf/i386-efi.rmk: Removed.
20856 * conf/i386-ieee1275.rmk: Removed.
20857 * conf/i386-multiboot.rmk: Removed.
20858 * conf/i386-pc.rmk: Removed.
20859 * conf/i386-qemu.rmk: Removed.
20860 * conf/i386.rmk: Removed.
20861 * conf/mips-yeeloong.rmk: Removed.
20862 * conf/mips.rmk: Removed.
20863 * conf/powerpc-ieee1275.rmk: Removed.
20864 * conf/sparc64-ieee1275.rmk: Removed.
20865 * conf/tests.rmk: Removed.
20866 * conf/x86-efi.rmk: Removed.
20867 * conf/x86_64-efi.rmk: Removed.
20868 * gendistlist.sh: Removed.
20869 * geninitheader.sh: Removed.
20870 * genkernsyms.sh.in: Removed.
20871 * genmk.rb: Removed.
20872 * gensymlist.sh.in: Removed.
20873 * mkinstalldirs: Removed.
20874 * boot: Moved ...
20875 * grub-core/boot: ... to here.
20876 * bus: Moved ...
20877 * grub-core/bus: ... to here.
20878 * commands: Moved ...
20879 * grub-core/commands: ... to here.
20880 * disk: Moved ...
20881 * grub-core/disk: ... to here.
20882 * efiemu: Moved ...
20883 * grub-core/efiemu: ... to here.
20884 * font: Moved ...
20885 * grub-core/font: ... to here.
20886 * fs: Moved ...
20887 * grub-core/fs: ... to here.
20888 * gencmdlist.sh: Moved ...
20889 * grub-core/gencmdlist.sh: ... to here.
20890 * genemuinit.sh: Moved ...
20891 * grub-core/genemuinit.sh: ... to here.
20892 * genemuinitheader.sh: Moved ...
20893 * grub-core/genemuinitheader.sh: ... to here.
20894 * genfslist.sh: Moved ...
20895 * grub-core/genfslist.sh: ... to here.
20896 * genhandlerlist.sh: Moved ...
20897 * grub-core/genhandlerlist.sh: ... to here.
20898 * genmoddep.awk: Moved ...
20899 * grub-core/genmoddep.awk: ... to here.
20900 * genmodsrc.sh: Moved ...
20901 * grub-core/genmodsrc.sh: ... to here.
20902 * genpartmaplist.sh: Moved ...
20903 * grub-core/genpartmaplist.sh: ... to here.
20904 * genparttoollist.sh: Moved ...
20905 * grub-core/genparttoollist.sh: ... to here.
20906 * genterminallist.sh: Moved ...
20907 * grub-core/genterminallist.sh: ... to here.
20908 * gentrigtables.c: Moved ...
20909 * grub-core/gentrigtables.c: ... to here.
20910 * genvideolist.sh: Moved ...
20911 * grub-core/genvideolist.sh: ... to here.
20912 * gettext: Moved ...
20913 * grub-core/gettext: ... to here.
20914 * gfxmenu: Moved ...
20915 * grub-core/gfxmenu: ... to here.
20916 * gnulib: Moved ...
20917 * grub-core/gnulib: ... to here.
20918 * hello: Moved ...
20919 * grub-core/hello: ... to here.
20920 * hook: Moved ...
20921 * grub-core/hook: ... to here.
20922 * io: Moved ...
20923 * grub-core/io: ... to here.
20924 * kern: Moved ...
20925 * grub-core/kern: ... to here.
20926 * lib: Moved ...
20927 * grub-core/lib: ... to here.
20928 * loader: Moved ...
20929 * grub-core/loader: ... to here.
20930 * mmap: Moved ...
20931 * grub-core/mmap: ... to here.
20932 * normal: Moved ...
20933 * grub-core/normal: ... to here.
20934 * partmap: Moved ...
20935 * grub-core/partmap: ... to here.
20936 * parttool: Moved ...
20937 * grub-core/parttool: ... to here.
20938 * script: Moved ...
20939 * grub-core/script: ... to here.
20940 * term: Moved ...
20941 * grub-core/term: ... to here
20942 * tests/example_functional_test.c: Moved ...
20943 * grub-core/tests/example_functional_test.c: ... to here.
20944 * tests/lib/functional_test.c: Moved ...
20945 * grub-core/tests/lib/functional_test.c: ... to here.
20946 * tests/lib/test.c: Moved ...
20947 * grub-core/tests/lib/test.c: ... to here.
20948 * video: Moved ...
20949 * grub-core/video: ... to here.
20950
645586e6
BC
209512010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20952
20953 Replace --enable-grub-emu-modules with grub-emu-lite.
20954
20955 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20956 cache.S.
20957
20958 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20959 * kern/emu/full.c: New file. For grub-emu specific initialization.
20960 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20961 * kern/emu/main.c: Call initialization function grub_emu_init.
20962
20963 * Makefile.in: Include grub-emu-lite in install.
20964 * commands/parttool.c: Use grub_no_autoload to differentiate
20965 between grub-emu and grub-emu-lite.
20966 * include/grub/misc.h: New variable grub_no_autoload.
20967
20968 * conf/any-emu.rmk: New rules for grub-emu-lite.
20969 * configure.ac: Remove --enable-grub-emu-modules.
20970 * genmk.rb: Cleanup unnecessary rules.
20971 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20972
20973 * normal/main.c: Don't load list files on grub-emu-lite.
20974 * util/misc.c (grub_arch_sync_caches): Removed.
20975
f86a4030
CW
209762010-08-23 Colin Watson <cjwatson@ubuntu.com>
20977
20978 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20979 grub-mkimage rather than grub-mkelfimage.
20980 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20981
06776944
VS
209822010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20985 a key after CapsLock or NumLock. It's just a qemu bug.
20986
df262419
VS
209872010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20990 needed by libusb wrapper.
20991
b40ea81b
ST
209922010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20993
20994 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20995
dee50575
VS
209962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20999 --nounzip is passed.
21000
fb1d7b79
VS
210012010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 USB hotunplugging and USB serial support.
21004
21005 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21006 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21007 (grub_uhci_transfer): Respect timeout and set *actual.
21008 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21009 non-standard length.
21010 (grub_usb_device_attach): Autoload modules.
21011 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21012 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21013 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21014 users updated.
21015 (grub_usb_add_hub): Fill nports and children.
21016 (attach_root_port): Receive hub instead of controller.
21017 All users updated. Fill hub->devices.
21018 (grub_usb_root_hub): Allocate hub->devices.
21019 (detach_device): New function.
21020 (poll_nonroot_hub): Fill children and detach devices.
21021 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21022 actual arguments. All users updated.
21023 (grub_usb_bulk_read_extended): New function.
21024 * bus/usb/serial/common.c: New file.
21025 * bus/usb/serial/ftdi.c: Likewise.
21026 * bus/usb/serial/pl2303.c: Likewise.
21027 * commands/terminal.c (handle_command): Support wildcard.
21028 * commands/usbtest.c: Output "Unknown" instead of empty string.
21029 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21030 (usbserial_common_mod_SOURCES): New variable.
21031 (usbserial_common_mod_CFLAGS): Likewise.
21032 (usbserial_common_mod_LDFLAGS): Likewise.
21033 (pkglib_MODULES): Add usbserial_pl2303.mod.
21034 (usbserial_pl2303_mod_SOURCES): New variable.
21035 (usbserial_pl2303_mod_CFLAGS): Likewise.
21036 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21037 (pkglib_MODULES): Add usbserial_ftdi.mod.
21038 (usbserial_ftdi_mod_SOURCES): New variable.
21039 (usbserial_ftdi_mod_CFLAGS): Likewise.
21040 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21041 (pkglib_MODULES): Add serial.mod.
21042 (serial_mod_SOURCES): New variable.
21043 (serial_mod_CFLAGS): Likewise.
21044 (serial_mod_LDFLAGS): Likewise.
21045 * conf/i386-pc.rmk: Likewise.
21046 * conf/mips-yeeloong.rmk: Likewise.
21047 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21048 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21049 * disk/usbms.c (first_available_slot): New variable.
21050 (grub_usbms_attach): Don't reuse free slots due to potential cache
21051 problems.
21052 * include/grub/serial.h: Moved to ..
21053 * include/grub/ns8250.h: ...this.
21054 * include/grub/serial.h: New file.
21055 * include/grub/term.h (grub_term_poll_usb): New variable.
21056 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21057 readkey. All users updated.
21058 (grub_terminfo_output_state): Pass term to put.
21059 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21060 (grub_usb_controller_dev): Add timeout and actual arguments to
21061 transfer. All users updated.
21062 (grub_usb_interface): New field detach_data.
21063 (grub_usb_device): New fields children and nports.
21064 (grub_usb_ep_type_t): New type.
21065 (grub_usb_get_ep_type): New function.
21066 (grub_usb_bulk_read_extended): Likewise.
21067 * include/grub/usbdesc.h (grub_usb_desc): New type.
21068 * include/grub/usbserial.h: New file.
21069 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21070 * kern/term.c (grub_term_poll_usb): New variable.
21071 (grub_getkey): Call grub_term_poll_usb if set.
21072 (grub_checkkey): Likewise.
21073 (grub_getkeystatus): Likewise.
21074 * term/serial.c: Moved controller-specific parts to ...
21075 * term/ns8250.c: ... here.
21076 * term/serial.c: Mostly rewritten.
21077 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21078 according to spec.
21079
21a313de
RM
210802010-08-20 Robert Millan <rmh@gnu.org>
21081
21082 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21083 a separate module and maybe other interesting combinations.
21084
21085 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21086 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21087 (kfreebsd_entry): Add generic filesystem module load routine.
21088 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21089
63c734a6
CW
210902010-08-20 Colin Watson <cjwatson@ubuntu.com>
21091
21092 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21093 "numcenter" (I misunderstood the purpose of this entry).
21094 * docs/grub.texi (sendkey): Likewise.
21095
c4d16542
CW
210962010-08-20 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21099 status flag options; simply omitting the option is equivalent and
21100 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21101 (keysym_table): Rename "num5numlock" to "numlock".
21102 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21103 can uniformly say that only the last of multiple `sendkey'
21104 invocations has any effect.
21105 * docs/grub.texi (sendkey): New section.
21106
93541d66
CW
211072010-08-19 Colin Watson <cjwatson@ubuntu.com>
21108
21109 * commands/i386/pc/sendkey.c (options): Fix three typos.
21110
b4ece5e1
VS
211112010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 Implement sendkey support.
21114
21115 * commands/i386/pc/sendkey.c: New file.
21116 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21117 (sendkey_mod_SOURCES): New variable.
21118 (sendkey_mod_CFLAGS): Likewise.
21119 (sendkey_mod_LDFLAGS): Likewise.
21120
51f1f5af
CW
211212010-08-18 Colin Watson <cjwatson@ubuntu.com>
21122
21123 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21124 fix warnings from Autoconf.
21125
9da94e05
CW
211262010-08-18 Colin Watson <cjwatson@ubuntu.com>
21127
21128 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21129 to avoid false positives with some assemblers that output things
21130 like "someprefix_func" as part of their output.
21131
729a0f2e
RM
211322010-08-15 Robert Millan <rmh@gnu.org>
21133
21134 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21135 errors.
21136 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21137 grub_get_libzfs_handle() errors.
21138
f3710e08
RM
211392010-08-14 Robert Millan <rmh@gnu.org>
21140
21141 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21142 filesystem is not ZFS.
21143
7a3c13de
BC
211442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21145
21146 Fix for misspelled color names defaulting to black/black (bug
21147 reported by Doug Nazar)
21148
21149 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21150 status to prototype.
21151 * normal/color.c (grub_parse_color_name_pair): Return failure
21152 status.
21153 (grub_env_write_color_normal): Ignore bad color names.
21154 (grub_env_write_color_highlight): Likewise.
21155 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21156
ab8ba50d
BC
211572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21158
21159 "shift" command support to GRUB script.
21160
21161 * include/grub/script_sh.h (grub_script_shift): New prototype.
21162 * script/execute.c (grub_script_shift): New function.
21163 * script/main.c (grub_script_init): Register shift command.
21164 (grub_script_fini): Unregister shift command.
21165 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21166
21167 * tests/grub_script_shift.in: New testcase.
21168 * conf/tests.rmk: Rules for new testcase.
21169
4d61999e
BC
211702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21171
21172 "continue" command support to GRUB script.
21173
21174 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21175 (grub_script_break): Continue support.
21176 * script/main.c (grub_script_init): Register continue command.
21177 (grub_script_fini): Unregister continue command.
21178
21179 * tests/grub_script_continue.in: New testcase.
21180 * conf/tests.rmk: Rules for new testcase.
21181
4df51e00
BC
211822010-08-12 BVK Chaitanya <bvk@dbook>
21183
21184 "break" command support to GRUB script.
21185
21186 * conf/common.rmk: Rule updates to grub-script-check.
21187 * include/grub/misc.h (grub_min): New function.
21188 * include/grub/script_sh.h (grub_script_init): New prototype.
21189 (grub_script_fini): New prototype.
21190 (grub_script_break): New prototype.
21191 * script/main.c (grub_script_init): New function.
21192 (grub_script_fini): New function.
21193 * script/execute.c (grub_script_break): New function.
21194 * normal/main.c: Calls to grub_script_{init,fini}.
21195 * util/grub-script-check.c (grub_script_break): New function.
21196
21197 * tests/grub_script_break.in: New testcase.
21198 * conf/tests.rmk: Rules for new test case.
21199
f12c8420
BC
212002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21201
21202 Function parameters support to GRUB script.
21203
21204 * script/yylex.l (VARIABLE): Regular expression update.
21205 * script/function.c (grub_script_function_call): Moved ...
21206 * script/execute.c (grub_script_function_call): ... to here.
21207 (grub_script_execute_arglist_to_argv): Removed.
21208 (grub_script_arglist_to_argv): New function.
21209 * script/argv.c: New file.
21210 (grub_script_argv_free): New function.
21211 (grub_script_argv_next): Likewise.
21212 (grub_script_argv_append): Likewise.
21213 (grub_script_argv_split_append): Likewise.
21214 * include/grub/script_sh.h (grub_script_argv): New struct.
21215 (grub_script_argv_free): New function.
21216 (grub_script_argv_next): Likewise.
21217 (grub_script_argv_append): Likewise.
21218 (grub_script_argv_split_append): Likewise.
21219
21220 * conf/common.rmk (normal.mod): New source script/argv.c.
21221
21222 * tests/grub_script_echo1.in: More tests.
21223 * tests/grub_script_vars1.in: Likewise.
21224 * tests/grub_script_functions.in: New test case.
21225 * conf/tests.rmk: Rules for new testcase.
21226
8022b748
BC
212272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21228
21229 Remove grub_script_cmdblock struct.
21230
21231 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21232 * script/parser.y: Likewise.
21233 * script/execute.c: Rename cmdblock suffix to cmdlist.
21234 * script/script.c: Likewise.
21235 * util/grub-script-check.c: Likewise.
21236
79a6ba61
YB
212372010-08-11 Yves Blusseau <blusseau@zetam.org>
21238
21239 * .bzrignore: add grub-macho2img
21240
d04b9414
VS
212412010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21244
f947ab49
VS
212452010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Remove the dump of sm712 initialisation sequence.
21248
21249 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21250 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21251 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21252 (GRUB_VGA_CR_*): Added many registers.
21253 (GRUB_VGA_SR_*): Likewise.
21254 (GRUB_VGA_GR_*): Likewise.
21255 (grub_vga_write_arx): New function.
21256 (grub_video_hw_config): New struct.
21257 (grub_vga_set_geometry): New function.
21258 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21259 GRUB_PCI_CLASS_SUBCLASS_VGA.
21260 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21261 * video/sm712.c (grub_sm712_write_reg): New function
21262 (grub_sm712_read_reg): Likewise.
21263 (grub_sm712_sr_write): Likewise.
21264 (grub_sm712_gr_write): Likewise.
21265 (grub_sm712_cr_write): Likewise.
21266 (grub_sm712_write_arx): Likewise.
21267 (grub_sm712_cr_shadow_write): Likewise.
21268 (grub_sm712_write_dda_lookup): Likewise.
21269 (grub_video_sm712_setup): Initialise the video rather then
21270 blindly replay the dump.
21271 (main) [TEST]: Add a routine to be able to compile as standalone for
21272 tests.
21273 * video/sm712_init.c (sm712_init): Removed.
21274 (sm712_sr_seq1): New array.
21275 (sm712_sr_seq2): Likewise.
21276
f0206638
VS
212772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * include/grub/vga.h: Add missing grub/pci.h include.
21280
2764da3b
YB
212812010-08-10 Yves Blusseau <blusseau@zetam.org>
21282
21283 * util/grub-macho2img.c (main): fix typo
21284
cf0c775e
VS
212852010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21288 (grub_vga_gr_read): Likewise.
21289 (grub_vga_cr_write): Likewise.
21290 (grub_vga_cr_read): Likewise.
21291 (grub_vga_sr_write): Likewise.
21292 (grub_vga_sr_read): Likewise.
21293 (grub_vga_palette_read): Likewise.
21294 (grub_vga_palette_write): Likewise.
21295 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21296 (grub_sm712_sr_read): New function.
21297 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21298 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21299
07f360e9
RM
213002010-08-09 Robert Millan <rmh@gnu.org>
21301
21302 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21303 out unused variables on non-ZFS build.
21304
346c2072
RM
213052010-08-08 Robert Millan <rmh@gnu.org>
21306
21307 Fix path generation for sub-filesystems in ZFS.
21308
21309 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21310 missing slash.
21311
71175420
RM
213122010-08-08 Robert Millan <rmh@gnu.org>
21313
21314 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21315
0d8286f3
RM
213162010-08-08 Robert Millan <rmh@gnu.org>
21317
21318 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21319 exist, issue a proper error message (rely on `ls' for translated
21320 strings).
21321
55dd2924
RM
213222010-08-08 Robert Millan <rmh@gnu.org>
21323
21324 Fix grub-probe invocation.
21325
21326 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21327
d3dd9e80
RM
213282010-08-04 Robert Millan <rmh@gnu.org>
21329
21330 * configure.ac: Remove checks for getfsstat() and getmntany().
21331 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21332 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21333 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21334 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21335 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21336 function.
21337 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21338 via find_mount_point_from_dir() and getfsstat() / getmntany().
21339
0de22aa9
RM
213402010-08-04 Robert Millan <rmh@gnu.org>
21341
21342 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21343 (grub_find_zpool_from_mount_point): Merge into ...
21344 (grub_find_zpool_from_dir): ... this.
21345 * kern/emu/misc.c: Likewise.
21346
21347 * kern/emu/misc.c
21348 (grub_make_system_path_relative_to_its_root): Replace
21349 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21350 with grub_find_zpool_from_dir().
21351 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21352
62858144
RM
213532010-08-04 Robert Millan <rmh@gnu.org>
21354
21355 Support OpenSolaris in ZFS device resolution.
21356
21357 * configure.ac: Check for getmntany().
21358 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21359 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21360 support.
21361
9dd6fd50
RM
213622010-08-03 Robert Millan <rmh@gnu.org>
21363
21364 Fix grub-emu build.
21365
21366 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21367 * include/grub/emu/misc.h: ... here.
21368
21369 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21370 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21371
21372 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21373 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21374 (grub_get_libzfs_handle): Move to ...
21375 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21376 (grub_get_libzfs_handle): ... here.
21377
c9f7ff97
BC
213782010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21379
21380 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21381 as command name case.
21382
a870a783
CW
213832010-08-02 Colin Watson <cjwatson@ubuntu.com>
21384
21385 * disk/raid.c (insert_array): Select unique numbers for named arrays
21386 as well, for use as keys in the disk cache.
21387
c7db243b
RM
213882010-08-01 Robert Millan <rmh@gnu.org>
21389
21390 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21391 kFreeBSD device name, except on ZFS where the filesystem label is
21392 used.
21393 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21394 `/boot/zfs/zpool.cache'.
21395 Set mountfrom kernel variable using ${kfreebsd_device}.
21396
f7abdefb
RM
213972010-08-01 Robert Millan <rmh@gnu.org>
21398
21399 Make it even harder to use uninitialized `libzfs_handle' (and
21400 make the interface a bit simpler).
21401
21402 * include/grub/util/misc.h (grub_util_init_libzfs)
21403 (libzfs_handle): Remove.
21404 (grub_get_libzfs_handle): New prototype.
21405
21406 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21407 attribute.
21408 (grub_util_init_libzfs): Remove.
21409 (grub_get_libzfs_handle): New function.
21410
21411 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21412 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21413 accessing `libzfs_handle' directly.
21414
c882acc0
RM
214152010-08-01 Robert Millan <rmh@gnu.org>
21416
21417 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21418 (grub_find_zpool_from_mount_point): New function prototypes.
21419
21420 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21421 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21422
21423 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21424 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21425 `static' attribute.
21426
21427 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21428 finding zpool from mount point into ...
21429 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21430
21431 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21432 requested path is part of a ZFS pool, use
21433 grub_find_zpool_from_mount_point() to detect its filesystem name,
21434 and generate a path with `/fsname@path' syntax.
21435
8bfe31d8
CW
214362010-08-01 Colin Watson <cjwatson@ubuntu.com>
21437
21438 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21439 (void) rather than () so that this is a proper prototype.
21440
553df63d
VS
214412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21444
8687cf07
VS
214452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21448 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21449
ea9be8ea
CW
214502010-08-01 Colin Watson <cjwatson@ubuntu.com>
21451
21452 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21453
6eea041a
CW
214542010-08-01 Colin Watson <cjwatson@ubuntu.com>
21455
21456 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21457
2cfb45df
CW
214582010-08-01 Colin Watson <cjwatson@ubuntu.com>
21459
21460 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21461 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21462 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21463 disable gfxpayload.
21464 (Shell-like scripting): Add real content.
21465 (Serial terminal): Suggest `terminal_input serial; terminal_output
21466 serial' rather than putting the two commands on separate lines,
21467 since console input will be inoperative after the first command.
21468 (menuentry): Document --class, --users, and --hotkey options.
21469 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21470 Vladimir Serbinenko).
21471
7decd202
VS
214722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
214732010-08-01 Colin Watson <cjwatson@ubuntu.com>
21474
21475 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21476
c882acc0
RM
214772010-08-01 Robert Millan <rmh@gnu.org>
21478
21479 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21480 (grub_find_zpool_from_mount_point): New function prototypes.
21481
21482 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21483 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21484
21485 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21486 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21487 `static' attribute.
21488
21489 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21490 finding zpool from mount point into ...
21491 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21492
21493 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21494 requested path is part of a ZFS pool, use
21495 grub_find_zpool_from_mount_point() to detect its filesystem name,
21496 and generate a path with `/fsname@path' syntax.
21497
deb0caa3
RM
214982010-08-01 Robert Millan <rmh@gnu.org>
21499
21500 Prevent accidental use of uninitialized libzfs_handle.
21501
21502 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21503 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21504 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21505
ce04ef47
CW
215062010-08-01 Colin Watson <cjwatson@ubuntu.com>
21507
21508 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21509 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21510
ebf53056
RM
215112010-08-01 Robert Millan <rmh@gnu.org>
21512
21513 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21514
3710bb6b
RM
215152010-07-31 Robert Millan <rmh@gnu.org>
21516
21517 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21518
8072efeb
RM
215192010-07-31 Robert Millan <rmh@gnu.org>
21520
21521 * kern/emu/misc.c: Add missing license header.
21522
3169f4c7
RM
215232010-07-31 Robert Millan <rmh@gnu.org>
21524
21525 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21526
21527 * include/grub/util/libnvpair.h: Include `<config.h>'.
21528 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21529 declaring libnvpair prototypes ourselves.
21530 * include/grub/util/libzfs.h: Include `<config.h>'.
21531 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21532 declaring libzfs prototypes ourselves.
21533
21534 (libzfs_handle): Moved to ...
21535 * include/grub/util/misc.h (libzfs_handle): ... here.
21536 Include `<grub/util/libzfs.h>'.
21537
c9a00aee
RM
215382010-07-30 Robert Millan <rmh@gnu.org>
21539
21540 * include/grub/emu/misc.h: Add missing license header.
21541
a184f9c8
RM
215422010-07-30 Robert Millan <rmh@gnu.org>
21543
21544 Enable `grub-probe -t device' resolution on ZFS.
21545
21546 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21547 * include/grub/util/libnvpair.h: New file.
21548 * include/grub/util/libzfs.h: New file.
21549
21550 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21551 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21552 `<grub/util/libnvpair.h>'.
21553 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21554
21555 (find_mount_point_from_dir): New static function.
21556 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21557 function.
21558 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21559 find_root_device_from_libzfs() before ressorting to find_root_device().
21560
21561 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21562 prototype.
21563 * util/misc.c: Include `<grub/util/libzfs.h>'.
21564 (grub_util_init_libzfs): New function.
21565 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21566 [HAVE_LIBZFS] (fini_libzfs): New static function.
21567 (grub_util_init_libzfs): New function.
21568 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21569
f7790cdd
RM
215702010-07-30 Robert Millan <rmh@gnu.org>
21571
21572 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21573 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21574 `warn_unused_result' attribute.
21575 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21576 (grub_xasprintf, grub_xvasprintf): Likewise.
21577 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21578
0806b63c
RM
215792010-07-29 Robert Millan <rmh@gnu.org>
21580
21581 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21582 (probe): Handle `PRINT_FS_LABEL'.
21583 (main): Handle `-t fs_label'.
21584
9f841f5c
RM
215852010-07-29 Robert Millan <rmh@gnu.org>
21586
21587 * configure.ac: Remove grub-mkisofs checks.
21588
46371121
VS
215892010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21592 Reported by: Lennart Sorensen.
21593
215942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21597 prior to terminal_input/terminal_output separation. It's been over 1.5
21598 years and those versions weren't widely deployed.
21599
a9600892
CW
216002010-07-22 Colin Watson <cjwatson@ubuntu.com>
21601
21602 * disk/raid.c (insert_array): Don't count named arrays when looking
21603 for unused array numbers.
697e053c 21604 Reported and tested by: Michael Guntsche.
a9600892 21605
c03507df
CW
216062010-07-20 Colin Watson <cjwatson@ubuntu.com>
21607
21608 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21609 implementation of this so that grub-emu links again, with a note
21610 that this should support hotplugging in the future.
21611
b26f1c11
CW
216122010-07-20 Colin Watson <cjwatson@ubuntu.com>
21613
21614 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21615
efc9d7f1
CW
216162010-07-20 Colin Watson <cjwatson@ubuntu.com>
21617
21618 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21619 handle on failure.
21620 (grub_loopback_close): Remove empty function.
21621 (grub_loopback_dev): Remove close method.
21622
dd8ff5c9
CW
216232010-07-20 Colin Watson <cjwatson@ubuntu.com>
21624
21625 Disable EFI cursor when the EFI console becomes inactive.
21626
21627 * term/efi/console.c (grub_efi_console_init): New function.
21628 (grub_efi_console_fini): New function.
21629 (grub_console_term_output): Register init and fini methods.
21630
5e3bec67
VS
216312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21634 sh script.
21635
afaec079
VS
216362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * disk/loopback.c (grub_loopback): Replace filename with file.
21639 (delete_loopback): Handle new semantics.
21640 (grub_cmd_loopback): Likewise.
21641 (grub_loopback_iterate): Likewise.
21642 (grub_loopback_close): Likewise.
21643
a6a11f3c
VS
216442010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21647 with -p "".
21648 Reported by: Tito Keitel.
21649
64a638b0
VS
216502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * docs/grub.texi (Naming convention): Document new naming convention.
21653
ab8ba957
VS
216542010-07-20 Vadim Solomin <vadic052@gmail.com>
216552010-07-20 Colin Watson <cjwatson@ubuntu.com>
21656
21657 Generate device.map in something closer to the old ordering.
21658
21659 * util/deviceiter.c (struct device): New declaration.
21660 (compare_file_names): Rename to ...
21661 (compare_devices): ... this. Sort by kernel name in preference to
21662 the stable by-id name, but keep the latter as a fallback comparison.
21663 Update header comment.
21664 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21665 of `struct device' rather than of plain file names.
21666
a29d6a4b
TF
216672010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21668
21669 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21670 on i386.
21671
39d824e8
VS
216722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21673
21674 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21675 hardcoding size.
21676 (setv1table): Likewise.
21677
f058276b
FZ
216782010-07-20 Colin Watson <cjwatson@ubuntu.com>
21679
21680 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21681 removing the homehost if present.
21682 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21683 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21684 removing the homehost if present.
21685 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21686 if possible.
21687 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21688
21689 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21690 parameter. Set its pointer target to 0.
21691 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21692 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21693 `data_offset' value from the superblock for 1.x metadata.
21694 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21695 data on the device.
21696 (insert_array): Record the start sector of data on the device.
21697 (grub_raid_register): Pass start_sector parameters to
21698 grub_raid_list->detect and insert_array.
21699 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21700 member.
21701 (struct grub_raid): Add start_sector parameter to `detect'.
21702
21703 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21704 __attribute__ ((packed)), leaving a comment.
21705 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21706 (grub_mdraid_detect_09): ... here and ...
21707 (grub_mdraid_detect_1x): ... here.
21708
217092010-07-20 Peter Henn <peter.henn@web.de>
21710
21711 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21712 chunk size and disk size, which are already given as sector counts
21713 as distinct from the 0.90 units. Fetch the correct device number
21714 from the role table instead of using the table index.
21715
217162010-07-20 Felix Zielcke <fzielcke@z-51.de>
21717
21718 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21719 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21720 (WriteMostly1): New macro.
21721 Set array->name to NULL for metadata format 0.90. Add support for
21722 metadata 1.x. Fix some comments.
21723 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21724 few comments.
21725 * util/getroot.c (grub_util_get_grub_dev): Add support for
21726 /dev/md/name style devices.
21727
4b761da9
CW
217282010-07-20 Colin Watson <cjwatson@ubuntu.com>
21729
21730 * .bzrignore: Ignore 20_linux_xen.
21731
5771289a
CW
217322010-07-17 Colin Watson <cjwatson@ubuntu.com>
21733
21734 * util/import_unicode.py: Remove unnecessary imports.
21735
5dab68df
AN
217362010-07-17 Aleš Nesrsta <starous@volny.cz>
21737
21738 Hotplugging and USB hub support.
21739
21740 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21741 (grub_ohci): Likewise.
21742 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21743 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21744 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21745 (GRUB_OHCI_CTRL_EDS): Likewise.
21746 (GRUB_OHCI_BULK_EDS): Likewise.
21747 (GRUB_OHCI_TDS): Likewise.
21748 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21749 (grub_ohci_ed_phys2virt): New function.
21750 (grub_ohci_virt_to_phys): Likewise.
21751 (grub_ohci_td_phys2virt): Likewise.
21752 (grub_ohci_td_virt2phys): Likewise.
21753 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21754 attachment.
21755 (grub_ohci_find_ed): New function.
21756 (grub_ohci_alloc_td): Likewise.
21757 (grub_ohci_free_td): Likewise.
21758 (grub_ohci_free_tds): Likewise.
21759 (grub_ohci_transfer): Use previously allocated memory.
21760 (grub_ohci_portstatus): Reset status changed bit.
21761 (grub_ohci_detect_dev): Supply status changed.
21762 (grub_ohci_fini_hw): Free memory.
21763 (grub_ohci_restore_hw): Reallocate memory.
21764 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21765 Reset status change.
21766 (grub_uhci_detect_dev): Supply status_change.
21767 * bus/usb/usb.c (attach_hooks): New var.
21768 (grub_usb_device_attach): New function.
21769 (grub_usb_register_attach_hook_class): Likewise.
21770 (grub_usb_unregister_attach_hook_class): Likewise.
21771 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21772 (grub_usb_add_hub): Reset connection changed bit.
21773 (attach_root_port): New function.
21774 (grub_usb_root_hub): Likewise.
21775 (poll_nonroot_hub): Likewise.
21776 (grub_usb_poll_devices): Likewise.
21777 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21778 * disk/usbms.c (grub_usbms_open): Use device hooks.
21779 (grub_usbms_iterate) :Poll devices.
21780 (grub_usbms_finddevs): Split into ...
21781 (grub_usbms_attach): ... this ...
21782 (grub_usbms_attach): ... and this.
21783 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21784 in detect_dev.
21785 (grub_usb_interface): New fields attached and detach_hook.
21786 (grub_usb_attach_hook_class): New type.
21787 (grub_usb_attach_desc): New struct.
21788 (grub_usb_register_attach_hook_class): New function.
21789 (grub_usb_unregister_attach_hook_class): Likewise.
21790 (grub_usb_poll_devices): Likewise.
21791 (grub_usb_device_attach): Likewise.
21792 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21793 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21794
3222efaf
VS
217952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21798 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21799 delta determination style. Works with most NetBSD partitions too.
21800
139b714a
VS
218012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21804 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21805
986aad56
VS
218062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21809
99be513c
AB
218102010-07-14 Anton Blanchard <anton@samba.org>
21811
21812 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21813 ET_DYN files.
21814
18075f62
GS
218152010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21816
21817 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21818
8d9a5b15
GS
218192010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21820
21821 * kern/partition.c (grub_partition_check_containment): New function to
21822 check that a partition is physically contained in a parent. Since
21823 offsets are relative (and non-negative), this reduces to checking that
21824 the partition ends before its parent.
21825 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21826 (grub_partition_iterate): Likewise.
21827 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21828 comments.
21829 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21830 partitions that start before their parent, and add debug printfs.
21831
19563c25
CW
218322010-07-13 Colin Watson <cjwatson@ubuntu.com>
21833
21834 * Makefile.in (.SUFFIX): Spell correctly, as ...
21835 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21836 bare module name without `.mod', e.g. `test') tried to invoke a
21837 Modula-2 compiler.
21838
1a1f1e67
CW
218392010-07-13 Colin Watson <cjwatson@ubuntu.com>
21840
21841 * README: Point to the Info manual.
21842
811b0dca
JS
218432010-07-13 Jiro SEKIBA <jir@unicus.jp>
21844
21845 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21846 2nd superblock position from partition size.
21847
e4f4eafc
CW
218482010-07-10 Colin Watson <cjwatson@ubuntu.com>
21849
21850 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21851 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21852 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21853 outputs.
21854
4274c30f
VS
218552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 Restructure SCSI .id handling.
21858 Reported and tested by: Aleš Nesrsta.
21859
21860 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21861 (grub_atapi_dev): Changed .name to "ata". New field .id.
21862 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21863 (grub_usbms_dev): New field .id.
21864 * disk/scsi.c (grub_scsi_iterate): Generate name.
21865 (grub_scsi_open): Parse name.
21866 * include/grub/scsi.h (grub_make_scsi_id): New function.
21867 (grub_scsi_dev): Change iterate and open to number instead of naming
21868 busses. All users updated.
21869 (grub_scsi): Remove name. Add .bus.
21870
5bc24388
VS
218712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21872
21873 * commands/help.c (grub_cmd_help): Fix a typo.
21874
249975ba
VS
218752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21876
21877 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21878 Reported and tested by: Colin Watson.
21879
3eaac1a1
VS
218802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21883 in this context.
21884
becce1b1
VS
218852010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21888
f7bf0918
CW
218892010-07-07 Colin Watson <cjwatson@ubuntu.com>
21890
21891 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21892 indentation.
21893
0b0f9620
CW
218942010-07-06 Colin Watson <cjwatson@ubuntu.com>
21895
21896 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21897 and disk/raid6_recover.c.
21898 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21899 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21900
1e545469
CW
219012010-07-06 Colin Watson <cjwatson@ubuntu.com>
21902
21903 * term/gfxterm.c (repaint_schedulded): Rename to ...
21904 (repaint_scheduled): ... this. Update all callers.
21905 (repaint_was_schedulded): Rename to ...
21906 (repaint_was_scheduled): ... this. Update all callers.
21907
5357687a
CW
219082010-07-06 Colin Watson <cjwatson@ubuntu.com>
21909
21910 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21911 which we expect to be handled by upper layers.
21912
29d7e783
BC
219132010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21914
21915 * bus/usb/usbhub.c: #include time.h header.
21916
37582066
CW
219172010-07-06 Colin Watson <cjwatson@ubuntu.com>
21918
21919 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21920 entry_name also for entries without stat blocks (e.g. ".."); fixes
21921 corruption of the first entry in a directory.
21922
c8c06953
CW
219232010-07-06 Colin Watson <cjwatson@ubuntu.com>
21924
21925 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21926 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21927 doesn't work otherwise.
21928
e75056f1
CW
219292010-07-05 Colin Watson <cjwatson@ubuntu.com>
21930
21931 * docs/grub.texi (Features): Update list of supported file systems.
21932 (GNU/Linux): Update for GRUB 2.
21933 (Serial terminal): Remove mention of --disable-serial, which was a
21934 GRUB Legacy configure option. Update instructions to use
21935 `terminal_input' and `terminal_output' rather than `terminal'.
21936 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21937 configuration' and `Installing GRUB using grub-install'.
21938 (Menu entry editor): Update for GRUB 2.
21939 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21940 Document new -a, -u, and -v options.
21941 (initrd): New section.
21942 (initrd16): New section.
21943 (linux): New section.
21944 (linux16): New section.
21945 (search): The `var' argument to `--set' is optional.
21946 (GRUB only offers a rescue shell): Go into a little more detail on
21947 drive ordering.
21948
5cf69151
CW
219492010-07-05 Colin Watson <cjwatson@ubuntu.com>
21950
21951 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21952
e3f90044
CW
219532010-07-05 Colin Watson <cjwatson@ubuntu.com>
21954
21955 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21956 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21957
38d8f4f3
CW
219582010-07-05 Colin Watson <cjwatson@ubuntu.com>
21959
21960 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21961 install_prefix, in line with install_dos_part and install_bsd_part.
21962 Add new prefix variable, which is copied to install_prefix after
21963 comparing core.img in memory with the one read from disk in the
21964 no-embedding case, and use that rather than overwriting
21965 install_prefix immediately when installing to a partition.
21966 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21967 Bicakci.
21968
57ebd41e
GS
219692010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21970
21971 * configure.ac: Avoid == in test command, it's not portable.
21972 * util/grub.d/30_os-prober.in: Likewise.
21973
cb7f64b2
CW
219742010-07-04 Colin Watson <cjwatson@ubuntu.com>
21975
21976 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21977
6b654bb0
GS
219782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21979
21980 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21981 multiple (top-level) partmaps.
21982
72a2026d
VS
219832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21986 Reported by: Tino Keitel.
72a2026d 21987
df3eb88f
VS
219882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21989
21990 Bidi and diacritics support.
21991
21992 * Makefile.in (widthspec.bin): New target.
21993 (widthspec.h): Likewise.
21994 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21995 * autogen.sh: Generate unidata.c.
21996 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21997 * commands/ls.c (grub_ls_list_devices): Likewise.
21998 (grub_ls_list_files): Likewise.
21999 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22000 (grub_mini_cmd_lsmod): Likewise.
22001 * commands/read.c: Likewise.
22002 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22003 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22004 * lib/arg.c (grub_arg_show_help): Likewise.
22005 * lib/crypto.c (grub_password_get): Likewise.
22006 * normal/auth.c (grub_username_get): Likewise.
22007 * normal/misc.c (grub_normal_print_device_info): Likewise.
22008 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22009 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22010 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22011 (normal/charset.c_DEPENDENCIES): New variable.
22012 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22013 (pkglib_MODULES): Remove charset.mod.
22014 (charset_mod_SOURCES): Removed.
22015 (charset_mod_CFLAGS): Likewise.
22016 (charset_mod_LDFLAGS): Likewise.
22017 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22018 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22019 and term/tparm.c.
22020 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22021 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22022 (kernel_img_HEADERS): Add terminfo.h.
22023 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22024 Fill ->font. Reverse ascii bitmaps.
22025 (grub_font_get_xheight): New function.
22026 * font/font.c (grub_font_get_string_width): Moved from here ...
22027 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22028 * font/font.c (grub_font_draw_string): Moved from here ...
22029 * gfxmenu/font.c (grub_font_draw_string): ... here.
22030 * font/font.c (grub_font_dup_glyph): New function.
22031 (grub_font_blit_glyph): Likewise.
22032 (grub_font_blit_glyph_mirror): Likewise.
22033 (blit_comb): Likewise.
22034 (grub_font_construct_dry_run): Likewise.
22035 (grub_font_get_constructed_device_width): Likewise.
22036 (grub_font_construct_glyph): Likewise.
22037 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22038 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22039 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22040 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22041 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22042 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22043 (grub_font_get_xheight): New proto.
22044 (grub_font_get_constructed_device_width): Likewise.
22045 (grub_font_construct_glyph): Likewise.
22046 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22047 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22048 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22049 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22050 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22051 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22052 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22053 (grub_console_getcharwidth): Likewise.
22054 * include/grub/misc.h (grub_xputs): New proto.
22055 (grub_puts): Inlined.
22056 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22057 (grub_normal_get_line_counter): Removed.
22058 (grub_install_newline_hook): Likewise.
22059 (grub_normal_get_char_counter): New proto.
22060 (grub_normal_reset_more): Likewise.
22061 (grub_xputs_normal): Likewise.
22062 * include/grub/powerpc/ieee1275/console.h: Removed.
22063 * include/grub/sparc64/ieee1275/console.h: Likewise.
22064 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22065 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22066 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22067 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22068 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22069 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22070 (grub_term_input): Pass reference to self. All users updated.
22071 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22072 Pass reference to self. New fields normal_color, highlight_color and
22073 data. All users updated.
22074 (grub_putchar): Removed.
22075 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22076 (grub_unicode_estimate_width): New function.
22077 (grub_term_getcharwidth): Add defaults.
22078 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22079 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22080 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22081 (grub_cls): Remove EXPORT_FUNC.
22082 (grub_setcolorstate): Inline.
22083 (grub_newline_hook): Removed.
22084 * include/grub/terminfo.h: Rewritten. All users updated.
22085 * include/grub/unicode.h: New file.
22086 * include/grub/video.h (grub_video_signed_rect): New type.
22087 * kern/emu/console.c (grub_console_highlight_color): Removed.
22088 (grub_console_normal_color): Likewise.
22089 (grub_console_standard_color): Made static.
22090 (grub_ncurses_putchar): Remove mapping.
22091 (grub_ncurses_getcharwidth): Removed.
22092 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22093 (grub_ncurses_setcolor): Removed.
22094 (grub_ncurses_getcolor): Likewise.
22095 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22096 (grub_console_putchar): ... this.
22097 (grub_console_putchar): Handle argument difference.
22098 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22099 console_init_early and console_init_lately.
22100 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22101 * kern/misc.c (grub_puts): Removed.
22102 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22103 (grub_vsnprintf_real): Remove str = NULL support.
22104 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22105 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22106 * kern/term.c (grub_putcode): Renamed to ...
22107 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22108 (grub_putchar): Removed.
22109 (grub_xputs_dumb): New function.
22110 (grub_xputs): New variable.
22111 * lib/charset.c: Move from here ...
22112 * normal/charset.c: ... to here.
22113 (grub_ucs4_to_utf8): New function.
22114 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22115 (join_types): New variable.
22116 (unpack_join): New function.
22117 (bidi_types): New variable.
22118 (unpack_bidi): New function.
22119 (get_bidi_type): Likewise.
22120 (get_join_type): Likewise.
22121 (is_mirrored): Likewise.
22122 (grub_unicode_get_comb_type): Likewise.
22123 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22124 (is_type_after): Likewise.
22125 (grub_unicode_aglomerate_comb): Likewise.
22126 (bidi_line_wrap): Likewise.
22127 (grub_bidi_line_logical_to_visual): Likewise.
22128 (grub_bidi_logical_to_visual): Likewise.
22129 (grub_unicode_mirror_code): Likewise.
22130 (grub_unicode_shape_code): Likewise.
22131 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22132 Don't use grub_putchar.
22133 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22134 (grub_normal_reader_init): Likewise.
22135 (grub_xputs_saved): New variable.
22136 (GRUB_MOD_INIT): Set grub_xputs.
22137 (GRUB_MOD_FINI): Restore grub_xputs.
22138 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22139 (menu_init): Avoid printing gfxmenu error.
22140 (show_menu): Use grub_normal_get_char_counter.
22141 * normal/menu_entry.c (update_screen): Fix out-of-array.
22142 (complete): Avoid NULL dereferencing.
22143 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22144 * normal/menu_text.c (print_spaces): Removed.
22145 (grub_print_ucs4): Likewise.
22146 (grub_print_message_indented): Use grub_print_ucs4.
22147 (print_message): Use grub_putcode.
22148 (print_entry): Hanlde diacritics.
22149 * normal/term.c (term_state): New type.
22150 (grub_more_lines): Removed.
22151 (term_states): New variable.
22152 (grub_normal_line_counter): Renamed to ..
22153 (grub_normal_char_counter): ...this. All users updated.
22154 (grub_normal_get_line_counter): Renamed to ...
22155 (grub_normal_get_char_counter): ... this.
22156 (grub_normal_reset_more): New function.
22157 (process_newline): Removed.
22158 (print_more): New function.
22159 (grub_install_newline_hook): Removed.
22160 (map_code): New function.
22161 (grub_puts_terminal): Use grub_print_ucs4.
22162 (putglyph): New function.
22163 (putcode_real): Likewise.
22164 (grub_putcode): Use putcode_real.
22165 (get_maxwidth): New function.
22166 (get_startwidth): Likewise.
22167 (print_ucs4_terminal): Likewise.
22168 (find_term_state): Likewise.
22169 (put_glyphs_terminal): Likewise.
22170 (print_backlog): Likewise.
22171 (print_ucs4_real): Likewise.
22172 (grub_print_ucs4): Likewise.
22173 (grub_xputs_normal): Likewise.
22174 * term/efi/console.c (grub_console_putchar): Output diacritics.
22175 (grub_console_getcharwidth): Removed.
22176 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22177 * term/gfxterm.c (clear_char): Free chars.
22178 (scroll_up): Avoid leaking memory.
22179 (grub_gfxterm_putchar): Support diacritics.
22180 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22181 * term/i386/pc/console.c (grub_console_term_output): Declare as
22182 GRUB_TERM_CODE_TYPE_VGA.
22183 * term/i386/pc/vga.c (grub_vga_term): Declare as
22184 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22185 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22186 GRUB_TERM_CODE_TYPE_VGA.
22187 * term/i386/vga_common.c (map_char): Removed.
22188 (grub_console_putchar): Likewise.
22189 (grub_console_getcharwidth): Likewise.
22190 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22191 (colors): Reordered to match terminfo.
22192 (grub_ofconsole_normal_color): Removed.
22193 (grub_ofconsole_writeesc): Likewise.
22194 (grub_ofconsole_highlight_color): Likewise.
22195 (grub_ofconsole_getcharwidth): Likewise.
22196 (grub_ofconsole_setcolorstate): Likewise.
22197 (grub_ofconsole_setcolor): Likewise.
22198 (grub_ofconsole_getcolor): Likewise.
22199 (grub_ofconsole_readkey): Renamed to ...
22200 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22201 key.
22202 (grub_ofconsole_checkkey): Removed.
22203 (grub_ofconsole_getkey): Likewise.
22204 (grub_ofconsole_getxy): Likewise.
22205 (grub_ofconsole_gotoxy): Likewise.
22206 (grub_ofconsole_cls): Likewise.
22207 (grub_ofconsole_refresh): Likewise.
22208 (grub_ofconsole_terminfo_input): New struct.
22209 (grub_ofconsole_terminfo_output): Likewise.
22210 (grub_ofconsole_term_input): Use terminfo.
22211 (grub_ofconsole_term_output): Likewise.
22212 (grub_console_init): Split into ...
22213 (grub_console_init_early): ...this and ...
22214 (grub_console_init_lately): ...this. Use terminfo.
22215 (grub_ofconsole_putchar): Renamed to ...
22216 (put): ... this. Remove mapping.
22217 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22218 * term/serial.c: Simplify using terminfo.
22219 (xpos): Removed.
22220 (ypos): Likewise.
22221 (keep_track): Likewise.
22222 (registered): Likewise.
22223 (input_buf): Likewise.
22224 (npending): Likewise.
22225 (serial_translate_key_sequence): Likewise.
22226 (fill_input_buf): Likewise.
22227 (grub_serial_checkkey): Likewise.
22228 (grub_serial_getkey): Likewise.
22229 (grub_serial_getxy): Likewise.
22230 (grub_serial_gotoxy): Likewise.
22231 (grub_serial_putchar): Likewise.
22232 (grub_serial_cls): Likewise.
22233 (grub_serial_setcolorstate): Likewise.
22234 (grub_serial_setcursor): Likewise.
22235 (serial_hw_init): Use serial_hw_fetch.
22236 (grub_serial_terminfo_input): New variable.
22237 (grub_serial_terminfo_output): Likewise.
22238 (grub_serial_term_input): Use terminfo.
22239 (grub_serial_term_output): Likewise.
22240 * term/terminfo.c (putstr): Use put.
22241 (grub_terminfo_all_free): New function
22242 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22243 (grub_terminfo_output_register): New function.
22244 (grub_terminfo_output_unregister): Likewise.
22245 (grub_terminfo_getxy): Likewise.
22246 (grub_terminfo_readkey): Likewise.
22247 (grub_terminfo_checkkey): Likewise.
22248 (grub_terminfo_getkey): Likewise.
22249 (grub_terminfo_input_init): Likewise.
22250 (print_terminfo): Likewise.
22251 (grub_cmd_terminfo): Handle encoding.
22252 (grub_terminfo_gotoxy): Track position.
22253 (grub_terminfo_cls): Likewise.
22254 (grub_terminfo_putchar): Likewise.
22255 (grub_terminfo_setcolorstate): Handle colors
22256 (grub_terminfo_cursor_on): This ...
22257 (grub_terminfo_cursor_off): ... and this merged into ...
22258 (grub_terminfo_setcursor): ... this.
22259 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22260 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22261 * unicode/BidiMirroring.txt: Likewise.
22262 * unicode/UnicodeData.txt: Likewise.
22263 * unicode/COPYING: Likewise.
22264 * util/grub-editenv.c (grub_putchar): Removed.
22265 (grub_xputs_real): New function.
22266 (grub_xputs): New variable.
22267 * util/grub-fstest.c (grub_putchar): Removed.
22268 (grub_xputs_real): New function.
22269 (grub_xputs): New variable.
22270 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22271 (grub_xputs_real): New function.
22272 (grub_xputs): New variable.
22273 * util/grub-probe.c (grub_putchar): Removed.
22274 (grub_xputs_real): New function.
22275 (grub_xputs): New variable.
22276 * util/grub-script-check.c (grub_putchar): Removed.
22277 (grub_xputs_real): New function.
22278 (grub_xputs): New variable.
22279 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22280 (grub_xputs_real): New function.
22281 (grub_xputs): New variable.
22282 * util/import_unicode.py: New file.
22283 * util/grub-mkfont.c (ft_errmsgs): New array.
22284 (grub_glyph_info): Make bitmap a pointer.
22285 (file_formats): New type WIDTH_SPEC.
22286 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22287 (options): Add width-spec.
22288 (help): Likewise.
22289 (add_char): Renamed to ...
22290 (add_glyph): ... this.
22291 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22292 (glyph_replace): New type.
22293 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22294 (add_char): New function.
22295 (add_subst): Likewise.
22296 (process_cursive): Likewise.
22297 (add_font): Handle GSUB.
22298 (write_font_width_spec): New function.
22299 (main): Sort glyphs.
22300 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22301 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22302 * kern/term.c (grub_cls): Moved from here...
22303 * normal/term.c (grub_cls): ... here.
22304
50f0bcda
CW
223052010-07-02 Colin Watson <cjwatson@ubuntu.com>
22306
22307 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22308 suitable for using within the format argument of printf when
22309 converting grub_size_t.
22310 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22311 "x" to convert grub_size_t arguments.
22312
40372103
VS
223132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22316 too long captions.
22317 (list_get_minimal_size): Take selection box into account.
22318
942a10c7
VS
223192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22322 NULL font.
22323
2bdb2892
CW
223242010-07-02 Colin Watson <cjwatson@ubuntu.com>
22325
22326 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22327 devices when iterating over /dev/disk/by-id; they will be handled
22328 later if appropriate, which they aren't always (e.g. LVM).
22329
e03ed6c1
CW
223302010-07-02 Colin Watson <cjwatson@ubuntu.com>
22331
22332 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22333 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22334 fails.
22335 (grub_halt): Likewise.
22336 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22337 reset-all fails.
22338 (grub_halt): Don't return, even if all of shut-down, power-off, and
22339 poweroff fail.
22340
47695765
CW
223412010-07-02 Colin Watson <cjwatson@ubuntu.com>
22342
22343 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22344 arguments, not three.
22345
507736c8
CW
223462010-07-02 Colin Watson <cjwatson@ubuntu.com>
22347
22348 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22349 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22350 LVM-on-RAID is handled correctly.
22351
e3c8cd37
CW
223522010-07-02 Colin Watson <cjwatson@ubuntu.com>
22353
22354 * docs/grub.texi (Changes from GRUB Legacy): New section.
22355 (Future): Fix typo.
22356
8d4a2fec
CW
223572010-07-02 Colin Watson <cjwatson@ubuntu.com>
22358
22359 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22360 grub.d/README accidentally ends up executable for one reason or
22361 another. Ignore it.
22362
1c4827be
VS
223632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22366 (gpt_partition_map_iterate): Support non-512B sectors.
22367
d9a0c941
VS
223682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22371 Tested by: Seth Goldberg.
22372
48f27e87
VS
223732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22376 Properly align mbi.
22377 Reported by: Seth Goldberg.
22378
b0c4f956
VS
223792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * util/grub-mkrescue.in: Avoid module duplication.
22382
105a2e8c
SF
223832010-07-01 Sean Finney <seanius@seanius.net>
22384
22385 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22386
5944958c
SF
223872010-07-01 Sean Finney <seanius@seanius.net>
22388
22389 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22390
223912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * disk/lvm.c (grub_lvm_checkvalue): New function.
22394 (grub_lvm_check_flag): Likewise.
22395
b79889ba
RM
223962010-07-01 Robert Millan <rmh@gnu.org>
22397
22398 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22399 Support 'p' as partition separator on kernel of FreeBSD (used
22400 with GPT labels).
22401 (grub_util_biosdisk_get_grub_dev): Likewise.
22402
ec1d04f1
VS
224032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 Yeeloong firmware port.
22406
22407 * boot/mips/yeeloong/fwstart.S: New file.
22408 * bus/cs5536.c (gpiodump): New const.
22409 (set_io_space): New function.
22410 (set_iod): Likewise.
22411 (set_p2d): Likewise.
22412 (grub_cs5536_init_geode): Likewise.
22413 * commands/mips/yeeloong/lsspd.c: New file.
22414 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22415 (serial_mod_SOURCES): New variable.
22416 (serial_mod_CFLAGS): Likewise.
22417 (serial_mod_LDFLAGS): Likewise.
22418 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22419 term/terminfo.c and term/tparm.c.
22420 (pkglib_IMAGES): Add fwstart.img.
22421 (fwstart_img_SOURCES): New variable.
22422 (fwstart_img_CFLAGS): Likewise.
22423 (fwstart_img_ASFLAGS): Likewise.
22424 (fwstart_img_LDFLAGS): Likewise.
22425 (fwstart_img_FORMAT): Likewise.
22426 (pkglib_MODULES): Add lsspd.mod.
22427 (lsspd_mod_SOURCES): New variable.
22428 (lsspd_mod_CFLAGS): Likewise.
22429 (lsspd_mod_LDFLAGS): Likewise.
22430 (pkglib_MODULES): Add halt.mod.
22431 (halt_mod_SOURCES): New variable.
22432 (halt_mod_CFLAGS): Likewise.
22433 (halt_mod_LDFLAGS): Likewise.
22434 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22435 (serial_mod_SOURCES): Removed.
22436 (serial_mod_CFLAGS): Likewise.
22437 (serial_mod_LDFLAGS): Likewise.
22438 * disk/ata.c (check_device): New function.
22439 (grub_ata_device_initialize): Use check_device.
22440 (grub_ata_iterate): Recheck devices.
22441 (grub_ata_open): Likewise.
22442 (grub_atapi_iterate): Likewise.
22443 (grub_atapi_open): Likewise.
22444 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22445 (GRUB_ATA_CH1_PORT1): Likewise.
22446 (GRUB_ATA_CH0_PORT2): Likewise.
22447 (GRUB_ATA_CH1_PORT2): Likewise.
22448 * include/grub/mips/loongson.h: New file.
22449 * include/grub/mips/yeeloong/ec.h: Likewise.
22450 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22451 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22452 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22453 * include/grub/misc.h (grub_halt): Declare as noreturn.
22454 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22455 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22456 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22457 (UART_ENABLE_DTRRTS): Likewise.
22458 (UART_ENABLE_MODEM): Removed.
22459 (UART_ENABLE_OUT2): New const.
22460 * include/grub/term.h (grub_term_register_input_active): New function.
22461 (grub_term_register_output_active): Likewise.
22462 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22463 argument.
22464 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22465 (init_pci): New function.
22466 (grub_machine_init): Execute platform init when firmware. Init serial.
22467 (grub_halt): Implement.
22468 (grub_exit): Likewise.
22469 (grub_reboot): Likewise.
22470 * term/serial.c (serial_hw_init): Update macros.
22471 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22472 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22473 (image_targets): New target mipsel-yeeloong-flash.
22474 (generate_image): Support IMAGE_YEELOONG_FLASH.
22475 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22476 (grub_video_sm712_setup): Init card.
22477 (grub_video_sm712_set_palette): Removed.
22478 * video/sm712_init.c: New file.
22479
ff4a70d2
CW
224802010-06-30 Colin Watson <cjwatson@ubuntu.com>
22481
22482 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22483 PATH when running help2man and then run it on the unadorned
22484 executable names, rather than passing $(builddir)/* paths to
22485 help2man. This avoids the build directory ending up in generated
22486 manual pages.
22487
1246efeb
CW
224882010-06-29 Colin Watson <cjwatson@ubuntu.com>
22489
22490 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22491 to avoid accidents when debugging with 'sh -x'.
22492 * util/grub-mkrescue.in: Likewise.
22493 * util/grub.d/00_header.in: Likewise.
22494 * util/grub.d/10_hurd.in: Likewise.
22495 * util/grub.d/10_kfreebsd.in: Likewise.
22496 * util/grub.d/10_linux.in: Likewise.
22497 * util/grub.d/10_netbsd.in: Likewise.
22498 * util/grub.d/10_windows.in: Likewise.
22499 * util/grub.d/20_linux_xen.in: Likewise.
22500 * util/grub.d/30_os-prober.in: Likewise.
22501 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22502
1ba9b889
CW
225032010-06-29 Colin Watson <cjwatson@ubuntu.com>
22504
22505 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22506 last character in the buffer.
22507 Reported by: Vladimir Serbinenko.
22508
dccaf99d
RM
225092010-06-29 Robert Millan <rmh@gnu.org>
22510
22511 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22512 (Command-line and menu entry commands): Document `badram' command.
22513
d500ed12
RM
225142010-06-28 Robert Millan <rmh@gnu.org>
22515
22516 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22517 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22518 command using ${GRUB_BADRAM} as parameter.
22519
20bc84a6
CW
225202010-06-28 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * docs/grub.texi (Device map): New section.
22523 (Themes): New section (stub).
22524 * Makefile.in (docs/grub.info): The info documentation now builds
22525 without errors. Make sure it stays that way.
22526
4045dee1
VS
225272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 Use normal parser for menu entries.
22530 Reported by: Thomas Frauendorfer
22531
22532 * include/grub/parser.h (grub_parser_execute): Don't export.
22533 * normal/menu.c (grub_menu_execute_entry_real): New function.
22534 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22535
bca58c7b
CW
225362010-06-28 Colin Watson <cjwatson@ubuntu.com>
22537
22538 * docs/grub.texi (Embedded configuration): New section (replacing
22539 old "Preset Menu" stub).
22540 (Images): New section.
22541 (configfile): Note that any menu entries defined in `file' are shown
22542 immediately.
22543
dec53e63
JT
225442010-06-28 Josh Triplett <josh@joshtriplett.org>
22545
22546 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22547
c06e40f7
CW
225482010-06-28 Colin Watson <cjwatson@ubuntu.com>
22549
22550 * util/grub-install.in: Add --debug-image= option.
22551
cb88052b
CW
225522010-06-28 Colin Watson <cjwatson@ubuntu.com>
22553
22554 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22555 possible on Linux.
22556
22557 * util/deviceiter.c (check_device): Rename to ...
22558 (check_device_readable_unique): ... this. Update all callers.
22559 Maintain and check a list of which devices (by canonicalized name)
22560 have already been seen.
22561 (clear_seen_devices): New function.
22562 (compare_file_names) [__linux__]: New function.
22563 (grub_util_iterate_devices): Clear the list of seen devices on exit
22564 and (just in case) on entry.
22565 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22566 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22567 seen-devices list, superseded by general code in check_device.
22568
bbe34652
CW
225692010-06-28 Colin Watson <cjwatson@ubuntu.com>
22570
22571 * commands/cat.c (options): New variable.
22572 (grub_cmd_cat): Parse options. If the --dos option is given, print
22573 DOS-style "\r\n" line endings as simple newlines (Debian bug
22574 #586358).
22575 (GRUB_MOD_INIT): Use extcmd.
22576 (GRUB_MOD_FINI): Likewise.
22577 * docs/grub.texi (cat): Document --dos.
22578
412e09f3
VS
225792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22580
22581 XEN with Linux grub-mkconfig support.
22582
22583 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22584 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22585 GRUB_CMDLINE_XEN_DEFAULT.
22586 * util/grub.d/20_linux_xen.in: New file.
22587
53f3ef38 225882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22589
22590 Initialise VGA video on qemu ourselves.
22591
22592 * boot/i386/qemu/boot.S: Don't call 0xc000.
22593 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22594 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22595 (kernel_img_HEADERS): Add pci.h.
22596 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22597 * configure.ac: Force unifont on qemu and yeeloong.
22598 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22599 (grub_vga_palette_write): Use correct register.
22600 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22601 Call grub_qemu_init_cirrus.
22602 * kern/i386/qemu/init.c: New file.
22603 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22604
22605 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22606
c75be4fb
PR
226072010-06-26 Pavel Roskin <proski@gnu.org>
22608
22609 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22610 13.
22611
d8034603
CW
226122010-06-26 Colin Watson <cjwatson@ubuntu.com>
22613
22614 * docs/grub.texi (Simple configuration): Explain that
22615 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22616 set to `true' to disable their respective recovery entries, not
22617 merely set.
22618
3fa06487
CW
226192010-06-26 Colin Watson <cjwatson@ubuntu.com>
22620
22621 Make the `source' command slightly faster.
22622
22623 * normal/main.c (grub_normal_execute): Don't re-read list files when
22624 nested.
22625
e9b29642
CW
226262010-06-23 Colin Watson <cjwatson@ubuntu.com>
22627
22628 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22629 field position and mask size to red fields from mode_info, not
22630 green.
22631 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22632 Remove redundant tag->common.framebuffer_type assignment.
22633 Reported by: Seth Goldberg.
22634
e726542f
CW
226352010-06-23 Colin Watson <cjwatson@ubuntu.com>
22636
22637 Sync up other versions of the Linux loader with Robert Millan's
22638 change of 2010-01-09, "Make loader output a bit more user-friendly".
22639
22640 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22641 grub_dprintf().
22642 (grub_cmd_linux): Likewise.
22643 (grub_cmd_initrd): Likewise.
22644 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22645 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22646
d6e98a17
CW
226472010-06-21 Colin Watson <cjwatson@ubuntu.com>
22648
22649 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22650 larger than MEMORY_MAP_SIZE.
22651
14d3f08e
BC
226522010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22653
22654 Fix parallel build.
22655
22656 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22657 dependency.
22658 * script/parser.y: #include grub_script.tab.h header.
22659
4f9613a3
VS
226602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 Support >3GiB and <16MiB RAM in i386-qemu.
22663
22664 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22665 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22666 (grub_lower_mem): Removed.
22667 (grub_upper_mem): Likewise.
22668 (mem_size): Made static.
22669 (above_4g): New variable.
22670 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22671 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22672 support.
22673
05e51879
VS
226742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 Cirrus 5446 and Bochs video cards support.
22677
22678 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22679 video_bochs.mod
22680 (video_cirrus_mod_SOURCES): New variable.
22681 (video_cirrus_mod_CFLAGS): Likewise.
22682 (video_cirrus_mod_LDFLAGS): Likewise.
22683 (video_bochs_mod_SOURCES): Likewise.
22684 (video_bochs_mod_CFLAGS): Likewise.
22685 (video_bochs_mod_LDFLAGS): Likewise.
22686 * include/grub/vga.h: New file.
22687 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22688 (grub_video_fb_set_page_t): New type.
22689 (grub_video_fb_setup): New prototype.
22690 (grub_video_fb_swap_buffers): Likewise.
22691 (grub_video_fb_get_info_and_fini): Likewise.
22692 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22693 (CRTC_DATA_PORT): Likewise.
22694 (CRTC_CURSOR): Likewise.
22695 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22696 (CRTC_CURSOR_ADDR_LOW): Likewise.
22697 (CRTC_CURSOR_DISABLE): Likewise.
22698 (update_cursor): Use grub_vga_cr_write.
22699 (grub_vga_text_setcursor): Likewise.
22700 * video/bochs.c: New file.
22701 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22702 (palette): Likewise.
22703 (palette_size): Likewise.
22704 (framebuffer): New variable.
22705 (grub_video_fb_init): Use 'framebuffer'.
22706 (grub_video_fb_fini): Likewise.
22707 (grub_video_fb_get_info): Likewise.
22708 (grub_video_fb_get_palette): Likewise.
22709 (grub_video_fb_set_palette): Likewise.
22710 (grub_video_fb_set_viewport): Likewise.
22711 (grub_video_fb_get_viewport): Likewise.
22712 (grub_video_fb_map_color): Likewise.
22713 (grub_video_fb_map_rgb): Likewise.
22714 (grub_video_fb_map_rgba): Likewise.
22715 (grub_video_fb_unmap_color): Likewise.
22716 (grub_video_fb_unmap_color_int): Likewise.
22717 (grub_video_fb_fill_rect): Likewise.
22718 (grub_video_fb_blit_bitmap): Likewise.
22719 (grub_video_fb_blit_render_target): Likewise.
22720 (grub_video_fb_scroll): Likewise.
22721 (grub_video_fb_create_render_target): Likewise.
22722 (grub_video_fb_doublebuf_blit_init): Likewise.
22723 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22724 (doublebuf_pageflipping_update_screen): New function.
22725 (doublebuf_pageflipping_init): Likewise.
22726 (grub_video_fb_setup): Likewise.
22727 (grub_video_fb_swap_buffers): Likewise.
22728 (grub_video_fb_get_info_and_fini): Likewise.
22729 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22730 All users updated.
22731 (doublebuf_pageflipping_commit): Restructured into ...
22732 (doublebuf_pageflipping_set_page): ... this.
22733 (doublebuf_pageflipping_update_screen): Removed.
22734 (doublebuf_pageflipping_init): Likewise.
22735 (double_buffering_init): Likewise.
22736 (grub_video_vbe_setup): Use grub_video_fb_setup.
22737 (grub_video_vbe_swap_buffers): Removed.
22738 (grub_video_vbe_set_active_render_target): Likewise.
22739 (grub_video_vbe_get_active_render_target): Likewise.
22740 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22741 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22742 grub_video_fb_set_active_render_target and
22743 grub_video_fb_get_active_render_target.
22744 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22745 (SEQUENCER_DATA_PORT): Likewise.
22746 (MAP_MASK_REGISTER): Likewise.
22747 (CRTC_ADDR_PORT): Likewise.
22748 (CRTC_DATA_PORT): Likewise.
22749 (START_ADDR_HIGH_REGISTER): Likewise.
22750 (START_ADDR_LOW_REGISTER): Likewise.
22751 (GRAPHICS_ADDR_PORT): Likewise.
22752 (GRAPHICS_DATA_PORT): Likewise.
22753 (READ_MAP_REGISTER): Likewise.
22754 (INPUT_STATUS1_REGISTER): Likewise.
22755 (INPUT_STATUS1_VERTR_BIT): Likewise.
22756 (get_map_mask): Use grub_vga_sr_read.
22757 (set_map_mask): Use grub_vga_sr_write.
22758 (set_read_map): Use grub_vga_gr_write.
22759 (set_start_address): Use grub_vga_cr_write.
22760 * video/sm712.c (framebuffer): Remove leftover fields.
22761
4321c64a
CW
227622010-06-20 Colin Watson <cjwatson@ubuntu.com>
22763
22764 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22765 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22766 instead. Replace the gfxterm backend check with a check that
22767 ${GRUB_PREFIX}/video.lst is non-empty.
22768 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22769 again.
22770 (load_video): New generated function. Call it before loading
22771 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22772 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22773 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22774 * docs/grub.texi (Simple configuration): Document
22775 GRUB_VIDEO_BACKEND.
22776
227772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 Use video functions in linux and xnu loaders.
22780
22781 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22782 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22783 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22784 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22785 loader/i386/pc/linux.c.
22786 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22787 (find_line_len): Removed.
22788 (find_framebuf): Likewise.
22789 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22790 * loader/i386/efi/xnu.c: Removed.
22791 * loader/i386/pc/xnu.c: Moved from here...
22792 * loader/i386/xnu.c: ...here.
22793
22794 Enable priorities in video drivers.
22795
22796 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22797 (grub_video_adapter): New field prio.
22798 (grub_video_register): Respect prio when inserting.
22799 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22800 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22801 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22802 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22803 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22804 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22805 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22806
22807 Fix SDL driver ID.
22808
22809 * include/grub/video.h (grub_video_driver_id_t): New value
22810 GRUB_VIDEO_DRIVER_SDL.
22811 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22812
7d24e434
CW
228132010-06-17 Colin Watson <cjwatson@ubuntu.com>
22814
22815 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22816 argument to printf.
22817 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22818
c88a83f6
CW
228192010-06-17 Colin Watson <cjwatson@ubuntu.com>
22820
22821 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22822 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22823
094dfb69
CW
228242010-06-17 Colin Watson <cjwatson@ubuntu.com>
22825
22826 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22827 directly, and recommend grub-install instead.
22828 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22829
2164da6b
CW
228302010-06-17 Colin Watson <cjwatson@ubuntu.com>
22831
22832 Fix i386-pc prefix handling with nested partitions (Debian bug
22833 #585068). Note that the case where the core image is booted using
22834 multiboot and relocated from its original location still requires
22835 more work.
22836
22837 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22838 with "(,", fill the boot drive in between those two characters, but
22839 expect that a full partition specification including partition map
22840 names will follow.
22841 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22842 specified, write a prefix without the drive name but including a
22843 full partition specification.
22844
044e2e60
CW
228452010-06-16 Colin Watson <cjwatson@ubuntu.com>
22846
22847 * util/grub-mkconfig.in: Ignore non-option arguments, for
22848 compatibility with older versions (before 2010-06-12) which did the
22849 same. In particular, this makes it easier to ship an update-grub
22850 wrapper which is compatible with that used with GRUB Legacy (Debian
22851 bug #586056).
22852
5591324f
GS
228532010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22854
22855 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22856 for manual page generation.
22857
662e24d5
GS
228582010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22859
22860 * po/POTFILES: Remove leftover commands/handler.c.
22861
8d70754e
CW
228622010-06-14 Colin Watson <cjwatson@ubuntu.com>
22863
22864 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22865 left this script non-functional.
22866
41160e2e
CW
228672010-06-14 Colin Watson <cjwatson@ubuntu.com>
22868
22869 * docs/man/grub-emu.h2m: New file.
22870
b5309cc1
CW
228712010-06-13 Colin Watson <cjwatson@ubuntu.com>
22872
22873 * docs/grub.texi (Commands): Document reduced command set in rescue
22874 mode.
22875 (cpuid): New section.
22876
fcb2d090
GS
228772010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22878
22879 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22880 new partition naming style.
22881 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22882
96e5c556
BC
228832010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22884
22885 Add "-o grub.iso" like cmdline options support.
22886
22887 * util/grub-install.in: Improve cmdline option parsing.
22888 * util/grub-mkconfig.in: Likewise.
22889 * util/grub-mkrescue.in: Likewise.
22890 * util/grub-reboot.in: Likewise.
22891 * util/grub-set-default.in: Likewise.
22892 * util/i386/efi/grub-install.in: Likewise.
22893 * util/ieee1275/grub-install.in: Likewise.
22894 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22895
c16be99b
CW
228962010-06-12 Colin Watson <cjwatson@ubuntu.com>
22897
22898 * .bzrignore: Ignore 41_custom.
22899
ce08a9fb
TS
229002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22901
22902 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22903
7beac90c
CW
229042010-06-12 Colin Watson <cjwatson@ubuntu.com>
22905
22906 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22907 prototype declarations.
22908
22909 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22910 generating fs, partmap, and video lists.
22911 * include/grub/fs.h (grub_fs_register): Omit prototype if
22912 GRUB_LST_GENERATOR is defined.
22913 * include/grub/partition.h (grub_partition_map_register): Likewise.
22914 * include/grub/video.h (grub_video_register): Likewise.
22915
1c8f0f8d
JM
229162010-06-12 Javier Martín <lordhabbit@gmail.com>
22917
22918 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22919
a6085973
TS
229202010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22921
22922 * util/grub-mkrescue.in: Support --xorriso argument.
22923
25c56d29
VS
229242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22925
22926 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22927 Suggested by: Thomas Schmitt.
22928
e03e4b24
VS
229292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22932 Suggested by: Thomas Schmitt.
22933
57711df6
VS
229342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 custom.cfg support.
22937
22938 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22939 * util/grub.d/41_custom.in: New file.
22940
ee62c427
CW
229412010-06-12 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22944 been merged back into normal.
22945
283af07a
CW
229462010-06-11 Colin Watson <cjwatson@ubuntu.com>
22947
22948 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22949 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22950
56a0d956
CW
229512010-06-11 Colin Watson <cjwatson@ubuntu.com>
22952
22953 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22954 when generating manual pages.
22955 * docs/man/grub-bin2h.h2m: New file.
22956 * docs/man/grub-editenv.h2m: New file.
22957 * docs/man/grub-fstest.h2m: New file.
22958 * docs/man/grub-install.h2m: New file.
22959 * docs/man/grub-macho2img.h2m: New file.
22960 * docs/man/grub-mkconfig.h2m: New file.
22961 * docs/man/grub-mkdevicemap.h2m: New file.
22962 * docs/man/grub-mkfont.h2m: New file.
22963 * docs/man/grub-mkimage.h2m: New file.
22964 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22965 * docs/man/grub-mkrelpath.h2m: New file.
22966 * docs/man/grub-mkrescue.h2m: New file.
22967 * docs/man/grub-ofpathname.h2m: New file.
22968 * docs/man/grub-pe2elf.h2m: New file.
22969 * docs/man/grub-probe.h2m: New file.
22970 * docs/man/grub-reboot.h2m: New file.
22971 * docs/man/grub-script-check.h2m: New file.
22972 * docs/man/grub-set-default.h2m: New file.
22973 * docs/man/grub-setup.h2m: New file.
22974
3a37e322
VS
229752010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22976
22977 Use FOR_* macros instead of *_iterate whenever possible.
22978
22979 * commands/handler.c: Removed.
22980 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22981 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22982 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22983 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22984 (grub_probe_SOURCES): Remove kern/parser.c.
22985 (util/grub-script-check.c_DEPENDENCIES): Removed.
22986 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22987 and grub_script_check_init.c.
22988 (grub_script_check_init.lst): Removed.
22989 (grub_script_check_init.h): Likewise.
22990 (grub_script_check_init.c): Likewise.
22991 (pkglib_MODULES): Remove handler.mod and sh.mod.
22992 (handler_mod_SOURCES): Removed.
22993 (handler_mod_CFLAGS): Likewise.
22994 (handler_mod_LDFLAGS): Likewise.
22995 (normal_mod_SOURCES): Remove normal/handler.c.
22996 Add script/main.c, script/script.c, script/execute.c,
22997 script/function.c, script/lexer.c, grub_script.tab.c
22998 and grub_script.yy.c.
22999 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23000 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23001 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23002 (grub_setup_SOURCES): Remove kern/parser.c.
23003 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23004 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23005 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23006 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23007 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23008 (grub_setup_SOURCES): Remove kern/parser.c.
23009 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23010 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23011 * include/grub/command.h (grub_command_iterate): Removed.
23012 (FOR_COMMANDS): New macro.
23013 * include/grub/dl.h (grub_dl): New member next.
23014 (grub_dl_iterate): Removed.
23015 (grub_dl_head): New variable declaration.
23016 (FOR_DL_MODULES): New macro.
23017 * include/grub/fs.h: Include list.h.
23018 (grub_fs): Make next first element.
23019 (grub_fs_list): New variable declaration.
23020 (grub_fs_register): Make inline.
23021 (grub_fs_unregister): Likewise.
23022 (grub_fs_iterate): Removed.
23023 (FOR_FILESYSTEMS): New macro.
23024 * include/grub/handler.h: Removed.
23025 * include/grub/list.h (grub_list_hook_t): Removed.
23026 (grub_list_test_t): Likewise.
23027 (grub_list_pop): Likewise.
23028 (grub_list_iterate): Likewise.
23029 (grub_list_insert): Likewise.
23030 (FOR_LIST_ELEMENTS): New macro.
23031 * include/grub/parser.h (grub_parser_class): Removed.
23032 (grub_parser_register): Likewise.
23033 (grub_parser_unregister): Likewise.
23034 (grub_parser_get_current): Likewise.
23035 (grub_parser_set_current): Likewise.
23036 (grub_register_rescue_parser): Likewise.
23037 (grub_rescue_parse_line): New function.
23038 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23039 * include/grub/script_sh.h (grub_script_function_list): New variable
23040 declaration.
23041 (FOR_SCRIPT_FUNCTIONS): New macro.
23042 (grub_script_function_iterate): Removed.
23043 (grub_normal_parse_line): New prototype.
23044 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23045 (FOR_DISABLED_TERM_INPUTS): Likewise.
23046 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23047 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23048 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23049 element.
23050 (grub_video_register): Inline.
23051 (grub_video_unregister): Likewise.
23052 (grub_video_adapter_list): New variable declaration.
23053 (grub_video_iterate): Removed.
23054 (FOR_VIDEO_ADAPTERS): New macro.
23055 * kern/dl.c (grub_dl_list): Removed. All users updated.
23056 (grub_dl_iterate): Removed.
23057 * kern/fs.c (grub_fs_list): Make global.
23058 (grub_fs_register): Removed.
23059 (grub_fs_unregister): Likewise.
23060 (grub_fs_iterate): Likewise.
23061 * kern/handler.c: Removed.
23062 * kern/list.c (grub_list_pop): Removed.
23063 (grub_list_iterate): Likewise.
23064 (grub_list_insert): Likewise.
23065 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23066 (grub_prio_list_insert): Don't use grub_list_insert.
23067 * kern/main.c (grub_register_rescue_parser): Don't call
23068 grub_register_rescue_parser.
23069 * kern/parser.c (grub_parser_class): Removed.
23070 (grub_parser_execute): Use grub_rescue_parse_line.
23071 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23072 (grub_rescue_parser): Removed.
23073 (grub_register_rescue_parser): Likewise.
23074 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23075 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23076 (grub_auth_check_authentication): Likewise.
23077 * normal/completion.c (iterate_command): Removed.
23078 (grub_normal_do_completion): Use FOR_COMMANDS.
23079 * normal/handler.c: Removed.
23080 * normal/main.c (read_config_file): Remove parser changing.
23081 (grub_normal_execute): Don't call read_handler_list.
23082 (grub_normal_read_line_real): Statically allocate prompt.
23083 (grub_cmdline_run): Use grub_normal_parse_line.
23084 (GRUB_MOD_FINI): Don't call free_handler_list.
23085 * normal/menu_entry.c (run): Likewise.
23086 * script/function.c (grub_script_function_list): Make global.
23087 (grub_script_function_iterate): Removed.
23088 * script/main.c (grub_normal_parse_line): Make global.
23089 (grub_sh_parser): Removed.
23090 (GRUB_MOD_INIT): Likewise.
23091 (GRUB_MOD_FINI): Likewise.
23092 * tests/lib/functional_test.c (grub_functional_test): Use
23093 FOR_LIST_ELEMENTS.
23094 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23095 (grub_test_run): Use FOR_LIST_ELEMENTS.
23096 * tests/lib/unit_test.c (main): Likewise.
23097 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23098 grub_list_pop.
23099 * util/grub-fstest.c (grub_term_input_class): Removed.
23100 (grub_term_output_class): Likewise.
23101 * util/grub-probe.c: Likewise.
23102 * util/i386/pc/grub-setup.c: Likewise.
23103 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23104 * util/grub-script-check.c (main): Don't call grub_init_all and
23105 grub_fini_all.
23106 * video/video.c (grub_video_adapter_list): Make global.
23107 (grub_video_register): Removed.
23108 (grub_video_unregister): Likewise.
23109 (grub_video_iterate): Likewise.
23110
6289c3a7
VS
231112010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23114 reported by Henrique Ferreiro.
23115
91460247
RM
231162010-06-09 Robert Millan <rmh@gnu.org>
23117
23118 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23119 ones, when both are available.
23120
0ea7c4f9
GS
231212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23122
23123 Make --version uniform and avoid hard-coded program name.
23124
23125 * util/grub-mkimage.c (main): Use `program_name' instead of
23126 hard-coded string.
23127 * util/i386/pc/grub-setup.c (main): Likewise.
23128 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23129 * util/grub-install.in: Save the basename of $0 in $self, and use the
23130 latter in informational messages. Use the same format for --version
23131 as the binary programs.
23132 * util/grub-mkconfig.in: Likewise.
23133 * util/grub-mkrescue.in: Likewise.
23134 * util/grub-reboot.in: Likewise.
23135 * util/grub-set-default.in: Likewise.
23136 * util/i386/efi/grub-install.in: Likewise.
23137 * util/ieee1275/grub-install.in: Likewise.
23138 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23139
e8a6f3b6
GS
231402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23141
23142 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23143 embedding area. Use <= instead of == when checking for non-emptiness.
23144
f4d095d7
GS
231452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23146
23147 * configure.ac: Add `.' to the directories searched for unifont.
23148
50e532ca
CW
231492010-06-08 Colin Watson <cjwatson@ubuntu.com>
23150
23151 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23152 grub_script.yy.h.
23153
d39f3dec
CW
231542010-06-08 Colin Watson <cjwatson@ubuntu.com>
23155
23156 * docs/grub.texi (History): Expand to cover GRUB 2.
23157 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23158 commands, not `terminal'.
23159 (serial): Likewise.
23160 (terminal_input): New section.
23161 (terminal_output): New section.
23162 (uppermem): New section (stub).
23163 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23164
6ef0ddb4
CW
231652010-06-08 Colin Watson <cjwatson@ubuntu.com>
23166
23167 * docs/grub.texi (Security): Menu entries are unrestricted by
23168 default, not restricted to superusers as I had previously thought.
23169 Reword to account for this.
23170
e0f4c438
CW
231712010-06-07 Colin Watson <cjwatson@ubuntu.com>
23172
23173 * kern/emu/misc.c (device_mapper_null_log): New function.
23174 (grub_device_mapper_supported): New function.
23175 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23176 prototype.
23177 * kern/emu/hostdisk.c (find_partition_start): Check whether
23178 device-mapper is supported before trying to use it.
23179 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23180
da908200
CW
231812010-06-07 Colin Watson <cjwatson@ubuntu.com>
23182
23183 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23184 (File name syntax): Likewise.
23185 (help): --all is no longer supported in GRUB 2. Be more precise
23186 about pattern matching.
23187
fb55c3ac
CW
231882010-06-07 Colin Watson <cjwatson@ubuntu.com>
23189
23190 * normal/completion.c (grub_normal_do_completion): When completing
23191 arguments to "set" and the current word contains an equals sign,
23192 skip to after the equals sign before starting completion.
23193
258c2573
CW
231942010-06-07 Colin Watson <cjwatson@ubuntu.com>
23195
23196 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23197
ee75515e
CW
231982010-06-07 Colin Watson <cjwatson@ubuntu.com>
23199
23200 * docs/grub.texi (Network): New section.
23201 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23202 `(nd)' as in GRUB Legacy.
23203 (pxe_unload): New section.
23204
a6a700aa
CW
232052010-06-07 Colin Watson <cjwatson@ubuntu.com>
23206
23207 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23208 in the rescue shell, so recommend using `set' instead. Thanks,
23209 Jordan Uggla.
23210
4003dd38
CW
232112010-06-07 Colin Watson <cjwatson@ubuntu.com>
23212
23213 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23214 (password): New section.
23215 (password_pbkdf2): New section.
23216 (search): New section.
23217 (Security): New section.
23218 (Troubleshooting): New section, currently very incomplete.
23219 (Invoking grub-mkpasswd-pbkdf2): New section.
23220 (Internals): New section, currently very incomplete.
23221
e1cbcc40
CW
232222010-06-07 Colin Watson <cjwatson@ubuntu.com>
23223
23224 * util/grub.d/00_header.in: Add some more quoting (of
23225 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23226 work again.
23227 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23228
db8fa1ad
CW
232292010-06-07 Colin Watson <cjwatson@ubuntu.com>
23230
23231 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23232 to `count', fixing variable shadowing that broke the -c option.
23233
232342010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23235
23236 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23237 in case they contain spaces.
23238
f28a9212
CW
232392010-06-04 Colin Watson <cjwatson@ubuntu.com>
23240
23241 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23242 "part_" to partmap module names, in line with grub-install.
23243 Reported by: Jindřich Makovička (Debian bug #584426).
23244
9cdfe32f
CW
232452010-06-04 Colin Watson <cjwatson@ubuntu.com>
23246
23247 * util/grub-mkimage.c: Make target-related error messages slightly
23248 more helpful; -O talks about "format". Explicitly point to the use
23249 of -O if no target is specified.
23250 Reported by: Didier Raboud (Debian bug #584415).
23251
795b593a
CW
232522010-06-03 Colin Watson <cjwatson@ubuntu.com>
23253
23254 * INSTALL: Document several build requirements for optional features
23255 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23256
9d9b5833
GS
232572010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23258
23259 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23260 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23261 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23262
0819fec8
CW
232632010-06-02 Colin Watson <cjwatson@ubuntu.com>
23264
23265 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23266 Thanks to Jordan Uggla for spotting this.
23267
49396b4f
VS
232682010-06-02 Aleš Nesrsta <starous@volny.cz>
23269
23270 Finally make USB usable.
23271
23272 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23273 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23274 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23275 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23276 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23277 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23278 (GRUB_OHCI_FSMPS): Likewise.
23279 (GRUB_OHCI_PERIODIC_START): Likewise.
23280 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23281 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23282 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23283 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23284 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23285 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23286 (grub_ohci_transaction): Likewise.
23287 (grub_ohci_transfer): Improve condition detection algorithms.
23288 Handle toggle property. Program the transactions correctly.
23289 Improve error handling. Various important fixups.
23290 (grub_ohci_portstatus): Put register writes in right order.
23291 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23292 (grub_uhci_transfer): Don't show "failed" message on success.
23293 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23294 array.
23295 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23296 determine its size.
23297 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23298 before initialization is completed. Use IN direction for empty
23299 transfers. Use last_trans and compute toggle.
23300 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23301 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23302 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23303 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23304 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23305 (grub_usb_device): Increase toggle to 256.
23306 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23307 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23308 GRUB_USBMS_SUBCLASS_SFF8070.
23309 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23310 (grub_scsi_inquiry): New member page and alloc_length.
23311 (grub_scsi_request_sense): New structure.
23312 (grub_scsi_request_sense_data): Likewise.
23313 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23314 control.
23315 * disk/scsi.c (grub_scsi_request_sense): New function.
23316 (grub_scsi_test_unit_ready): Likewise.
23317 (grub_scsi_inquiry): Fill new fields.
23318 (grub_scsi_read_capacity): Likewise.
23319 (grub_scsi_read10): Add request sense at the end.
23320 (grub_scsi_read12): Likewise.
23321 (grub_scsi_write10): Likewise.
23322 (grub_scsi_write12): Likewise.
23323 (grub_scsi_open): Add Test Unit Ready.
23324 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23325 Support additional subclasses. Con't clear halt yet. Activate the
23326 proper config. Calculate LUNs correctly.
23327 (grub_usbms_transfer): Various important fixups.
23328
233292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23330
23331 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23332 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23333 (grub_ohci_fini_hw): New function.
23334 (grub_ohci_restore_hw): Likewise.
23335 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23336 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23337 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23338
233392010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23340
23341 Dedicated DMA allocations.
23342
23343 * bus/pci.c (grub_memalign_dma32): New function
23344 (grub_dma_free): Likewise.
23345 (grub_dma_get_virt): Likewise.
23346 (grub_dma_get_phys): Likewise.
23347 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23348 (grub_ohci_pci_iter): Use dma32_alloc.
23349 (grub_ohci_transfer): Likewise.
23350 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23351 (grub_usb_bulk_readwrite): Likewise.
23352 * include/grub/pci.h: Add declarations.
23353
233542010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23355
23356 CS5536 support.
23357
23358 * bus/cs5536.c: New file.
23359 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23360 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23361 (cs5536_mod_SOURCES): New variable.
23362 (cs5536_mod_CFLAGS): Likewise.
23363 (cs5536_mod_LDFLAGS): Likewise.
23364 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23365 machine/pci.h.
23366 (kernel_img_SOURCES): Add bus/cs5536.c.
23367 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23368 usb_keyboard.mod.
23369 (usb_mod_SOURCES): New variable.
23370 (usb_mod_CFLAGS): New variable.
23371 (usb_mod_LDFLAGS): New variable.
23372 (usbtest_mod_SOURCES): New variable.
23373 (usbtest_mod_CFLAGS): New variable.
23374 (usbtest_mod_LDFLAGS): New variable.
23375 (ohci_mod_SOURCES): New variable.
23376 (ohci_mod_CFLAGS): New variable.
23377 (ohci_mod_LDFLAGS): New variable.
23378 (usbms_mod_SOURCES): New variable.
23379 (usbms_mod_CFLAGS): New variable.
23380 (usbms_mod_LDFLAGS): New variable.
23381 (usb_keyboard_mod_SOURCES): New variable.
23382 (usb_keyboard_mod_CFLAGS): New variable.
23383 (usb_keyboard_mod_LDFLAGS): New variable.
23384 * include/grub/smbus.h: New file.
23385 * include/grub/cs5536.h: New file.
23386
0b35b2a9
CW
233872010-06-02 Colin Watson <cjwatson@ubuntu.com>
23388
23389 * util/grub.d/00_header.in: Add safety check to make sure that
23390 ${locale_dir} exists before trying to probe it.
23391
ca0afd5b
CW
233922010-06-02 Colin Watson <cjwatson@ubuntu.com>
23393
23394 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23395 per the GNU Coding Standards; this is now too obscure to be worth
23396 documenting.
23397 (QNX): Likewise.
23398 (chainloader): Remove cross-reference to `SCO UnixWare'.
23399
1c41aa78
CW
234002010-06-02 Colin Watson <cjwatson@ubuntu.com>
23401
23402 * docs/grub.texi (Chain-loading): New section.
23403 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23404 adjusted for GRUB 2.
23405 (SCO UnixWare): Likewise.
23406 (QNX): Likewise.
23407 (chainloader): Add reference to `Block list syntax'.
23408 (drivemap): New section.
23409 (parttool): New section.
23410
bb8ea0f5
CW
234112010-06-02 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23414 the grub shell'.
23415 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23416 (Installing GRUB using grub-install): Remove reference to the grub
23417 shell; mention `grub-mkimage' and `grub-setup' instead.
23418 (Invoking grub-install): Likewise.
23419 (Interface): Add reference to `Menu entry editor'.
23420 (serial): Remove `--device' option.
23421
288dd6ed
CW
234222010-06-02 Colin Watson <cjwatson@ubuntu.com>
23423
23424 * docs/grub.texi (Configuration): New section, documenting
23425 configuration file generation using grub-mkconfig. I've left a slot
23426 for documenting the full shell scripting format but have not yet
23427 started on writing that up.
23428 (Invoking grub-mkconfig): New section.
23429
34c9f0e9
CW
234302010-06-02 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23433 (GNU GRUB manual): Likewise.
23434 (General commands): Update description of `terminfo' for GRUB 2.
23435
9121567e
CW
234362010-06-02 Colin Watson <cjwatson@ubuntu.com>
23437
23438 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23439 (GRUB_MOD_INIT): Fix capitalisation.
23440 * docs/grub.texi (Command-line and menu entry commands): Document
23441 gettext and gptsync commands.
23442
ab631611
CW
234432010-06-02 Colin Watson <cjwatson@ubuntu.com>
23444
23445 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23446 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23447
bde4a9ac
CW
234482010-06-01 Colin Watson <cjwatson@ubuntu.com>
23449
23450 Add btrfs probing support, currently only in the single-device case.
23451
23452 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23453 function.
23454 (grub_guess_root_device): Call find_root_device_from_mountinfo
23455 before looking in /dev.
23456
b1d17e10
VS
234572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23458
23459 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23460 GRUB_DISK_SIZE_UNKNOWN.
23461 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23462
dfbfe004
JS
234632010-05-31 Jiro SEKIBA <jir@unicus.jp>
23464
23465 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23466 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23467 corrupted or not synced properly.
23468
c2ffc8e9
VS
234692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23470
23471 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23472 Reported by: Seth Goldberg.
23473
56293166
VS
234742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23477 addition of dest.
23478 Reported by: Seth Goldberg.
23479
7620e7de
VS
234802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23481
23482 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23483 Reported by: Seth Goldberg.
23484
c837af3f
VS
234852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23486
23487 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23488 64-bit address as signed on MIPS.
23489
c7c75cf4
CW
234902010-05-28 Colin Watson <cjwatson@ubuntu.com>
23491
23492 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23493 to the empty string.
23494
fa4b8490
BC
234952010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23496
23497 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23498
23499 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23500 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23501 * kern/misc.c (__enable_execute_stack): Disable on
23502 GRUB_MACHINE_EMU.
23503
a33075b9
CW
235042010-05-28 Colin Watson <cjwatson@ubuntu.com>
23505
23506 Make grub-probe work with symbolic links under /dev/mapper as well
23507 as with real block devices. The Linux world seems to be (at best)
23508 in transition here, and GRUB shouldn't get caught in the middle.
23509
23510 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23511 /dev/mapper.
23512
d8708134
CW
235132010-05-27 Colin Watson <cjwatson@ubuntu.com>
23514
23515 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23516 input files (in which case exit zero).
23517
db2102a0
CW
235182010-05-27 Colin Watson <cjwatson@ubuntu.com>
23519
23520 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23521 return NULL for various reasons even if it has a maximum-length
23522 buffer: for example, there might be a symlink loop, or the path
23523 might exceed PATH_MAX. If this happens, return NULL.
23524
5fdba519
RM
235252010-05-27 Robert Millan <rmh@gnu.org>
23526
23527 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23528 partmap module to handle cross-partmap setups.
23529 Reported by Orestes Mas. Gràcies!
23530
d1d368e4
CW
235312010-05-27 Colin Watson <cjwatson@ubuntu.com>
23532
23533 * util/grub-mkrescue.in: Initialise override_dir rather than
23534 assuming that it's unset or empty in the environment.
23535
95ac3c73
GS
235362010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23537
23538 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23539 variable index into p_index to suppress a warning with -Wshadow.
23540
7d8c0213
BC
235412010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23542
23543 * INSTALL: Added flex >= 2.5.35 requirement.
23544
db4d5813
VS
235452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23548
f24f4300
VS
235492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 cmostest support.
23552
23553 * commands/i386/cmostest.c: New file.
23554 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23555 (cmostest_mod_SOURCES): New variable.
23556 (cmostest_mod_CFLAGS): Likewise.
23557 (cmostest_mod_LDFLAGS): Likewise.
23558 * conf/i386-pc.rmk: Likewise.
23559 * docs/grub.texi (Vendor power-on keys): New section.
23560 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23561 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23562 and GRUB_BUTTON_CMOS_ADDRESS.
23563 * util/grub.d/00_header.in: Handle powering-on by separate button.
23564
ad603f61
VS
235652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23566
23567 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23568 Removed drawing_scrollbar argument. All users updated
23569 Fixes #29792.
23570 Reported by Jo Shields
23571
3ecb080a
VS
235722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23573
23574 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23575 buffer since gfxterm handles double repaint.
23576
5f2316c1
VS
235772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23578
23579 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23580 * term/gfxterm.c (real_scroll): Likewise.
23581
9a25f885
VS
235822010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23583
23584 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23585 before calling BIOS.
23586
39fbb79a
VS
235872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23588
23589 * include/grub/i18n.h: Always enable grub_gettext.
23590
228cfa97
VS
235912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23594 partition naming style.
23595
21717c8f
CW
235962010-05-21 Colin Watson <cjwatson@ubuntu.com>
23597
23598 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23599 not the first option.
23600
c0f48e65
CW
236012010-05-20 Colin Watson <cjwatson@ubuntu.com>
23602
23603 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23604
96779aec
CW
236052010-05-20 Colin Watson <cjwatson@ubuntu.com>
23606
23607 * util/misc.c: Move inclusion of <limits.h> to ...
23608 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23609
fa9d256e
GS
236102010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23611
23612 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23613 Fix merge error in NetBSD code.
23614 (find_partition_start) [__NetBSD__]: Likewise.
23615
123b7a85
BC
236162010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23617
23618 Fix grub-mkrescue usage unit testing.
23619
23620 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23621
74276c0d
CF
236222010-05-18 Christian Franke <franke@computer.org>
23623
23624 * util/grub.d/10_windows.in: Use path names instead of
23625 drive letters to prevent warning from Cygwin 1.7.
23626 Add drivemap command to menuentry if needed.
23627
c4f7b523
ST
236282010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23629
23630 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23631 gnumach and gnumach.gz.
23632
95b97950
VS
236332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 * include/grub/i18n.h (gettext): Inline instead of using #define.
23636 (grub_gettext): Likewise.
23637 (_): Likewise.
23638
01b8d2d7
VS
236392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23640
23641 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23642 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23643 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23644 (main): Add a slash after pkglibdirroot.
23645
654e1d1e
VS
236462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 * util/grub-install.in: Add missing "in" keyword.
23649
26966aeb
VS
236502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23651
23652 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23653 Reported by: Seth Goldberg.
23654
75006747
VS
236552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23656
23657 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23658
74cbf5bd
CW
236592010-05-18 Colin Watson <cjwatson@ubuntu.com>
23660
23661 * configure.ac: Check for Linux device-mapper support.
23662
23663 * util/hostdisk.c (device_is_mapped): New function.
23664 (find_partition_start): New function, partly broken out from
23665 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23666 device-mapper support added.
23667 (linux_find_partition): Use find_partition_start.
23668 (convert_system_partition_to_system_disk): Add `st' argument.
23669 Support Linux /dev/mapper/* devices if device-mapper support is
23670 available; only DM-RAID devices are understood at present.
23671 (find_system_device): Add `st' argument. Pass it to
23672 convert_system_partition_to_system_disk.
23673 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23674 find_system_device and convert_system_partition_to_system_disk. Use
23675 find_partition_start.
23676
23677 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23678 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23679 * util/deviceiter.c [__linux__]: Define MINOR.
23680 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23681 * util/mkdevicemap.c (grub_putchar): New function.
23682 (grub_getkey): New function.
23683 (grub_refresh): New function.
23684 (main): Set debug=all if -v -v is used.
23685
355b51e9
CW
236862010-05-18 Colin Watson <cjwatson@ubuntu.com>
23687
23688 Fix build with non-GNU libcs.
23689
23690 * util/misc.c (canonicalize_file_name): Move to ...
23691 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23692 grub_make_system_path_relative_to_its_root.
23693
7fb5c25f
CW
236942010-05-18 Colin Watson <cjwatson@ubuntu.com>
23695
23696 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23697 we handle finding grub-mkimage. Default to finding grub-mkimage in
23698 ${bindir} with program_transform_name applied, and provide a
23699 --grub-mkimage option to override this.
23700
1d3293d6
VS
237012010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 Remove grub-mkisofs.
23704
23705 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23706 (grub_mkisofs_SOURCES): Removed.
23707 (grub_mkisofs_CFLAGS): Removed.
23708 * util/mkisofs/defaults.h: Removed.
23709 * util/mkisofs/eltorito.c: Likewise.
23710 * util/mkisofs/exclude.h: Likewise.
23711 * util/mkisofs/hash.c: Likewise.
23712 * util/mkisofs/include/: Likewise.
23713 * util/mkisofs/include/fctldefs.h: Likewise.
23714 * util/mkisofs/include/mconfig.h: Likewise.
23715 * util/mkisofs/include/prototyp.h: Likewise.
23716 * util/mkisofs/include/statdefs.h: Likewise.
23717 * util/mkisofs/iso9660.h: Likewise.
23718 * util/mkisofs/joliet.c: Likewise.
23719 * util/mkisofs/match.c: Likewise.
23720 * util/mkisofs/match.h: Likewise.
23721 * util/mkisofs/mkisofs.c: Likewise.
23722 * util/mkisofs/mkisofs.h: Likewise.
23723 * util/mkisofs/msdos_partition.h: Likewise.
23724 * util/mkisofs/multi.c: Likewise.
23725 * util/mkisofs/name.c: Likewise.
23726 * util/mkisofs/rock.c: Likewise.
23727 * util/mkisofs/tree.c: Likewise.
23728 * util/mkisofs/write.c: Likewise.
23729
5dde9afe
VS
237302010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23731
23732 Unify grub-mkimage accross platforms.
23733
23734 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23735 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23736 (grub_mkelfimage_SOURCES): Removed.
23737 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23738 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23739 (bin_UTILITIES): Add grub-mkimage.
23740 (grub_mkimage_SOURCES): New variable.
23741 (kernel_img_HEADERS): Remove machine/kernel.h.
23742 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23743 (pkglib_PROGRAMS): Add kernel.img.
23744 (kernel_img_HEADERS): Add machine/kernel.h.
23745 (kernel_img_FORMAT): Removed.
23746 (bin_UTILITIES): Remove grub-mkimage.
23747 (grub_mkimage_SOURCES): Removed.
23748 (grub_mkimage_CFLAGS): Likewise.
23749 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23750 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23751 (pkglib_PROGRAMS): Add kernel.img.
23752 (bin_UTILITIES): Remove grub-mkimage.
23753 (grub_mkimage_SOURCES): Removed.
23754 (grub_mkimage_CFLAGS): Likewise.
23755 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23756 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23757 (pkglib_PROGRAMS): Add kernel.img.
23758 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23759 (pkglib_PROGRAMS): Add kernel.img.
23760 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23761 (grub_mkimage_SOURCES): Removed.
23762 (grub_mkimage_CFLAGS): Likewise.
23763 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23764 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23765 (pkglib_PROGRAMS): Add kernel.img.
23766 (bin_UTILITIES): Remove grub-mkimage.
23767 (grub_mkimage_SOURCES): Removed.
23768 (grub_mkimage_CFLAGS): Likewise.
23769 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23770 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23771 (grub_mkimage_SOURCES): Removed.
23772 (grub_mkimage_CFLAGS): Likewise.
23773 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23774 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23775 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23776 (grub_pe32_optional_header): ... this.
23777 (grub_pe64_optional_header): ... and this. All users updated.
23778 (GRUB_PE32_PE32_MAGIC): Split into ..
23779 (GRUB_PE32_PE32_MAGIC): .. this.
23780 (GRUB_PE32_PE64_MAGIC): .. and this.
23781 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23782 * include/grub/elf.h (PT_GNU_STACK): New definition.
23783 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23784 * include/grub/i386/efi/kernel.h: Likewise.
23785 * include/grub/i386/kernel.h: Likewise.
23786 * include/grub/i386/pc/kernel.h: Likewise.
23787 * include/grub/i386/qemu/boot.h: Likewise.
23788 * include/grub/mips/kernel.h: Likewise.
23789 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23790 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23791 * include/grub/powerpc/kernel.h: Likewise.
23792 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23793 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23794 * include/grub/sparc64/kernel.h: Likewise.
23795 * include/grub/x86_64/efi/kernel.h: Likewise.
23796 * include/grub/x86_64/kernel.h: Likewise.
23797 * include/grub/offsets.h: New file.
23798 * include/grub/kernel.h (grub_module_info): Split into ...
23799 (grub_module_info32): ... this.
23800 (grub_module_info64): ... and this.
23801 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23802 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23803 (grub_boot_blocklist): Moved from here ...
23804 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23805 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23806 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23807 * include/grub/types.h (grub_target_to_host16): Removed.
23808 (grub_target_to_host32): Likewise.
23809 (grub_target_to_host64): Likewise.
23810 (grub_host_to_target16): Likewise.
23811 (grub_host_to_target32): Likewise.
23812 (grub_host_to_target64): Likewise.
23813 (grub_host_to_target_addr): Likewise.
23814
23815 Support grub-mkrescue for efi, coreboot and qemu.
23816
23817 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23818 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23819 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23820 * util/grub-mkrawimage.c: Moved from here ...
23821 * util/grub-mkimage.c: ... here. All users updated.
23822 (ALIGN_ADDR): Use image_target.
23823 (TARGET_NO_FIELD): New const.
23824 (image_target_desc): New type.
23825 (image_targets): New array.
23826 (grub_target_to_host64): Use image_target.
23827 (grub_target_to_host32): Likewise.
23828 (grub_target_to_host16): Likewise.
23829 (grub_host_to_target64): Likewise.
23830 (grub_host_to_target32): Likewise.
23831 (grub_host_to_target16): Likewise.
23832 (grub_host_to_target_addr): Likewise.
23833 (generate_image): Handle multiimage.
23834 (main): Require -O parameter. All users updated.
23835 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23836 util/efi/grub-mkimage.c
23837 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23838 New option --rom-directory.
23839 Use xorriso.
23840 * util/i386/efi/grub-mkimage.c: Removed.
23841 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23842 (grub_target_to_host32): Likewise.
23843 (grub_target_to_host64): Likewise.
23844 (grub_host_to_target16): Likewise.
23845 (grub_host_to_target32): Likewise.
23846 (grub_host_to_target64): Likewise.
23847 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23848 (grub_target_to_host32): Likewise.
23849 (grub_target_to_host64): Likewise.
23850 (grub_host_to_target16): Likewise.
23851 (grub_host_to_target32): Likewise.
23852 (grub_host_to_target64): Likewise.
23853
f4fc97d0
BC
238542010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23855
23856 Source tree is reorganized for emu build.
23857
23858 * include/grub/util/console.h: Move from here...
23859 * include/grub/emu/console.h: ...to here.
23860 * include/grub/util/getroot.h: Move from here...
23861 * include/grub/emu/getroot.h: ...to here.
23862 * include/grub/util/hostdisk.h: Move from here...
23863 * include/grub/emu/hostdisk.h: ...to here.
23864 * util/console.c: Move from here...
23865 * kern/emu/console.c: ...to here.
23866 * util/getroot.c: Move from here...
23867 * kern/emu/getroot.c: ...to here.
23868 * util/grub-emu.c: Move from here...
23869 * kern/emu/main.c: ...to here.
23870 * util/hostdisk.c: Move from here...
23871 * kern/emu/hostdisk.c: ...to here.
23872 * util/hostfs.c: Move from here...
23873 * kern/emu/hostfs.c: ...to here.
23874 * util/mm.c: Move from here...
23875 * kern/emu/mm.c: ...to here.
23876 * util/pci.c: Move from here...
23877 * bus/emu/pci.c: ...to here.
23878 * util/sdl.c: Move from here...
23879 * video/emu/sdl.c: ...to here.
23880 * util/time.c: Move from here...
23881 * kern/emu/time.c: ...to here.
23882 * util/usb.c: Move from here...
23883 * bus/usb/emu/usb.c: ...to here.
23884
23885 * include/grub/emu/misc.h: New header for grub-emu functions.
23886 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23887
23888 * conf/any-emu.rmk: Rule updates for above renames.
23889 * conf/common.rmk: Likewise.
23890 * conf/i386-pc.rmk: Likewise.
23891 * conf/i386-qemu.rmk: Likewise.
23892 * conf/mips.rmk: Likewise.
23893 * conf/sparc64-ieee1275.rmk: Likewise.
23894 * conf/x86-efi.rmk: Likewise.
23895
23896 * disk/lvm.h: #include updates for above renames.
23897 * util/grub-mkrelpath.c: Likewise.
23898 * util/grub-probe.c: Likewise.
23899 * util/i386/pc/grub-setup.c: Likewise.
23900 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23901 * kern/emu/console.c: Likewise.
23902 * kern/emu/getroot.c: Likewise.
23903 * kern/emu/hostdisk.c: Likewise.
23904 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23905
23906 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23907 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23908 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23909 * util/misc.c: Remove grub-emu functions.
23910
cced9145
VS
239112010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 Fix gfxmenu crash.
23914 Reported by: Thorsten Grützmacher.
23915
23916 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23917 timeout hook.
23918 (circprog_set_property): Register and unregister timeout hook.
23919 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23920 (label_destroy): Free template. and unregister hook.
23921 (label_set_state): New function.
23922 (label_set_property): Handle templates and hooks.
23923 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23924 timeout hook.
23925 (progress_bar_set_property): Register and unregister timeout hook.
23926 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23927 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23928 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23929 (update_timeout_visit): Removed.
23930 (update_timeouts): New function.
23931 (redraw_timeouts): Likewise.
23932 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23933 (grub_gfxmenu_clear_timeout): Likewise.
23934 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23935 (grub_gfxmenu_timeout_notify): Likewise.
23936 (grub_gfxmenu_timeout_notifications): New external variable.
23937 (grub_gfxmenu_timeout_register): New function.
23938 (grub_gfxmenu_timeout_unregister): Likewise.
23939
c6e5caab
VS
239402010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23941
23942 Transform (broken) vga terminal into (working) vga video driver.
23943
23944 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23945 video/i386/pc/vga.c.
23946 * include/grub/video.h (grub_video_driver_id):
23947 Add GRUB_VIDEO_DRIVER_VGA.
23948 * term/i386/pc/vga.c: Renamed to ...
23949 * video/i386/pc/vga.c: ...this
23950 (DEBUG_VGA): Removed.
23951 (CHAR_WIDTH): Likewise.
23952 (CHAR_HEIGHT): Likewise.
23953 (TEXT_WIDTH): Likewise.
23954 (TEXT_HEIGHT): Likewise.
23955 (DEFAULT_FG_COLOR): Likewise.
23956 (DEFAULT_BG_COLOR): Likewise.
23957 (colored_char): Likewise.
23958 (xpos): Likewise.
23959 (ypos): Likewise.
23960 (cursor_state): Likewise.
23961 (fg_color): Likewise.
23962 (bg_color): Likewise.
23963 (text_buf): Likewise.
23964 (page): Likewise.
23965 (font): Likewise.
23966 (framebuffer): New variable.
23967 (set_read_map): Disabled.
23968 (setup): New variable.
23969 (is_target): Likewise.
23970 (grub_vga_mod_init): Likewise.
23971 (grub_vga_mod_fini): Likewise.
23972 (check_vga_mem): Likewise.
23973 (write_char): Likewise.
23974 (write_cursor): Likewise.
23975 (scroll_up): Likewise.
23976 (grub_vga_putchar): Likewise.
23977 (grub_vga_getcharwidth): Likewise.
23978 (grub_vga_getwh): Likewise.
23979 (grub_vga_getxy): Likewise.
23980 (grub_vga_gotoxy): Likewise.
23981 (grub_vga_cls): Likewise.
23982 (grub_vga_setcolorstate): Likewise.
23983 (grub_vga_setcursor): Likewise.
23984 (grub_video_vga_init): New function.
23985 (grub_video_vga_setup): Likewise.
23986 (grub_video_vga_fini): Likewise.
23987 (update_target): Likewise.
23988 (grub_video_vga_blit_bitmap): Likewise.
23989 (grub_video_vga_blit_render_target): Likewise.
23990 (grub_video_vga_set_active_render_target): Likewise.
23991 (grub_video_vga_get_active_render_target): Likewise.
23992 (grub_video_vga_swap_buffers): Likewise.
23993 (grub_video_vga_set_palette): Likewise.
23994 (grub_video_vga_get_info_and_fini): Likewise.
23995 (grub_vga_term): Removed.
23996 (grub_video_vga_adapter): New variable.
23997 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23998 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23999
2bf61a98
VS
240002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24001
24002 * video/readers/jpeg.c: Indented.
24003
09ddcd11
VS
240042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24005
24006 Various jpeg cleanups.
24007
24008 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24009 (grub_jpeg_decode_quan_table): Use sizeof.
24010 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24011
e5507505
PH
240122010-05-05 Peter Hurley <No e-mail available> (tiny change)
24013
24014 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24015 tables. Ignore non-last ac bit.
24016 (grub_jpeg_decode_quan_table): Likewise.
24017
7e720a9b
VS
240182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24021 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24022 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24023 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24024 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24025 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24026
a7fc080b
VS
240272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24028
24029 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24030 error.
24031
2bf6012d
VS
240322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24035
265d68cd
VS
240362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24037
24038 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24039 condition.
24040
240412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24042
24043 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24044 part.
24045
265d68cd 240462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24047
24048 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24049 pointers.
24050
265d68cd 240512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24052
24053 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24054
d1b61374
CF
240552010-05-01 Christian Franke <franke@computer.org>
24056
24057 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24058 Remove broken Cygwin path conversion.
24059 * util/misc.c: [__CYGWIN__] Add include and define.
24060 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24061 for Cygwin 1.7.
24062 (make_system_path_relative_to_its_root): Simplify loop, replace early
24063 return by break.
24064 [__CYGWIN__] Add conversion to win32 path.
24065 Include "/" case in trailing slash removal.
24066
3558c6e9
VS
240672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24068
24069 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24070 Reported by: Seth Goldberg
24071
f5f3ff93
VS
240722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24073
24074 * commands/help.c (grub_cmd_help): Fix a typo.
24075 Reported by: Seth Goldberg
24076
d8b5cd40
VS
240772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24080 name and add N_.
24081 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24082 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24083 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24084 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24085 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24086 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24087 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24088 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24089 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24090 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24091 * normal/context.c (GRUB_MOD_INIT): Likewise.
24092 * normal/main.c (GRUB_MOD_INIT): Likewise.
24093 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24094 * term/serial.c (GRUB_MOD_INIT): Likewise.
24095 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24096
88c14915
VS
240972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24100 extra == 0.
24101
165134bc
VS
241022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24103
24104 * commands/iorw.c: New file.
24105 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24106 (iorw_mod_SOURCES): New variable.
24107 (iorw_mod_CFLAGS): Likewise.
24108 (iorw_mod_LDFLAGS): Likewise.
24109
c5ac9b32
VS
241102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 Hotkey support
24113
24114 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24115 * normal/main.c (hotkey_aliases): New variable.
24116 (grub_normal_add_menu_entry): Parse "--hotkey".
24117 * normal/menu_text.c (run_menu): Handle hotkeys.
24118
ce60689c
VS
241192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 * kern/i386/coreboot/init.c (grub_machine_init): Call
24122 grub_machine_mmap_init on qemu.
24123
0359d006
VS
241242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 * boot/i386/qemu/boot.S: Add a missing .code16.
24127
7819a456
VS
241282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24129
24130 Use LBIO on coreboot.
24131
24132 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24133 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24134 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24135 New declaration.
24136 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24137 grub_machine_mmap_init on coreboot.
24138 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24139 GRUB_LINUXBIOS_MEMBER_LINK.
24140 (grub_machine_mmap_iterate): Fix declaration.
24141 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24142
7210dca9
VS
241432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 Split coreboot and multiboot ports.
24146
24147 * conf/i386-multiboot.rmk: New file.
24148 * configure.ac: Add multiboot port.
24149 * include/grub/i386/multiboot/boot.h: New file.
24150 * include/grub/i386/multiboot/console.h: Likewise.
24151 * include/grub/i386/multiboot/init.h: Likewise.
24152 * include/grub/i386/multiboot/kernel.h: Likewise.
24153 * include/grub/i386/multiboot/loader.h: Likewise.
24154 * include/grub/i386/multiboot/memory.h: Likewise.
24155 * include/grub/i386/multiboot/serial.h: Likewise.
24156 * include/grub/i386/multiboot/time.h: Likewise.
24157 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24158 * loader/multiboot.c: Likewise.
24159 * loader/multiboot_mbi2.c: Likewise.
24160 * util/grub-mkrescue.in: Generate multiboot rescue.
24161
6f8aaf68
VS
241622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24163
3080f7a7
VS
24164 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24165
241662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24169
24170 * commands/terminal.c (abstract_terminal): New struct.
24171 (handle_command): New function. Based on grub_cmd_terminal_input.
24172 (grub_cmd_terminal_input): Use handle_command.
24173 (grub_cmd_terminal_output): Use handle_command.
24174
a8ebb841
BC
241752010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24176
24177 Fix comment handling.
24178
24179 * tests/grub_script_comments.in: New testcase.
24180 * conf/tests.rmk: Rules for new testcase.
24181 * script/yylex.l: Updated flex rules.
24182
bb06ba08
ST
241832010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24184
24185 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24186 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24187 if argc is 1.
bb06ba08 24188
cc9d2425
VS
241892010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24190
24191 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24192 autogen issues.
24193
460d8402
CF
241942010-04-26 Christian Franke <franke@computer.org>
24195
24196 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24197 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24198 (grub_get_prefix): Remove function.
24199 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24200 make_system_path_relative_to_its_root ().
24201 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24202
553c01f9
CF
242032010-04-24 Christian Franke <franke@computer.org>
24204
24205 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24206 (kernel_img_LDFLAGS): Remove -static-libgcc.
24207
2aec1692
CF
242082010-04-24 Christian Franke <franke@computer.org>
24209
24210 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24211 and CHECK_END_SYMBOL if grub-emu is built.
24212 Unset TARGET_OBJ2ELF if grub-emu is built
24213 without module support.
24214
f67dc308
JS
242152010-04-24 Jiro SEKIBA <jir@unicus.jp>
24216
24217 Nilfs2 support.
24218
24219 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24220 (grub_fstest_SOURCES): Likewise.
24221 (pkglib_MODULES): Add nilfs2.mod.
24222 (nilfs2_mod_SOURCES): New variable.
24223 (nilfs2_mod_CFLAGS): Likewise.
24224 (nilfs2_mod_LDFLAGS): Likewise.
24225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24226 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24227 * fs/nilfs2.c: New file.
24228
4ba8d354
VS
242292010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24230
24231 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24232 is not supported.
24233
0d2c20c6
GS
242342010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24235
24236 Add grub-mkconfig support for NetBSD.
24237
24238 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24239 * util/grub-mkconfig.in: export new NetBSD specific variables.
24240 * po/POTFILES-shell: added 10_netbsd.in.
24241 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24242
bc4a2d83
BC
242432010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24244
24245 Fix emu build with grub-emu-pci and grub-emu-modules.
24246
24247 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24248 functions.
24249 * include/grub/libpciaccess.h: New file.
24250 * conf/any-emu.rmk: Update kernel headers for emu build.
24251
f48c87aa
VS
242522010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24255
18959385
VS
242562010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24259
0037de3f
VS
242602010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24263 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24264 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24265 util/ieee1275/ofpath.c.
24266 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24267 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24268 * include/grub/sparc64/ieee1275/boot.h
24269 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24270 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24271 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24272 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24273 const char *.
24274 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24275 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24276 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24277 install.
24278
38e55e90
GS
242792010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24280
24281 * util/grub-mkconfig.in: Corrected two == equality tests.
24282 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24283 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24284 expect a number appended to it.
24285 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24286 expects a number appended to it.
24287
a9e6ff28
VS
242882010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24289
24290 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24291
0b830b8f
VS
242922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 * util/hostdisk.c (make_device_name): Change to new partition naming.
24295
0973daeb
VS
242962010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24297
24298 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24299
460d8402 243002010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24301
24302 * Makefile.in: Add missing localedir setting.
24303
0b456309
CW
243042010-04-14 Colin Watson <cjwatson@ubuntu.com>
24305
24306 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24307 mistake in r2156. Noticed by Anthony Fok.
24308
24309 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24310 @localedir@.
24311 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24312
08f46d62
BC
243132010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24314
24315 Fix a spurious, uninitialized variable warning.
24316
24317 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24318 Initialize variable, shdr.
24319 (grub_freebsd_load_elfmodule): Likewise.
24320 (grub_freebsd_load_elf_meta): Likewise.
24321
8c4a72d4
BC
243222010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24323
24324 Fix for escaped dollar in double quoted strings.
24325
24326 * script/yylex.l: Updated flex rules.
24327 * conf/tests.rmk: Rule for new testcase.
24328 * tests/grub_script_dollar.in: New testcase.
24329
ce44826e
CPE
243302010-04-13 Carles Pina i Estany <carles@pina.cat>
243312010-04-13 Colin Watson <cjwatson@ubuntu.com>
24332
24333 Enclose all translated strings in grub.cfg in single quotes, and
24334 escape them appropriately (Ubuntu bug #552921).
24335
24336 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24337 * util/grub.d/10_hurd.in: Use it.
24338 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24339 * util/grub.d/10_linux.in (linux_entry): Likewise.
24340
4b0cd8f8
VS
243412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24342
24343 Fix cygwin compilation.
24344
24345 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24346 * include/grub/misc.h (__register_frame_info)
24347 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24348 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24349 * kern/misc.c (__register_frame_info)
24350 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24351 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24352
01fcf061
VS
243532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24354
24355 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24356
5d04b11e
VS
243572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 Unify libgcc processing.
24360
24361 * Makefile.in (kernel_img_LDFLAGS): New variable.
24362 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24363 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24364 overwriting.
24365 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24366 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24367 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24368 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24369 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24370 overwriting. Remove -lgcc and -static-libgcc
24371 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24372 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24373 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24374 (kernel_img_LDFLAGS): Append instead of overwriting.
24375 Remove -lgcc and -static-libgcc
24376 * conf/sparc64-ieee1275.rmk: Likewise.
24377 * include/grub/powerpc/libgcc.h: Move to ...
24378 * include/grub/libgcc.h: .. this.
24379 * include/grub/libgcc.h: Don't export most of the function on x86.
24380 (__bswapsi2): New export.
24381 (__bswapdi2): Likewise.
24382 * include/grub/mips/libgcc.h: Removed.
24383 * include/grub/sparc64/libgcc.h: Likewise.
24384
b7f3ac29
VS
243852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24388 disk_info_msg (conflicts with gettexting into languages with cases).
24389
2c7031b1
GS
243902010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24391
24392 Add grub-probe support for NetBSD.
24393
24394 * util/getroot.c (find_root_device): Convert block device to
24395 character device on NetBSD.
24396 * util/probe.c (probe): Require character device on NetBSD.
24397 * util/hostdisk.c: NetBSD specific headers.
24398 (configure_device_driver): new function to tune device driver
24399 parameters (currently only for NetBSD floppy driver).
24400 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24401 via disklabel ioctl).
24402 (open_device): call configure_device_driver on NetBSD.
24403 (convert_system_partition_to_system_disk): NetBSD specific code.
24404 (device_is_wholedisk): Likewise.
24405 (grub_util_biosdisk_get_grub_dev): Likewise.
24406 (make_device_name): Fixed a typo in bsd_part_str.
24407 * configure.ac: check for opendisk() and getrawpartition() on
24408 NetBSD and set LIBUTIL.
24409 * Makefile.in: add LIBUTIL to LIBS.
24410
f516290c
BC
244112010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24412
24413 Documentation fix.
24414
24415 * util/grub-script-check.c: Better help message.
24416
d8dcc0df
BC
244172010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24418
24419 Fix FreeBSD build.
24420
24421 * configure.ac: Flex version check.
24422 * conf/common.rmk: Add -Wno-error to sh.mod.
24423 * script/yylex.l: Remove all #pragma.
24424
6734334a
VS
244252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24428 prototype.
24429 Reported by: Seth Goldberg.
24430
daea6abd
VS
244312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24434 Rename "module" to "module2".
24435 Reported by: Seth Goldberg.
24436
f2fd9d2b
VS
244372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24440 EXPORT_FUNC.
24441 Reported by: Seth Goldberg.
24442
be124579
VS
244432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24444
24445 * lib/posix_wrap/locale.h: Add missing file.
24446 Reported by: Seth Goldberg.
24447
ef5da797
VS
244482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24449
24450 grub-emu module load support.
24451
24452 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24453 NO_DYNAMIC_MODULES switched to this.
24454 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24455 (CFLAGS): Likewise.
24456 * conf/any-emu.rmk: Generate symlist.
24457 (kernel_img_HEADERS): Add util/datetime.h.
24458 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24459 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24460 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24461 kern/$(target_cpu)/cache.S.
24462 * configure.ac (grub-emu-modules): New option.
24463 * genmk.rb: Handle multiple source lists.
24464 * include/grub/sdl.h: New file.
24465 * include/grub/libusb.h: Likewise.
24466 * util/grub-emu.c (main): Hanle (host) root.
24467 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24468 GRUB_ERR_UNKNOWN_DEVICE.
24469 * util/misc.c: Move mm functions to ...
24470 * util/mm.c: ... here. All users updated.
24471
47822096
VS
244722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24475 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24476 missing files.
24477 (maintainer-clean): Remove libgcrypt-grub.
24478
5d7e7445
VS
244792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24482
25f4e252
EC
244832010-04-09 EFI Coder <eficoder@hotmail.com>
24484
24485 * normal/menu_text.c (print_message): Clean up the message and show
24486 the Fn information when on EFI
24487 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24488
027de555
VS
244892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24492 All users updated.
24493 * normal/crypto.c (read_crypto_list): Likewise.
24494 * normal/dyncmd.c (read_command_list): Likewise.
24495 * normal/term.c (read_terminal_list): Likewise.
24496 * normal/main.c (read_lists): Use explicit prefix.
24497 (read_lists_hook): Use read_lists.
24498 (grub_normal_execute): Likewise.
24499
47779711
VS
245002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24501
24502 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24503 Reported by: Thomas Schmitt.
24504 Add -no-emul-boot to grub-mkisofs parameters.
24505
1118c32e
VS
245062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24507
24508 * font/font.c: Indented.
24509
7d652447
BC
245102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24511
24512 Elif support to GRUB script (by Deepak Vankadaru).
24513
24514 * tests/grub_script_if.in: New testcase.
24515 * conf/tests.rmk: Rule for new testcase.
24516 * script/parser.y: Grammar rules for elif.
24517
34bb22df
BC
245182010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24519
24520 While and until loops support to GRUB script.
24521
24522 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24523 (grub_script_create_cmdwhile): New function prototype.
24524 (grub_script_execute_cmdwhile): New function prototype.
24525 * script/execute.c (grub_script_execute_cmdwhile): New function.
24526 * script/parser.y (command): New commands.
24527 (whilecmd): New grammar rule.
24528 (untilcmd): New grammar rule.
24529 * script/script.c (grub_script_create_cmdwhile): New function.
24530 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24531 function.
24532
24533 * tests/grub_script_while1.in: New testcase.
24534 * conf/tests.rmk: Rule for new testcase.
24535
e215d8e0
VS
245362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24537
24538 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24539 as *.jpg.
24540
d7c43ba1
MV
245412010-04-09 Mario Vazquez <mariovazq@gmail.com>
24542
24543 GRUB_BACKGROUND support.
24544
24545 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24546 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24547
d64795c0
VS
245482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24549
24550 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24551 Idea by: Mario Vazquez
d64795c0
VS
24552
24553 * util/grub.d/00_header.in: Load pf2 and image modules.
24554
f267f83a
VS
245552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 grub-mkconfig multiple terminal support.
24558
24559 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24560 * util/grub.d/00_header.in: Likewise.
24561
b7841ceb
VS
245622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24563
24564 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24565 we use cd $(srcdir).
24566
df60998c
CW
245672010-04-08 Colin Watson <cjwatson@ubuntu.com>
24568
24569 * util/grub.d/10_linux.in: Only use the first word of
24570 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24571 spaces in GRUB_DISTRIBUTOR.
24572 * util/grub.d/10_kfreebsd.in: Likewise.
24573 * util/grub.d/10_hurd.in: Likewise.
24574
fa09c82e
BC
245752010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24576
14e18ae3 24577 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24578
24579 * tests/util/grub-shell.in: Remove -serial stdio option.
24580
daf892b3
BC
245812010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 POSIX header file wrappers.
24584
24585 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24586 equivalents.
24587 * lib/posix_wrap/ctype.h: Likewise.
24588 * lib/posix_wrap/errno.h: Likewise.
24589 * lib/posix_wrap/langinfo.h: Likewise.
24590 * lib/posix_wrap/limits.h: Likewise.
24591 * lib/posix_wrap/localcharset.h: Likewise.
24592 * lib/posix_wrap/stdint.h: Likewise.
24593 * lib/posix_wrap/stdio.h: Likewise.
24594 * lib/posix_wrap/stdlib.h: Likewise.
24595 * lib/posix_wrap/string.h: Likewise.
24596 * lib/posix_wrap/sys/types.h: Likewise.
24597 * lib/posix_wrap/unistd.h: Likewise.
24598 * lib/posix_wrap/wchar.h: Likewise.
24599 * lib/posix_wrap/wctype.h: Likewise.
24600 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24601 (grub_script.yy.h): Likewise.
24602 * script/yylex.l: Remove POSIX emulation #defines.
24603 * Makefile.in (POSIX_CFLAGS): New variable.
24604 (GNULIB_UTIL_CFLAGS): Likewise.
24605
24606 Regexp support.
24607
24608 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24609 (regexp_mod_SOURCES): New variable.
24610 (regexp_mod_CFLAGS): Likewise.
24611 (regexp_mod_LDFLAGS): Likewise.
24612 * commands/regexp.c: New file.
24613 * gnulib/regcomp.c: New file. Imported from gnulib.
24614 * gnulib/regex.c: Likewise.
24615 * gnulib/regex_internal.c: Likewise.
24616 * gnulib/regex_internal.h: Likewise.
24617 * gnulib/regexec.c: Likewise.
24618 * gnulib/regex.h: Likewise.
24619
974ac4f7
VS
246202010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24621
24622 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24623 unsupported video mode types.
24624
2622c3ff
VS
246252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24628
064cb524
VS
246292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24630
24631 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24632 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24633
a8c3b552
VS
246342010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24635
24636 Remove unused grub_vga_get_font.
24637
24638 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24639 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24640
187bbe3d
GS
246412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24642
24643 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24644 * include/grub/misc.h: Likewise.
24645
b9396631
GS
246462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24647
24648 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24649 for which failure is fatal.
24650
50479feb
GS
246512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24652
24653 * util/grub-install.in: Use mkdir -p to create grub directory.
24654 * util/i386/efi/grub-install.in: Likewise.
24655 * util/ieee1275/grub-install.in: Likewise.
24656
b1654fdf
GS
246572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24658
24659 * Makefile.in (LEX): new variable.
24660
bd5a6415
GS
246612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24662
24663 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24664 `=' and added double quotes on operands of this equality test.
24665
3db3a82b
VS
246662010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 * Makefile.in (uninstall): Remove a leftover debug echo.
24669 Reported by: Grégoire Sutre
24670
38023412
VS
246712010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24672
24673 MIPS multiboot2 support.
24674
24675 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24676 (multiboot2_mod_SOURCES): New variable.
24677 (multiboot2_mod_CFLAGS): Likewise.
24678 (multiboot2_mod_LDFLAGS): Likewise.
24679 (multiboot2_mod_ASFLAGS): Likewise.
24680 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24681 definition.
24682 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24683 (MULTIBOOT_MBI_REGISTER): Likewise.
24684 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24685 (MULTIBOOT_ELF32_MACHINE): Likewise.
24686 (MULTIBOOT_ELF64_MACHINE): Likewise.
24687 * include/grub/mips/multiboot.h: New file.
24688 * include/grub/video.h (grub_video_driver_id): New type
24689 GRUB_VIDEO_DRIVER_SM712.
24690 (grub_video_get_info_and_fini): Export.
24691 (grub_video_get_palette): Likewise.
24692 (grub_video_get_driver_id): Likewise.
24693 * include/multiboot2.h: Resynced with spec.
24694 * loader/i386/multiboot.c: Moved from here ...
24695 * loader/multiboot.c: ... here. All users updated.
24696 (grub_multiboot_boot): Use platform-specific macros.
24697 * loader/i386/multiboot_elfxx.c: Moved from here ...
24698 * loader/multiboot_elfxx.c: ... here. All users updated.
24699 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24700 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24701 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24702
47674667
VS
247032010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24704
24705 Import gnulib argp module.
24706
24707 * gnulib/argp-ba.c: New file.
24708 * gnulib/argp-eexst.c: Likewise.
24709 * gnulib/argp-fmtstream.c: Likewise.
24710 * gnulib/argp-fmtstream.h: Likewise.
24711 * gnulib/argp-fs-xinl.c: Likewise.
24712 * gnulib/argp-help.c: Likewise.
24713 * gnulib/argp-namefrob.h: Likewise.
24714 * gnulib/argp-parse.c: Likewise.
24715 * gnulib/argp-pin.c: Likewise.
24716 * gnulib/argp-pv.c: Likewise.
24717 * gnulib/argp-pvh.c: Likewise.
24718 * gnulib/argp-version-etc.c: Likewise.
24719 * gnulib/argp-version-etc.h: Likewise.
24720 * gnulib/argp-xinl.c: Likewise.
24721 * gnulib/argp.h: Likewise.
24722
495442ed
VS
247232010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24724
24725 * kern/device.c (grub_device_iterate): Clear errors after failed
24726 opening device.
24727
f9fd65df
VS
247282010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24729
24730 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24731 returned by firmware.
24732
af09641e
VS
247332010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24734
24735 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24736 compilation on coreboot and qemu
24737
016883a5
VS
247382010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 * include/multiboot2.h: Resync with spec.
24741
f97e1f7d
VS
247422010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 Multiboot2 tag support
24745
24746 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24747 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24748 Remove loader/multiboot_loader.c.
24749 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24750 (grub_multiboot2_real_boot): Likewise.
24751 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24752 (grub_get_multiboot_mmap_count): New proto.
24753 (grub_fill_multiboot_mmap): Likewise.
24754 (grub_multiboot_set_video_mode): Likewise.
24755 (grub_multiboot_set_console): Likewise.
24756 (grub_multiboot_load): Likewise.
24757 (grub_multiboot_load_elf): Likewise.
24758 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24759 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24760 * include/multiboot.h: Resynced with specification.
24761 * include/multiboot2.h: Resynced with specification.
24762 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24763 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24764 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24765 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24766 users updated.
24767 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24768 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24769 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24770 Removed.
24771 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24772 Moved from here...
24773 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24774 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24775 Moved from here...
24776 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24777 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24778 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24779 All users updated.
24780 * loader/i386/multiboot_mbi2.c: New file.
24781
3506b90b
VS
247822010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24783
24784 Resync with gnulib.
24785
24786 * Makefile.in (GNULIB_CFLAGS): New variable.
24787 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24788 (grub_script_check_CFLAGS): New variable.
24789 * gnulib/alloca.h: Resync with gnulib.
24790 * gnulib/error.c: Likewise.
24791 * gnulib/error.h: Likewise.
24792 * gnulib/fnmatch.c: Likewise.
24793 * gnulib/fnmatch_loop.c: Likewise.
24794 * gnulib/getdelim.c: Likewise.
24795 * gnulib/getline.c: Likewise.
24796 * gnulib/getopt.c: Likewise.
24797 * gnulib/getopt1.c: Likewise.
24798 * gnulib/getopt_int.h: Likewise.
24799 * gnulib/gettext.h: Likewise.
24800 * gnulib/progname.c: Likewise.
24801 * gnulib/progname.h: Likewise.
24802
394a3120
GS
248032010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24804
24805 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24806 which is the case with --disabled-nls.
24807
24808 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24809 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24810 * util/misc.c: Likewise.
24811 * util/mkisofs/mkisofs.c: Likewise.
24812 * util/mkisofs/mkisofs.h: Likewise.
24813
969d1c78
VS
248142010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 Simplify Apple CC support.
24817
24818 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24819 Add 0 byte at the end not to have a symbol with empty target.
24820 * mmap/i386/pc/mmap_helper.S: Likewise.
24821 * genmk.rb: Ignore errors 2030 and 2050.
24822 * kern/i386/pc/startup.S: Use LOCAL when possible.
24823
8d2977bb
BC
248242010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24825
24826 Testcase and the fix for final semicolon on cmdline.
24827
24828 * tests/grub_script_final_semicolon.in: New testcase.
24829 * conf/tests.rmk: Rules for the new testcase.
24830 * script/parser.y: Grammar fix.
24831
a7bd6915
BC
248322010-03-26 BVK Chaitanya <bvk@localhost>
24833
24834 Blank lines testcase for GRUB script.
24835
24836 * tests/grub_script_blanklines.in: New testcase.
24837 * conf/tests.rmk: Rules for the new testcase.
24838
e4ff6628
VS
248392010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24840
24841 Don't use __FILE__.
24842
24843 * genmk.rb: Add -DGRUB_FILE to all C targets.
24844 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24845 * include/grub/list.h: Likewise.
24846 * include/grub/misc.h: Likewise.
24847 * include/grub/mm.h: Likewise.
24848 * include/grub/test.h: Likewise.
24849 * kern/mm.c: Likewise.
24850 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24851
6a5cf6b6
VS
248522010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24853
24854 Sunpc partitions support.
24855
24856 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24857 (grub_fstest_SOURCES): Likewise.
24858 (pkglib_MODULES): Add part_sunpc.mod.
24859 (part_sunpc_mod_SOURCES): New variable.
24860 (part_sunpc_mod_CFLAGS): Likewise.
24861 (part_sunpc_mod_LDFLAGS): Likewise.
24862 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24863 * partmap/sunpc.c: New file.
24864
746d9045
BC
248652010-03-26 BVK Chaitanya <bvk@localhost>
24866
24867 For loop support to GRUB script.
24868
24869 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24870 (grub_script_create_cmdfor): New function prototype.
24871 (grub_script_execute_cmdfor): New function prototype.
24872 * script/execute.c (grub_script_execute_cmdfor): New function.
24873 * script/parser.y (command): New for command.
24874 (forcmd): New grammar rule.
24875 * script/script.c (grub_script_create_cmdfor): New function.
24876 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24877 function.
24878 * tests/grub_script_for1.in: New testcase.
24879 * conf/tests.rmk: Rules for new testcase.
24880
18486b18
VS
248812010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 Nested partitions
24884
24885 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24886 'partition' is NULL, grub_partition_get_start already does that.
24887 * commands/loadenv.c (check_blocklists): Likewise.
24888 (write_blocklists): Likewise.
24889 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24890 (grub_fstest_SOURCES): Likewise.
24891 (pkglib_MODULES): Add part_bsd.mod.
24892 (part_bsd_mod_SOURCES): New variable.
24893 (part_bsd_mod_CFLAGS): Likewise.
24894 (part_bsd_mod_LDFLAGS): Likewise.
24895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24896 (grub_emu_SOURCES): Likewise.
24897 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24898 * include/grub/bsdlabel.h: New file.
24899 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24900 'get_name'.
24901 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24902 (grub_partition_map_list): New variable.
24903 (grub_partition_map_register): Inline.
24904 (grub_partition_map_unregister): Likewise.
24905 (FOR_PARTITION_MAPS): New macro.
24906 (grub_partition_map_iterate): Removed.
24907 (grub_partition_get_start): Handle nested partitions.
24908 * include/grub/msdos_partition.h: Remove bsd-related entries.
24909 (grub_pc_partition): Remove.
24910 * kern/disk.c (grub_disk_close): Free partition data.
24911 (grub_disk_adjust_range): Handle nested partitions.
24912 * kern/partition.c (grub_partition_map_probe): New function.
24913 (grub_partition_probe): Parse name to number, handle subpartitions.
24914 (get_partmap): New function.
24915 (grub_partition_iterate): Handle subpartitions.
24916 (grub_partition_get_name): Likewise.
24917 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24918 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24919 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24920 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24921 Set 'number'.
24922 (acorn_partition_map_probe): Remove.
24923 (acorn_partition_map_get_name): Likewise.
24924 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24925 Set 'number'.
24926 Set 'index' to 0 since there can be only one partition entry per sector.
24927 (amiga_partition_map_probe): Remove.
24928 (amiga_partition_map_get_name): Likewise.
24929 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24930 Set 'number'.
24931 Set 'offset' and 'index' to real positions of partitions.
24932 (apple_partition_map_probe): Remove.
24933 (apple_partition_map_get_name): Likewise.
24934 * partmap/bsdlabel.c: New file.
24935 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24936 Set 'number'.
24937 Allocate 'data' so it can be correctly freed.
24938 Set 'index' to offset inside sector.
24939 (gpt_partition_map_probe): Remove.
24940 (gpt_partition_map_get_name): Likewise.
24941 * partmap/msdos.c (grub_partition_parse): Remove.
24942 (pc_partition_map_iterate): Don't force raw access.
24943 Set 'number'.
24944 Make 'ext_offset' a local variable.
24945 (pc_partition_map_probe): Remove.
24946 (pc_partition_map_get_name): Remove.
24947 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24948 Set 'number'.
24949 (sun_partition_map_probe): Remove.
24950 (sun_partition_map_get_name): Likewise.
24951 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24952 (grub_pcpart_type): Likewise.
24953 * util/hostdisk.c (open_device): Handle new numbering scheme.
24954 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24955 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24956 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24957 * util/grub-install.in: Insert all subpartition modules.
24958 * util/ieee1275/grub-install.in: Likewise.
24959
a3940f88
AG
249602010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24961
24962 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24963 grammar.
24964
21b99926 249652010-03-24 Colin Watson <cjwatson@ubuntu.com>
24966
24967 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24968
bed1d352
CW
249692010-03-21 Colin Watson <cjwatson@ubuntu.com>
24970
24971 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24972 match where 'make install' puts them.
24973 * util/i386/efi/grub-install.in: Likewise.
24974
c9f58427
CW
249752010-03-19 Colin Watson <cjwatson@ubuntu.com>
24976
24977 * .bzrignore: Add gentrigtables, grub-script-check,
24978 grub_script_check_init.c, grub_script_check_init.h, and
24979 trigtables.c.
24980
f84afb27
VS
249812010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 * kern/parser.c: Indented.
24984
ed0e3d30
VS
249852010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24988
0ea81d98
VS
249892010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24992 alpha_mask_size == 0 case.
24993
0cdc2a09
BC
249942010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24995
24996 GRUB shell lexer and parser improvements.
24997
24998 * conf/any-emu.rmk: Build rule updates.
24999 * conf/common.rmk: Likewise.
25000 * conf/i386-coreboot.rmk: Likewise.
25001 * conf/i386-efi.rmk: Likewise.
25002 * conf/i386-ieee1275.rmk: Likewise.
25003 * conf/i386-pc.rmk: Likewise.
25004 * conf/powerpc-ieee1275.rmk: Likewise.
25005 * conf/x86_64-efi.rmk: Likewise.
25006
25007 * configure.ac: Configure check for flex.
25008
25009 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25010 types.
25011 (grub_lexer_param): Struct member updates.
25012 (grub_parser_param): Likewise.
25013 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25014 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25015 (grub_script_lexer_init): Prototype update.
25016 (grub_script_lexer_record_start): Likewise.
25017 (grub_script_lexer_record_stop): Likewise.
25018 (grub_script_lexer_yywrap): New function prototype.
25019 (grub_script_lexer_fini): Likewise.
25020 (grub_script_execute_argument_to_string): Removed by...
25021 (grub_script_execute_argument_to_argv): ...better version.
25022
25023 * script/execute.c (ROUND_UPTO): New macro.
25024 (grub_script_execute_cmdline): Out of memory fixes.
25025 (grub_script_execute_menuentry): Likewise.
25026 (grub_script_execute_argument_to_string): Removed. Update all
25027 users by...
25028 (grub_script_execute_argument_to_argv): ...better version.
25029 * script/function.c (grub_script_function_create): Use
25030 grub_script_execute_argument_to_argv instead of
25031 grub_script_execute_argument_to_string.
25032
25033 * script/lexer.c (check_varstate): Removed.
25034 (check_textstate): Removed.
25035 (grub_script_lexer_record_start): Likewise.
25036 (grub_script_lexer_record_stop): Likewise.
25037 (recordchar): Replaced with...
25038 (grub_script_lexer_record): ...new function.
25039 (nextchar): Removed.
25040 (grub_script_lexer_init): Rewritten.
25041 (grub_script_yylex): Rewritten.
25042 (append_newline): New function.
25043 (grub_script_lexer_yywrap): New function.
25044 (grub_script_lexer_fini): New function.
25045 (grub_script_yyerror): Sets error flag.
25046
25047 * script/yylex.l: New file.
25048 (grub_lexer_yyfree): Wrapper for flex yyffre.
25049 (grub_lexer_yyalloc): Likewise.
25050 (grub_lexer_yyrealloc): Likewise.
25051 * script/parser.y: Refactored.
25052
25053 * script/script.c (grub_script_arg_add): Out of memory fixes.
25054 (grub_script_add_arglist): Likewise.
25055 (grub_script_create_cmdline): Likewise.
25056 (grub_script_create_cmdmenu): Likewise.
25057 (grub_script_add_cmd): Likewise.
25058 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25059 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25060 unnecessary code.
25061
25062 * tests/grub_script_echo1.in: New testcase.
25063 * tests/grub_script_vars1.in: New testcase.
25064 * tests/grub_script_echo_keywords.in: New testcase.
25065
1d63a066
VS
250662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25067
25068 Remove some redundancy in build system.
25069
25070 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25071 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25072 (TARGET_LDFLAGS): Add -nostdlib.
25073 (TARGET_IMG_LDFLAGS): Likewise.
25074 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25075 anything since mmap isn't available.
25076 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25077 Add util/time.c.
25078 (pkglib_MODULES): Remove reboot.mod.
25079 (reboot_mod_SOURCES): Removed.
25080 (reboot_mod_CFLAGS): Likewise.
25081 (reboot_mod_LDFLAGS): Likewise.
25082 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25083 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25084 (DEFSYMFILES): Add kernel_syms.lst.
25085 (kernel_img_HEADERS): Add common headers.
25086 (symlist.c): New target.
25087 (kernel_syms.lst): Likewise.
25088 (pkglib_MODULES): Add memdisk.mod.
25089 (memdisk_mod_SOURCES): New variable.
25090 (memdisk_mod_CFLAGS): Likewise.
25091 (memdisk_mod_LDFLAGS): Likewise.
25092 (pkglib_MODULES): Add reboot.mod.
25093 (reboot_mod_SOURCES): New variable.
25094 (reboot_mod_CFLAGS): Likewise.
25095 (reboot_mod_LDFLAGS): Likewise.
25096 (pkglib_MODULES): Add date.mod.
25097 (date_mod_SOURCES): New variable.
25098 (date_mod_CFLAGS): Likewise.
25099 (date_mod_LDFLAGS): Likewise.
25100 (pkglib_MODULES): Add datehook.mod.
25101 (datehook_mod_SOURCES): New variable.
25102 (datehook_mod_CFLAGS): Likewise.
25103 (datehook_mod_LDFLAGS): Likewise.
25104 (pkglib_MODULES): Add lsmmap.mod.
25105 (lsmmap_mod_SOURCES): New variable.
25106 (lsmmap_mod_CFLAGS): Likewise.
25107 (lsmmap_mod_LDFLAGS): Likewise.
25108 (pkglib_MODULES): Add boot.mod.
25109 (boot_mod_SOURCES): New variable.
25110 (boot_mod_CFLAGS): Likewise.
25111 (boot_mod_LDFLAGS): Likewise.
25112 * conf/i386-coreboot.rmk: Removed redundant parts.
25113 * conf/i386-ieee1275.rmk: Likewise.
25114 * conf/i386-pc.rmk: Likewise.
25115 * conf/mips-yeeloong.rmk: Likewise.
25116 * conf/mips.rmk: Likewise.
25117 * conf/powerpc-ieee1275.rmk: Likewise.
25118 * conf/sparc64-ieee1275.rmk: Likewise.
25119 * conf/x86_64-efi.rmk: Likewise.
25120 * conf/i386-coreboot.rmk: Moved qemu parts ..
25121 * conf/i386-qemu.rmk: ... here
25122 * conf/i386-efi.rmk: Moved common parts to...
25123 * conf/x86-efi.rmk: ... here.
25124 * conf/i386.rmk: Added modules common to all x86 variants.
25125 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25126 * disk/memdisk.c: Remove grub/machine/kernel.h.
25127 * gensymlist.sh.in: Include symbol.h.
25128 * hook/datehook.c: Correct module name.
25129 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25130 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25131 * include/grub/i386/efi/serial.h: New file.
25132 * include/grub/x86_64/efi/serial.h: Likewise.
25133 * util/time.c: Likewise.
25134 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25135
463ac55f
CK
251362010-03-14 Colin King <colin.king@ubuntu.com>
251372010-03-14 Colin Watson <cjwatson@ubuntu.com>
25138
25139 Shrink the pre-partition-table part of boot.img by eight bytes.
25140
25141 * boot/i386/pc/boot.S (ERR): New macro.
25142 (chs_mode): Use ERR.
25143 (geometry_error): Likewise.
25144 (hd_probe_error): Remove. This is only used once, so we wrwite
25145 it inline instead.
25146 (read_error): Instead of printing read_error_string, just set up
25147 %si and fall through to ...
25148 (error_message): ... this new function, also used by ERR.
25149
08e46ede
CW
251502010-03-14 Colin Watson <cjwatson@ubuntu.com>
25151
25152 Speed up consecutive hostdisk operations on the same device.
25153
25154 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25155 (grub_util_biosdisk_open): Initialise disk->data.
25156 (struct linux_partition_cache): New structure.
25157 (linux_find_partition): Cache partition start positions; these are
25158 expensive to compute on every read and write.
25159 (open_device): Cache open file descriptor in disk->data, so that we
25160 don't have to reopen it and flush the buffer cache for consecutive
25161 operations on the same device.
25162 (grub_util_biosdisk_close): New function.
25163 (grub_util_biosdisk_dev): Set `close' member.
25164
25165 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25166 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25167 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25168 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25169 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25170
4a6d2d06
VS
251712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 Compile parts of grub-emu as modules.
25174
25175 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25176 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25177 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25178 (all-local): Add $(GRUB_EMU).
25179 (install-local): Install $(GRUB_EMU).
25180 (uninstall): Uninstall $(GRUB_EMU).
25181 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25182 * kern/dl.c: Likewise.
25183 * commands/sleep.c: Not include machine/time.h.
25184 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25185 (COMMON_CFLAGS): Likewise.
25186 (sbin_UTILITIES): Remove grub-emu.
25187 (grub_emu_SOURCES): Removed.
25188 (kernel_img_RELOCATABLE): New variable.
25189 (pkglib_PROGRAMS): Add kernel.img.
25190 (kernel_img_SOURCES): New variable
25191 (kernel_img_CFLAGS): Likewise.
25192 (kernel_img_LDFLAGS): Likewise.
25193 (TARGET_NO_STRIP): Likewise.
25194 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25195 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25196 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25197 (grub-emu): New target.
25198 (GRUB_EMU): New variable.
25199 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25200 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25201 * loader/xnu.c: Likewise.
25202 * include/grub/pci.h: Likewise.
25203 * genemuinit.sh: New file.
25204 * genemuinitheader.sh: Likewise.
25205 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25206 Support TARGET_NO_DYNAMIC_MODULES.
25207 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25208 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25209 * disk/loopback.c: Likewise.
25210 * font/font_cmd.c: Likewise.
25211 * partmap/acorn.c: Likewise.
25212 * partmap/amiga.c: Likewise.
25213 * partmap/apple.c: Likewise.
25214 * partmap/gpt.c: Likewise.
25215 * partmap/msdos.c: Likewise.
25216 * partmap/sun.c: Likewise.
25217 * parttool/msdospart.c: Likewise.
25218 * term/gfxterm.c: Likewise.
25219 * video/bitmap.c: Likewise.
25220 * video/readers/jpeg.c: Likewise.
25221 * video/readers/png.c: Likewise.
25222 * video/readers/tga.c: Likewise.
25223 * video/video.c: Likewise.
25224 * util/grub-emu.c (read_command_list): Removed.
25225 (main): Don't call util_init_nls.
25226 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25227 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25228
91fdd2ed
VS
252292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25230
25231 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25232 date.mod, datehook.mod.
25233 (datetime_mod_SOURCES): New variable.
25234 (datetime_mod_CFLAGS): Likewise.
25235 (datetime_mod_LDFLAGS): Likewise.
25236 (date_mod_SOURCES): Likewise.
25237 (date_mod_CFLAGS): Likewise.
25238 (date_mod_LDFLAGS): Likewise.
25239 (datehook_mod_SOURCES): Likewise.
25240 (datehook_mod_CFLAGS): Likewise.
25241 (datehook_mod_LDFLAGS): Likewise.
25242 * conf/sparc64-ieee1275.rmk: Likewise.
25243 * lib/ieee1275/datetime.c: New file.
25244
873ccae6
VS
252452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25246
25247 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25248 (ieee1275_fb_mod_SOURCES): New variable.
25249 (ieee1275_fb_mod_CFLAGS): Likewise.
25250 (ieee1275_fb_mod_LDFLAGS): Likewise.
25251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25252 New proto.
25253 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25254 (HEAP_MAX_ADDR): Likewise.
25255 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25256 type.
25257 Correct stop condition.
25258 (grub_ieee1275_devices_iterate): New function.
25259 * video/ieee1275.c: New file.
25260
601c97c0
VS
252612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25262
25263 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25264
25265 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25266 as scratch.
25267 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25268 SCRATCH_PAD_DISKBOOT as scratch.
25269 (bootit): Pass Openfirmware pointer in %o4.
25270 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25271 of 0x200000.
25272 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25273 with util/grub-mkrawimage.c.
25274 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25275 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25276 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25277 (grub_aout_load) [GRUB_UTIL]: Likewise.
25278 * include/grub/kernel.h (grub_modules_get_end): New proto.
25279 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25280 (SCRATCH_PAD_BOOT): New definition.
25281 (SCRATCH_PAD_DISKBOOT): Likewise.
25282 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25283 * include/grub/sparc64/ieee1275/ieee1275.h
25284 (grub_ieee1275_original_stack): New variable
25285 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25286 New definition
25287 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25288 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25289 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25290 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25291 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25292 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25293 (grub_platform_image_format_t): New type.
25294 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25295 * kern/main.c (grub_modules_get_end)
25296 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25297 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25298 (codestart): Switch stacks.
25299 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25300 variable.
25301 (grub_heap_init): Use grub_modules_get_end.
25302 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25303 stack.
25304 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25305 (main): Likewise.
25306 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25307
d68b491e
TG
253082010-03-14 Thorsten Glaser <tg@mirbsd.org>
25309
25310 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25311
4e02ed50
MK
253122010-03-08 Matt Kraai <kraai@ftbfs.org>
25313
25314 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25315 bug #559005).
25316
1f15fc1e
VS
253172010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25318
25319 * genmoddep.awk: Output all missing symbols and not only first.
25320
fce5d8ff
VS
253212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 * NEWS: Put the date of 1.98 release.
25324
d1e8a02f
VS
253252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25328 ft2build.h.
25329
696fd607
VS
253302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25333 completition in the middle of string.
25334
33e2e6f3
VS
253352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25336
25337 * util/grub-mkrescue.in: Use mktemp with explicit template.
25338
b1f6d291
VS
253392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25342
2ac227c7
VS
253432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25344
25345 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25346 right pointer.
25347
8f9a632b
VS
253482010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 Fix FreeBSD compilation.
25351
25352 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25353 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25354
60b03859
VS
253552010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25356
25357 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25358
48a5a769
VS
253592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25362
3ab4bd77
VS
253632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25366
d116e0d8
RM
253672010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25368
25369 Support relative image path in theme file.
25370
25371 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25372 (image_set_property): Handle theme_dir and relative path.
25373
c7ef54aa
VS
253742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25375
25376 * configure.ac: Alias amd64 to x86_64.
25377
fcee14ed
VS
253782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * NEWS: mention multiboot on EFI.
25381
d0780363
VS
253822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25383
25384 * kern/main.c (grub_load_modules): Handle errors from init functions of
25385 embeded modules.
25386
41168ea4
VS
253872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25388
25389 * normal/autofs.c (autoload_fs_module): Handle errors.
25390
b54d93ac
VS
253912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25392
25393 Disable linux.mod on qemu-mips since it's not functional and leads
25394 to compilation failure.
25395
25396 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25397 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25398 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25399 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25400 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25401 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25402 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25403 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25404 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25405 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25406 Reported by: BVK Chaitanya
25407
fc8345da
JU
254082010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25409
25410 * INSTALL: Add gettext as a dependency and add qemu to a new section
25411 "Prerequisites for make-check".
25412
4760f979
CF
254132010-03-04 Christian Franke <franke@computer.org>
25414
25415 * util/grub-pe2elf.c: Add missing include "progname.h".
25416
f209b5b2
VS
254172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * normal/crypto.c (read_crypto_list): Fix a typo.
25420 Reported by: Seth Goldberg.
25421
b4b7be98
VS
254222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25423
25424 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25425 Reported by: Seth Goldberg.
b4b7be98 25426
c0ee0385
VS
254272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25430 ascii.bitmaps.
25431
a8efbf64
VS
254322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25433
25434 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25435 Reported by: Seth Goldberg.
a8efbf64 25436
08dcd913
VS
254372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * util/i386/efi/grub-install.in: Copy gettext files.
25440
c4d0b332
VS
254412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25442
25443 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25444
c6f2fe52
VS
254452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25446
25447 Wait for user entry basing on presence of output rather than on errors.
25448
25449 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25450 (grub_install_newline_hook): Likewise.
25451 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25452 * normal/menu.c (show_menu): Check line_counter to determine presence
25453 of output.
25454 * normal/term.c (grub_normal_line_counter): New variable.
25455 (grub_normal_get_line_counter): New function.
25456 (grub_install_newline_hook): Likewise.
25457
5382b1e4
VS
254582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25459
25460 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25461
5519963b
VS
254622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 * configure.ac: Update version to 1.98.
25465
72b28631
VS
254662010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * util/grub.d/10_linux.in (linux_entry): Don't default to
25469 gfxpayload=keep if Linux doesn't support video handover.
25470
c140a180
VS
254712010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 Don't compile video modules on yeeloong since video subsystem is part
25474 of kernel.
25475
25476 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25477 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25478 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25479 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25480 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25481 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25482 * include/grub/bitmap_scale.h: Likewise.
25483 * include/grub/bufio.h: Likewise.
25484 * include/grub/font.h: Likewise.
25485 * include/grub/gfxterm.h: Likewise.
25486 * include/grub/video.h: Likewise.
25487 * include/grub/vbe.h: Don't include video_fb.h.
25488 * video/i386/pc/vbe.c: Include video_fb.h.
25489 * commands/i386/pc/vbetest.c: Include video.h.
25490
a0ca21c2
CW
254912010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25492
25493 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25494 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25495 default entry if GRUB_SAVEDEFAULT=true. This allows using
25496 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25497 saving a new default on every boot.
25498
4a8a763c
VS
254992010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25500
25501 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25502 * normal/term.c (read_terminal_list): Likewise.
25503 * normal/main.c (grub_normal_init_page): Likewise.
25504 (grub_normal_read_line_real): Likewise.
25505
607ffde2
VS
255062010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25509 memory leak.
25510 Reported by: Seth Goldberg.
25511
2b8fa975
CW
255122010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25513
25514 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25515 duplicate declaration of `start'.
25516
618307dd
VS
255172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25520 filename.
25521 Reported by: Georgy Buranov
25522
7dd05b96 255232010-02-20 Carles Pina i Estany <carles@pina.cat>
25524
25525 * util/grub-mkrawimage.c (usage): Change string formatting to
25526 improve gettext.
25527
d1484a42
MRA
255282010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25529
25530 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25531 backspace keys.
25532
42b1d186
VS
255332010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25534
25535 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25536 Reported by: Michael Suchanek.
25537
255382010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25539
25540 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25541 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25542
d9f31a41
VS
255432010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25544
25545 Remove any reference to non-free fonts.
25546
25547 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25548 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25549 uses non-free components.
25550 * font/font.c (grub_font_get_name): Remove example name.
25551 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25552 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25553 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25554 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25555
2793c71e
GB
255562010-02-16 Georgy Buranov <gburanov@gmail.com>
25557
25558 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25559
402e3779
VS
255602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25563 Double divisor.
25564 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25565 features.
25566 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25567
0dd1e0dd
VS
255682010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25569
25570 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25571
6fa7cfce
ST
255722010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25573
25574 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25575 * docs/grub.texi (Command-line and menu entry commands): Document play
25576 command.
25577
37c8483b
ST
255782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25579
25580 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25581 parse arguments as inline tempo and notes. Move code for playing notes
25582 to...
25583 (play): ... new function.
25584
14da0fb7
ST
255852010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25586
25587 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25588 grub_uint16_t instead of short.
25589 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25590 disk from little endian to cpu endianness.
25591
04459e70
ST
255922010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25593
25594 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25595 GRUB_TICKS_PER_SECOND instead of 120.
25596
a0876943
VS
255972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25600 escape sequence after \e.
25601
e29f95dc
VS
256022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25603
25604 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25605 non-ASCII characters.
25606
d27859b2
VS
256072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25610 set root in single quotes to prevent \, from being unescaped.
25611
bc028f2f
VS
256122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 Prevent unknown commands from stopping menuentry execution.
25615
25616 * script/execute.c (grub_script_execute_cmdline): Print error after
25617 unknown command.
25618
095f5f82
VS
256192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25620
25621 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25622 Reported by: Pavel Pisa.
25623
8c717950
VS
256242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25625
25626 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25627
904935c3
VS
256282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25629
25630 Merge grub_ieee1275_map_physical into grub_map and rename to
25631 grub_ieee1275_map
25632
25633 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25634 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25635 Remove.
25636 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25637 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25638 necessary.
25639 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25640
5b59a4e3
VS
256412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25642
25643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25644 opening and not after.
25645
69e137e8
VS
256462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25647
25648 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25649 constants.
25650
2c0fcc36
VS
256512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25652
25653 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25654 (alloc_phys): Use ALIGN_UP instead of align_addr.
25655
8c6052ce
VS
256562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25657
25658 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25659
17cec782
VS
256602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25661
25662 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25663
e0128bbd
VS
256642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25665
25666 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25667 verbose dprintf.
25668
ca62070b
VS
256692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25670
25671 Fix over-4GiB seek on sparc64.
25672
25673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25674 Replace pos_i and pos_lo with pos. All users updated.
25675 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25676 New constant.
25677 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25678 Likewise.
25679 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25680 and pos_lo.
25681
bdca2607
VS
256822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25683
25684 * util/grub-mkrawimage.c (main): Call set_program_name.
25685
da278c4d
VS
256862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 Properly align 64-bit targets.
25689
25690 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25691 (generate_image): Use ALIGN_ADDR.
25692
b274d734
VS
256932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25694
25695 Properly create cross-endian images.
25696
25697 * include/grub/types.h (grub_host_to_target_addr): New macro
25698 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25699
82da2062
VS
257002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25703
7cae4377
VS
257042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25705
25706 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25707
25708 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25709 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25710 (grub_linux_boot): Divide by 64K when on VESA.
25711
65a533e7
VS
257122010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25713
25714 Support GRUB_GFXPAYLOAD_LINUX.
25715
25716 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25717 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25718
dd01d397
VS
257192010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25722 to show messages instead of discarding them.
25723 Process errors after executing command and not before. Keep old method
25724 too as precaution.
25725
660960d6
VS
257262010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25727
25728 * configure.ac: Check for ft2build.h.
25729
62509f04
VS
257302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25731
25732 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25733
473df63d
VS
257342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 * genkernsyms.sh.in: Use TARGET_CC.
25737
c98d2a13
CW
257382010-02-07 Colin Watson <cjwatson@ubuntu.com>
25739
25740 * NEWS: Update.
25741
6e14234c
VS
257422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25743
25744 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25745 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25746 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25747
b255e9cf
YB
257482010-02-07 Yves Blusseau <blusseau@zetam.org>
25749
6e14234c 25750 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25751
98e6959d
VS
257522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25753
25754 Fix warnings in grub-emu when compiling with maximum warning options.
25755
25756 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25757 (grub_arch_modules_addr): Return 0 and not NULL.
25758 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25759 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25760 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25761 of disk to dsk to avoid shadowing.
74e4934e
VS
25762 (find_free_slot): Fix prototype.
25763 * util/getroot.c (grub_util_is_dmraid): Make static.
25764 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25765 Add missing prototype.
25766 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25767
74e31b5c
VS
257682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25769
25770 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25771 appropriately.
25772
6b2ad14b
VS
257732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25774
25775 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25776 code out.
25777
8f891adc
VS
257782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25779
25780 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25781 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25782 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25783 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25784 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25785 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25786
74b45184
VS
257872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25788
25789 * include/grub/err.h (grub_err_printf): Don't export.
25790
a4bced77
VS
257912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25792
25793 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25794
007d0695
VS
257952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25798 * kern/misc.c (grub_gettext_dummy): Make static.
25799
b6c0d9c2
VS
258002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25801
25802 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25803 by non-valid ones.
25804 * kern/term.c (grub_putchar): Likewise.
25805
f51a90d0
VS
258062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25809 buggy hook call and memory leak.
25810
6846cec5
VS
258112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25812
25813 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25814
468d69fe
VS
258152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25818
51906b8c
VS
258192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25822 modevar.
25823 Return grub_errno on allocation error.
25824
09706ce5
VS
258252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25828
911df80c
YB
258292010-02-06 Yves Blusseau <blusseau@zetam.org>
25830
25831 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25832 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25833
3746a6bc
VS
258342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25835
25836 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25837 non-pxe disk.
25838 (grub_pxefs_open): Likewise.
25839
09706ce5
VS
258402010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25841
25842 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25843 * util/grub.d/10_kfreebsd.in: Likewise.
25844 * util/grub.d/10_linux.in: Likewise.
25845
7cc192d9
VS
258462010-02-06 Colin D Bennett <colin@gibibit.com>
25847
25848 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25849 (gfxmenu_mod_SOURCES): New variable.
25850 (gfxmenu_mod_CFLAGS): Likewise.
25851 (gfxmenu_mod_LDFLAGS): Likewise.
25852 * include/grub/term.h (grub_term_set_current_output): Declare
25853 argument as const.
25854 * docs/gfxmenu-theme-example.txt: New file.
25855 * gfxmenu/gfxmenu.c: Likewise.
25856 * gfxmenu/gui_box.c: Likewise.
25857 * gfxmenu/gui_canvas.c: Likewise.
25858 * gfxmenu/gui_circular_progress.c: Likewise.
25859 * gfxmenu/gui_image.c: Likewise.
25860 * gfxmenu/gui_label.c: Likewise.
25861 * gfxmenu/gui_list.c: Likewise.
25862 * gfxmenu/gui_progress_bar.c: Likewise.
25863 * gfxmenu/gui_string_util.c: Likewise.
25864 * gfxmenu/gui_util.c: Likewise.
25865 * gfxmenu/icon_manager.c: Likewise.
25866 * gfxmenu/model.c: Likewise.
25867 * gfxmenu/named_colors.c: Likewise.
25868 * gfxmenu/theme_loader.c: Likewise.
25869 * gfxmenu/view.c: Likewise.
25870 * gfxmenu/widget-box.c: Likewise.
25871 * include/grub/gfxmenu_model.h: Likewise.
25872 * include/grub/gfxmenu_view.h: Likewise.
25873 * include/grub/gfxwidgets.h: Likewise.
25874 * include/grub/gui.h: Likewise.
25875 * include/grub/gui_string_util.h: Likewise.
25876 * include/grub/icon_manager.h: Likewise.
25877
258782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 Agglomerate scrolling in gfxterm.
25881
25882 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25883 (grub_virtual_screen_setup): Initialise 'total_screen'.
25884 (write_char): Split to ...
25885 (paint_char): ... this ...
25886 (write_char): ... and this.
25887 (paint_char): Handle delayed scrolling.
25888 (draw_cursor): Likewise.
25889 (scroll_up): Split to ...
25890 (real_scroll): ... this ...
25891 (scroll_up): ... and this.
25892 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25893 characters.
25894 (grub_gfxterm_refresh): Call real_scroll.
25895
258962010-02-06 Colin D Bennett <colin@gibibit.com>
25897
25898 * include/grub/misc.h (grub_iscntrl): New inline function.
25899 (grub_isalnum): Likewise.
25900 (grub_strtol): Likewise.
25901
259022010-02-06 Colin D Bennett <colin@gibibit.com>
25903
25904 * normal/menu_text.c (get_entry_number): Move from here ...
25905 * normal/menu.c (get_entry_number): ... moved here.
25906 * include/grub/menu.h (grub_menu_get_default_entry_index):
25907 New prototype.
25908 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25909 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25910 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25911 (grub_menu_viewer_should_return): Likewise.
25912 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25913 * normal/menu_text.c (run_menu): Enable menu switching.
25914 * normal/menu_viewer.c (should_return): New variable.
25915 (menu_viewer_changed): Likewise.
25916 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25917 (grub_menu_viewer_should_return): New function.
25918 (menuviewer_write_hook): Likewise.
25919 (grub_menu_viewer_init): Likewise.
25920
259212010-02-06 Colin D Bennet <colin@gibibit.com>
259222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 Support for gfxterm in a window.
25925
25926 * include/grub/gfxterm.h: New file.
25927 * include/grub/video.h (struct grub_video_rect): New declaration.
25928 (grub_video_rect_t): Likewise.
25929 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25930 (refcount): New variable.
25931 (render_target): Likewise.
25932 (window): Likewise.
25933 (repaint_callback): Likewise.
25934 (grub_virtual_screen_setup): Use 'render_target'.
25935 (init_window): New function.
25936 (grub_gfxterm_init_window): Likewise.
25937 (grub_gfxterm_init): Check reference counter.
25938 Use init_window.
25939 (destroy_window): New function.
25940 (grub_gfxterm_destroy_window): Likewise.
25941 (grub_gfxterm_fini): Check reference counter.
25942 Use destroy_window.
25943 (redraw_screen_rect): Restore viewport.
25944 Use 'render_target' and 'window'.
25945 Call 'repaint_callback'.
25946 (write_char): Use 'render_target'.
25947 (draw_cursor): Likewise.
25948 (scroll_up): Restore viewport.
25949 Use 'render_target' and 'window'.
25950 Call 'repaint_callback'.
25951 (grub_gfxterm_cls): Likewise.
25952 (grub_gfxterm_refresh): Use 'window'.
25953 (grub_gfxterm_set_repaint_callback): New function.
25954 (grub_gfxterm_background_image_cmd): Use 'window'.
25955 (grub_gfxterm_get_term): New function.
25956 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25957
259582010-02-06 Colin D Bennett <colin@gibibit.com>
25959
25960 Bitmap scaling support.
25961
25962 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25963 (bitmap_scale_mod_SOURCES): New variable.
25964 (bitmap_scale_mod_CFLAGS): Likewise.
25965 (bitmap_scale_mod_LDFLAGS): Likewise.
25966 * include/grub/bitmap_scale.h: New file.
25967 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25968 (background_image_cmd_options): New variable.
25969 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25970 (cmd): Rename and change type to ...
25971 (background_image_cmd_handle): ... this. All users updated.
25972 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25973 * video/bitmap_scale.c: New file.
25974
259752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 SDL support.
25978
25979 * Makefile.in (LIBSDL): New variable.
25980 (enable_grub_emu_sdl): Likewise.
25981 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25982 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25983 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25984 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25985 * util/sdl.c: New file.
25986
259872010-02-06 Colin D Bennett <colin@gibibit.com>
259882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 Double buffering support.
25991
25992 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25993 * include/grub/video.h: Update comment.
25994 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25995 New type.
25996 (grub_video_fb_doublebuf_blit_init): New prototype.
25997 * term/gfxterm.c (scroll_up): Support double buffering.
25998 (grub_gfxterm_refresh): Likewise.
25999 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26000 (grub_video_fb_doublebuf_blit_init): Likewise.
26001 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26002 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26003 'displayed_page', 'render_page' and 'update_screen'.
26004 (grub_video_vbe_fini): Free offscreen buffer.
26005 (doublebuf_pageflipping_commit): New function.
26006 (doublebuf_pageflipping_update_screen): Likewise.
26007 (doublebuf_pageflipping_init): Likewise.
26008 (double_buffering_init): Likewise.
26009 (grub_video_vbe_setup): Enable doublebuffering.
26010 (grub_video_vbe_swap_buffers): Implement.
26011 (grub_video_vbe_set_active_render_target): Handle double buffering.
26012 (grub_video_vbe_get_active_render_target): Likewise.
26013 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26014 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26015 (grub_video_vbe_enable_double_buffering): Likewise.
26016 (grub_video_vbe_swap_buffers): Use update_screen.
26017 (grub_video_set_mode): Use double buffering.
26018
260192010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 * maintainance/gentrigtables.py: Remove.
26022 * lib/trig.c: Likewise.
26023
26024 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26025
26026 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26027 `trigtables.c'.
26028 (trigtables.c): New rule.
26029 (gentrigtables): Likewise.
26030 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26031
260322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26033
26034 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26035 integer constants.
26036
260372010-02-06 Colin D Bennet <colin@gibibit.com>
26038
26039 Trigonometry support.
26040
26041 * include/grub/trig.h: New file.
26042 * lib/trig.c: Likewise.
26043 * maintainance/gentrigtables.py: Likewise.
26044 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26045 (trig_mod_SOURCES): New variable.
26046 (trig_mod_CFLAGS): Likewise.
26047 (trig_mod_LDFLAGS): Likewise.
26048
5562834e
VS
260492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26052 disk devices.
26053
4f8528fc
VS
260542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26057 error.
26058
2b4068e9
VS
260592010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 * util/hostdisk.c (open_device): Don't use partition device when reading
26062 before the partition.
26063 (grub_util_biosdisk_read): Don't read from partition and before the
26064 partition in single operation.
26065 (grub_util_biosdisk_write): Don't write to partition and before the
26066 partition in single operation.
26067
399f6e4d
TL
260682010-02-03 Torsten Landschoff <torsten@debian.org>
26069
26070 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26071 last sectors.
26072
996649b0
VS
260732010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26076 CDROM reads.
26077 (grub_biosdisk_write): Refuse to write to CDROM.
26078
3b205d4d
VS
260792010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26080
26081 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26082
61e89d9d
VS
260832010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * font/font.c (find_glyph): Check that bmp_idx is available before
26086 using it.
26087 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26088 with (font == NULL).
26089
bf7fcba2
CS
260902010-01-28 Christian Schmitt <chris@ilovelinux.de>
26091
26092 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26093
f45d2663
BC
260942010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26095
26096 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26097 * util/grub-script-check.c (getline): Fix empty lines case.
26098
ec1444e6
RM
260992010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26100
26101 * Makefile.in (check): Exit with fail status when one of the tests
26102 fails.
26103 * tests/example_functional_test.c (example_test): Fix reversed assert.
26104 * tests/example_unit_test.c (example_test): Likewise.
26105
2e1cb9bb
CW
261062010-01-28 Colin Watson <cjwatson@ubuntu.com>
26107
26108 * util/grub.d/10_linux.in: This script does not use any of the
26109 contents of gettext.sh, only the external command `gettext', so stop
26110 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26111 the same prefix as GRUB.)
26112 * util/grub.d/10_kfreebsd.in: Likewise.
26113
63533ab0
VS
261142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26115
26116 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26117 of the line.
26118
989e1f93
VS
261192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26120
26121 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26122 last sectors.
26123
e709ebe2
VS
261242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26127 having a 4KiB and not 32KiB buffer size.
26128
27dea7ed
RM
261292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26130
26131 * util/hostfs.c: Include `<errno.h>'.
26132 (grub_hostfs_read): Handle errors from fseeko() and fread().
26133
67667b9c
RM
261342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26137 loop when using read hooks on files whose size isn't sector-aligned.
26138
c294d9d8
RM
261392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26140
26141 Remove unused parameter.
26142
26143 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26144 (grub_iso9660_open): Remove initialization of `data->length'.
26145
af75a9f1
RM
261462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26147
26148 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26149 memleak conditions.
26150
254e2ce5 261512010-01-27 Carles Pina i Estany <carles@pina.cat>
26152
26153 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26154 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26155
b510928c 261562010-01-26 Carles Pina i Estany <carles@pina.cat>
26157
26158 * util/bin2h.c (usage): Fix warning (space after backslash).
26159
aa2f9dd2 261602010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26161
26162 * font/font.c: Include `grub/fontformat.h.
26163 Remove font file format constants.
26164 (grub_font_load): Use the new macros.
26165 * include/grub/fontformat.h: New file.
26166 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26167 (write_font_pf2): Use the new macros.
26168
94e7e712
RM
261692010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26170
26171 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26172 does.
26173
3973a59a
RM
261742010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26175
26176 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26177
26178 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26179 (_start): Macroify `0x7F'.
26180
26181 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26182 (make_install_device): Use "(pxe)" as fallback prefix when booting
26183 via PXE.
26184
42e0cba3
GS
261852010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26186
26187 * configure.ac: Reset LIBS after check for libgcc symbols.
26188
847effd8
CW
261892010-01-25 Colin Watson <cjwatson@ubuntu.com>
26190
26191 * util/hostdisk.c (open_device): Add trailing newline to debug
26192 message.
26193
ea4a7e35
GS
261942010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26195
26196 * configure.ac: Check for `limits.h'.
26197 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26198
67951a53
RM
261992010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26200
26201 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26202 capitalize error strings.
26203
c273d4ce
ST
262042010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26205
26206 * util/grub.d/10_hurd.in: Add a recovery mode.
26207
69be5b74
VS
262082010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26209
26210 * configure.ac: Check for libgcc symbols with -nostdlib.
26211
fc9e5810
BC
262122010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26213
26214 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26215
4b358c0a
VS
262162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26219 stack since heap may be unavailable at that point.
26220 (grub_ofconsole_gotoxy): Likewise.
26221
454fcd1c
VS
262222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26223
26224 * configure.ac: Check for _restgpr_14_x.
26225 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26226 and _savegpr_* prototypes.
26227
566863ca
RM
262282010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26229
26230 Use generic grub_reboot() for i386-efi.
26231
26232 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26233 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26234 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26235
bf86e59a
VS
262362010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26239 presence of "prefix" variable as it breaks when normal.mod is
26240 embedded.
26241
d645e0f8
VS
262422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26243
26244 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26245 stack since heap is unavailable at that point.
26246
f9ab2e25
VS
262472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26248
26249 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26250 (grub_freebsd_bootinfo): Rewritten.
26251 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26252
01fc7054
VS
262532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26254
26255 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26256
caab4fd6
RM
262572010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26258
26259 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26260 domain now.
26261
67eb1427
FZ
262622010-01-20 Felix Zielcke <fzielcke@z-51.de>
26263
26264 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26265 around for handling "/" to the correct fix. Fix a memory leak. Use
26266 xstrdup instead of strdup.
26267
a9ed4ff3
VS
262682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26269
26270 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26271
262722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26273
26274 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26275
26276 * font/font.c (struct grub_font): New member 'bmp_idx'.
26277 (font_init): Initialise 'bmp_idx'.
26278 (load_font_index): Fill 'bmp_idx'.
26279 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26280
48209f4f
VS
262812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26282
26283 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26284 unnecessary calls.
26285
9f0a4bb7
VS
262862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26287
26288 Move context handling out of the kernel.
26289
26290 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26291 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26292 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26293 * conf/i386-efi.rmk: Likewise.
26294 * conf/i386-ieee1275.rmk: Likewise.
26295 * conf/i386-pc.rmk: Likewise.
26296 * conf/powerpc-ieee1275.rmk: Likewise.
26297 * conf/sparc64-ieee1275.rmk: Likewise.
26298 * conf/x86_64-efi.rmk: Likewise.
26299 * include/grub/env.h: Include grub/menu.h.
26300 (grub_env_var_type): Removed.
26301 (grub_env_var): Replaced field 'type' with 'global'.
26302 (grub_env_find): New prototype.
26303 (grub_env_context_open): Remove EXPORT_FUNC.
26304 (grub_env_context_close): Likewise.
26305 (grub_env_export): Likewise.
26306 (grub_env_set_data_slot): Removed.
26307 (grub_env_get_data_slot): Likewise.
26308 (grub_env_unset_data_slot): Likewise.
26309 (grub_env_unset_menu): New prototype.
26310 (grub_env_set_menu): Likewise.
26311 (grub_env_get_menu): Likewise.
26312 * include/grub/env_private.h: New file.
26313 * include/grub/normal.h (grub_context_init): New prototype.
26314 (grub_context_fini): Likewise.
26315 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26316 * normal/context.c (grub_cmd_export): ... to here.
26317 * kern/env.c: Include env_private.h.
26318 (HASHSZ): Moved to include/grub/env_private.h.
26319 (grub_env_context): Likewise.
26320 (grub_env_sorted_var): Likewise.
26321 (current_context): Renamed from this ...
26322 (grub_current_context): ...to this. 'static' removed. All users updated.
26323 (grub_env_find): Removed 'static'.
26324 (grub_env_context_open): Moved to normal/context.c.
26325 (grub_env_context_close): Likewise.
26326 (grub_env_export): Likewise.
26327 (mangle_data_slot_name): Removed.
26328 (grub_env_set_data_slot): Likewise.
26329 (grub_env_get_data_slot): Likewise.
26330 (grub_env_unset_data_slot): Likewise.
26331 * kern/main.c (grub_set_root_dev): Don't export root.
26332 It will be done later.
26333 (grub_main): Don't export prefix.
26334 It will be done later.
26335 * normal/context.c: New file.
26336 * normal/main.c (free_menu): Use grub_env_unset_menu.
26337 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26338 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26339 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26340 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26341
8dd35b8c
VS
263422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 setpci support.
26345
26346 * commands/setpci.c: New file.
26347 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26348 (setpci_mod_SOURCES): New variable.
26349 (setpci_mod_CFLAGS): Likewise.
26350 (setpci_mod_LDFLAGS): Likewise.
26351
449193d5
VS
263522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 Byte-addressable PCI configuration space.
26355
26356 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26357 dword address.
26358 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26359 GRUB_PCI_REG_CACHELINE.
26360 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26361 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26362 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26363 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26364 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26365 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26366 grub_pci_make_address.
26367 (lock_rom_area): Likewise.
26368 * commands/lspci.c (grub_lspci_iter): Use macroses
26369 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26370 of grub_pci_make_address.
26371 * disk/ata.c (grub_ata_pciinit): Likewise.
26372 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26373 (GRUB_PCI_REG_VENDOR): Likewise.
26374 (GRUB_PCI_REG_DEVICE): Likewise.
26375 (GRUB_PCI_REG_COMMAND): Likewise.
26376 (GRUB_PCI_REG_STATUS): Likewise.
26377 (GRUB_PCI_REG_REVISION): Likewise.
26378 (GRUB_PCI_REG_CLASS): Likewise.
26379 (GRUB_PCI_REG_CACHELINE): Likewise.
26380 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26381 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26382 (GRUB_PCI_REG_BIST): Likewise.
26383 (GRUB_PCI_REG_ADDRESSES): Likewise.
26384 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26385 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26386 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26387 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26388 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26389 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26390 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26391 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26392 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26393 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26394 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26395 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26396 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26397 (GRUB_PCI_REG_MIN_GNT): Likewise.
26398 (GRUB_PCI_REG_MAX_LAT): Likewise.
26399 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26400 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26401 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26402 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26403 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26404 space.
26405
96d73208
RM
264062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26407
26408 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26409 can be reliably determined to be supported.
26410
d4484482
RM
264112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26412
26413 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26414 that VESA is supported.
26415 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26416 supported.
26417
00308ecf
VS
264182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26419
26420 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26421
f66924a4
RM
264222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26423
26424 * util/misc.c (make_system_path_relative_to_its_root): Work around
26425 special-casing of "/", as previous incarnation of this routine did.
26426
cbca0ada
VS
264272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26428
26429 Fix any-emu compilation.
26430
26431 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26432 * grub_bin2h_SOURCES: New variable.
26433
34a66d99
RM
264342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26435
26436 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26437
94fabf58
RM
264382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26439
26440 * util/grub.d/00_header.in: Fix handling of locale_dir.
26441
02cf98ca
VS
264422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26443
26444 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26445 as possible unifont location (Gentoo).
26446 Reported by: Alexander Brüning
26447
327dbcd7
VS
264482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 Don't try to generate lists for kernel.img.
26451
26452 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26453 (pkglib_MODULES): Remove kernel.img.
26454 (kernel_img_EXPORTS): Removed.
26455 (kernel_img_RELOCATABLE): New variable.
26456 * conf/x86_64-efi.rmk: Likewise.
26457 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26458
ca467290
VS
264592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26460
26461 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26462 grub_xasprintf or grub_snprintf.
26463 (grub_vsprintf): Likewise.
26464 (grub_snprintf): New proto.
26465 (grub_vsnprintf): Likewise.
26466 (grub_xasprintf): Likewise.
26467 (grub_xvasprintf): Likewise.
26468 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26469 (grub_sprintf): Removed.
26470 (grub_vsnprintf): New function.
26471 (grub_snprintf): Likewise.
26472 (grub_xvasprintf): Likewise.
26473 (grub_xasprintf): Likewise.
26474 (grub_vsprintf): Renamed to ...
26475 (grub_vsnprintf_real): ...this. New argument max_len.
26476
aca655fd
BC
264772010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26478
26479 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26480 fix grub-script-check warning.
26481
7ee92c32
VS
264822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26483
26484 * include/grub/font.h (grub_font_load): Fix prototype.
26485
f80927ca
VS
264862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26487
26488 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26489
119c50ea
VS
264902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 * include/grub/x86_64/at_keyboard.h: New file.
26493
47d5f3c1
VS
264942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26495
26496 * loader/mips/linux.c: Include missing grub/i18n.h.
26497
55ff5266
RM
264982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * normal/menu.c (notify_execution_failure): Clarify error message.
26501
c893cc87
RM
265022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26503
26504 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26505 return value (and revert all return statements). Update users.
26506
917dd370
CW
265072010-01-20 Dan Merillat <debian@dan.merillat.org>
26508
26509 * kern/device.c (grub_device_iterate): Allocate new part_ent
26510 structure based on sizeof (*p) rather than sizeof (p->next), to
26511 account for structure padding.
26512
26513 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26514 disk is NULL, which might happen for LVM physical volumes with no
26515 LVM signature.
26516
d4a4ee57
RM
265172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26518
26519 * loader/mips/linux.c (grub_cmd_initrd)
26520 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26521
265222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26523
26524 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26525 (grub_video_video_init, grub_video_bitmap_init)
26526 (grub_font_manager_init, grub_term_gfxterm_init)
26527 (grub_at_keyboard_init): New extern declarations.
26528 (grub_machine_init): Initialize gfxterm and at_keyboard.
26529
26530 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26531
26532 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26533 `gfxterm.mod' into core image.
26534
26535 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26536 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26537 (kernel_img_FORMAT): Copy to ...
26538
26539 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26540 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26541 (kernel_img_FORMAT): ... here, and ...
26542
26543 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26544 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26545 (kernel_img_FORMAT): ... here.
26546
26547 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26548 and input (at_keyboard) terminals in kernel.
26549 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26550
26551 (pkglib_MODULES): Remove `pci.mod'.
26552 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26553 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26554 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26555 (at_keyboard_mod_LDFLAGS): Remove variables.
26556
265572010-01-11 Felix Zielcke <fzielcke@z-51.de>
26558
26559 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26560
265612009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26562
26563 * include/grub/mips/libgcc.h: Only export symbols for functions
26564 that libgcc provides.
26565
265662009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26567
26568 MIPS support.
26569
26570 * bus/bonito.c: New file.
26571 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26572 GRUB_PCI_NUM_DEVICES.
26573 * term/i386/pc/serial.c: Move to ...
26574 * term/serial.c: ... here. All users updated.
26575 * util/i386/pc/grub-mkimage.c: Move to ...
26576 * util/grub-mkrawimage.c: ... here. All users updated.
26577 * term/i386/pc/at_keyboard.c: Move to ...
26578 * term/at_keyboard.c: ... here. All users updated.
26579 * conf/mips-qemu-mips.rmk: New file.
26580 * conf/mips-yeeloong.rmk: Likewise.
26581 * conf/mips.rmk: Likewise.
26582 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26583 mipsel-qemu-mips.
26584 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26585 to port addresses.
26586 (grub_ata_pciinit): Support CS5536.
26587 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26588 * font/font_cmd.c (loadfont_command): Open file before passing it to
26589 grub_font_load.
26590 (pseudo_file_read): New function.
26591 (pseudo_file_close): Likewise.
26592 (pseudo_fs): New structure.
26593 (load_font_module): New function.
26594 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26595 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26596 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26597 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26598 * include/grub/i386/at_keyboard.h: Split into ...
26599 * include/grub/at_keyboard.h: ... this ...
26600 * include/grub/i386/at_keyboard.h: ... and this.
26601 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26602 New prototype.
26603 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26604 updated.
26605 (grub_elf64_size): Likewise.
26606 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26607 filename.
26608 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26609 * include/grub/i386/coreboot/serial.h: Rewritten.
26610 * include/grub/i386/ieee1275/serial.h: Include
26611 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26612 * include/grub/i386/pc/serial.h: Moved from here ...
26613 * include/grub/serial.h: ... to here. All users updated.
26614 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26615 (GRUB_PCI_NUM_BUS): Likewise.
26616 (GRUB_PCI_NUM_DEVICES): Likewise.
26617 (grub_pci_device_map_range): Add missing volatile keyword.
26618 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26619 * include/grub/mips/at_keyboard.h: New file.
26620 * include/grub/mips/cache.h: Likewise.
26621 * include/grub/mips/io.h: Likewise.
26622 * include/grub/mips/kernel.h: Likewise.
26623 * include/grub/mips/libgcc.h: Likewise.
26624 * include/grub/mips/pci.h: Likewise.
26625 * include/grub/mips/qemu-mips/boot.h: Likewise.
26626 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26627 * include/grub/mips/qemu-mips/loader.h: Likewise.
26628 * include/grub/mips/qemu-mips/memory.h: Likewise.
26629 * include/grub/mips/qemu-mips/serial.h: Likewise.
26630 * include/grub/mips/qemu-mips/time.h: Likewise.
26631 * include/grub/mips/relocator.h: Likewise.
26632 * include/grub/mips/time.h: Likewise.
26633 * include/grub/mips/types.h: Likewise.
26634 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26635 * include/grub/mips/yeeloong/boot.h: Likewise.
26636 * include/grub/mips/yeeloong/kernel.h: Likewise.
26637 * include/grub/mips/yeeloong/loader.h: Likewise.
26638 * include/grub/mips/yeeloong/memory.h: Likewise.
26639 * include/grub/mips/yeeloong/pci.h: Likewise.
26640 * include/grub/mips/yeeloong/serial.h: Likewise.
26641 * include/grub/mips/yeeloong/time.h: Likewise.
26642 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26643 * kern/elf.c (grub_elf32_size): New parameter. All users
26644 updated.
26645 (grub_elf64_size): Likewise.
26646 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26647 Load modules before saying "Welcome to GRUB!".
26648 Call grub_refresh after saying "Welcome to GRUB!".
26649 * kern/mips/cache.S: New file.
26650 * kern/mips/cache_flush.S: Likewise.
26651 * kern/mips/dl.c: Likewise.
26652 * kern/mips/init.c: Likewise.
26653 * kern/mips/qemu-mips/init.c: Likewise.
26654 * kern/mips/startup.S: Likewise.
26655 * kern/mips/yeeloong/init.c: Likewise.
26656 * kern/term.c (grub_putcode): Handle NULL terminal.
26657 (grub_getcharwidth): Likewise.
26658 (grub_getkey): Likewise.
26659 (grub_checkkey): Likewise.
26660 (grub_getkeystatus): Likewise.
26661 (grub_getxy): Likewise.
26662 (grub_getwh): Likewise.
26663 (grub_gotoxy): Likewise.
26664 (grub_cls): Likewise.
26665 (grub_setcolorstate): Likewise.
26666 (grub_setcolor): Likewise.
26667 (grub_getcolor): Likewise.
26668 (grub_refresh): Likewise.
26669 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26670 (write_jump): Add hatch nop.
26671 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26672 * lib/mips/setjmp.S: New file.
26673 * loader/mips/linux.c: Likewise.
26674 * term/i386/pc/at_keyboard.c: Move from here ...
26675 * term/at_keyboard.c: ... to here.
26676 * term/i386/pc/serial.c: Moved from here ...
26677 * term/serial.c: ... to here. All users updated.
26678 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26679 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26680 (serial_translate_key_sequence): Avoid deadlock.
26681 (grub_serial_getkey): Handle backspace.
26682 (grub_serial_putchar): Fix newline handling.
26683 * util/i386/pc/grub-mkimage.c: Move from here ...
26684 * util/grub-mkrawimage.c: ... to here. All users updated.
26685 (generate_image): New parameters 'font_path' and 'format'.
26686 Support embedding font.
26687 Use grub_host_to_target* instead of grub_cpu_to_le*.
26688 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26689 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26690 (options): New option "--font".
26691 (usage): Likewise.
26692 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26693 (main): Handle "--font".
26694 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26695 (grub_virtual_screen_setup): Set bg_color_display.
26696 (redraw_screen_rect): Use bg_color_display instead of incorrect
26697 bg_color.
26698 (grub_gfxterm_cls): Likewise.
26699 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26700 Support embedding config file.
26701 (add_segments): Likewise.
26702 (options): New option "--config".
26703 (main): Handle "--config".
26704 * video/sm712.c: New file.
26705
25c2b5b3
RM
267062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26707
26708 Fix parallel builds.
26709
26710 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26711 font.c depend on ascii.h).
26712
267132010-01-12 Carles Pina i Estany <carles@pina.cat>
26714
26715 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26716
267172010-01-11 Carles Pina i Estany <carles@pina.cat>
26718
26719 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26720 By default: disabled.
26721 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26722 parameter.
26723
267242010-01-10 Carles Pina i Estany <carles@pina.cat>
26725
26726 * font/font.c: Update copyright years.
26727 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26728
267292010-01-10 Carles Pina i Estany <carles@pina.cat>
26730
26731 * font/font.c: Include `ascii.h'.
26732 (ASCII_BITMAP_SIZE): New macro.
26733 (ascii_font_glyph): Define.
26734 (ascii_glyph_lookup): New function.
26735 (grub_font_get_string_width): Change comment. If glyph not found, use
26736 ascii_glyph_lookup.
26737 (grub_font_get_glyph_with_fallback): If glyph not available returns
26738 ascii_glyph_lookup.
26739 * util/grub-mkfont.c (file_formats): New enum.
26740 (options): Add `ascii-bitmaps' new option.
26741 (usage): Add `asii-bitmaps' new option.
26742 (write_font_ascii_bitmap): New function.
26743 (write_font): Rename to ...
26744 (write_font_p2): ... this. Remove print_glyphs call.
26745 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26746 used. Call print_glyphs.
26747 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26748
267492010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26750
26751 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26752 (grub_bin2h_SOURCES): New variable.
26753 * util/bin2h.c: New file.
26754
915fc1b8
VS
267552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * include/multiboot.h: Resynced with spec.
26758 * include/multiboot2.h: Likewise.
26759 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26760 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26761
9444b678
RM
267622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 * include/grub/term.h (grub_term_register_input,
26765 grub_term_register_output): Check return of terminal init()
26766 routines, and abort if errors are raised.
26767
26768 * commands/terminal.c: Update copyright year.
26769
cba98e8d
RM
267702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26771
26772 * commands/terminal.c (grub_cmd_terminal_input)
26773 (grub_cmd_terminal_output): Check return of terminal init()
26774 routines, and abort if errors are raised.
26775
6f7db5d6
VS
267762010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26777
26778 * include/grub/i386/bsd.h: Fix include pathes.
26779
262bff8d
VS
267802010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26781
26782 Add missing *BSD copyright headers.
26783
26784 * include/grub/aout.h: Add BSD licence.
26785 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26786 * include/grub/i386/freebsd_linker.h: ... here,
26787 * include/grub/i386/freebsd_reboot.h: ... here,
26788 * include/grub/i386/netbsd_bootinfo.h: ... here,
26789 * include/grub/i386/netbsd_reboot.h: ... here,
26790 * include/grub/i386/openbsd_bootarg.h: ... here,
26791 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26792 licence to each file.
26793
b2cab848
RM
267942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * acinclude.m4: Remove `nop' assembly instruction; it's not
26797 implemented by all architectures.
26798
2cb6be4b
RM
267992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26800
26801 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26802 ELILO. This is no longer necessary.
26803
a2eaee15
BC
268042010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26805
26806 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26807
26808 * util/grub-script-check.c: grub-script-check tool.
26809 * conf/common.rmk: Make rules for grub-script-check.
26810
88d17012
RM
268112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26812
26813 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26814 spotting it back in 2008. Shame on me for forgetting he did.
26815
26816 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26817
8040619d
RM
268182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26819
26820 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26821 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26822 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26823 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26824 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26825 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26826
a0c2a0f6
RM
268272010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 * include/grub/test.h: Add license header.
26830 * tests/example_functional_test.c: Likewise.
26831 * tests/example_unit_test.c: Likewise.
26832 * tests/lib/functional_test.c: Likewise.
26833 * tests/lib/test.c: Likewise.
26834 * tests/lib/unit_test.c: Likewise.
26835
b0b13907
VS
268362010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 Use flag-based instead of hook-based video mode selection and "auto"
26839 keyword.
26840
26841 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26842 (grub_video_set_mode): Changed prototype. All users updated.
26843 (grub_video_check_mode_flag): New inline function.
26844 * video/video.c (parse_modespec): New function.
26845 (grub_video_set_mode): Parse flags and keywords.
26846
ea379330 268472010-01-17 Carles Pina i Estany <carles@pina.cat>
26848
26849 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26850 fprintf call.
26851
e15c215e
FZ
268522010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26853
26854 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26855
409ae1c9 268562010-01-16 Carles Pina i Estany <carles@pina.cat>
26857
26858 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26859 string.
26860 * util/grub-emu.c (usage): Likewise.
26861 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26862 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26863 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26864 * util/i386/pc/grub-setup.c (usage): Likewise.
26865
70a14d3d 268662010-01-16 Carles Pina i Estany <carles@pina.cat>
26867
26868 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26869 the message.
26870 (grub_util_info): Likewise.
26871 (grub_util_error): Likewise.
26872 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26873 and/or new lines in `grub_util_warna', `grub_util_info',
26874 `grub_util_error' calls.
26875 * util/getroot.c: Likewise.
26876 * util/grub-editenv.c: Likewise.
26877 * util/grub-emu.c: Likewise.
26878 * util/grub-fstest.c: Likewise.
26879 * util/grub-mkdevicemap.c: Likewise.
26880 * util/grub-mkfont.c: Likewise.
26881 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26882 * util/grub-mkrelpath.c: Likewise.
26883 * util/grub-pe2elf.c: Likewise.
26884 * util/grub-probe.c: Likewise.
26885 * util/hostdisk.c: Likewise.
26886 * util/i386/efi/grub-mkimage.c: Likewise.
26887 * util/i386/pc/grub-mkimage.c: Likewise.
26888 * util/i386/pc/grub-setup.c: Likewise.
26889 * util/ieee1275/ofpath.c: Likewise.
26890 * util/mkisofs/eltorito.c: Likewise.
26891 * util/mkisofs/rock.c: Likewise.
26892 * util/mkisofs/write.c: Likewise.
26893 * util/raid.c: Likewise.
26894 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26895 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26896
a0b766fc
VS
268972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 Enable multiboot on non-pc.
26900
26901 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26902 multiboot.mod and multiboot2.mod to ...
26903 * conf/i386.rmk (pkglib_MODULES): ... here.
26904 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26905 Moved to ...
26906 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26907 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26908 Moved to ...
26909 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26910 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26911 Moved to ...
26912 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26913 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26914 Moved to ...
26915 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26916 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26917 relocator.mod.
26918 (ata_mod_SOURCES): Removed.
26919 (ata_mod_CFLAGS): Likewise.
26920 (ata_mod_LDFLAGS): Likewise.
26921 (relocator_mod_SOURCES): Removed.
26922 (relocator_mod_CFLAGS): Likewise.
26923 (relocator_mod_ASFLAGS): Likewise.
26924 (relocator_mod_LDFLAGS): Likewise.
26925 Include i386.mk.
26926 * include/grub/x86_64/multiboot.h: New file.
26927 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26928 Terminate EFI.
26929
884ade56
VS
269302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 Video multiboot support.
26933
26934 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26935 New prototype.
26936 * include/multiboot.h: Resynced with multiboot specification.
26937 * include/multiboot2.h: Likewise.
26938 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26939 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26940 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26941 (HAS_VGA_TEXT): Likewise.
26942 (accepts_video): New variable.
26943 (grub_multiboot_set_accepts_video): New function.
26944 (grub_multiboot_get_mbi_size): Account for video structures.
26945 (set_video_mode): New function.
26946 (retrieve_video_parameters): Likewise.
26947 (grub_multiboot_make_mbi): Fill video fields.
26948
0d90e8a6
VS
269492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26950
26951 Video driver ids.
26952
26953 * include/grub/video.h (grub_video_driver_id): New type.
26954 (grub_video_adapter): New member 'id'. All users updated.
26955 (grub_video_get_driver_id): New proto.
26956 * video/video.c (grub_video_get_driver_id): New function.
26957
5c71db1b 269582010-01-14 Carles Pina i Estany <carles@pina.cat>
26959
26960 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26961 `var=val'.
26962
cca15b52 269632010-01-14 Carles Pina i Estany <carles@pina.cat>
26964
26965 * normal/cmdline.c (print_completion): Gettextizze.
26966
c586fbb2 269672001-01-14 Carles Pina i Estany <carles@pina.cat>
26968
26969 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26970
ba2f6848 269712010-01-14 Carles Pina i Estany <carles@pina.cat>
26972
26973 * gettext/gettext.c (grub_gettext_translate): Push and pop
26974 grub_errno.
26975 (grub_gettext_delete_list): Change comment style.
26976 * kern/err.c (grub_error): Gettextizze.
26977 (grub_fatal): Gettextizze.
26978
0a46429a
RM
269792010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26982 (grub_linux16_real_boot): ... this.
26983 * kern/i386/loader.S: Likewise.
26984 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26985 (grub_linux16_boot): New function. Switches to text mode and calls
26986 grub_linux16_real_boot().
26987
26988 * loader/i386/bsd.c: Include `<grub/video.h>'.
26989 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26990 text mode before calling grub_unix_real_boot().
26991
26992 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26993 (grub_multiboot_boot): Switch to text mode before calling
26994 grub_relocator32_boot().
26995
26996 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26997 (grub_chainloader_boot): Switch to text mode before calling
26998 grub_chainloader_real_boot().
26999
d6f93a66
RM
270002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
270012010-01-05 Colin Watson <cjwatson@ubuntu.com>
27002
27003 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27004 non-empty value.
27005
270062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
270072010-01-05 Colin Watson <cjwatson@ubuntu.com>
27008
27009 * util/grub.d/00_header.in: Define a "savedefault" function for use
27010 in menu entries.
27011 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27012
270132010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
270142010-01-05 Colin Watson <cjwatson@ubuntu.com>
27015
27016 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27017 saved_entry if boot_once is unset.
27018 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27019 previous saved entry (i.e. grub-reboot).
27020
270212009-12-08 Colin Watson <cjwatson@ubuntu.com>
27022
27023 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27024
270252009-12-08 Colin Watson <cjwatson@ubuntu.com>
27026
27027 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27028 `var=val'.
27029 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27030
270312009-12-08 Colin Watson <cjwatson@ubuntu.com>
27032
27033 * util/grub-reboot.in: Fix --version output.
27034 * util/grub-set-default.in: Likewise.
27035
270362009-12-08 Colin Watson <cjwatson@ubuntu.com>
27037
27038 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27039 blocks.
27040
270412009-12-08 Colin Watson <cjwatson@ubuntu.com>
27042
27043 * util/grub.d/00_header.in: Quote the value assigned to `default',
27044 in case it contains spaces.
27045
270462009-12-08 Colin Watson <cjwatson@ubuntu.com>
27047
27048 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27049 `save_default_entry' call from the macosx case to the linux case.
27050
270512009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
270522009-10-25 Colin Watson <cjwatson@ubuntu.com>
27053
27054 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27055 in `chosen' environment variable.
27056 * normal/menu_text.c (get_entry_number): Check if the variable
27057 matches the title of a menu entry.
27058 (run_menu): Pass menu to get_entry_number.
27059
27060 * util/grub-reboot.in: New file.
27061 * util/grub-set-default.in: New file.
27062 * conf/common.rmk (grub-reboot): New utility.
27063 (grub-set-default): New utility.
27064
27065 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27066 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27067 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27068 move it to `saved_entry' for the next boot. Load environment on
27069 initialisation.
27070 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27071 * util/grub.d/10_hurd.in: Likewise.
27072 * util/grub.d/10_linux.in (linux_entry): Likewise.
27073 * util/grub.d/10_windows.in: Likewise.
27074 * util/grub.d/30_os-prober.in: Likewise.
27075
27076 * util/grub-install.in: Create environment block.
27077 * util/i386/efi/grub-install.in: Likewise.
27078 * util/ieee1275/grub-install.in: Likewise.
27079 * util/sparc64/ieee1275/grub-install.in: Likewise.
27080
0934d184
BC
270812010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27082
27083 Unit testing framework for GRUB.
27084
27085 * Makefile.in: Test framework build rules for 'make check'.
27086 * conf/tests.rmk: Build rules for individual tests and framework.
27087
27088 * include/grub/test.h: Header file for whitebox tests.
27089 * tests/lib/functional_test.c: Framework support for whitebox
27090 functional tests.
27091 * tests/lib/test.c: Common whitebox testing code for unit and
27092 functional tests.
27093 * tests/lib/unit_test.c: Framework support for whitebox unit
27094 tests.
27095
27096 * tests/util/grub-shell-tester.in: Support utility for grub-script
27097 tests.
27098 * tests/util/grub-shell.in: Utility to execute grub-script
27099 commands in a Qemu instance.
27100
27101 * tests/example_functional_test.c: Example whitebox functional
27102 test.
27103 * tests/example_grub_script_test.in: Example grub-script test.
27104 * tests/example_scripted_test.in: Example scripted test.
27105 * tests/example_unit_test.c: Example whitebox unit test.
27106
9c4ffeeb
VS
271072010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27110 Add loader/i386/multiboot_mbi.c.
27111 (multiboot2_mod_SOURCES): Likewise.
27112 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27113 (multiboot2_mod_SOURCES): Likewise.
27114 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27115 (grub_multiboot_make_mbi): Likewise.
27116 (grub_multiboot_free_mbi): Likewise.
27117 (grub_multiboot_init_mbi): Likewise.
27118 (grub_multiboot_add_module): Likewise.
27119 (grub_multiboot_set_bootdev): Likewise.
27120 * loader/i386/multiboot.c (mbi): Removed.
27121 (mbi_dest): Likewise.
27122 (alloc_mbi): New variable.
27123 (grub_multiboot_payload_size): Removed. All users updated.
27124 (grub_multiboot_pure_size): New variable.
27125 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27126 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27127 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27128 (grub_fill_multiboot_mmap): Likewise.
27129 (grub_multiboot_get_bootdev): Likewise.
27130 (grub_multiboot): Use multiboot_mbi functions.
27131 * loader/i386/multiboot_mbi.c: New file.
27132
17383dfe
VS
271332010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27134
27135 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27136 it would result in module crash.
27137
c1f28820
VS
271382010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27139
27140 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27141 (grub_ofconsole_getwh): Split to ...
27142 (grub_ofconsole_getwh): ... this.
27143 (grub_ofconsole_dimensions): ...and this.
27144 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27145
58655a16
RM
271462010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27147
27148 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27149
10891398
VS
271502010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27151
27152 * loader/i386/pc/multiboot2.c: Removed stalled file.
27153
0b8a223c
VS
271542010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27155
27156 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27157 Reported by: Grégoire Sutre
27158
92ab12b0
RM
271592010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27160
27161 * util/misc.c (canonicalize_file_name): New function.
27162 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27163 instead of realpath().
27164
a788afb6
CW
271652010-01-11 Colin Watson <cjwatson@ubuntu.com>
27166
27167 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27168 and make it clearer that it's optional. Based on confusion
27169 witnessed on IRC.
27170
ffa8e3d2
VS
271712010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27174 in premature implicit newline.
27175
e9060a9d
VS
271762010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27177
27178 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27179 which resulted in garbled command line at the end of screen.
27180
f0d0c0b7
RM
271812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27182
27183 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27184 initialization with similar approach as with other Linux loaders.
27185
0e60bae7
RM
271862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27187
27188 Fix i386-ieee1275 build.
27189
27190 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27191 and grub_term_height() for video_{width,height} initialization.
27192
271932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27194
27195 Fix grub-emu build.
27196
27197 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27198
cdb3f378
RM
271992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
272002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27201
27202 Support for multiple terminals.
27203
27204 * Makefile.in (pkglib_DATA): terminal.lst.
27205 (terminal.lst): New target.
27206 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27207 (GRUB_MOD_INIT(handler)): Likewise.
27208 (GRUB_MOD_FINI(handler)): Likewise.
27209 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27210 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27211 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27212 (grub_cmd_sleep): Use grub_term_save_pos.
27213 * commands/terminal.c: New file.
27214 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27215 commands/terminal.c and lib/charset.c.
27216 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27217 (pkglib_MODULES): Add terminal.mod.
27218 (terminal_mod_SOURCES): New variable.
27219 (terminal_mod_CFLAGS): Likewise.
27220 (terminal_mod_LDFLAGS): Likewise.
27221 * genhandlerlist.sh: Don't handle terminals.
27222 * genmk.rb: Generate terminal-*.lst.
27223 * genterminallist.sh: New file.
27224 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27225 (grub_is_valid_utf8): Likewise.
27226 (grub_utf8_to_ucs4_alloc): Likewise.
27227 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27228 (grub_menu_register_viewer): Changed argument.
27229 (grub_menu_try_text): New proto.
27230 (grub_gfxmenu_try_hook): New declaration.
27231 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27232 (grub_menu_init_page): Additional argument term.
27233 (grub_normal_init_page): Likewise.
27234 (grub_cmdline_get): Arguments simplified.
27235 (grub_utf8_to_ucs4_alloc): Removed.
27236 (grub_print_ucs4): Additional argument term.
27237 (grub_getstringwidth): Likewise.
27238 (grub_print_message_indented): Likewise.
27239 (grub_menu_text_register_instances): New proto.
27240 (grub_show_menu): Likewise.
27241 (read_terminal_list): Likewise.
27242 (grub_set_more): Likewise.
27243 * include/grub/parser.h: Include handler.h.
27244 * include/grub/reader.h: Rewritten.
27245 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27246 (GRUB_TERM_WIDTH): Changed to function.
27247 (GRUB_TERM_HEIGHT): Likewise.
27248 (GRUB_TERM_BORDER_WIDTH): Likewise.
27249 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27250 (GRUB_TERM_NUM_ENTRIES): Likewise.
27251 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27252 (GRUB_TERM_CURSOR_X): Likewise.
27253 (grub_term_input_class): Likewise.
27254 (grub_term_output_class): Likewise.
27255 (grub_term_outputs_disabled): New declaration.
27256 (grub_term_inputs_disabled): Likewise.
27257 (grub_term_outputs): Likewise.
27258 (grub_term_inputs): Likewise.
27259 (grub_term_register_input): Rewritten.
27260 (grub_term_register_output): Likewise.
27261 (grub_term_unregister_input): Likewise.
27262 (grub_term_unregister_output): Likewise.
27263 (FOR_ACTIVE_TERM_INPUTS): New macro.
27264 (FOR_DISABLED_TERM_INPUTS): Likewise.
27265 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27266 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27267 * include/grub/terminfo.h: Add oterm argument to all protypes.
27268 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27269 Use grub_rescue_run.
27270 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27271 All users updated.
27272 * kern/reader.c: Removed. All users updated.
27273 * kern/rescue_reader.c (grub_rescue_init): Removed.
27274 (grub_rescue_reader): Likewise.
27275 (grub_register_rescue_reader): Likewise.
27276 (grub_rescue_run): New function based on kern/reader.c.
27277 * kern/term.c: Adapted for multiterm.
27278 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27279 (grub_is_valid_utf8): Likewise.
27280 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27281 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27282 right terminal.
27283 * loader/i386/linux.c (grub_linux_boot): Likewise.
27284 * normal/auth.c (grub_username_get): New function.
27285 (grub_auth_check_authentication): Use grub_username_get.
27286 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27287 * normal/color.c: Adapt for multiterm.
27288 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27289 (grub_normal_init_page): Additional argument term.
27290 (read_lists): Call read_terminal_lists.
27291 (grub_enter_normal_mode): Call grub_cmdline_run.
27292 Handle grub_normal_exit_level.
27293 (grub_cmd_normal): Make reentrant.
27294 (grub_cmd_normal_exit): New function.
27295 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27296 * normal/menu.c: Adapt for multiterm.
27297 * normal/menu_entry.c: Likewise.
27298 * normal/menu_text.c: Likewise.
27299 * normal/menu_viewer.c: Removed. All users updated.
27300 * normal/term.c: New file.
27301 * util/console.c: Change order of includes to workaround a bug in
27302 ncurses headers.
27303 * term/terminfo.c: New argument oterm on all exported functions.
27304 All users updated.
27305 * util/grub-editenv.c (grub_term_input_class): Removed.
27306 (grub_term_output_class): Likewise.
27307
1a064917
RM
273082010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27309
27310 Make loader output a bit more user-friendly.
27311
27312 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27313 is being loaded. Likewise for the Hurd.
27314
27315 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27316 that kernel of FreeBSD ${version} is being loaded.
27317
27318 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27319 grub_dprintf().
27320 (grub_cmd_initrd): Likewise.
27321 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27322 that Linux ${version} is being loaded. Likewise for initrd.
27323
5ce0a83a 273242010-01-09 Carles Pina i Estany <carles@pina.cat>
27325
27326 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27327
809bbfeb 273282010-01-08 Carles Pina i Estany <carles@pina.cat>
27329
27330 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27331 (GRUB_MOD_INIT): Gettextizze.
27332 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27333 (GRUB_MOD_INIT): Gettextizze.
27334 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27335 (grub_cmd_linux): Capitalise Linux.
27336 (GRUB_MOD_INIT): Gettextizze.
27337 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27338 (grub_cmd_linux): Capitalise Linux.
27339 (GRUB_MOD_INIT): Gettextizze.
27340 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27341 (grub_cmd_linux): Capitalise Linux.
27342 (GRUB_MOD_INIT): Gettextizze.
27343 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27344 (GRUB_MOD_INIT): Gettextizze.
27345 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27346 (grub_cmd_linux): Capitalise Linux.
27347 (GRUB_MOD_INIT): Gettextizze.
27348 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27349 (grub_cpu_xnu_init): Gettextizze.
27350 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27351 (GRUB_MOD_INIT): Gettextizze.
27352 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27353 (GRUB_MOD_INIT): Gettextizze.
27354 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27355 (grub_linux_load64): Capitalise Linux.
27356 (GRUB_MOD_INIT): Gettextizze.
27357 * loader/xnu.c: Include `<grub/i18n.h>'.
27358 (GRUB_MOD_INIT): Gettextizze.
27359 * po/POTFILES: Add `loader/efi/appleloader.c',
27360 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27361 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27362 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27363 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27364 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27365 and `loader/xnu.c'.
27366
b394b2ca
RM
273672010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27368
27369 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27370
273712010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27372
27373 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27374 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27375 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27376
bc8b32b3
RM
273772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27378
27379 Reset Multiboot 2 support. New loader implements the draft in
27380 /branches/multiboot2 and shares as much code as possible with the
27381 production Multiboot 1 implementation.
27382
27383 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27384 * loader/multiboot2.c: Likewise.
27385 * loader/i386/multiboot_helper.S: Likewise.
27386 * include/multiboot2.h: Replace with latest version from the draft
27387 in /branches/multiboot2.
27388
27389 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27390 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27391 and `loader/multiboot2.c'.
27392 (pkglib_MODULES): Add `multiboot2.mod'.
27393 (multiboot2_mod_SOURCES): New variable.
27394 (multiboot2_mod_LDFLAGS): Likewise.
27395 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27396
27397 * conf/i386-pc.rmk: Likewise.
27398
27399 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27400 (multiboot_mod_SOURCES): Remove variable.
27401 (multiboot_mod_LDFLAGS): Likewise.
27402 (multiboot_mod_CFLAGS): Likewise.
27403
27404 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27405 `<multiboot2.h>' instead of `<multiboot.h>'.
27406 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27407 (MULTIBOOT_HEADER_MAGIC): New macros.
27408
27409 * loader/multiboot_loader.c (module_version_status): Remove variable.
27410 (find_multi_boot2_header): Remove function.
27411 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27412 logic. Always check for the Multiboot version we're compiling for.
27413 (grub_cmd_module_loader): Likewise.
27414 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27415 command instead of `multiboot'.
27416
5d2c52b8
RM
274172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27418
27419 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27420 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27421 all users.
27422
53108d92
RM
274232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
274242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27425
27426 Fix breakage introduced with previous commit.
27427
27428 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27429 commands.
27430 * normal/handler.c (read_handler_list): Revert part of previous commit
27431 affecting this file.
27432 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27433 (grub_normal_execute): ... here.
27434
e2e936b2
RM
274352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27436
27437 Merge prefix-redefinition-fix branch.
27438
27439 * normal/autofs.c (read_fs_list): Make function capable of being
27440 run multiple times, gracefuly replacing the previous data
27441 structures.
27442 * normal/dyncmd.c (read_command_list): Likewise.
27443 * normal/handler.c (read_handler_list): Likewise.
27444 * normal/main.c (read_lists): New function. Calls all the
27445 list reading functions.
27446 (grub_normal_execute): Use read_lists() instead of calling all
27447 list reading functions explicitly. Register read_lists() as a
27448 variable hook attached to ${prefix}.
27449
607a3701
VS
274502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27451
27452 Merge crypto branch.
27453
27454 * Makefile.in (pkglib_DATA): Add crypto.lst.
27455 (crypto.lst): New target.
27456 * commands/hashsum.c: New file.
27457 * commands/password.c (check_password): Use grub_crypto_memcmp.
27458 * commands/password_pbkdf2.c: New file.
27459 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27460 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27461 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27462 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27463 -I$(srcdir)/lib/libgcrypt_wrap.
27464 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27465 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27466 password_pbkdf2.mod.
27467 (crypto_mod_SOURCES): New variable.
27468 (crypto_mod_CFLAGS): Likewise.
27469 (crypto_mod_LDFLAGS): Likewise.
27470 (hashsum_mod_SOURCES): New variable.
27471 (hashsum_mod_CFLAGS): Likewise.
27472 (hashsum_mod_LDFLAGS): Likewise.
27473 (pbkdf2_mod_SOURCES): New variable.
27474 (pbkdf2_mod_CFLAGS): Likewise.
27475 (pbkdf2_mod_LDFLAGS): Likewise.
27476 (password_pbkdf2_mod_SOURCES): New variable.
27477 (password_pbkdf2_mod_CFLAGS): Likewise.
27478 (password_pbkdf2_mod_LDFLAGS): Likewise.
27479 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27480 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27481 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27482 Include conf/gcry.rmk.
27483 * include/grub/auth.h: Rewritten.
27484 * include/grub/crypto.h: New file.
27485 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27486 * include/grub/normal.h (read_crypto_list): New prototype.
27487 * lib/crypto.c: New file.
27488 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27489 * lib/pbkdf2.c: Likewise.
27490 * normal/auth.c (grub_auth_strcmp): Removed.
27491 (grub_iswordseparator): Likewise.
27492 (grub_auth_strword): Likewise.
27493 (is_authenticated): Use grub_strword.
27494 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27495 and grub_strword. Pass entered password to authentication callback.
27496 * normal/crypto.c: New file.
27497 * normal/main.c: Call read_crypto_list.
27498 * util/grub-mkpasswd-pbkdf2.c: New file.
27499 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27500
42841caa
VS
275012010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 Fix descent and ascent calculation.
27504
27505 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27506 (options): New option "asce".
27507 (usage): Likewise.
27508 (add_char): Ignore invalid glyphs for descent calculation.
27509 Calculate ascent from actual content.
27510 (print_glyphs): Use 'asce'.
27511 (write_font): Likewise. Allow ascent override.
27512 (main): Handle "asce" option.
27513
e7730de7 275142010-01-06 Carles Pina i Estany <carles@pina.cat>
27515
27516 * kern/err.c: Include `<grub/i18n.h>'.
27517 (grub_print_error): Add full stop. Gettextizze.
27518 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27519 (grub_bsd_load_elf): Capitalise ELF.
27520 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27521 (grub_cmd_freebsd_module): Likewise.
27522 (grub_cmd_freebsd_module_elf): Likewise.
27523 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27524
40e3a41f 275252010-01-06 Carles Pina i Estany <carles@pina.cat>
27526
27527 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27528 * commands/search_file.c (HELP_MESSAGE): New macro.
27529 * commands/search_label.c (HELP_MESSAGE): Likewise.
27530 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27531 * po/POTFILES: Add `commands/search_file.c',
27532 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27533 `commands/search.c'.
27534
83507e68
RM
275352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27536
27537 * config.rpath: Update from Gnulib.
27538
465c787b
YB
275392010-01-05 Yves Blusseau <blusseau@zetam.org>
27540
27541 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27542
6581dd3a
YB
275432010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27544
27545 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27546
3bff18c5
CW
275472010-01-05 Colin Watson <cjwatson@ubuntu.com>
27548
27549 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27550 arguments to fread so that we get a return value in bytes, rather
27551 than something that will normally be rounded down to 0.
27552 Adjust error handling to avoid producing garbage when size_t is not
27553 the same size as long long.
27554
a1368118
CW
275552010-01-05 Colin Watson <cjwatson@ubuntu.com>
27556
27557 * util/mkisofs/write.c (padblock_write): Check return value of
27558 fread.
27559
7c302978
RM
275602010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27561
27562 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27563 floppy images now.
27564
27565 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27566
e33ace06
RM
275672010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27568
27569 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27570 instead of manual alignment.
27571 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27572 verbose). Avoid attempts to read past end of the device
27573 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27574 but GRUB_DISK_CACHE_SIZE may exceed that).
27575
4b856776
RM
275762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27577
27578 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27579 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27580 it to upper layer.
27581
52c2d97f
VS
275822010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27583
27584 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27585 New constant.
27586 (grub_efi_piwg_device_path): New structure
27587 (grub_efi_piwg_device_path_t): New type.
27588 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27589 (devpath_1): Transform to a structure. All users updated.
27590 (devpath_2): Likewise.
27591 (devpath_3): Likewise.
27592 (devpath_4): Likewise.
27593 (devpath_5): Likewise.
27594
98ff6a54
VS
275952010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27596
27597 * loader/efi/appleloader.c: Restored. Update all users.
27598
3a73dcb6
RM
275992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27602
27603 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27604 (struct boot_blocklist): Move from here ...
27605 * include/grub/i386/pc/boot.h [ASM_FILE]
27606 (struct grub_boot_blocklist): ... to here. Update all users.
27607 (setup): Only initialize `start' member of `first_block'
27608 structure. Add assert() calls to verify the other members.
27609
27610 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27611 (generate_image): Fix broken blocklist length initialization.
27612 Add assert() call to verify blocklist `segment' field.
27613
ab0eeb0c
RM
276142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27615
27616 * loader/efi/appleloader.c: Remove. Update all users.
27617
58bc8bd5
RM
276182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27619
27620 * boot/i386/pc/boot.S: Update copyright year.
27621 * boot/i386/pc/cdboot.S: Likewise.
27622 * boot/i386/pc/diskboot.S: Likewise.
27623 * boot/i386/pc/lnxboot.S: Likewise.
27624 * boot/i386/pc/pxeboot.S: Likewise.
27625 * bus/pci.c: Likewise.
27626 * commands/cmp.c: Likewise.
27627 * commands/help.c: Likewise.
27628 * commands/hexdump.c: Likewise.
27629 * commands/i386/pc/halt.c: Likewise.
27630 * commands/i386/pc/play.c: Likewise.
27631 * commands/i386/pc/vbeinfo.c: Likewise.
27632 * commands/ls.c: Likewise.
27633 * commands/test.c: Likewise.
27634 * disk/dmraid_nvidia.c: Likewise.
27635 * disk/i386/pc/biosdisk.c: Likewise.
27636 * disk/ieee1275/nand.c: Likewise.
27637 * disk/ieee1275/ofdisk.c: Likewise.
27638 * disk/lvm.c: Likewise.
27639 * disk/raid.c: Likewise.
27640 * disk/raid6_recover.c: Likewise.
27641 * disk/scsi.c: Likewise.
27642 * fs/affs.c: Likewise.
27643 * fs/cpio.c: Likewise.
27644 * fs/ext2.c: Likewise.
27645 * fs/hfs.c: Likewise.
27646 * fs/iso9660.c: Likewise.
27647 * fs/ntfs.c: Likewise.
27648 * fs/sfs.c: Likewise.
27649 * fs/udf.c: Likewise.
27650 * fs/ufs.c: Likewise.
27651 * fs/xfs.c: Likewise.
27652 * gencmdlist.sh: Likewise.
27653 * genmk.rb: Likewise.
27654 * include/grub/disk.h: Likewise.
27655 * include/grub/efi/api.h: Likewise.
27656 * include/grub/efi/efi.h: Likewise.
27657 * include/grub/efi/pe32.h: Likewise.
27658 * include/grub/elf.h: Likewise.
27659 * include/grub/fs.h: Likewise.
27660 * include/grub/i386/at_keyboard.h: Likewise.
27661 * include/grub/i386/pc/memory.h: Likewise.
27662 * include/grub/i386/pc/vbe.h: Likewise.
27663 * include/grub/i386/pci.h: Likewise.
27664 * include/grub/i386/tsc.h: Likewise.
27665 * include/grub/ieee1275/ieee1275.h: Likewise.
27666 * include/grub/ntfs.h: Likewise.
27667 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27668 * include/grub/sparc64/libgcc.h: Likewise.
27669 * include/grub/symbol.h: Likewise.
27670 * include/grub/types.h: Likewise.
27671 * include/multiboot2.h: Likewise.
27672 * io/gzio.c: Likewise.
27673 * kern/device.c: Likewise.
27674 * kern/disk.c: Likewise.
27675 * kern/efi/efi.c: Likewise.
27676 * kern/efi/mm.c: Likewise.
27677 * kern/elf.c: Likewise.
27678 * kern/file.c: Likewise.
27679 * kern/i386/dl.c: Likewise.
27680 * kern/i386/pc/init.c: Likewise.
27681 * kern/i386/pc/startup.S: Likewise.
27682 * kern/ieee1275/ieee1275.c: Likewise.
27683 * kern/ieee1275/init.c: Likewise.
27684 * kern/main.c: Likewise.
27685 * kern/mm.c: Likewise.
27686 * kern/powerpc/dl.c: Likewise.
27687 * kern/sparc64/dl.c: Likewise.
27688 * kern/x86_64/dl.c: Likewise.
27689 * lib/hexdump.c: Likewise.
27690 * loader/efi/appleloader.c: Likewise.
27691 * loader/i386/ieee1275/linux.c: Likewise.
27692 * loader/i386/pc/chainloader.c: Likewise.
27693 * loader/i386/pc/linux.c: Likewise.
27694 * loader/i386/pc/multiboot2.c: Likewise.
27695 * loader/ieee1275/multiboot2.c: Likewise.
27696 * loader/multiboot2.c: Likewise.
27697 * loader/multiboot_loader.c: Likewise.
27698 * loader/powerpc/ieee1275/linux.c: Likewise.
27699 * normal/completion.c: Likewise.
27700 * normal/menu_entry.c: Likewise.
27701 * partmap/apple.c: Likewise.
27702 * util/grub.d/10_hurd.in: Likewise.
27703 * util/hostfs.c: Likewise.
27704 * video/readers/png.c: Likewise.
27705
e2d70b5c
CW
277062010-01-03 Colin Watson <cjwatson@ubuntu.com>
27707
27708 * include/grub/misc.h (GNUC_PREREQ): New macro.
27709 (ATTRIBUTE_ERROR): New macro.
27710 * include/grub/list.h (grub_bad_type_cast_real): Use
27711 ATTRIBUTE_ERROR.
27712
a173283f 277132010-01-03 Carles Pina i Estany <carles@pina.cat>
27714
27715 * normal/menu_text.c (print_message): Change messages.
27716
7fa7ff74 277172010-01-03 Carles Pina i Estany <carles@pina.cat>
27718
27719 * normal/menu_entry.c (store_completion): Gettextizze.
27720
136d24f6 277212010-01-03 Carles Pina i Estany <carles@pina.cat>
27722
27723 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27724
f936862e 277252010-01-03 Carles Pina i Estany <carles@pina.cat>
27726
27727 * po/POTFILES: Sort correctly.
27728
29c44ad1 277292010-01-03 Carles Pina i Estany <carles@pina.cat>
27730
27731 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27732 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27733 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27734 full stop.
27735 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27736 summary. Gettextizze the strings.
27737 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27738 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27739 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27740 full stop.
27741 (GRUB_MOD_INIT): Remove command name from summary.
27742 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27743 summary.
27744 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27745 * term/i386/pc/serial.c (options): Add full stops.
27746 (GRUB_MOD_INIT): Remove command name from the summary.
27747
77a79592 277482010-01-03 Carles Pina i Estany <carles@pina.cat>
27749
27750 * commands/acpi.c: Gettextizze help strings and/or options. Include
27751 `grub/i18n.h' if needed.
27752 * commands/blocklist.c: Likewise.
27753 * commands/boot.c: Likewise.
27754 * commands/cat.c: Likewise.
27755 * commands/cmp.c: Likewise.
27756 * commands/configfile.c: Likewise.
27757 * commands/crc.c: Likewise.
27758 * commands/date.c: Likewise.
27759 * commands/echo.c: Likewise.
27760 * commands/efi/fixvideo.c: Likewise.
27761 * commands/efi/loadbios.c: Likewise.
27762 * commands/gptsync.c: Likewise.
27763 * commands/halt.c: Likewise.
27764 * commands/handler.c: Likewise.
27765 * commands/hdparm.c: Likewise.
27766 * commands/hexdump.c: Likewise.
27767 * commands/i386/cpuid.c: Likewise.
27768 * commands/i386/pc/drivemap.c: Likewise.
27769 * commands/i386/pc/halt.c: Likewise.
27770 * commands/i386/pc/pxecmd.c: Likewise.
27771 * commands/i386/pc/vbeinfo.c: Likewise.
27772 * commands/i386/pc/vbetest.c: Likewise.
27773 * commands/ieee1275/suspend.c: Likewise.
27774 * commands/keystatus.c: Likewise.
27775 * commands/loadenv.c: Likewise.
27776 * commands/ls.c: Likewise.
27777 * commands/lsmmap.c: Likewise.
27778 * commands/lspci.c: Likewise.
27779 * commands/memrw.c: Likewise.
27780 * commands/minicmd.c: Likewise.
27781 * commands/parttool.c: Likewise.
27782 * commands/password.c: Likewise.
27783 * commands/probe.c: Likewise.
27784 * commands/read.c: Likewise.
27785 * commands/reboot.c: Likewise.
27786 * commands/search.c: Likewise.
27787 * commands/sleep.c: Likewise.
27788 * commands/test.c: Likewise.
27789 * commands/true.c: Likewise.
27790 * commands/usbtest.c: Likewise.
27791 * commands/videotest.c: Likewise.
27792 * commands/xnu_uuid.c: Likewise.
27793 * disk/loopback.c: Likewise.
27794 * hello/hello.c: Likewise.
27795 * loader/i386/bsd.c: Likewise.
27796 * term/i386/pc/serial.c: Likewise.
27797 * po/POTFILES: Add new files.
27798
da8d5c53
CW
277992010-01-02 Colin Watson <cjwatson@ubuntu.com>
27800
27801 * term/i386/pc/at_keyboard.c
27802 (keyboard_controller_wait_untill_ready): Rename to ...
27803 (keyboard_controller_wait_until_ready): ... this. Update all users.
27804
33937904 278052010-01-01 Carles Pina i Estany <carles@pina.cat>
27806
27807 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27808 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27809 string using string width.
27810 * normal/menu_text.c (grub_print_message_indented): Use
27811 grub_print_spaces and not print_spaces.
27812 (print_timeout): Likewise.
27813 (print_spaces): Move to...
27814 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27815
3fd3b8d8
RM
278162010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27817
27818 Import from Gnulib.
27819
27820 * gnulib/getdelim.c: New file.
27821 * gnulib/getline.c: Likewise.
27822
33433555
VS
278232009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27824
27825 * include/grub/list.h (grub_assert_fail): Removed.
27826 (grub_bad_type_cast_real): New function.
27827 (grub_bad_type_cast): New macro.
27828 (GRUB_AS_LIST): Use grub_bad_type_cast.
27829 (GRUB_AS_LIST_P): Likewise.
e44721e8 27830 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27831 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27832 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27833 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27834 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27835
f5a51306
VS
278362009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27837
27838 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27839 Fix syntax error.
27840
90d1e879
RM
278412009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27842
27843 * configure.ac: Check for TARGET_CFLAGS initialization before we
27844 initialize it ourselves (sigh).
27845 Move a few modifications to TARGET_CFLAGS to be unconditional
27846 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27847 eh_frame)
27848
27849 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27850 * term/i386/pc/at_keyboard.c
27851 (keyboard_controller_wait_untill_ready): Likewise.
27852 (keyboard_controller_led): Rename `led_status' paramter to avoid
27853 name conflict.
27854
465b5a81 278552009-12-28 Carles Pina i Estany <carles@pina.cat>
27856
27857 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27858 quotes.
27859
c181849b
VS
278602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27863
9c8739a4
VS
278642009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 * normal/menu_text.c (grub_print_message_indented): Prevent
27867 past-the-end-of-array dereference.
27868
3e74249c
VS
278692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27870
27871 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27872 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27873
64fd18ed 278742009-12-27 Carles Pina i Estany <carles@pina.cat>
27875
27876 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27877 * normal/main.c (grub_normal_read_line): Remove a space from the
27878 default prompt.
27879
714af9b9 278802009-12-27 Carles Pina i Estany <carles@pina.cat>
27881
27882 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27883 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27884 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27885 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27886 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27887 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27888 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27889
82f3e412 278902009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27891
27892 * video/readers/jpeg.c (cmd): Declare.
27893 (grub_cmd_jpegtest): Use `grub_command_t' type.
27894 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27895 Assign to `cmd'.
27896 (GRUB_MOD_FINI): Use `cmd' to unregister.
27897 * video/readers/png.c (cmd): Declare.
27898 (grub_cmd_pngtest): Use `grub_command_t' type.
27899 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27900 Assign to `cmd'.
27901 (GRUB_MOD_FINI): Use `cmd' to unregister.
27902 * video/readers/tga.c (cmd): Declare.
27903 (grub_cmd_tgatest): Use `grub_command_t' type.
27904 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27905 Assign to `cmd'.
27906 (GRUB_MOD_FINI): Use `cmd' to unregister.
27907
82f3e412 279082009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27909
27910 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27911 stops.
27912 * kern/corecmd.c (grub_register_core_commands): Likewise.
27913 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27914 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27915 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27916 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27917 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27918 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27919 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27920 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27921 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27922 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27923 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27924 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27925 * normal/handler.c (insert_handler): Likewise.
27926 * normal/main.c (GRUB_MOD_INIT): Likewise.
27927 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27928
fdcdbb66 279292009-12-26 Carles Pina i Estany <carles@pina.cat>
27930
27931 * commands/help.c (grub_cmd_help): Print the command name before the
27932 summary.
27933 (GRUB_MOD_INIT): Remove command name from the summary.
27934 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27935 string as summary.
fdcdbb66 27936 * lib/arg.c (find_long): Print the command name before the summary.
27937 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27938 summary.
27939 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27940 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27941 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27942 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27943 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27944 * commands/date.c (GRUB_MOD_INIT): Likewise.
27945 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27946 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27947 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27948 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27949 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27950 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27951 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27952 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27953 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27954 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27955 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27956 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27957 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27958 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27959 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27960 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27961 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27962 * commands/password.c (GRUB_MOD_INIT): Likewise.
27963 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27964 * commands/read.c (GRUB_MOD_INIT): Likewise.
27965 * commands/search.c (GRUB_MOD_INIT): Likewise.
27966 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27967 * commands/test.c (GRUB_MOD_INIT): Likewise.
27968 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27969 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27970 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27971 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27972 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27973 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27974 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27975 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27976 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27977 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27978 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27979 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27980 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27981 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27982
9c288be2
VS
279832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27984
27985 Use search command for preliminar UUID search.
27986
27987 * commands/search.c: Split into ...
27988 * commands/search_wrap.c: ...this
27989 * commands/search.c: ...and this.
27990 * commands/search_file.c: New file.
27991 * commands/search_label.c: New file.
27992 * commands/search_uuid.c: New file.
27993 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27994 Add commands/search_wrap.c, commands/search_file.c,
27995 commands/search_label.c and commands/search_uuid.c.
27996 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27997 (search_mod_SOURCES): Set to commands/search_wrap.c.
27998 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27999 search_label.mod.
28000 (search_fs_file_mod_SOURCES): New variable.
28001 (search_fs_file_mod_CFLAGS): Likewise.
28002 (search_fs_file_mod_LDFLAGS): Likewise.
28003 (search_label_mod_SOURCES): Likewise.
28004 (search_label_mod_CFLAGS): Likewise.
28005 (search_label_mod_LDFLAGS): Likewise.
28006 (search_fs_uuid_mod_SOURCES): New variable.
28007 (search_fs_uuid_mod_CFLAGS): Likewise.
28008 (search_fs_uuid_mod_LDFLAGS): Likewise.
28009 (fs_file_mod_SOURCES): Removed.
28010 (fs_file_mod_CFLAGS): Likewise.
28011 (fs_file_mod_LDFLAGS): Likewise.
28012 (fs_uuid_mod_SOURCES): Removed.
28013 (fs_uuid_mod_CFLAGS): Likewise.
28014 (fs_uuid_mod_LDFLAGS): Likewise.
28015 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28016 Set to util/grub-install.in.
28017 * disk/fs_file.c: Removed.
28018 * disk/fs_uuid.c: Likewise.
28019 * include/grub/search.h: New file.
28020 * util/grub-install.in: Handle sparc64.
28021 Create and use load.cfg.
28022 * util/sparc64/ieee1275/grub-install.in: Removed.
28023
db943399
VS
280242009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28025
28026 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28027 Ignore return status if CF is cleared.
28028 (grub_biosdisk_get_diskinfo_standard): Likewise.
28029
3fdae612
RM
280302009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28031
28032 * term/i386/pc/at_keyboard.c
28033 (keyboard_controller_wait_untill_ready): New function.
28034 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28035 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28036 for keyboard polling, rather than duplicate the same loop. This
28037 saves a few bytes in code size.
28038
7ebaa2b4
VS
280392009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Support for (pxe[:server[:gateway]]) syntax and
28042 use environment variable for PXE.
28043
28044 * commands/i386/pc/pxecmd.c (options): Removed.
28045 (print_ip): Removed.
28046 (grub_cmd_pxe): Removed
28047 (grub_cmd_pxe_unload): New function.
28048 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28049 (grub_pxe_your_ip): Made static.
28050 (grub_pxe_default_server_ip): Likewise.
28051 (grub_pxe_default_gateway_ip): Likewise.
28052 (grub_pxe_blksize): Likewise.
28053 (parse_ip): New function.
28054 (grub_pxe_open): Support server and gateway specification.
28055 (grub_pxe_close): Free disk->data.
28056 (grub_pxefs_open): Use disk->data.
28057 (grub_pxefs_read): Likewise.
28058 (grub_env_write_readonly): New function.
28059 (set_mac_env): Likewise.
28060 (set_env_limn_ro): Likewise.
28061 (parse_dhcp_vendor): Likewise.
28062 (grub_pxe_detect): Set the environment variables.
28063 (set_ip_env): New function.
28064 (write_ip_env): Likewise.
28065 (grub_env_write_pxe_default_server): Likewise.
28066 (grub_env_write_pxe_default_gateway): Likewise.
28067 (grub_env_write_pxe_blocksize): Likewise.
28068 (GRUB_MOD_INIT(pxe)): Set environment variables.
28069 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28070 (grub_pxe_mac_addr_t): ... this. All users updated.
28071 (grub_pxe_your_ip): Removed.
28072 (grub_pxe_server_ip): Likewise.
28073 (grub_pxe_gateway_ip): Likewise.
28074 (grub_pxe_blksize): Likewise.
28075
ec5f98ab 280762009-12-25 Carles Pina i Estany <carles@pina.cat>
28077
28078 * commands/help.c: Include `<grub/i18n.h>'.
28079 (grub_cmd_help): Gettextizze.
28080 (GRUB_MOD_INIT): Likewise.
28081 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28082 (GRUB_MOD_INIT): Gettextizze.
28083 * commands/search.c: Include `<grub/i18n.h>'.
28084 (options): Gettextizze.
28085 (GRUB_MOD_INIT): Gettextizze.
28086 * lib/arg.c: Include `<grub/i18n.h>'.
28087 (help_options): Gettextizze.
28088 (find_long): Likewise.
28089 (grub_arg_show_help): Likewise.
28090 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28091 (read_command_list): Gettextizze.
28092 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28093 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28094
22815526
RM
280952009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28096
28097 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28098 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28099 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28100 (led_status): New variable.
28101 (keyboard_controller_led): New function.
28102 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28103 update led status for caps lock, num lock and scroll lock.
28104
0ad46fd7
FZ
281052009-12-25 Felix Zielcke <fzielcke@z-51.de>
28106
28107 * util/hostdisk.c (open_device): Fix a comment.
28108
d0e158c2
RM
281092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * util/grub-install.in (host_os): New variable.
28112 * util/i386/efi/grub-install.in (host_os): Likewise.
28113
401c0ad6
RM
281142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28115
28116 * util/mkisofs/write.c (padblock_write): Abort when given an
28117 excedingly large embed image, instead of silently truncating it.
28118
d14d3370
RM
281192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28120
28121 * include/multiboot.h: Indentation fixes.
28122
eeed10b4
RM
281232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28124
28125 * include/multiboot.h (struct multiboot_aout_symbol_table)
28126 (struct multiboot_elf_section_header_table): New structure
28127 declarations (stolen from GRUB Legacy).
28128 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28129 table information.
28130
28131 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28132 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28133 type aliases.
28134
681c70ab
RM
281352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28136
28137 * include/multiboot.h: Make comments src2texi-friendly.
28138
e4d47d8d
RM
281392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28140
28141 For consistency with [multiboot]/docs/boot.S.
28142
28143 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28144 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28145 (MULTIBOOT_MAGIC2): Rename from this ...
28146 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28147
a0b70bda
RM
281482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28149
28150 * include/multiboot.h: Remove `<grub/types.h>'.
28151 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28152 types. Update all users.
28153
61ba42be 281542009-12-25 Carles Pina i Estany <carles@pina.cat>
28155
28156 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28157 `couldn't' and `can not' by `cannot'.
28158 * commands/i386/pc/drivemap.c: Likewise.
28159 * disk/ata.c: Likewise.
28160 * disk/ieee1275/nand.c: Likewise.
28161 * fs/affs.c: Likewise.
28162 * fs/fat.c: Likewise.
28163 * fs/hfs.c: Likewise.
28164 * fs/hfsplus.c: Likewise.
28165 * fs/iso9660.c: Likewise.
28166 * fs/jfs.c: Likewise.
28167 * fs/minix.c: Likewise.
28168 * fs/reiserfs.c: Likewise.
28169 * fs/sfs.c: Likewise.
28170 * fs/udf.c: Likewise.
28171 * fs/ufs.c: Likewise.
28172 * fs/xfs.c: Likewise.
28173 * loader/powerpc/ieee1275/linux.c: Likewise.
28174 * loader/sparc64/ieee1275/linux.c: Likewise.
28175 * util/grub-probe.c: Likewise.
28176 * util/misc.c: Likewise.
28177
7fd0baee 281782009-12-24 Carles Pina i Estany <carles@pina.cat>
28179
28180 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28181 grub_errno calls.
28182 * commands/acpi.c: Likewise.
28183 * commands/blocklist.c: Likewise.
28184 * commands/efi/loadbios.c: Likewise.
28185 * commands/i386/pc/drivemap.c: Likewise.
28186 * commands/loadenv.c: Likewise.
28187 * commands/memrw.c: Likewise.
28188 * commands/password.c: Likewise.
28189 * commands/videotest.c: Likewise.
28190 * disk/ata.c: Likewise.
28191 * disk/ata_pthru.c: Likewise.
28192 * disk/dmraid_nvidia.c: Likewise.
28193 * disk/ieee1275/nand.c: Likewise.
28194 * disk/ieee1275/ofdisk.c: Likewise.
28195 * disk/loopback.c: Likewise.
28196 * disk/lvm.c: Likewise.
28197 * disk/mdraid_linux.c: Likewise.
28198 * disk/raid.c: Likewise.
28199 * disk/raid6_recover.c: Likewise.
28200 * disk/scsi.c: Likewise.
28201 * efiemu/main.c: Likewise.
28202 * efiemu/mm.c: Likewise.
28203 * efiemu/pnvram.c: Likewise.
28204 * efiemu/symbols.c: Likewise.
28205 * font/font.c: Likewise.
28206 * fs/cpio.c: Likewise.
28207 * fs/hfsplus.c: Likewise.
28208 * fs/iso9660.c: Likewise.
28209 * fs/jfs.c: Likewise.
28210 * fs/minix.c: Likewise.
28211 * fs/ntfs.c: Likewise.
28212 * fs/ntfscomp.c: Likewise.
28213 * fs/reiserfs.c: Likewise.
28214 * fs/ufs.c: Likewise.
28215 * fs/xfs.c: Likewise.
28216 * gettext/gettext.c: Likewise.
28217 * include/grub/auth.h: Likewise.
28218 * kern/elf.c: Likewise.
28219 * kern/file.c: Likewise.
28220 * kern/ieee1275/init.c: Likewise.
28221 * kern/ieee1275/mmap.c: Likewise.
28222 * kern/ieee1275/openfw.c: Likewise.
28223 * kern/powerpc/dl.c: Likewise.
28224 * kern/sparc64/dl.c: Likewise.
28225 * lib/arg.c: Likewise.
28226 * loader/i386/bsd.c: Likewise.
28227 * loader/i386/bsdXX.c: Likewise.
28228 * loader/i386/efi/linux.c: Likewise.
28229 * loader/i386/efi/xnu.c: Likewise.
28230 * loader/i386/ieee1275/linux.c: Likewise.
28231 * loader/i386/linux.c: Likewise.
28232 * loader/i386/multiboot.c: Likewise.
28233 * loader/i386/pc/linux.c: Likewise.
28234 * loader/i386/pc/multiboot2.c: Likewise.
28235 * loader/i386/xnu.c: Likewise.
28236 * loader/ieee1275/multiboot2.c: Likewise.
28237 * loader/macho.c: Likewise.
28238 * loader/machoXX.c: Likewise.
28239 * loader/multiboot2.c: Likewise.
28240 * loader/multiboot_loader.c: Likewise.
28241 * loader/powerpc/ieee1275/linux.c: Likewise.
28242 * loader/sparc64/ieee1275/linux.c: Likewise.
28243 * loader/xnu.c: Likewise.
28244 * loader/xnu_resume.c: Likewise.
28245 * mmap/i386/pc/mmap.c: Likewise.
28246 * normal/menu_viewer.c: Likewise.
28247 * partmap/acorn.c: Likewise.
28248 * partmap/amiga.c: Likewise.
28249 * partmap/apple.c: Likewise.
28250 * script/lexer.c: Likewise.
28251 * term/gfxterm.c: Likewise.
28252 * term/i386/pc/serial.c: Likewise.
28253 * term/i386/pc/vga.c: Likewise.
28254 * term/ieee1275/ofconsole.c: Likewise.
28255 * term/terminfo.c: Likewise.
28256 * video/bitmap.c: Likewise.
28257 * video/efi_gop.c: Likewise.
28258 * video/efi_uga.c: Likewise.
28259 * video/fb/video_fb.c: Likewise.
28260 * video/i386/pc/vbe.c: Likewise.
28261 * video/readers/tga.c: Likewise.
28262 * video/video.c: Likewise.
28263
0ad46fd7 282642009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28265
28266 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28267 * commands/lspci.c: Likewise.
28268 * commands/probe.c: Likewise.
28269 * commands/xnu_uuid.c: Likewise.
28270 * conf/i386-coreboot.rmk: Likewise.
28271 * conf/i386-efi.rmk: Likewise.
28272 * conf/i386-ieee1275.rmk: Likewise.
28273 * conf/i386-pc.rmk: Likewise.
28274 * conf/powerpc-ieee1275.rmk: Likewise.
28275 * conf/sparc64-ieee1275.rmk: Likewise.
28276 * conf/x86_64-efi.rmk: Likewise.
28277 * fs/i386/pc/pxe.c: Likewise.
28278 * gettext/gettext.c: Likewise.
28279 * include/grub/efi/graphics_output.h: Likewise.
28280 * include/grub/i386/pc/memory.h: Likewise.
28281 * kern/env.c: Likewise.
28282 * kern/i386/qemu/startup.S: Likewise.
28283 * lib/i386/pc/biosnum.c: Likewise.
28284 * lib/i386/relocator.c: Likewise.
28285 * lib/i386/relocator_asm.S: Likewise.
28286 * lib/relocator.c: Likewise.
28287 * loader/i386/bsd.c: Likewise.
28288 * loader/i386/multiboot.c: Likewise.
28289 * loader/i386/pc/chainloader.c: Likewise.
28290 * loader/i386/xnu.c: Likewise.
28291 * loader/xnu.c: Likewise.
28292 * normal/main.c: Likewise.
28293 * normal/menu_text.c: Likewise.
28294 * util/getroot.c: Likewise.
28295 * util/grub-mkconfig_lib.in: Likewise.
28296 * util/grub.d/00_header.in: Likewise.
28297 * util/i386/pc/grub-mkimage.c: Likewise.
28298 * util/mkisofs/eltorito.c: Likewise.
28299 * util/mkisofs/exclude.h: Likewise.
28300 * util/mkisofs/hash.c: Likewise.
28301 * util/mkisofs/iso9660.h: Likewise.
28302 * util/mkisofs/joliet.c: Likewise.
28303 * util/mkisofs/mkisofs.c: Likewise.
28304 * util/mkisofs/mkisofs.h: Likewise.
28305 * util/mkisofs/multi.c: Likewise.
28306 * util/mkisofs/name.c: Likewise.
28307 * util/mkisofs/rock.c: Likewise.
28308 * util/mkisofs/tree.c: Likewise.
28309 * util/mkisofs/write.c: Likewise.
28310 * video/efi_gop.c: Likewise.
28311
009ec743
VS
283122009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28315 size counting.
28316
0ad46fd7 283172009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28318
28319 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28320 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28321
d3d30ea0
VS
283222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28323
28324 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28325 (GRUB_MOD_INIT(memrw)): Update help line.
28326
a34f5c70
VS
283272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28330 Use grub_extcmd_t. All users updated.
28331 (options): New variable.
28332 (grub_cmd_read): Restructure for readability. Support "-v" option.
28333 (grub_cmd_write): Restructure for readability.
28334
0ad46fd7 283352009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28336
28337 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28338
0ad46fd7 283392009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28340
28341 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28342 with the actual contents of the correspondending make variable.
28343 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28344 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28345 specifying `*.lst' and `efiemu??.o'
28346
0ad46fd7 283472009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28348
28349 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28350 after function name.
28351 Noticed by Rene Engelhard <rene@debian.org>.
28352
dc77a799
VS
283532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28356 (options): New variable.
28357 (iospace): Likewise.
28358 (grub_lspci_iter): List IO spaces if "-i" was given.
28359 (grub_cmd_lspci): Parse options.
28360 (GRUB_MOD_INIT(lspci)): Use extcmd.
28361 (GRUB_MOD_FINI(lspci)): Likewise.
28362
0ad46fd7 283632009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28364
28365 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28366 `function' keyword.
28367 Patch by Tony Mancill <tmancill@debian.org>.
28368
b5d5993b
VS
283692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28372 (grub_uhci_portstatus): Likewise.
28373 (grub_uhci_portstatus): Add necessary delay.
11d18281 28374 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28375
941903f2 283762009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28377
941903f2 28378 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28379 (GRUB_MOD_INIT): Likewise.
28380 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28381 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28382 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28383 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28384 (enable_rom_area): Likewise.
28385 (GRUB_MOD_INIT): Likewise.
28386 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28387 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28388 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28389 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28390 * commands/hexdump.c (options): Likewise.
28391 * commands/i386/cpuid.c (options): Likewise.
28392 (GRUB_MOD_INIT): Likewise.
28393 * commands/i386/pc/drivemap.c (options): Likewise.
28394 (GRUB_MOD_INIT): Likewise.
28395 * commands/i386/pc/halt (options): Likewise.
28396 (GRUB_MOD_INIT): Likewise.
28397 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28398 * commands/i386/pc/pxecmd.c (options): Likewise.
28399 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28400 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28401 * commands/keystatus.c (options): Likewise.
28402 (GRUB_MOD_INIT): Likewise.
28403 * commands/loadenv.c (options): Likewise.
28404 * commands/ls.c (options): Likewise.
28405 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28406 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28407 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28408 * commands/parttool.c (helpmsg): Likewise.
28409 * commands/probe.c (options): Likewise.
28410 * commands/read.c (GRUB_MOD_INIT): Likewise.
28411 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28412 * commands/search.c (options): Likewise.
28413 * commands/sleep.c (options): Likewise.
28414 * commands/test.c (GRUB_MOD_INIT): Likewise.
28415 * commands/true.c (GRUB_MOD_INIT): Likewise.
28416 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28417 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28418 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28419 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28420 `$(XGETTEXT)'.
98a50553 28421 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28422
0ad46fd7 284232009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28424
ef3c2c3a 28425 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28426 instead of specifying them explicit.
28427
7922f68b
RM
284282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28429
28430 * NEWS: Add grub-probe support for GNU/Hurd.
28431
537ce47f
RM
284322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28433
28434 * NEWS: gettext was added after 1.97.
28435
9b214e3a
RM
284362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28437
28438 * util/mkisofs/msdos_partition.h: New file (based on
28439 include/grub/msdos_partition.h).
28440 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28441 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28442 (ld_options, main): Recognize --protective-msdos-label.
28443 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28444 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28445 (padblock_write): If `use_protective_msdos_label' is set, patch a
28446 protective DOS-style label in the output image.
28447
28448 * util/grub-mkrescue.in: Use --protective-msdos-label.
28449
e9309813
RM
284502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28451
28452 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28453 boot.
28454
0ae56929
RM
284552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28456
28457 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28458 variables.
28459 (ld_options, main): Recognize `--embedded-boot'.
28460 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28461 declarations.
28462 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28463 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28464 (padblock_write): Likewise. Rewrite to support embedded boot image.
28465
28466 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28467 for BIOS-based disk boot instead of only ElTorito.
28468
b15937b1
RM
284692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28470
28471 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28472 build (not needed for bootstrap).
28473
52cc3ce0
RM
284742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28475
28476 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28477 from i386-pc build (not needed for bootstrap).
28478 Rewrite a pair of strings.
28479
36f5ff04
RM
284802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28481
28482 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28483
973c6c85 284842009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28485
28486 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28487
05d21547
AB
284882009-12-21 Andreas Born <futur.andy@googlemail.com>
28489
28490 * kern/env.c (grub_env_context_open): Mark exported variable for
28491 reexport.
28492
0175d51f
AB
284932009-12-21 Andreas Born <futur.andy@googlemail.com>
28494
28495 * kern/env.c (grub_env_export): Create nonexistent variables before
28496 exporting.
28497
7f39d92f 284982009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28499
7f39d92f 28500 * include/grub/auth.h: Include `<grub/i18n.h>'.
28501 (GRUB_GET_PASSWORD): Gettextizze string.
28502 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28503 menu_text.c.
28504 (grub_utf8_to_ucs4_alloc): Fix indentation.
28505 (grub_print_ucs4): Likewise.
28506 (grub_getstringwidth): Likewise.
28507 (print_message_indented): New declaration.
28508 * normal/auth.c: Include `<grub/i18n.h>'.
28509 (grub_auth_check_authentication): Gettexttize string.
28510 * normal/cmdline.c: Include `<grub/i18n.h>'.
28511 (grub_cmdline_get): Gettextizze.
28512 * normal/color.c: Include `<grub/i18n.h>'.
28513 (grub_parse_color_name_pair): Gettexttize strings.
28514 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28515 string (use `print_message_indented').
28516 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28517 `include/grub/normal.h'.
28518 (print_message_indented): Renamed to ...
28519 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28520 used in normal/main.c).
28521 (print_message): Use `grub_print_message_indented' instead of
28522 `print_message_indented'.
28523 (print_timeout): Likewise.
28524 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28525 (grub_normal_print_device_info): Gettexttize strings.
28526 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28527
3041d898
VS
285282009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28531 of arguments. Return number of tokens and not arguments. All users
28532 updated.
28533
de15bf8e
VS
285342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28535
28536 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28537 non-MSDOS paritions.
28538
e0a6ca52
VS
285392009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28540
28541 * include/grub/types.h (UNUSED): Removed since it conflicts with
28542 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28543 Reported by Grégoire Sutre.
28544
b99518d1 285452009-12-19 Carles Pina i Estany <carles@pina.cat>
28546
28547 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28548 (grub_print_ucs4_alloc): Likewise.
28549 (grub_getstringwidth): Likewise.
28550 * normal/main.c (grub_normal_init_page): Gettextize version string.
28551 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28552 (getstringwidth): Renamed to ...
28553 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28554 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28555 (grub_print_ucs4): Remove `static' qualifer (now used in
28556 normal/main.c).
28557 * po/POTFILES: Add normal/main.c.
28558
bfd5e52b 285592009-12-19 Carles Pina i Estany <carles@pina.cat>
28560
28561 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28562 (print_message_indented): Add `margin_left' and `margin_right'
28563 parameters.
28564 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28565 strings.
28566 (print_timeout): Use `print_message_indented' to print the message.
28567 Deletes `second_stage' parameter.
28568 (run_menu): Update `print_timeout' calls.
28569
5a1ad2b9
VS
285702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 Fix console palette on OpenFirmware.
28573
28574 * term/ieee1275/ofconsole.c (MAX): Removed.
28575 (colors): Redone based on VGA palette.
28576 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28577 colors are supported.
28578 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28579
b045f00a
VS
285802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28581
28582 Fix potential EfiEmu double prepare.
28583
28584 * efiemu/main.c (prepared): New variable
28585 (grub_efiemu_unload): Set prepare to '0'.
28586 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28587
28588 set_virtual_address_map support.
28589
28590 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28591 prototype.
28592 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28593 prototype.
28594 (grub_efiemu_crc32): Likewise.
28595 (grub_efiemu_crc64): Likewise.
28596 (grub_efiemu_set_virtual_address_map): Likewise.
28597 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28598 New definition.
28599 (grub_autoefi_set_virtual_address_map): Likewise.
28600 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28601 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28602 Restructure flow to accomodate it.
28603 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28604 (grub_efiemu_crc): Recompute CRC32.
28605 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28606 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28607 * efiemu/symbols.c (relocated_handle): New variable.
28608 (grub_efiemu_free_syms): Free relocated_handle.
28609 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28610 (grub_efiemu_write_sym_markers): New function.
28611 (grub_efiemu_set_virtual_address_map): Likewise.
28612
28613 Newer XNU parameters.
28614
28615 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28616 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28617 (grub_xnu_fill_devicetree): New prototype.
28618 (grub_xnu_heap_real_start): New variable.
28619 * loader/xnu.c (get_name_ptr): New function.
28620 (grub_xnu_load_driver): Fill namelen and name.
28621
28622 64-bit xnu support.
28623
28624 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28625 and 'loader/macho64.c'.
28626 * conf/i386-pc.rmk: Likewise.
28627 * conf/x86_64-efi.rmk: Likewise.
28628 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28629 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28630 * include/grub/macho.h (grub_macho_segment64): New structure.
28631 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28632 (grub_macho_size32): ... to this.
28633 (grub_macho32_get_entry_point): Renamed from ...
28634 (grub_macho_get_entry_point32): ... to this.
28635 (grub_macho_contains_macho64): New prototype.
28636 (grub_macho_size64): Likewise.
28637 (grub_macho_get_entry_point64): Likewise.
28638 (grub_macho32_load): Renamed from ...
28639 (grub_macho_load32): ... to this.
28640 (grub_macho32_filesize): Renamed from ...
28641 (grub_macho_filesize32): ... to this.
28642 (grub_macho32_readfile): Renamed from ...
28643 (grub_macho_readfile32): ... to this.
28644 (grub_macho_filesize64): New prototype.
28645 (grub_macho_readfile64): Likewise.
28646 (grub_macho_parse32): Likewise.
28647 (grub_macho_parse64): Likewise.
28648 * loader/macho.c: Split into ...
28649 * loader/machoXX.c: ... and this. Replace 32 with XX.
28650 * loader/macho32.c: New file.
28651 * loader/macho64.c: Likewise.
28652 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28653 (grub_cmd_xnu_kernel): Make 32-bit only.
28654 (grub_cmd_xnu_kernel64): New function.
28655 (grub_xnu_load_driver): Support Mach-O 64.
28656 (grub_cmd_xnu_mkext): Likewise.
28657 * util/grub.d/30_os-prober.in (osx_entry): New function.
28658 Generate entries for 64-bit boot too.
28659
28660 Eliminate ad-hoc tree format in XNU and EfiEmu.
28661
28662 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28663 * efiemu/pnvram.c: Rewritten to use environment variables.
28664 All users updated.
28665
28666 Inline utf16_to_utf8.
28667
28668 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28669 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28670 All users updated.
28671 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28672
28673 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28674 * commands/usbtest.c (grub_usb_get_string): ... move here.
28675 (usb_print_str): Fix error handling.
28676 * include/grub/usb.h (grub_usb_get_string): Remove.
28677
28678 UTF-8 to UTF-16 transformation.
28679
28680 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28681 (charset_mod_SOURCES): New variable.
28682 (charset_mod_CFLAGS): Likewise.
28683 (charset_mod_LDFLAGS): Likewise.
28684 * include/grub/utf.h: New file.
28685 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28686
28687 Support for device properties.
28688
28689 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28690 (grub_xnu_devprop_device_header): Likewise.
28691 (grub_xnu_devprop_device_descriptor): Likewise.
28692 (grub_xnu_devprop_add_device): New prototype.
28693 (grub_xnu_devprop_remove_device): Likewise.
28694 (grub_xnu_devprop_remove_property): Likewise.
28695 (grub_xnu_devprop_add_property_utf8): Likewise.
28696 (grub_xnu_devprop_add_property_utf16): Likewise.
28697 (grub_cpu_xnu_init): Likewise.
28698 (grub_cpu_xnu_fini): Likewise.
28699 (grub_cpu_xnu_unload): Likewise.
28700 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28701 (property_descriptor): Likewise.
28702 (devices): New variable.
28703 (grub_xnu_devprop_remove_property): New function.
28704 (grub_xnu_devprop_add_device): Likewise.
28705 (grub_xnu_devprop_remove_device): Likewise.
28706 (grub_xnu_devprop_add_property): Likewise.
28707 (grub_xnu_devprop_add_property_utf8): Likewise.
28708 (grub_xnu_devprop_add_property_utf16): Likewise.
28709 (hextoval): Likewise.
28710 (grub_cpu_xnu_fill_devprop): Likewise.
28711 (grub_cmd_devprop_load): Likewise.
28712 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28713 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28714 (cmd_devprop_load): New variable.
28715 (grub_cpu_xnu_init): New function.
28716 (grub_cpu_xnu_fini): Likewise.
28717 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28718 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28719 (grub_cmd_xnu_devtree): Likewise.
28720 (hextoval): New function.
28721 (unescape): Likewise.
28722 (grub_xnu_fill_devicetree): Likewise.
28723
28724 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28725 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28726
0945f181
VS
287272009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28728
28729 Workaround for broken ATI VBE.
28730
28731 * video/i386/pc/vbe.c (last_set_mode): New variable.
28732 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28733 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28734 (grub_video_vbe_setup): Don't check for reserved flag.
28735
0ad46fd7 287362009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28737
28738 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28739 the `find' command.
28740
c179ebe4
VS
287412009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28742
28743 UUID support for HFS.
28744
28745 * fs/hfs.c (grub_hfs_uuid): New function.
28746 (grub_hfs_fs): New value .uuid.
28747 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28748
0ad46fd7 287492009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28750
28751 Fix a segfault with parsing unknown long options.
28752
28753 * util/grub-mkrelpath.c (options): Zero terminate it.
28754
c4a3e41a
CPE
287552009-12-13 Carles Pina i Estany <carles@pina.cat>
28756
28757 * include/grub/misc.h (grub_puts): New declaration.
28758 (grub_puts_): Likewise.
a22008a6 28759 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28760 (grub_puts_): Likewise.
28761
2e8a7602
RM
287622009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28763
28764 * util/grub-probe.c (probe): Improve error message.
28765
b50b77b9
RM
287662009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 * loader/i386/multiboot_elfxx.c
28769 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28770 initialization.
28771
287722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 Relocator framework
28775
28776 * loader/i386/xnu_helper.S: Removed. All users updated.
28777 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28778 (relocator_mod_SOURCES): New variable.
28779 (relocator_mod_CFLAGS): Likewise.
28780 (relocator_mod_LDFLAGS): Likewise.
28781 (relocator_mod_ASFLAGS): Likewise.
28782 * conf/x86_64.rmk: Likewise.
28783 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28784 (grub_multiboot_payload_entry_offset): Likewise.
28785 (grub_multiboot_forward_relocator): Likewise.
28786 (grub_multiboot_forward_relocator_end): Likewise.
28787 (grub_multiboot_backward_relocator): Likewise.
28788 (grub_multiboot_backward_relocator_end): Likewise.
28789 (grub_multiboot_payload_eip): New variable.
28790 (grub_multiboot_payload_orig): Likewise.
28791 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28792 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28793 * include/grub/i386/memory.h
28794 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28795 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28796 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28797 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28798 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28799 * include/grub/i386/relocator.h: New file.
28800 * include/grub/x86_64/relocator.h: Likewise.
28801 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28802 (XNU_RELOCATOR): New macro.
28803 (grub_xnu_launcher_start): Remove.
28804 (grub_xnu_launcher_end): Likewise.
28805 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28806 (grub_xnu_heap_real_start): Remove.
28807 (grub_xnu_heap_start): Change to void *. All users updated.
28808 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28809 * lib/i386/relocator.c: New file.
28810 * lib/i386/relocator_asm.S: Likewise.
28811 * lib/i386/relocator_backward.S: Likewise.
28812 * lib/mips/relocator.c: Likewise.
28813 * lib/mips/relocator_asm.S: Likewise.
28814 * lib/relocator.c: Likewise.
28815 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28816 (entry): Removed.
28817 (playground): Likewise.
28818 (grub_multiboot_payload_orig): New variable.
28819 (grub_multiboot_payload_dest): Likewise.
28820 (grub_multiboot_payload_size): Likewise.
28821 (grub_multiboot_payload_eip): Likewise.
28822 (grub_multiboot_payload_esp): Likewise.
28823 (grub_multiboot_boot): Use grub_relocator32_boot.
28824 (grub_multiboot_unload): Free relocators.
28825 (grub_multiboot): Setup stack. Use relocators.
28826 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28827 (grub_multiboot_load_elfXX): Use relocators.
28828 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28829 (grub_multiboot_payload_size): Likewise.
28830 (grub_multiboot_payload_dest): Likewise.
28831 (grub_multiboot_payload_entry_offset): Likewise.
28832 (grub_multiboot_forward_relocator): Likewise.
28833 (grub_multiboot_backward_relocator): Likewise.
28834 (grub_multiboot_real_boot): Likewise.
28835 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28836 (grub_xnu_entry_point): Likewise.
28837 (grub_xnu_arg1): Likewise.
28838 (grub_xnu_stack): Likewise.
28839 (grub_xnu_launch): Removed.
28840 (grub_xnu_boot_resume): New function.
28841 (grub_xnu_boot): Use relocators.
28842 * loader/i386/xnu_helper.S: Removed.
28843 * loader/xnu.c (grub_xnu_heap_start): New variable.
28844 (grub_xnu_heap_size): Likewise.
28845 (grub_xnu_heap_malloc): Use relocators.
28846 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28847
29eb90c6
VS
288482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28849
28850 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28851 anything.
28852
31027430
CPE
288532009-12-13 Carles Pina i Estany <carles@pina.cat>
28854
28855 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28856 GRUB_ERR_NONE before calling grub_env_set.
28857
dc0c71d9
RM
288582009-12-12 Robert Millan <rmh@aybabtu.com>
28859
28860 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28861 * genmk.rb (video): New variable.
28862 (CLEANFILES, VIDEOFILES): Add #{video}.
28863 (#{video}): New target rule.
28864 * genvideolist.sh: New file.
28865 * Makefile.in (pkglib_DATA): Add video.lst.
28866 (video.lst): New target rule.
28867 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28868 `video.lst'.
28869 * util/grub.d/30_os-prober.in: Replace `vbe' with
28870 ${GRUB_VIDEO_BACKEND}.
28871
2a4bfcf0
RM
288722009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28873
28874 * THANKS: Add David Miller.
28875
2a3aa4d5
RM
288762009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 libpciaccess support.
28879
28880 * Makefile.in (LIBPCIACCESS): New variable.
28881 (enable_grub_emu_pci): Likewise.
28882 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28883 util/pci.c and commands/lspci.c.
28884 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28885 * configure.ac (grub-emu-pci): New option.
28886 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28887 (grub_pci_device_unmap_range): Likewise.
28888 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28889 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28890 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28891 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28892 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28893 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28894 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28895 * include/grub/pciutils.h: New file.
28896 * util/pci.c: Likewise.
28897
0ad46fd7 288982009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28899
28900 * util/misc.c: Don't include <errno.h> twice.
28901
0ad46fd7 289022009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28903
28904 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28905 name in an error message.
28906 (grub_biosdisk_rw): Likewise.
28907
2e59983c
VS
289082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 Eliminate NTFS 4Gib barrier.
28911
28912 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28913 (read_run_data): Likewise.
28914 (grub_ntfs_read_run_list): Likewise.
28915 (grub_ntfs_read_block): Likewise.
28916 (grub_ntfs_iterate_dir): Likewise.
28917 (read_mft): Likewise.
28918 (read_data): Likewise.
28919 Use COM_LOG_LEN.
28920 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28921 to avoid 64-bit division
28922 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28923 (grub_ntfs_rlst): Use grub_disk_addr_t.
28924
71ee178a
VS
289252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28926
28927 Eliminate grub-fstest 4Gib barrier.
28928
28929 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28930 (read_file): Fix error reporting.
28931
2520d4b8
VS
289322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28933
28934 Eliminate hexdump 4Gib barrier.
28935
28936 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28937 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28938
e1f27065
VS
289392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28940
28941 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28942 Fixes amarsh bug.
28943
1a0f7f45
RM
289442009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28945
28946 Remove miscellaneous files in distclean target.
28947
28948 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28949
c631d9fb
CW
289502009-12-09 Colin Watson <cjwatson@ubuntu.com>
28951
28952 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28953 if they're already set. This resolves the conflict between my
28954 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28955 fixing the --grub-probe option again.
28956 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28957 change on 2009-10-06, so that we now once again source
28958 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28959
7c7b6106
RM
289602009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28961
28962 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28963 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28964 `util/devicemap.c'.
28965
e3069ec1
CPE
289662009-12-08 Carles Pina i Estany <carles@pina.cat>
28967
28968 * include/grub/misc.h (grub_printf_): New declaration.
28969 * kern/misc.c (grub_printf_): New definition.
28970 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28971 instead of `grub_printf' and `_'.
28972 * normal/menu_entry.c (store_completion): Likewise.
28973 (run): Likewise.
28974 (grub_menu_entry_run): Likewise.
28975 * normal/menu_text.c (grub_wait_after_message): Likewise.
28976 (notify_booting): Likewise.
28977 (notify_fallback): Likewise.
28978 (notify_execution_failure): Likewise.
28979
d6ceebf1
CW
289802009-12-07 Colin Watson <cjwatson@ubuntu.com>
28981
28982 * configure.ac: Check for vasprintf.
28983 * util/misc.c (asprintf): Move allocation from here ...
28984 (vasprintf): ... to here. New function.
28985 (xasprintf): New function.
28986 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28987 prototypes.
28988 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28989 * util/grub-mkfont.c (write_font): Likewise.
28990 * util/grub-probe.c (probe): Likewise.
28991 * util/hostdisk.c (make_device_name): Likewise.
28992
de6daa8b
DM
289932009-12-06 David S. Miller <davem@sunset.davemloft.net>
28994
28995 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28996 anything even prefixed with 'cdrom' as a cdrom.
28997
0ad46fd7 289982009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28999
29000 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29001 mount points.
29002
98d3dc02
CPE
290032009-12-05 Carles Pina i Estany <carles@pina.cat>
29004
29005 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29006 grub_gettext_msg_list.
29007 (grub_gettext_gettranslation_from_position): Return const char *
29008 and not char *.
a2c1332b 29009 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29010 returns from the list if existing there.
29011 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29012 (grub_gettext_delete_list): Delete the list.
29013 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29014 lang environment variable is changed.
29015 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29016
b283f108
VS
290172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 Rename kernel.mod to kernel.img.
29020
29021 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29022 (kernel_mod_EXPORTS): Rename to ...
29023 (kernel_img_EXPORTS): ... this.
29024 (kernel_mod_SOURCES): Rename to ...
29025 (kernel_img_SOURCES): ... this.
29026 (kernel_mod_HEADERS): Rename to ...
29027 (kernel_img_HEADERS): ... this. All users updated.
29028 (kernel_mod_CFLAGS): Rename to ...
29029 (kernel_img_CFLAGS): ... this.
29030 (kernel_mod_ASFLAGS): Rename to ...
29031 (kernel_img_ASFLAGS): ... this.
29032 (kernel_mod_LDFLAGS): Rename to ...
29033 (kernel_img_LDFLAGS): ... this.
29034 * conf/x86_64-efi.rmk: Likewise.
29035 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29036 (read_kernel_image): ... this. All users updated.
29037 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29038
69055f8a
CPE
290392009-12-05 Carles Pina i Estany <carles@pina.cat>
29040
29041 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29042 (print_spaces): New function.
29043 (grub_print_ucs4): New function.
29044 (getstringwidth): New function.
29045 (print_message_indented): New function.
29046 (print_message): Gettexttize strings using print_message_indented.
29047 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29048 width.
29049 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29050 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29051 Gettextize.
29052 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29053 string.
29054 (run): Likewise.
29055 (grub_menu_entry_run): Likewise.
29056 * PO/POTFILES: Add normal/menu_entry.c.
29057
f616f51c
VS
290582009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29061
57bbe3be
CPE
290622009-12-05 Carles Pina i Estany <carles@pina.cat>
29063
29064 * util/grub-install.in: Install gettext .mo files.
29065 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29066
013d67a1
CPE
290672009-12-05 Carles Pina i Estany <carles@pina.cat>
29068
29069 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29070 grub_dprintf.
29071
fb954db0
RM
290722009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29073
29074 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29075 non-firmware-dependant one in realmode.S takes precedence.
29076
6b8474f8
RM
290772009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29078
29079 * commands/halt.c: Replace misc arch-specific headers with
29080 `<grub/misc.h>'.
29081 * commands/reboot.c: Likewise.
29082 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29083 `<grub/misc.h>'.
29084 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29085 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29086 (kernel_img_SOURCES): ... to here.
29087
29088 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29089 * include/grub/i386/pc/init.h: Likewise.
29090 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29091 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29092
29093 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29094
29095 * include/grub/i386/halt.h: Remove.
29096 * include/grub/i386/reboot.h: Likewise.
29097
29098 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29099
4b2e6ca2
DM
291002009-12-03 David S. Miller <davem@sunset.davemloft.net>
29101
29102 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29103 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29104 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29105 "progname.h"
29106 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29107 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29108 (usage): Add missing comma in printf.
29109
5239348f
RM
291102009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29111
29112 Use the same reboot approach on i386 coreboot and qemu as we do on
29113 BIOS.
29114
29115 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29116 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29117 * kern/i386/reboot.c: Remove.
29118 * include/grub/i386/reboot.h (grub_reboot): Export function.
29119 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29120 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29121 0xf000:0xfff0 instead of 0xffff:0x0000.
29122 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29123 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29124
ef34cbd4
RM
291252009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29126
29127 Fix $srcdir != $objdir build.
29128
29129 * Makefile.in (po/%.po): Rewrite as ...
29130 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29131
dc9837ea
ST
291322009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29133
29134 Fix GNU/Hurd grub-install crash.
29135 * util/grub-probe.c (probe): Try to access `path' only when it is not
29136 NULL.
29137
2f857f98
VS
291382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29139
29140 Correct module naming.
29141
29142 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29143 (GRUB_MOD_INIT(efi_uga)): ... to this
29144 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29145 (GRUB_MOD_FINI(efi_uga)): ... to this
29146 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29147 (GRUB_MOD_INIT(efi_gop)): ... to this
29148 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29149 (GRUB_MOD_FINI(efi_gop)): ... to this
29150
c5448046
RM
291512009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29152
29153 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29154 translatable.
29155 (usage): Translate `arg' strings using gettext().
29156 Thanks to Jordi Mallach for the suggestion.
29157
c85184ad
VS
291582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29159
29160 GOP support. Based on patch from Bean
29161 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29162
29163 * video/efi_gop.c: New file.
29164 * include/grub/efi/graphics_output.h: Likewise.
29165 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29166 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29167 variables.
29168 * conf/x86_64-efi.rmk: Likewise.
29169
8a4c48d8
VS
291702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 Rename efi_fb to efi_uga.
29173
29174 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29175 'efi_uga.mod'.
29176 (efi_fb_mod_SOURCES): Rename this ...
29177 (efi_uga_mod_SOURCES): ... to this.
29178 (efi_fb_mod_CFLAGS): Rename this ...
29179 (efi_uga_mod_CFLAGS): ... to this.
29180 (efi_fb_mod_LDFLAGS): Rename this ...
29181 (efi_uga_mod_LDFLAGS): ... to this.
29182 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29183 'efi_uga.mod'.
29184 (efi_fb_mod_SOURCES): Rename this ...
29185 (efi_uga_mod_SOURCES): ... to this.
29186 (efi_fb_mod_CFLAGS): Rename this ...
29187 (efi_uga_mod_CFLAGS): ... to this.
29188 (efi_fb_mod_LDFLAGS): Rename this ...
29189 (efi_uga_mod_LDFLAGS): ... to this.
29190 * video/efi_fb.c: Move this ...
29191 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29192
fb6c1a7b
RM
291932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29194
29195 * po/README: New file. Explain our PO file workflow.
29196
3bc7896c
RM
291972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29198
29199 * po/ChangeLog: Remove. Move relevant entries back to ...
29200 * ChangeLog: ... here.
29201 * po/ca.po: Remove (now handled by TLP).
29202 * po/id.po: Likewise.
29203 * po/zh_CN.po: Likewise.
29204 * Makefile.in (LINGUAS): Initialize in a way that supports
29205 empty set.
29206
9ed4841d
RM
292072009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29208
29209 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29210 reliing on po/LINGUAS.
29211 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29212 (po/%.po): ... this.
29213
0ad46fd7 292142009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29215
29216 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29217 (main): Use `program_name' instead of nonexistent `progname'.
29218
e30dd392
FZ
292192009-11-26 Felix Zielcke <fzielcke@z-51.de>
29220
29221 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29222 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29223
7656de4f
RM
292242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29227 commit.
29228 * conf/i386-efi.rmk: Likewise.
29229 * conf/i386-ieee1275.rmk: Likewise.
29230 * conf/powerpc-ieee1275.rmk: Likewise.
29231 * conf/sparc64-ieee1275.rmk: Likewise.
29232 * conf/x86_64-efi.rmk: Likewise.
29233
db77c4d4
FZ
292342009-11-26 Felix Zielcke <fzielcke@z-51.de>
29235
29236 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29237
a755bb04
FZ
292382009-11-26 Felix Zielcke <fzielcke@z-51.de>
29239
29240 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29241
8a4c07fd
RM
292422009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29243
29244 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29245 (grub_mkdevicemap_SOURCES): New variable.
29246 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29247 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29248 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29249 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29250 (grub_mkdevicemap_SOURCES): Remove.
29251 * conf/i386-efi.rmk: Likewise.
29252 * conf/i386-ieee1275.rmk: Likewise.
29253 * conf/i386-pc.rmk: Likewise.
29254 * conf/powerpc-ieee1275.rmk: Likewise.
29255 * conf/sparc64-ieee1275.rmk: Likewise.
29256 * conf/x86_64-efi.rmk: Likewise.
29257 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29258 (usage): Fix strings to use `program_name'.
29259 (main): Initialize gettext.
29260 * util/grub-editenv.c: Likewise.
29261 * util/grub-emu.c: Likewise.
29262 * util/grub-fstest.c: Likewise.
29263 * util/grub-mkdevicemap.c: Likewise.
29264 * util/grub-mkfont.c: Likewise.
29265 * util/grub-mkrelpath.c: Likewise.
29266 * util/grub-pe2elf.c: Likewise.
29267 * util/grub-probe.c: Likewise.
29268 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29269 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29270 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29271
29272 * util/misc.c: Include `"progname.h"'.
29273 (progname): Remove variable.
29274 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29275
6f61ed55
FZ
292762009-11-25 Felix Zielcke <fzielcke@z-51.de>
29277
29278 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29279 printf and print a newline after the menuentry header line.
29280 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29281
f022876b
FZ
292822009-11-25 Felix Zielcke <fzielcke@z-51.de>
29283
29284 autoconf >= 2.60 support $(localedir).
29285
29286 * INSTALL: Note that autoconf 2.60 is required.
29287 * configure.ac (AC_PREREQ): Bump to 2.60.
29288 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29289 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29290
6717926e
YB
292912009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29292
29293 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29294 aclocal is run.
29295
08806a54
RM
292962009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29297
29298 * normal/main.c (grub_normal_read_line): Fix off-by-one
29299 buffer overflow.
29300
13b33fba
RM
293012009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29302
29303 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29304 "parser.grub" in grub_command_execute() call.
29305
4a8572e9
CPE
293062009-11-24 Carles Pina i Estany <carles@pina.cat>
29307
29308 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29309 * conf/i386-efi.rmk: Likewise.
29310 * conf/i386-ieee1275.rmk: Likewise.
29311 * conf/i386-pc.rmk: Likewise.
29312 * conf/powerpc-ieee1275.rmk: Likewise.
29313 * conf/sparc64-ieee1275.rmk: Likewise.
29314 * conf/x86_64-efi.rmk: Likewise.
29315 * gettext/gettex.c: Include <grub/i18n.h>.
29316 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29317 here ...
29318 * include/grub/i18n.h: ... to here
29319 * include/grub/i18n.h: ... to here.
29320 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29321 (grub_gettext_dummy): Move above user.
4a8572e9 29322
bee48093
FZ
293232009-11-24 Felix Zielcke <fzielcke@z-51.de>
29324
29325 * util/Makefile.in (install-local): Convert a `for' into a normal
29326 shell expansion.
29327
a031e91c
RM
293282009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * autogen.sh: Add automake call.
29331 * config.guess: Remove.
29332 * config.sub: Likewise.
29333 * install-sh: Likewise.
29334
26bec39d
FZ
293352009-11-24 Felix Zielcke <fzielcke@z-51.de>
29336
29337 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29338
8e2532fd
FZ
293392009-11-24 Felix Zielcke <fzielcke@z-51.de>
29340
29341 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29342 function to a normal shell `for'.
29343
fefa1b7d
FZ
293442009-11-24 Felix Zielcke <fzielcke@z-51.de>
29345
29346 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29347
4501250b
FZ
293482009-11-24 Felix Zielcke <fzielcke@z-51.de>
29349
29350 * util/grub-mkrelpath.c: New file.
29351 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29352 (grub_mkrelpath_SOURCES): New variable.
29353 * include/grub/util/misc.h: New function prototype.
29354 * util/misc.c (make_system_path_relative_to_its_root): New function.
29355
29356 * util/grub-mkconfig_lib.in (bindir): New variable.
29357 (grub_mkrelpath): Likewise.
29358 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29359
29360 * util/probe.c (probe): Make the file path relative to its root.
29361 Change a info message to use the GRUB path. Enable again the
29362 check if we can read the file with GRUB facilities.
29363
29364 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29365 to its root.
29366
11d9778b
FZ
293672009-11-24 Felix Zielcke <fzielcke@z-51.de>
29368
29369 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29370 platform.
29371
4465287d
FZ
293722009-11-24 Felix Zielcke <fzielcke@z-51.de>
29373
29374 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29375 strncmp().
29376
62b47f22
FZ
293772009-11-24 Felix Zielcke <fzielcke@z-51.de>
29378
29379 * util/getroot.c (grub_util_is_dmraid): New function.
29380 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29381 devices as normal ones, not as LVM.
29382
1eafb9b9 293832009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29384
29385 * conf/common.rmk: Add grub-gettext_lib target and updates
29386 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29387 LDFLAGS.
29388 * gettext/gettext.c: New file. (Reads mo files).
29389 * include/grub/file.h (grub_file_pread): New prototype.
29390 * include/grub/i18n.h (_): New prototype.
29391 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29392 prototypes.
29393 * kern/misc.c (grub_gettext_dummy): New function.
29394 * normal/menu_text.c: Include <grub/i18n.h>.
29395 * normal/menu_text.c (print_timeout): Gettexttize string.
29396 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29397 * po/POTFILES: Add `normal/menu_text.c'.
29398 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29399 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29400 gettext module and defines locale_dir and lang in grub.cfg.
29401 * NEWS: Add gettext support.
29402
0fdb2568
RM
294032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29404
29405 * util/hostdisk.c: Include `<grub/i18n.h>'.
29406 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29407 (make_device_name): Rewrite using asprintf.
29408 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29409 (find_system_device): If a device is not found, generate one just
29410 by reusing the OS path name.
29411 (read_device_map): Make it permissible for device.map not to exist.
29412
f515aa62
RM
294132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29414
29415 * script/sh/execute.c: Move from here ...
29416 * script/execute.c: ... to here. Update all users.
29417 * script/sh/function.c: Move from here ...
29418 * script/function.c: ... to here. Update all users.
29419 * script/sh/lexer.c: Move from here ...
29420 * script/lexer.c: ... to here. Update all users.
29421 * script/sh/main.c: Move from here ...
29422 * script/main.c: ... to here. Update all users.
29423 * script/sh/parser.y: Move from here ...
29424 * script/parser.y: ... to here. Update all users.
29425 * script/sh/script.c: Move from here ...
29426 * script/script.c: ... to here. Update all users.
29427
f84b481b
RM
294282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29429
29430 * configure.ac: Detect all `emu' platforms. Define
29431 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29432 --enable-grub-emu logic. Disable include/grub/machine
29433 symlink on `emu' platforms.
29434
29435 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29436 * gensymlist.sh.in: Likewise.
29437
29438 * include/grub/i386/coreboot/machine.h: Remove file.
29439 * include/grub/i386/efi/machine.h: Likewise.
29440 * include/grub/i386/ieee1275/machine.h: Likewise.
29441 * include/grub/i386/pc/machine.h: Likewise.
29442 * include/grub/i386/qemu/machine.h: Likewise.
29443 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29444 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29445 * include/grub/x86_64/efi/machine.h: Likewise.
29446
29447 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29448 * commands/halt.c: Likewise.
29449 * commands/reboot.c: Likewise.
29450 * include/grub/autoefi.h: Likewise.
29451 * include/grub/i386/at_keyboard.h: Likewise.
29452 * include/grub/i386/kernel.h: Likewise.
29453 * include/grub/i386/loader.h: Likewise.
29454 * include/grub/i386/pc/memory.h: Likewise.
29455 * kern/dl.c: Likewise.
29456 * kern/i386/coreboot/init.c: Likewise.
29457 * loader/i386/bsd.c: Likewise.
29458 * loader/i386/linux.c: Likewise.
29459 * loader/multiboot_loader.c: Likewise.
29460 * term/i386/pc/serial.c: Likewise.
29461 * term/usb_keyboard.c: Likewise.
29462
29463 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29464 `<grub/machine/machine.h>'
29465 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29466 * util/misc.c: Remove `<grub/machine/machine.h>' and
29467 `<grub/machine/time.h>'.
29468
29469 * Makefile.in (enable_grub_emu): Remove variable.
29470 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29471
29472 * conf/any-emu.rmk: New file.
29473 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29474 (grub_emu_init.c): Move from here ...
29475 * conf/any-emu.rmk: ... to here.
29476
29477 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29478 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29479 * conf/any-emu.rmk: ... to here.
29480
4efeab03
RM
294812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29482
29483 * include/grub/parser.h (grub_parser_register): Document need
29484 of `name' parameter.
29485 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29486 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29487 "sh" to "grub".
29488
ea1dd8bf
RM
294892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29490
29491 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29492 `$(XGETTEXT)'.
29493 * include/grub/i18n.h (N_): New macro.
29494 * util/mkisofs/mkisofs.h: Likewise.
29495 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29496 around N_().
29497 (usage): Use gettext() to translate help strings when printing them.
29498
0c140626
RM
294992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29500
29501 Based on patch from Bean
29502 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29503
29504 * video/efi_fb.c: New file.
29505 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29506 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29507 variables.
29508 * conf/x86_64-efi.rmk: Likewise.
29509
87d58298
RM
295102009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29513 * util/i386/pc/grub-setup.c: Likewise.
29514
994cc3a3
ST
295152009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29516
29517 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29518 <hurd/fs.h>
29519 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29520 file_get_storage_info to implement grub_guess_root_device.
29521
26a61d6a
FZ
295222009-11-21 Felix Zielcke <fzielcke@z-51.de>
29523
29524 * Makefile.in (target): Use make's builtin $(shell) function
29525 instead of calling directly $(SHELL) to create the locale directories,
29526 inside the $(foreach) function.
29527
74ff1dd5
FZ
295282009-11-21 Felix Zielcke <fzielcke@z-51.de>
29529
29530 * util/grub-mkrescue.in: Print an error and usage if output option
29531 has not been given.
29532
0b787d0e
FZ
295332009-11-21 Felix Zielcke <fzielcke@z-51.de>
29534
29535 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29536 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29537 root and /boot are on different devices.
29538
1164b270
RM
295392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 Fix build for srcdir != objdir.
29542
29543 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29544 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29545 $(srcdir).
29546 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29547 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29548 reference for input.
29549
13774a2f
RM
295502009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29551
29552 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29553 or hardlinking it). Remove -J option, Joliet is not compatible with
29554 multiple source directories.
29555
efda854e
RM
295562009-11-21 Carles Pina i Estany <carles@pina.cat>
295572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29558
29559 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29560 (process_input_dir): New function. Process an arbitrary input
29561 directory.
29562 Misc adjustments to support both "override mode" and system-wide mode.
29563
6c09890c
FZ
295642009-11-20 Felix Zielcke <fzielcke@z-51.de>
29565
29566 * configure.ac (UNIFONT_BDF): Rename to ...
29567 (FONT_SOURCE): ... this. Update all users.
29568
a797824f
FZ
295692009-11-20 Felix Zielcke <fzielcke@z-51.de>
29570
29571 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29572 to the list of unifont files to look for.
29573
cd4f42b0
RM
295742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29575
29576 Patch from Joe Auricchio <jauricchio@gmail.com>
29577 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29578 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29579 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29580
393c783d
FZ
295812009-11-19 Felix Zielcke <fzielcke@z-51.de>
29582
29583 * Makefile.in (install-local): Add a missing backslash.
29584
b2f1e327
FZ
295852009-11-19 Felix Zielcke <fzielcke@z-51.de>
29586
29587 * include/grub/x86_64/io.h: New file.
29588
f577f7a0
RM
295892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29590
29591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29592 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29593 Include `"progname.h"'.
29594 (main): Initialize gettext.
29595 * util/i386/pc/grub-setup.c: Gettexttize.
29596 * util/i386/pc/grub-mkimage.c: Likewise.
29597
29598 * Makefile.in (po/*.po): Redefine as ...
29599 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29600
3bc7896c
RM
29601 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29602
c37943b6
RM
296032009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29604
29605 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29606 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29607 (program_name): Remove.
29608 (main): Initialize gettext support.
6323f705
RM
29609 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29610 Include `<libintl.h>'.
29611 (_): New macro.
c37943b6
RM
29612
29613 * util/mkisofs/eltorito.c: Gettexttize.
29614 * util/mkisofs/joliet.c: Likewise.
29615 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29616 * util/mkisofs/multi.c: Likewise.
29617 * util/mkisofs/rock.c: Likewise.
29618 * util/mkisofs/tree.c: Likewise.
29619 * util/mkisofs/write.c: Likewise.
29620
3bc7896c
RM
29621 * po/POTFILES: Update with new files.
29622
5ce77c6e
RM
296232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29624
29625 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29626 * util/mkisofs/iso9660.h: Likewise.
29627 * util/mkisofs/joliet.c: Likewise.
29628 * util/mkisofs/mkisofs.c: Likewise.
29629 * util/mkisofs/mkisofs.h: Likewise.
29630 * util/mkisofs/rock.c: Likewise.
29631 * util/mkisofs/tree.c: Likewise.
29632 * util/mkisofs/write.c: Likewise.
29633
29634 * util/mkisofs/eltorito.c (rcsid): Remove.
29635 * util/mkisofs/hash.c: Likewise.
29636 * util/mkisofs/joliet.c: Likewise.
29637 * util/mkisofs/name.c: Likewise.
29638 * util/mkisofs/rock.c: Likewise.
29639 * util/mkisofs/tree.c: Likewise.
29640 * util/mkisofs/write.c: Likewise.
29641
1dabbc77
RM
296422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29645 instead of static allocation.
29646 * util/mkisofs/match.h: Likewise.
29647
633877cb
RM
296482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29649
3bc7896c
RM
29650 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29651 and `util/grub.d/10_linux.in'.
633877cb
RM
29652 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29653 translatable Shell files.
29654
af1c0c85
RM
296552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29656
29657 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29658
769ae37b
RM
296592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29660
29661 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29662 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29663 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29664 Add gettext initialization.
29665 (kfreebsd_entry): Make menuentry output translatable.
29666
296672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29668
29669 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29670 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29671 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29672 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29673 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29674 * po/LINGUAS: New file.
769ae37b
RM
29675
296762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29677
29678 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29679 other things).
29680 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29681 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29682 bindtextdomain() calls for gettext initialization.
29683
296842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29685
29686 * gnulib/progname.c: New file (imported from Gnulib).
29687 * gnulib/progname.h: Likewise.
29688 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29689 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29690 (usage): Replace `progname' with `program_name'.
29691 (main): Use set_program_name() for program name initialization.
29692
296932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29694
29695 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29696 from here ...
29697 * Makefile.in (CPPFLAGS): ... to here.
29698
296992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29700
29701 * aclocal.m4: Move from here ...
29702 * acinclude.m4: ... to here.
29703 * autogen.sh: Add call to `aclocal'.
29704 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29705
297062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29707
29708 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29709 (LINGUAS): New variable.
29710 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29711 (install-local): Install MO files.
29712 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29713 * include/grub/i18n.h: New file.
3bc7896c
RM
29714 * po/POTFILES: New file.
29715 * po/ca.po: New file.
769ae37b
RM
29716 * util/grub.d/10_linux.in (bindir): New variable.
29717 Add gettext initialization.
29718 (linux_entry): Make menuentry output translatable.
29719 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29720 (usage): Make --help output translatable.
29721 (main): Initialize gettext.
29722
02c0a6ad
RM
297232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 * import_gcry.py: New file (written by Vladimir with minor
29726 adjustments).
29727 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29728 ciphers.
29729 * INSTALL: Document that Python is required for bootstrap.
29730
297312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29732
29733 Import ciphers from libgcrypt 1.4.4.
29734
29735 * lib/libgcrypt/cipher/ChangeLog
29736 * lib/libgcrypt/cipher/ac.c
29737 * lib/libgcrypt/cipher/arcfour.c
29738 * lib/libgcrypt/cipher/bithelp.h
29739 * lib/libgcrypt/cipher/blowfish.c
29740 * lib/libgcrypt/cipher/camellia-glue.c
29741 * lib/libgcrypt/cipher/camellia.c
29742 * lib/libgcrypt/cipher/camellia.h
29743 * lib/libgcrypt/cipher/cast5.c
29744 * lib/libgcrypt/cipher/cipher.c
29745 * lib/libgcrypt/cipher/crc.c
29746 * lib/libgcrypt/cipher/des.c
29747 * lib/libgcrypt/cipher/dsa.c
29748 * lib/libgcrypt/cipher/ecc.c
29749 * lib/libgcrypt/cipher/elgamal.c
29750 * lib/libgcrypt/cipher/hash-common.c
29751 * lib/libgcrypt/cipher/hash-common.h
29752 * lib/libgcrypt/cipher/hmac-tests.c
29753 * lib/libgcrypt/cipher/md.c
29754 * lib/libgcrypt/cipher/md4.c
29755 * lib/libgcrypt/cipher/md5.c
29756 * lib/libgcrypt/cipher/primegen.c
29757 * lib/libgcrypt/cipher/pubkey.c
29758 * lib/libgcrypt/cipher/rfc2268.c
29759 * lib/libgcrypt/cipher/rijndael-tables.h
29760 * lib/libgcrypt/cipher/rijndael.c
29761 * lib/libgcrypt/cipher/rmd.h
29762 * lib/libgcrypt/cipher/rmd160.c
29763 * lib/libgcrypt/cipher/rsa.c
29764 * lib/libgcrypt/cipher/seed.c
29765 * lib/libgcrypt/cipher/serpent.c
29766 * lib/libgcrypt/cipher/sha1.c
29767 * lib/libgcrypt/cipher/sha256.c
29768 * lib/libgcrypt/cipher/sha512.c
29769 * lib/libgcrypt/cipher/tiger.c
29770 * lib/libgcrypt/cipher/twofish.c
29771 * lib/libgcrypt/cipher/whirlpool.c
29772
af2f93ac
RM
297732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29774
29775 Fix build for systems without error().
29776
29777 * gnulib/error.c: New file (imported from Gnulib).
29778 * gnulib/error.h: Likewise.
29779 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29780 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29781 (this variable is now used by error()).
29782
73fb3dd5
FZ
297832009-11-16 Felix Zielcke <fzielcke@z-51.de>
29784
814f5e96
FZ
29785 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29786 instead of relying that char is signed.
73fb3dd5 29787
a691ca33
VS
297882009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29789
29790 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29791 blocksize different from specified.
29792 (grub_pxefs_read): Likewise.
29793
2af8f0f4
FZ
297942009-11-16 Felix Zielcke <fzielcke@z-51.de>
29795
29796 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29797
29798 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29799 (grub_ata_readwrite): Likewise. Update 2 format strings.
29800 (grub_atapi_read): Likewise.
29801
29802 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29803 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29804 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29805 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29806 (ata_mod_LDFLAGS): Move from here ...
29807 * conf/i386.rmk: ... to here ...
29808 * conf/x86_64-efi.rmk: ... and here.
29809 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29810 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29811
83bdecaf
RM
298122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29813
29814 Relicense multiboot.h, with RMS' blessing.
29815
29816 * include/multiboot.h: Change to X11 license.
29817
fd6fd3d7
RM
298182009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 Support --version in grub-mkisofs.
29821
29822 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29823 (OPTION_VERSION): New macro.
29824 (ld_options): Recognize --version.
29825 (usage): Move `program_name' from here ...
29826 (program_name): ... to here. Add `static' qualifier.
29827 (main): Recognize `OPTION_VERSION'.
29828
16a88c49
FZ
298292009-11-15 Felix Zielcke <fzielcke@z-51.de>
29830
29831 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29832 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29833
a4158476
RM
298342009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29835
29836 Fix help2man generation for mkisofs.
29837
29838 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29839 (usage): Send output to stdout (rather than stderr).
29840
fc2208b0
RM
298412009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29842
29843 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29844 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29845 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29846 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29847 (bin_SCRIPTS): Add `grub-mkfloppy'.
29848 (grub_mkfloppy_SOURCES): New variable.
29849
29850 * util/grub-mkrescue.in: New file.
29851 * util/i386/pc/grub-mkfloppy.in: New file.
29852
29853 * util/i386/coreboot/grub-mkrescue.in: Remove.
29854 * util/i386/pc/grub-mkrescue.in: Remove.
29855
8d0edf4a
RM
298562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29857
29858 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29859 from here ...
29860 * include/multiboot.h (struct multiboot_header): ... to here. Update
29861 all users.
29862 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29863 from here ...
29864 * include/multiboot.h (struct multiboot_info): ... to here. Update
29865 all users.
29866 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29867 from here ...
29868 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29869 Update all users.
29870 * include/grub/multiboot.h (struct grub_mod_list): Move
29871 from here ...
29872 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29873 Update all users.
29874
a73f5969
RM
298752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29876
29877 * include/multiboot2.h (multiboot_word): Rename from this ...
29878 (multiboot2_word): ... to this. Update all users.
29879 (multiboot_header): Rename from this ...
29880 (multiboot2_header): ... to this. Update all users.
29881 (multiboot_tag_header): Rename from this ...
29882 (multiboot2_tag_header): ... to this. Update all users.
29883 (multiboot_tag_start): Rename from this ...
29884 (multiboot2_tag_start): ... to this. Update all users.
29885 (multiboot_tag_name): Rename from this ...
29886 (multiboot2_tag_name): ... to this. Update all users.
29887 (multiboot_tag_module): Rename from this ...
29888 (multiboot2_tag_module): ... to this. Update all users.
29889 (multiboot_tag_memory): Rename from this ...
29890 (multiboot2_tag_memory): ... to this. Update all users.
29891 (multiboot_tag_unused): Rename from this ...
29892 (multiboot2_tag_unused): ... to this. Update all users.
29893 (multiboot_tag_end): Rename from this ...
29894 (multiboot2_tag_end): ... to this. Update all users.
29895
1c8927f0
RM
298962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29897
29898 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29899 this platform we should support Multiboot1 first.
29900
29901 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29902 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29903 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29904
6e1e0d89
RM
299052009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29906
29907 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29908 of write calls (converting them to fwrite() if they aren't already).
29909 (get_torito_desc): Likewise.
29910 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29911
7f2b34d8
RM
299122009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29913
29914 * util/i386/pc/grub-install.in: Move from here ...
29915 * util/grub-install.in: ... to here. Update all users.
29916
c0ef3311
CW
299172009-11-11 Colin Watson <cjwatson@ubuntu.com>
29918
29919 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29920
e1f240ff
RM
299212009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29922
29923 Support for El Torito without floppy emulation.
29924
29925 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29926 (init_boot_catalog): Improve error handling.
29927 (get_torito_desc): Don't use floppy emulation unless requested by
29928 user. Patch boot information table when requested via
29929 `-boot-info-table'.
29930 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29931 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29932 (use_boot_info_table): New variables.
29933 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29934 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29935 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29936 `--eltorito-emul-floppy'.
29937 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29938 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29939 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29940 (use_boot_info_table, get_731): New prototypes.
29941 * util/mkisofs/write.c (get_731): New function.
29942
af7d4de5
FZ
299432009-11-11 Felix Zielcke <fzielcke@z-51.de>
29944
29945 Fix the generation of the man page.
29946
29947 * util/pc/i386/grub-install.in: Source
29948 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29949
2c55dbc0
RM
299502009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29951
29952 Large file support for grub-mkisofs.
29953
29954 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29955 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29956 (session_start): Upgrade type to `uint64_t'. Update all users.
29957 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29958 (struct directory_entry): Upgrade type of `starting_block' and
29959 `size' to `uint64_t'. Update all users.
29960 (struct deferred): Remove unused structure.
29961 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29962 Update all users.
29963 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29964 file is larger than `UINT32_MAX'.
29965 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29966 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29967 return value.
29968 (struct deferred_write): Upgrade type of `extent' and `size' to
29969 `uint64_t'. Update all users.
29970 (last_extent_written): Upgrade type to `uint64_t'. Update all
29971 users.
29972 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29973 Update all users. Upgrade type of `remain' to `int64_t' and
29974 `use' to `size_t'. Use error() to handle fread() errors.
29975 (write_files): Rely on write_one_file() rather than calling
29976 xfwrite() directly.
29977
6a9cead5
FZ
299782009-11-09 Felix Zielcke <fzielcke@z-51.de>
29979
29980 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29981
4825d790
RM
299822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29983
29984 * util/mkisofs/fnmatch.c: Remove.
29985 * util/mkisofs/getopt1.c: Likewise.
29986 * util/mkisofs/getopt.c: Likewise.
29987 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29988 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29989 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29990 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29991 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29992
29993 * configure.ac: Detect `mingw32msvc' host_os.
29994 Check for lstat(), getuid() and getgid().
29995
29996 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29997 instances of `u_char' with `uint8_t'.
29998
29999 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30000 [!HAVE_GETUID] (getuid): New function (stub).
30001 [!HAVE_GETGID] (getgid): Likewise.
30002 [!HAVE_LSTAT] (lstat): Likewise.
30003 [!S_IROTH] (S_IROTH): New macro (dummy).
30004 [!S_IRGRP] (S_IRGRP): Likewise.
30005
84b860d8
RM
300062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30007
30008 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30009 conditional expression).
30010
66e9b712
RM
300112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30012
30013 Import from Gnulib.
30014
30015 * gnulib/fnmatch.c: New file.
30016 * gnulib/fnmatch.h: Likewise.
30017 * gnulib/fnmatch_loop.c: Likewise.
30018 * gnulib/getopt.c: Likewise.
30019 * gnulib/getopt.h: Likewise.
30020 * gnulib/getopt1.c: Likewise.
30021 * gnulib/getopt_int.h: Likewise.
30022 * gnulib/gettext.h: Likewise.
30023
34f4a5b0
RM
300242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30025
30026 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30027 * normal/handler.c (read_handler_list): Likewise.
30028
ac451143
RM
300292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30030
30031 Misc cleanup.
30032
30033 * kern/command.c (grub_register_command_prio): Use
30034 grub_zalloc() instead of explicitly zeroing data.
30035 * kern/list.c: Include `<grub/mm.h>'.
30036 (grub_named_list_find): Replace `0' with `NULL'.
30037 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30038 (fs_module_list): Change type to `grub_named_list_t'. Update all
30039 users.
30040 * normal/dyncmd.c (read_command_list): Add space between function
30041 call and parenthesis.
30042 * normal/handler.c (read_handler_list): Likewise.
30043
4089b167
RM
300442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30045
30046 * normal/auth.c (punishment_delay): Moved from here ...
30047 (grub_auth_strcmp): ... to here (inside function).
30048
325f5037
RM
300492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * include/grub/list.h (struct grub_named_list): Remove `const'
30052 qualifier from `name'.
30053 (struct grub_prio_list): Likewise.
30054
7aea29a3
RM
300552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 * normal/auth.c: Include `<grub/time.h>'.
30058 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30059
3fd6f044
RM
300602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30061
30062 * normal/auth.c (punishment_delay): New variable.
30063 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30064 (grub_auth_check_authentication): Punish failed login attempts with
30065 an incremental (2^N) delay.
30066
a4cd68e4
RM
300672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30068
30069 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30070 path with $(srcdir).
30071
7ad12f43
VS
300722009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30073
30074 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30075
c1129f03
RM
300762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30077
30078 * util/i386/coreboot/grub-mkrescue.in: New file.
30079 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30080 variables.
30081
30082 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30083 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30084 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30085 requirements.
30086 * util/mkisofs/defaults.h: New file.
30087 * util/mkisofs/eltorito.c: Likewise.
30088 * util/mkisofs/exclude.h: Likewise.
30089 * util/mkisofs/fnmatch.c: Likewise.
30090 * util/mkisofs/getopt.c: Likewise.
30091 * util/mkisofs/getopt1.c: Likewise.
30092 * util/mkisofs/hash.c: Likewise.
30093 * util/mkisofs/include/fctldefs.h: Likewise.
30094 * util/mkisofs/include/mconfig.h: Likewise.
30095 * util/mkisofs/include/prototyp.h: Likewise.
30096 * util/mkisofs/include/statdefs.h: Likewise.
30097 * util/mkisofs/iso9660.h: Likewise.
30098 * util/mkisofs/joliet.c: Likewise.
30099 * util/mkisofs/match.c: Likewise.
30100 * util/mkisofs/match.h: Likewise.
30101 * util/mkisofs/mkisofs.c: Likewise.
30102 * util/mkisofs/mkisofs.h: Likewise.
30103 * util/mkisofs/multi.c: Likewise.
30104 * util/mkisofs/name.c: Likewise.
30105 * util/mkisofs/rock.c: Likewise.
30106 * util/mkisofs/tree.c: Likewise.
30107 * util/mkisofs/write.c: Likewise.
30108
ec8bb77d
VS
301092009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30112 being insecure.
30113
3716b12c
RM
301142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30115
30116 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30117 `grub-mkimage' (and use $0 when possible).
30118
b97b7b91
RM
301192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30122 error message for excessively large memory map.
30123
04114812
RM
301242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30125
30126 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30127 executable bit.
30128
e4eb2373
RM
301292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30130
30131 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30132 message for coreboot users.
30133
c926e1d5 301342009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30135
30136 Fix build with GNU gold.
30137
30138 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30139 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30140 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30141 link addresses.
30142 * aclocal.m4: Likewise.
30143
86e5b1db 301442009-11-04 Felix Zielcke <fzielcke@z-51.de>
30145
30146 * configure.ac (AC_PREREQ): Bump to 2.59d.
30147 * INSTALL: Make it more clear when Autoconf and Ruby are
30148 needed and when to run `./autogen.sh'.
30149
246cd78f 301502009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30151
30152 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30153 OSes.
30154
4f9dfb37 301552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30156
30157 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30158
b82bd5e1 301592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30160
30161 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30162 giving it to GNU Mach.
30163
ff1a9bca 301642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30165
30166 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30167 GNU partition number to get internal GRUB partition number.
30168
61697d9c 301692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30170
30171 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30172 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30173
a50569e1 301742009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30175
30176 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30177 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30178 case.
30179
5b153867 301802009-11-01 Felix Zielcke <fzielcke@z-51.de>
30181
30182 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30183
d9e2cd70 301842009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30185
30186 Fix build problem.
30187
30188 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30189 `-isystem=$(srcdir)/include'.
30190
805111a4 301912009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30192
30193 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30194 checked (grub-install doesn't currently rely on it).
30195
fa6e945f 301962009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30197
30198 Revert SVN r2660.
30199
30200 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30201 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30202 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30203 * conf/i386-ieee1275.rmk: Likewise.
30204 * conf/i386-pc.rmk: Likewise.
30205 * conf/powerpc-ieee1275.rmk: Likewise.
30206 * conf/sparc64-ieee1275.rmk: Likewise.
30207 * conf/x86_64-efi.rmk: Likewise.
30208
cee15086 302092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30210
30211 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30212
95b9239e 302132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30214
30215 * include/grub/misc.h: Stop checking for APPLE_CC.
30216
2ed19dfd 302172009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30218
30219 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30220 doesn't cause an infinite call loop.
30221
fdcdde19 302222009-10-28 Felix Zielcke <fzielcke@z-51.de>
30223
30224 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30225 strings.
30226
cefabfe1 302272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30228
30229 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30230 variable.
30231 * Makefile.in: Likewise.
30232
ed96ab6d 302332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30234
30235 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30236
0579b753 302372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30238
30239 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30240
478df409 302412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30244
083d1679 302452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30246
30247 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30248 from here ...
30249 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30250
5947ae32 302512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30252
30253 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30254 in $(MAKEINFO) invocation. This makes it clear in output that
30255 errors are being ignored.
30256
94180ff6 302572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30258
30259 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30260 from here ...
30261 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30262 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30263 * conf/i386-ieee1275.rmk: Likewise.
30264 * conf/i386-pc.rmk: Likewise.
30265 * conf/powerpc-ieee1275.rmk: Likewise.
30266 * conf/sparc64-ieee1275.rmk: Likewise.
30267 * conf/x86_64-efi.rmk: Likewise.
30268
9031b03a 302692009-10-26 Colin Watson <cjwatson@ubuntu.com>
30270
30271 * util/grub-editenv.c (main): If only a command is given, use
30272 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30273 (usage): FILENAME is now optional and has a default.
30274
e4f6809b 302752009-10-26 Colin Watson <cjwatson@ubuntu.com>
30276
30277 Improve grub-mkconfig performance when there are several menu
30278 entries on a single filesystem.
30279
30280 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30281 prepare_grub_to_access_device.
30282 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30283 * util/grub.d/30_os-prober.in: Likewise.
30284
67937d4d 302852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30286
30287 * util/grub.d/10_freebsd.in: Remove.
30288 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30289 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30290
ee3756cc 302912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30292
5c35048e 30293 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30294
4dea1c6f 302952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30296
30297 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30298 grub_util_error() call.
30299
042484d7 303002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30301
30302 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30303 `reserved_first_sector' member.
30304 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30305 `reserved_first_sector' to 1.
30306 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30307 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30308 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30309 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30310 filesystems which begin at first sector.
30311 (options): New option --skip-fs-probe.
30312 (main): Handle --skip-fs-probe and pass it to setup().
30313
d64448a7 303142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30315
30316 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30317 (memset): Fix function prototype.
30318
508d42ec 303192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
303202009-10-25 Vasily Averin <vvs@parallels.com>
30321
30322 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30323 `dirent.direntlen == 0'.
30324
b240e30c 303252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30326
30327 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30328 `cpio'.
30329 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30330
346e7fbe 303312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30332
30333 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30334 `__trampoline_setup' and `__ucmpdi2'.
30335 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30336 that libgcc provides.
30337
cdb308b0 303382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30339
30340 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30341 * include/grub/sparc64/libgcc.h (memset): Likewise.
30342 * include/grub/misc.h (memset, memcmp): New function prototypes.
30343
fb26abc2 303442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30345
30346 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30347 `cpio'.
30348 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30349
f6693890 303502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30351
30352 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30353 * docs/grub.cfg: Compensate for recent change in multiboot
30354 loader (since 2009-08-14 it won't pass filename to payload).
30355 * util/grub.d/10_hurd.in: Likewise.
30356
0933cdc0 303572009-10-21 Felix Zielcke <fzielcke@z-51.de>
30358
30359 * config.guess: Update to latest version from config git
30360 repository.
30361 * config.sub: Likewise.
30362
3b2fe8c2 303632009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30364
30365 Fix build on sparc64.
30366
30367 * configure.ac: Perform checks for libgcc symbols before
30368 adding `-nostdlib' to LDFLAGS.
30369
46695a62 303702009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30371
30372 Let user specify OpenBSD root device.
30373
30374 * loader/i386/bsd.c (openbsd_root): New variable.
30375 (openbsd_opts): New option 'root'.
30376 (OPENBSD_ROOT_ARG): New macro.
30377 (grub_openbsd_boot): Use 'openbsd_root'.
30378 (grub_cmd_openbsd): Fill 'openbsd_root'.
30379
d2b6b7fc 303802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30381
30382 * NEWS: Misc adjustments.
30383
421bd7ac 303842009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30385
30386 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30387
f1d29d87 303882009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * configure.ac: Bump version to 1.97.
30391
6f3cd880 303922009-10-16 Colin Watson <cjwatson@ubuntu.com>
30393
30394 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30395 -mno-3dnow on x86 architectures. Some toolchains enable these
30396 features by default, but they rely on registers that aren't enabled
30397 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30398
035f7122 303992009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30400
30401 Make entry text a bit more readable.
30402
30403 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30404
44998e58 304052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30406
30407 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30408
cd2851b3 304092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30410
30411 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30412 operations.
30413
c6f3b249 304142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 * configure.ac: Add missing dollar.
30417
6b5886ba 304182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30419
30420 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30421
30422 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30423 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30424 exports.
30425 * include/grub/sparc64/libgcc.h: Likewise. Use
30426 preprocessor conditionals.
30427
e9d66f6d 304282009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30429
30430 * conf/common.rmk (grub-dumpbios): Remove rule.
30431 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30432 * util/grub-dumpbios.in: Remove file.
30433
9155bc17 304342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30435
30436 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30437 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30438
30439 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30440 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30441 users.
30442
30443 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30444 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30445 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30446 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30447 users.
30448
bf7f7a18 304492009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30450
30451 * term/tparm.c: Switch to GPLv3.
30452
86564c26 304532009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30454
30455 * include/grub/i386/cpuid.h: Add header protection.
30456
5c936493 304572009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30458
30459 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30460
30461 * include/grub/i386/cpuid.h: New file.
30462 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30463 (has_longmode): Rename to ...
30464 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30465 `static' attribute.
30466 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30467 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30468 on a CPU that doesn't implement AMD64 instruction set.
30469
186e7cf2 304702009-10-06 Colin Watson <cjwatson@ubuntu.com>
30471
30472 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30473 that version.texi is rebuilt on version number changes.
30474
83b65c4a 304752009-10-06 Colin Watson <cjwatson@ubuntu.com>
30476
30477 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30478 Fixes bug #27602.
30479
d244281c 304802009-10-06 Colin Watson <cjwatson@ubuntu.com>
30481
30482 * util/i386/pc/grub-install.in: Source
30483 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30484 that the --grub-probe option will work.
30485 * util/sparc64/ieee1275/grub-install.in: Likewise.
30486
da25306d 304872009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30488
30489 * configure.ac: Bump version to 1.97~beta4.
30490
e8ee83c0 304912009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30492
30493 Resync grub-mkdevicemap in x86_64-efi.
30494
30495 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30496 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30497 `util/devicemap.c'.
30498
50dcabcf 304992009-10-01 Colin Watson <cjwatson@ubuntu.com>
30500
30501 * util/grub-editenv.c (create_envblk_file): Write new block with a
30502 .new suffix and then rename it into place, to ensure atomic
30503 creation.
30504
0e51c3a7 305052009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30506
30507 Do not automatically install headers.
30508
30509 * Makefile.in (include_DATA): Remove. Update all users.
30510
31299a95 305112009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30512
30513 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30514 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30515
30516 * util/osdetect.lua: Remove.
30517 * script/lua/lauxlib.c: Likewise.
30518 * script/lua/ldebug.c: Likewise.
30519 * script/lua/grub_main.c: Likewise.
30520 * script/lua/lauxlib.h: Likewise.
30521 * script/lua/ldebug.h: Likewise.
30522 * script/lua/ltablib.c: Likewise.
30523 * script/lua/liolib.c: Likewise.
30524 * script/lua/lstrlib.c: Likewise.
30525 * script/lua/lualib.h: Likewise.
30526 * script/lua/ldo.c: Likewise.
30527 * script/lua/ldump.c: Likewise.
30528 * script/lua/ldo.h: Likewise.
30529 * script/lua/loslib.c: Likewise.
30530 * script/lua/lundump.c: Likewise.
30531 * script/lua/grub_lib.c: Likewise.
30532 * script/lua/ldblib.c: Likewise.
30533 * script/lua/lundump.h: Likewise.
30534 * script/lua/lmem.c: Likewise.
30535 * script/lua/grub_lib.h: Likewise.
30536 * script/lua/lmathlib.c: Likewise.
30537 * script/lua/lstate.c: Likewise.
30538 * script/lua/ltm.c: Likewise.
30539 * script/lua/lvm.c: Likewise.
30540 * script/lua/lmem.h: Likewise.
30541 * script/lua/lstate.h: Likewise.
30542 * script/lua/ltm.h: Likewise.
30543 * script/lua/ltable.c: Likewise.
30544 * script/lua/lvm.h: Likewise.
30545 * script/lua/llex.c: Likewise.
30546 * script/lua/lgc.c: Likewise.
30547 * script/lua/grub_lua.h: Likewise.
30548 * script/lua/loadlib.c: Likewise.
30549 * script/lua/lfunc.c: Likewise.
30550 * script/lua/lopcodes.c: Likewise.
30551 * script/lua/lparser.c: Likewise.
30552 * script/lua/ltable.h: Likewise.
30553 * script/lua/llex.h: Likewise.
30554 * script/lua/lgc.h: Likewise.
30555 * script/lua/lfunc.h: Likewise.
30556 * script/lua/lbaselib.c: Likewise.
30557 * script/lua/lopcodes.h: Likewise.
30558 * script/lua/lparser.h: Likewise.
30559 * script/lua/lzio.c: Likewise.
30560 * script/lua/linit.c: Likewise.
30561 * script/lua/lobject.c: Likewise.
30562 * script/lua/llimits.h: Likewise.
30563 * script/lua/lstring.c: Likewise.
30564 * script/lua/lzio.h: Likewise.
30565 * script/lua/lapi.c: Likewise.
30566 * script/lua/lcode.c: Likewise.
30567 * script/lua/lua.h: Likewise.
30568 * script/lua/lobject.h: Likewise.
30569 * script/lua/lstring.h: Likewise.
30570 * script/lua/lapi.h: Likewise.
30571 * script/lua/lcode.h: Likewise.
30572 * script/lua/luaconf.h: Likewise.
30573
cb8a2c38 305742009-09-26 Colin Watson <cjwatson@ubuntu.com>
30575
30576 * docs/grub.texi (Command-line and menu entry commands): Document
30577 date and echo commands.
30578
6b9b6276 305792009-09-24 Pavel Roskin <proski@gnu.org>
30580
30581 * include/grub/kernel.h (struct grub_module_header): Remove
30582 `grub_module_header_types'. Make `type' unsigned. Make `size'
30583 32-bit on all platforms.
30584 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30585 8-bit field. Use grub_host_to_target32() for `size'.
30586 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30587 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30588 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30589
4e5a02a7 305902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30591
30592 Fix "lost keypress" bug in at_keyboard.
30593
30594 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30595 Checks for readyness of input buffer (without flushing it).
30596 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30597 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30598
c6dcedf6 305992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30600
30601 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30602 size check within GRUB_MACHINE_PCBIOS section.
30603
74c958b1 306042009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30605
30606 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30607 return value.
30608 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30609 KEYBOARD_ISREADY check.
30610 (grub_at_keyboard_checkkey): Rename to ...
30611 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30612 Remove gratuitous cast.
30613
ff420223 306142009-09-23 Colin Watson <cjwatson@ubuntu.com>
30615
30616 * configure.ac: Call AC_PROG_MKDIR_P.
30617 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30618 version.texi in $(builddir) rather than $(srcdir).
30619 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30620 to makeinfo's @include search path.
30621
d96875df 306222009-09-23 Felix Zielcke <fzielcke@z-51.de>
30623
30624 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30625
9b3f8365 306262009-09-23 Felix Zielcke <fzielcke@z-51.de>
30627
30628 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30629 for `*.dpkg-new'.
30630
c44c90db 306312009-09-21 Colin Watson <cjwatson@ubuntu.com>
30632
30633 Build info documentation. Some code borrowed from Automake.
30634
30635 * configure.ac: Check for makeinfo.
30636 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30637 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30638 docs/version.texi.
30639 (MOSTLYCLEANFILES): Add vti.tmp.
30640 (docs/version.texi, docs/stamp-vti): Update automatically.
30641 (docs/grub.info): Build info documentation. Use --force and ignore
30642 errors for now.
30643 (all-local): Add $(INFOS).
30644 (install-local): Install info files.
30645 (uninstall): Uninstall info files.
30646 * docs/version.texi: Remove from revision control. This file is
30647 automatically generated on build now.
30648 * gendistlist.sh: Add `*.info'.
30649
e0b37bb5 306502009-09-21 Felix Zielcke <fzielcke@z-51.de>
30651
30652 * kern/term.c: Fix indentation.
30653
5a78865b 306542009-09-21 Felix Zielcke <fzielcke@z-51.de>
30655
30656 * util/hostdisk.c: Fix a comment.
30657
dace7e8a 306582009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30659
30660 Fix regression introduced in r2539.
30661
30662 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30663 to 0xA1.
30664
a83d079b 306652009-09-19 Colin Watson <cjwatson@ubuntu.com>
30666
30667 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30668 os-prober. Under normal operation, it does not print anything to
30669 stderr; if it does, we need to debug it, and throwing away stderr
30670 makes that excessively difficult.
a83d079b 30671
be94a509 306722009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30673
30674 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30675
63f745e8 306762009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30677
30678 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30679 AC_LANG_PROGRAM from autoconf.
30680 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30681 prototypes (fixes warning).
30682
30683 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30684 `--disable-werror' was used.
30685
bbb2a70f 306862009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30687
30688 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30689 uninitialized `lastaddr'.
30690
77c24f1d 306912009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30692
0f0b8c87 30693 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30694
07197f23 306952009-09-14 Colin Watson <cjwatson@ubuntu.com>
30696
30697 * commands/test.c (get_fileinfo): Return immediately if
30698 grub_fs_probe fails.
30699
dabf1798 307002009-09-14 José Martínez <xosemp@gmail.com>
30701
30702 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30703
d52109a7 307042009-09-14 Colin Watson <cjwatson@ubuntu.com>
30705
30706 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30707 output.
30708
56532179 307092009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 * configure.ac: Remove --enable-grub-pe2elf. Only build
30712 grub-pe2elf when needed by the build system itself.
30713 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30714
8ef070f5 307152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * configure.ac: Bump version to 1.97~beta3.
30718 * docs/version.texi: Likewise.
30719
61229557 307202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30723 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30724 from here ...
30725 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30726 (grub_linux_setup_video): ... to here (with some adjustments).
30727
5c9f8d84 307282009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30729
30730 Fix memory corruption issue (spotted by Colin Watson).
30731
30732 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30733 causing returned size to be stored in an incorrect memory location.
30734 Fix use of uninitialized value when storing the returned size.
30735
e8f5d6e9 307362009-09-12 Yves Blusseau <blusseau@zetam.org>
30737
30738 Change clean rules to properly remove files
30739
30740 * genmk.rb: add new clean rules
30741 * Makefile.in (clean): add the new targets
30742 (mostlyclean): likewise
30743
cda2a409 307442009-09-11 Colin Watson <cjwatson@ubuntu.com>
30745
30746 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30747 to grub_uint64_t.
30748 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30749 non-resident files.
30750
86695375 307512009-09-11 Colin Watson <cjwatson@ubuntu.com>
30752
30753 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30754 part of bug #27349.
30755
8aa1541a 307562009-09-10 Felix Zielcke <fzielcke@z-51.de>
30757
30758 * util/grub-mkconfig.in: Make the created config mode 400 and
30759 print a warning if it fails.
30760
48d9bb0a 307612009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30762
30763 * util/grub.d/40_custom.in: Ask user to type custom entries below
30764 comment, rather than below 'exec tail' line.
30765
3b0521be 307662009-09-10 Colin Watson <cjwatson@ubuntu.com>
30767
30768 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30769 visible in grub.cfg.
30770
50051d55 307712009-09-10 Colin Watson <cjwatson@ubuntu.com>
30772
30773 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30774 file.
30775
c0d34387 307762009-09-10 Felix Zielcke <fzielcke@z-51.de>
30777
30778 * docs/grub.cfg: Add an example menu entry for memtest86+.
30779
80a608f3 307802009-09-09 Felix Zielcke <fzielcke@z-51.de>
30781
a2094832 30782 * config.guess: Update to latest version from config git.
80a608f3 30783 * config.sub: Likewise.
30784
99423078 307852009-09-08 Colin Watson <cjwatson@ubuntu.com>
30786
30787 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30788 unknown-command case. Fixes bug #27320.
30789
44454e4c 307902009-09-08 Felix Zielcke <fzielcke@z-51.de>
30791
30792 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30793 `help' if the command exists.
30794
e30d87ad 307952009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30796
30797 * INSTALL: Require GCC 4.1.3 or later.
30798
9a86f1ec 307992009-09-06 Yves Blusseau <blusseau@zetam.org>
30800
30801 * Makefile.in (RMKFILES): add i386-qemu.rmk
30802 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30803 $(srcdir)/stamp-h.in
30804
7f26d466 308052009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30806
30807 * util/grub-probe.c (probe): Comment out buggy codepath, which
30808 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30809 should be re-enabled after 1.97.
30810
3a613259 308112009-09-05 Felix Zielcke <fzielcke@z-51.de>
30812
30813 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30814 find searches for.
30815
197f76c7 308162009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30817
30818 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30819 unnecessary calls to grub_error.
30820
70ba68ce 308212009-09-04 Colin Watson <cjwatson@ubuntu.com>
30822
30823 * NEWS: Mention `keystatus' and Unicode fonts.
30824
4ff0d7a4 308252009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * configure.ac: Bump version to 1.97~beta2.
30828 * docs/version.texi: Likewise.
30829
77c55a87 308302009-09-03 Colin Watson <cjwatson@ubuntu.com>
30831
30832 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30833 containing unwind information in some cases where it previously did
30834 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30835 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30836 discussion.
30837
f79572cd 308382009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30839
30840 Embedding loadenv module into grub-emu
30841
30842 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30843 commands/loadenv.c
30844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30845 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30848 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30849 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30850
93a81088 308512009-09-03 Magnus Granberg <zorry@ume.nu>
30852
30853 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30854 include -fPIE in the default specs.
30855 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30856 to TARGET_CFLAGS.
30857
160034b2 308582009-09-03 Felix Zielcke <fzielcke@z-51.de>
30859
30860 * INSTALL: Note that GNU Bison 2.3 or later is required.
30861
087c07c4 308622009-09-03 Colin Watson <cjwatson@ubuntu.com>
30863
30864 * kern/i386/pc/startup.S: Fix typo.
30865
cbf978c0 308662009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30867
30868 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30869 according to GCS.
30870
308712009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30872
30873 * docs/grub.texi (Naming convention): Describe one-based partition
30874 numbering.
30875 (Device syntax): Likewise.
30876 (File name syntax): Likewise.
30877 (Block list syntax): Likewise.
30878 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30879 menu.lst.
30880 (File name syntax): Likewise.
30881 (Command-line and menu entry commands): Document acpi, blocklist,
30882 crc, export, insmod, keystatus, ls, set, and unset commands.
30883
f3e8cdfd 308842009-09-02 Colin Watson <cjwatson@ubuntu.com>
30885
30886 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30887 to avoid implying that only one of --shift, --ctrl, or --alt may be
30888 used.
30889
c0bc232b 308902009-09-02 Colin Watson <cjwatson@ubuntu.com>
30891
30892 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30893 rather than comparing against S_IFREG, which will almost never work.
30894
aa0f752d 308952009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30898 (write_blocklists): Likewise.
30899
ecb3166a 309002009-09-01 Colin Watson <cjwatson@ubuntu.com>
30901
30902 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30903 argument to grub_printf.
30904
c403a125 309052009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30906
30907 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30908 non GNU test.
31aba781 30909
b5e7312c 309102009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 * kern/file.c (grub_file_read): Spelling fix
30913
fe00f472 309142009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30917 loading of headers in some cases.
30918
cc55302e 309192009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30920
30921 * configure.ac: Bump version to 1.97~beta1.
30922 * docs/version.texi: Likewise.
30923
5c90cdd2 309242009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30925
30926 * include/grub/i386/xnu.h: Add license header.
30927 include grub/err.h explicitly.
30928
c90edae4 309292009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30930
30931 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30932 to `ufs' in the vfs.root.mountfrom kernel parameter.
30933
d8888b5c 309342009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30935
30936 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30937
30938 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30939 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30940
30941 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30942 `ARRAY_SIZE' macro.
30943
6f07b921 309442009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 * kern/file.c (grub_file_read): Check offset.
30947 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30948 * fs/jfs.c (grub_jfs_read_file): Likewise.
30949 * fs/ntfs.c (grub_ntfs_read): Likewise.
30950 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30951 * fs/minix.c (grub_minix_read_file): Correct offset check.
30952 * fs/ufs.c (grub_ufs_read_file): Likewise.
30953
b4f34077 309542009-08-28 Colin Watson <cjwatson@ubuntu.com>
30955
30956 * term/i386/pc/console.c (bios_data_area): Cast
30957 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30958
e7c69859 309592009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30960
30961 1-bit optimised blitters.
30962
30963 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30964 prototype.
30965 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30966 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30967 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30968 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30969 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30970 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30971 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30972 function.
30973 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30974 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30975 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30976 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30977 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30978 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30979 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30980 when possible.
30981 * video/video.c (grub_video_get_blit_format): Return
30982 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30983
a57da43f 309842009-08-28 Colin Watson <cjwatson@ubuntu.com>
30985
30986 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30987 the first argument to grub_printf.
30988
4cbe67e5 309892009-08-28 Colin Watson <cjwatson@ubuntu.com>
309902009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30991
30992 Add `getkeystatus' terminal method. Add a new `keystatus' command
30993 to query it.
30994
30995 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30996 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30997 modifier key bitmasks.
30998 (struct grub_term_input): Add `getkeystatus' member.
30999 (grub_getkeystatus): Add prototype.
31000 * kern/term.c (grub_getkeystatus): New function.
31001
31002 * include/grub/i386/pc/memory.h
31003 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31004 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31005 Data Area layout.
31006 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31007 (grub_console_term_input): Set `getkeystatus' member.
31008 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31009 constants.
31010 (grub_usb_keyboard_getreport): Likewise.
31011 (grub_usb_keyboard_checkkey): Likewise.
31012 (grub_usb_keyboard_getkeystatus): New function.
31013 (grub_usb_keyboard_term): Set `getkeystatus' member.
31014
31015 * commands/keystatus.c: New file.
31016 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31017 (keystatus_mod_SOURCES): New variable.
31018 (keystatus_mod_CFLAGS): Likewise.
31019 (keystatus_mod_LDFLAGS): Likewise.
31020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31021 commands/keystatus.c.
31022 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31023 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31024 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31026 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31027 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31028
6e2a9085 310292009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 Split befs.mod and afs.mod into *_be.mod and *.mod
31032
31033 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31034 (grub_fstest_SOURCES): Likewise.
31035 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31036 (afs_be_mod_SOURCES): New variable.
31037 (afs_be_mod_CFLAGS): Likewise.
31038 (afs_be_mod_LDFLAGS): Likewise.
31039 (befs_be_mod_SOURCES): Likewise.
31040 (befs_be_mod_CFLAGS): Likewise.
31041 (befs_be_mod_LDFLAGS): Likewise.
31042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31043 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31044 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31045 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31046 (grub_emu_SOURCES): Likewise.
31047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31049 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31050 * fs/afs_be.c: New file.
31051 * fs/befs_be.c: New file.
31052 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31053 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31054 (U16): Replaced with ...
31055 (grub_afs_to_cpu16): ...this. All users updated.
31056 (U32): Replaced with ...
31057 (grub_afs_to_cpu32): ...this. All users updated.
31058 (U64): Replaced with ...
31059 (grub_afs_to_cpu64): ...this. All users updated.
31060 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31061 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31062 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31063 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31064 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31065 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31066 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31067 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31068 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31069 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31070 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31071
32a71655 310722009-08-26 Bean <bean123ch@gmail.com>
31073
31074 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31075 64-bit number.
31076 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31077 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31078 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31079
552bf6c5 310802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31081
31082 NetBSD memory map support.
31083
31084 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31085 (grub_netbsd_btinfo_mmap_header): New structure.
31086 (grub_netbsd_btinfo_mmap_entry): Likewise.
31087 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31088
1ae2078c 310892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31090
31091 Enable bsd.mod on coreboot.
31092
31093 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31094 (bsd_mod_SOURCES): New variable.
31095 (bsd_mod_CFLAGS): Likewise.
31096 (bsd_mod_LDFLAGS): Likewise.
31097 (bsd_mod_ASFLAGS): Likewise.
31098 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31099 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31100
beefc598 311012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31102
31103 Cleanup NetBSD root support.
31104
31105 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31106 grub_bsd_get_device.
31107 Fix typo.
31108
3b76e68b 311092009-08-25 Felix Zielcke <fzielcke@z-51.de>
31110
31111 * util/grub.d/00_header.in: Move check for the video backend of
31112 gfxterm from here ...
31113 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31114 a suitable video backend.
31115
aea664ea 311162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31117
31118 Fix breakage in grub-setup.
31119
31120 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31121 "msdos_partition_map".
31122
ff747d50 311232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31124
31125 Fix breakage in normal/auth.c.
31126
31127 * normal/auth.c (grub_iswordseparator): New function.
31128
e7e1f93f 311292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31130
31131 Authentication support.
31132
31133 * commands/password.c: New file.
31134 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31135 (password_mod_SOURCES): New variable.
31136 (password_mod_CFLAGS): Likewise.
31137 (password_mod_LDFLAGS): Likewise.
31138 (normal_mod_SOURCES): Add normal/auth.c.
31139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31140 normal/auth.c.
31141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31142 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31145 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31146 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31147 * include/grub/auth.h: New file.
31148 * include/grub/err.h (grub_err_t): New enum value
31149 GRUB_ERR_ACCESS_DENIED.
31150 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31151 'users'.
31152 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31153 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31154 users updated.
31155 * normal/auth.c: New file.
31156 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31157 (grub_cmdline_run): Don't allow to go to command line without
31158 authentication.
31159 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31160 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31161 menuentry without superuser rights.
31162 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31163 user isn't a superuser.
31164
70f1161d 311652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31166
31167 Save space by inlining misc.c functions.
31168
31169 * kern/misc.c (grub_iswordseparator): Made static.
31170 * kern/misc.c (grub_strcat): Moved from here ...
31171 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31172 * kern/misc.c (grub_strncat): Moved from here ...
31173 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31174 * kern/misc.c (grub_strcasecmp): Moved from here ...
31175 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31176 * kern/misc.c (grub_strncasecmp): Moved from here ...
31177 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31178 * kern/misc.c (grub_isalpha): Moved from here ...
31179 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31180 * kern/misc.c (grub_isdigit): Moved from here ...
31181 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31182 * kern/misc.c (grub_isgraph): Moved from here ...
31183 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31184 * kern/misc.c (grub_tolower): Moved from here ...
31185 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31186
48e40bff 311872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31188
31189 * script/sh/function.c (grub_script_function_find): Cut error message
31190 not to flood terminal.
31191 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31192 limit.
31193 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31194
c385bfc3 311952009-08-24 Colin Watson <cjwatson@ubuntu.com>
31196
31197 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31198 `report' grub_uint8_t *.
31199 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31200 Use a 50-millisecond timeout rather than just repeating
31201 grub_usb_keyboard_getreport 50 times.
31202 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31203
2d21e3e8 312042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31205
31206 Rename *_partition_map to part_*
31207
31208 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31209 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31210 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31211 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31212 All users updated.
31213 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31214 All users updated.
31215 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31216 * util/grub-probe.c (probe_partmap): Don't transform partition name
31217 to get module name.
31218
dd103c4e 312192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31220
31221 Fix OpenBSD and NetBSD support.
31222
31223 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31224 memory address conflict.
31225 (OPENBSD_MMAP_ACPI): New definition.
31226 (OPENBSD_MMAP_NVS): Likewise.
31227 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31228 and OPENBSD_MMAP_NVS.
31229 Add memory map terminator
31230 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31231 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31232
16c84d74 312332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31234
31235 Let user specify NetBSD root device.
31236
31237 * loader/i386/bsd.c (netbsd_root): New variable.
31238 (netbsd_opts): New option 'root'.
31239 (NETBSD_ROOT_ARG): New macro.
31240 (grub_netbsd_boot): Use 'netbsd_root'.
31241 (grub_bsd_unload): Free 'netbsd_root'.
31242 (grub_cmd_netbsd): Fill 'netbsd_root'.
31243
adb29902 312442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31245
31246 Support for 64-bit NetBSD.
31247
31248 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31249 point when booting non-FreeBSD.
31250
f5ae9f74 312512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31252
31253 Support --no-smp and --no-acpi for NetBSD.
31254
31255 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31256 (NETBSD_AB_NOACPI): Likewise.
31257 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31258 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31259
de74f136 312602009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31261
31262 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31263 errors.
31264 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31265 errors. Call grub_error when needed.
31266
e9a925da 312672009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31268
31269 * commands/search.c (search_fs): Try searching without autoload first.
31270 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31271 filesystem module explicitly for faster booting.
31272
5174302b 312732009-08-23 Colin Watson <cjwatson@ubuntu.com>
31274
31275 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31276
c8c80635 312772009-08-23 Colin Watson <cjwatson@ubuntu.com>
31278
31279 * util/grub.d/30_os-prober.in: Disable os-prober if
31280 `GRUB_DISABLE_OS_PROBER' was set to true.
31281
71acf5e5 312822009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * partmap/pc.c: Rename to ...
31285 * partmap/msdos.c: ... this. Update all users.
31286 (grub_pc_partition_map): Rename to ...
31287 (grub_msdos_partition_map): ... this. Update all users.
31288
31289 * parttool/pcpart.c: Rename to ...
31290 * parttool/msdospart.c: ... this. Update all users.
31291
31292 * include/grub/pc_partition.h: Rename to ...
31293 * include/grub/msdos_partition.h: ... this. Update all users.
31294 (grub_pc_partition_bsd_entry): Rename to ...
31295 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31296 (grub_pc_partition_disk_label): Rename to ...
31297 (grub_msdos_partition_disk_label): ... this. Update all users.
31298 (grub_pc_partition_entry): Rename to ...
31299 (grub_msdos_partition_entry): ... this. Update all users.
31300 (grub_pc_partition_mbr): Rename to ...
31301 (grub_msdos_partition_mbr): ... this. Update all users.
31302 (grub_pc_partition): Rename to ...
31303 (grub_msdos_partition): ... this. Update all users.
31304 (grub_pc_partition_is_empty): Rename to ...
31305 (grub_msdos_partition_is_empty): ... this. Update all users.
31306 (grub_pc_partition_is_extended): Rename to ...
31307 (grub_msdos_partition_is_extended): ... this. Update all users.
31308 (grub_pc_partition_is_bsd): Rename to ...
31309 (grub_msdos_partition_is_bsd): ... this. Update all users.
31310
31311 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31312 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31313 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31314 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31315 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31316 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31317 (gpt_mod_LDFLAGS): Rename to ...
31318 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31319 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31320 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31321 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31322 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31323 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31324 (part_gpt_mod_LDFLAGS): ... this.
31325 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31326 `pcpart.mod' to `msdospart.mod'.
31327 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31328 to ...
31329 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31330 (msdospart_mod_LDFLAGS): ... this.
31331
c11fded5 313322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31333
31334 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31335 (openbsd_opts): Likewise.
31336 (netbsd_opts): Likewise.
31337 (freebsd_flags): Added 0 terminator.
31338 (openbsd_flags): Likewise.
31339 (netbsd_flags): Likewise.
31340 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31341 (grub_cmd_freebsd): Transformed into extended command.
31342 (grub_cmd_openbsd): Likewise.
31343 (grub_cmd_netbsd): Likewise.
31344 (cmd_freebsd): Changed type to grub_extcmd_t.
31345 (cmd_openbsd): Likewise.
31346 (cmd_netbsd): Likewise.
31347 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31348 grub_cmd_openbsd as extended commands.
31349 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31350 cmd_netbsd and cmd_openbsd
31351
11d1c769 313522009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31353
31354 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31355
7a9094e5 313562009-08-21 Pavel Roskin <proski@gnu.org>
31357
5496c37e 31358 * Makefile.in (install-local): When checking if a file is in the
31359 build directory, use "test -e" to detect symlinks.
31360
7a9094e5 31361 * Makefile.in (install-local): Remove all files in
31362 $(DESTDIR)$(pkglibdir) before installing new files there.
31363
e53cea11 313642009-08-18 Felix Zielcke <fzielcke@z-51.de>
31365
31366 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31367 grub-mkelfimage.
31368
9aced544 313692009-08-18 Felix Zielcke <fzielcke@z-51.de>
31370
31371 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31372 explicitly specified by the user.
31373
b7da6bab 313742009-08-18 Pavel Roskin <proski@gnu.org>
31375
31376 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31377 grub_uint8_t pointer for data.
31378 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31379 Likewise.
31380 * video/fb/fbutil.c: Remove unnecessary casts.
31381
19f1b335 313822009-08-17 Michal Suchanek <hramrach@centrum.cz>
31383
31384 VBE cleanup.
31385
31386 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31387 (grub_vbe_set_video_mode): Save active mode info
31388 only after setting the mode.
31389 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31390 second argument.
31391
2f467aa9 313922009-08-17 Michal Suchanek <hramrach@centrum.cz>
31393
31394 Rename variables for clarity.
31395
31396 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31397 (active_vbe_mode_info): ... this. All users updated.
31398 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31399 All users updated.
31400 (initial_mode): Rename to ...
31401 (initial_vbe_mode): ... this. All users updated.
31402 (mode_in_use): Rename to ..
31403 (vbe_mode_in_use): ... this. All users updated.
31404 (mode_list): Rename to ..
31405 (vbe_mode_list): ... this. All users updated.
31406 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31407 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31408 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31409 'mode_list_size' to 'vbe_mode_list_size'.
31410 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31411 'best_mode_info' to 'best_vbe_mode_info' and
31412 'best_mode' to 'best_vbe_mode'
31413
6025fcd7 314142009-08-17 Michal Suchanek <hramrach@centrum.cz>
31415
31416 Remove duplicate grub_video_fb_get_video_ptr.
31417
31418 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31419 (grub_video_fb_get_video_ptr): ... this.
31420 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31421 * video/fb/fbutil.c: Add comment about addressing.
31422 (get_data_ptr): Rename to ...
31423 (grub_video_fb_get_video_ptr): ... this. All users updated.
31424 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31425
cc8c6faf 314262009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31429 grub_dprintf() that was just added.
31430
08aa61f0 314312009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31432
31433 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31434 (DEFAULT_VIDEO_MODE): Remove macros.
31435 (grub_linux_boot): Remove assumption that Linux has FB support,
31436 and use "text" as default video mode.
31437
7cef4f75 314382009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31439
31440 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31441 grub_dprintf.
31442 * fs/fat.c (grub_fat_read_data): Likewise.
31443
e1f39873 314442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31445
31446 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31447 payload.
31448 (grub_module): Likewise.
31449
c166d79e 314502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31451
31452 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31453 mbi->cmdline but free playground.
31454
c60cee8e 314552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31456
31457 Handle group offset on UFS1.
31458
31459 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31460 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31461
c0d8b5d4 314622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31463
31464 Split ufs.mod into ufs1.mod and ufs2.mod.
31465
31466 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31467 (grub_fstest_SOURCES): Likewise.
31468 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31469 (ufs_mod_SOURCES): Remove.
31470 (ufs_mod_CFLAGS): Likewise.
31471 (ufs_mod_LDFLAGS): Likewise.
31472 (ufs1_mod_SOURCES): New variable.
31473 (ufs1_mod_CFLAGS): Likewise.
31474 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31475 (ufs2_mod_SOURCES): New variable.
31476 (ufs2_mod_CFLAGS): Likewise.
31477 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31479 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31480 Likewise.
31481 (grub_emu_SOURCES): Likewise.
31482 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31483 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31484 (grub_setup_SOURCES): Likewise.
31485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31486 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31487 (grub_setup_SOURCES): Likewise.
31488 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31489 Likewise.
31490 * fs/ufs2.c: New file.
31491 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31492
d3539132 314932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31494
31495 Framebuffer split.
31496
31497 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31498 subsystem at the end.
31499 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31500 (video_fb_mod_SOURCES): New variable.
31501 (video_fb_mod_CFLAGS): Likewise.
31502 (video_fb_mod_LDFLAGS): Likewise.
31503 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31504 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31505 * video/i386/pc/vbeblit.c: Moved from here ...
31506 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31507 * video/i386/pc/vbefill.c: Moved from here ...
31508 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31509 * video/i386/pc/vbeutil.c: Moved from here ...
31510 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31511 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31512 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31513 * include/grub/i386/pc/vbefill.h: Moved from here ...
31514 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31515 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31516 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31517 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31518 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31519 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31520 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31521 (grub_video_adapter): Added 'get_info_and_fini'.
31522 (grub_video_get_info_and_fini): New prototype.
31523 (grub_video_set_mode): make modestring const char *.
31524 * loader/i386/linux.c (grub_linux_setup_video): Use
31525 grub_video_get_info_and_fini.
31526 (grub_linux_boot): Move modesetting just before booting.
31527 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31528 grub_video_get_info_and_fini.
31529 * video/i386/pc/vbe.c: Moved framebuffer part ...
31530 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31531 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31532 grub_video_fbstd_colors and grub_video_fb_set_palette.
31533 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31534 grub_video_fb_init.
31535 (grub_video_vbe_fini): Use grub_video_fb_fini.
31536 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31537 render_target and use grub_video_fb_set_active_render_target and
31538 grub_video_fb_set_palette.
31539 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31540 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31541 (grub_video_vbe_adapter): Use framebuffer.
31542 * video/video.c (grub_video_get_info_and_fini): New function.
31543 (grub_video_set_mode): Make modestring const char *.
31544 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31545 values are already initialised.
31546
d404ee56 315472009-08-14 Pavel Roskin <proski@gnu.org>
31548
31549 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31550 ABS and APPLE_CC.
31551 * boot/i386/pc/diskboot.S: Likewise.
31552 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31553 sectors allow compilation on MacOSX.
31554 * conf/i386-pc.rmk: Enable unconditional compilation of
31555 lnxboot.img.
31556
9a10df16 315572009-08-13 Colin Watson <cjwatson@ubuntu.com>
31558
31559 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31560 * util/grub.d/00_header.in: Enter interruptible sleep if
31561 GRUB_HIDDEN_TIMEOUT is set.
31562
be3c9ca7 315632009-08-13 Yves Blusseau <blusseau@zetam.org>
31564
31565 * include/grub/symbol.h: Add the LOCAL macro.
31566 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31567 starting with "L_".
31568
1f9e557e 315692009-08-13 Pavel Roskin <proski@gnu.org>
31570
9ca62843 31571 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31572 any modern compilers we support.
31573
1f9e557e 31574 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31575 Use local labels starting with "L_" so that Apple assembler
31576 knows they are local.
31577
81623db6 315782009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31581 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31582 (bsd_kernel_types): ... this enum.
31583
31584 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31585 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31586 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31587
31588 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31589 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31590 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31591 messages.
31592
f5d35e7a 315932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31594
31595 * util/grub-dumpdevtree: Moved from here ...
31596 * util/i386/efi/grub-dumpdevtree: ... to here.
31597 (hexify): New function. Converts a string to its hex version.
31598 Generate hex versions of "efi" and "device-properties" by calling
31599 hexify() on the ASCII strings rather than by hardcoding numbers.
31600
d1e1d527 316012009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31602
31603 * fs/jfs.c: Update copyright year.
31604
1ebbe064 316052009-08-08 Felix Zielcke <fzielcke@z-51.de>
31606
31607 * util/grub.d/00_header.in: Fix a comment.
31608 * util/grub.d/10_linux.in: Likewise.
31609 * util/grub.d/10_windows.in: Likewise.
31610 * util/grub.d/10_hurd.in: Likewise.
31611
a78c8d24 316122009-08-08 Felix Zielcke <fzielcke@z-51.de>
31613
31614 * util/grub-mkconfig.in: Allow the user to specify the used font
31615 with GRUB_FONT.
31616
29a6b9e8 316172009-08-08 Pavel Roskin <proski@gnu.org>
31618
b5f16cc4 31619 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31620 available, xfs.mod needs it now.
31621
2f5cb827 31622 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31623 the "g" modifier in sed when the intention is to strip something
31624 once. This fixes comparison of kernels with multiple dashes.
31625
29a6b9e8 31626 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31627 on it. Add missing space before closing bracket. Fix
31628 misleading formatting.
31629
892a3d98 316302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31631
31632 * docs/grub.texi: Major overhaul. Remove all sections that are
31633 specific to GRUB Legacy, or mostly composed of Legacy-specific
31634 information.
31635
ed94253f 316362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31637
31638 * docs/version.texi: New file. Provides version information for
31639 grub.texi.
31640
126d6628 316412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31642
31643 * docs/grub.texi: Update CVS information to SVN.
31644 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31645
998b5aa9 316462009-08-07 Felix Zielcke <fzielcke@z-51.de>
31647
31648 * util/grub-mkconfig.in: Remove a wrong `fi'.
31649
818e094a 316502009-08-07 Felix Zielcke <fzielcke@z-51.de>
31651
31652 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31653 (grub_jfs_uuid): New function.
31654 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31655
b969c52f 316562009-08-07 Felix Zielcke <fzielcke@z-51.de>
31657
31658 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31659 of it to ...
31660 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31661 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31662
7a4894cc 316632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31664
31665 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31666 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31667 Update all users.
31668
31669 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31670 not just "vmlinu[zx]".
31671 Moved from here ...
31672 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31673 all users.
31674
31675 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31676 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31677 all users.
31678
4e2171f8 316792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31680
31681 * util/grub.d/10_freebsd.in: Use an absolute device path for
31682 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31683
6dcfcb32 316842009-08-06 Felix Zielcke <fzielcke@z-51.de>
31685
31686 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31687 handling of multiple abstraction modules.
31688
f56a8756 316892009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31690
31691 Fix a bug resulting in black screen when loading Linux using a
31692 packed video mode.
31693
31694 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31695 function.
31696
31697 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31698 (grub_vbe_bios_getset_dac_palette_width): New function.
31699 (grub_vbe_bios_get_dac_palette_width)
31700 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31701 grub_vbe_bios_getset_dac_palette_width()).
31702
31703 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31704 check for return status.
31705 (grub_vbe_get_video_mode_info): When getting information for a packed
31706 mode (<= 8 bpp), obtain DAC palette width using
31707 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31708 {red,green,blue}_mark_size.
31709
222671b2 317102009-08-04 Felix Zielcke <fzielcke@z-51.de>
31711
ecb1a6d9 31712 * commands/search.c (options): Fix help output to match actual code.
222671b2 31713
f84114f5 317142009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31715
31716 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31717 of homegrown code.
31718
bd288a20 317192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31720
31721 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31722 on XFS or ReiserFS.
31723
8aab5e25 317242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31725
31726 Support Apple partition map with sector size different from 512 bytes.
31727
31728 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31729 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31730 and 'apart.partmap_size'.
31731
6ad6258a 317322009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
317332009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31734
31735 Fix cpuid command.
31736
31737 * commands/i386/cpuid.c (options): New variable.
31738 (grub_cmd_cpuid): Return real error.
31739 (GRUB_MOD_INIT(cpuid)): Declare options.
31740
67459bc6 317412009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31742
31743 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31744 valid.
31745
fbc6ab54 317462009-07-31 Bean <bean123ch@gmail.com>
31747
31748 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31749 log2_inode.
31750 (grub_fshelp_node): Move inode field to the end.
31751 (grub_xfs_data): Remove inode field.
31752 (grub_xfs_inode_block): Calculate inode size using sblock.
31753 (grub_xfs_inode_offset): Likewise.
31754 (grub_xfs_read_inode): Calculate inode size using sblock.
31755 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31756 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31757 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31758 to match inode size.
31759 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31760 not accessible when data is null.
31761 (grub_xfs_open): Likewise.
31762
f45d6cfc 317632009-07-31 Bean <bean123ch@gmail.com>
31764
31765 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31766 Don't change pv->disk if it's already set.
31767
31768 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31769 (grub_raid_register): ... here.
31770 (grub_raid_rescan): Removed.
31771
31772 * include/grub/raid.h (grub_raid_rescan): Removed.
31773
31774 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31775 (fstest): Replace grub_raid_rescan with module fini function followed
31776 by init function.
31777
31778 * util/grub-probe.c: Add include file <grub/raid.h>.
31779 (probe_raid_level): New function.
31780 (probe): Detect abstraction by walking the disk device, support two
31781 level of abstraction (LVM on RAID) when detecting partition map.
31782
24443b5a 317832009-07-31 Pavel Roskin <proski@gnu.org>
31784
31785 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31786 to grub_zalloc(), it was erroneous.
31787 Reported by Bean <bean123ch@gmail.com>
31788
a275d9e7 317892009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31790
31791 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31792 embedding zone, not only the first one.
a275d9e7 31793
56c5a47f 317942009-07-29 Joe Auricchio <jauricchio@gmail.com>
31795
31796 * term/gfxterm.c (clear_char): New function.
31797 (grub_virtual_screen_setup): Use clear_char.
31798 (scroll_up): Likewise.
31799 (grub_virtual_screen_cls): Likewise.
31800
67bb323a 318012009-07-29 Felix Zielcke <fzielcke@z-51.de>
31802
31803 * util/deviceiter.c (get_acceleraid_disk_name): New static
31804 function.
31805 (grub_util_iterate_devices): Handle Accelraid devices.
31806 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31807
388a7c75 318082009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31809
31810 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31811 separator for the suggested gfxpayload string (';' collides with the
31812 parser and needs escaping).
31813
3bb7abcf 318142009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31815
31816 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31817 Clear direction flag before jumping to OS.
31818 (grub_multiboot2_real_boot): Likewise.
31819
2ddd36d7 318202009-07-28 Felix Zielcke <fzielcke@z-51.de>
31821
31822 * util/i386/pc/grub-install: Fix parsing of --disk-module
31823 option.
31824
c521b62b 318252009-07-28 Felix Zielcke <fzielcke@z-51.de>
31826
31827 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31828 when embedding.
31829
880e0a0c 318302009-07-26 Felix Zielcke <fzielcke@z-51.de>
31831
31832 * util/grub-mkconfig.in (package_version): New variable.
31833 Use it do display the version.
31834
2366e356 318352009-07-25 Felix Zielcke <fzielcke@z-51.de>
31836
31837 * kern/file.c (grub_file_open): Revert to previous check with
31838 grub_errno.
31839
7ad8c80e 318402009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31841
31842 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31843 from help line. It's out of sync with code.
31844
72b9658b 318452009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31846
31847 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31848 entries on failed boot.
31849
77435277 318502009-07-25 Felix Zielcke <fzielcke@z-51.de>
31851
31852 * kern/file.c (grub_file_open): Fix an error check.
31853
fcaa8b21 318542009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31855
35d16c74 31856 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31857 partition map couldn't be identified.
fcaa8b21 31858
48904cd1 318592009-07-23 Pavel Roskin <proski@gnu.org>
31860
ef3c317f 31861 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31862 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31863 case of little endian words becomes just an optimization.
31864 Respect const modifier.
ad8ea1f4 31865 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31866
48904cd1 31867 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31868 to avoid loss of upper bits if align is unsigned and shorter
31869 than addr.
31870
260c9a89 318712009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31872
31873 UUID support for UFS
31874
31875 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31876 (grub_ufs_uuid): New function.
31877 (grub_ufs_fs): add .uuid
31878
f76ce889 318792009-07-21 Pavel Roskin <proski@gnu.org>
31880
31881 * kern/dl.c (grub_dl_check_header): Make static.
31882
6a6cbcaf 318832009-07-21 Felix Zielcke <fzielcke@z-51.de>
31884
31885 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31886 add drivemap for Vista. It breaks Windows 7.
31887
cffcddb2 318882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31889
31890 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31891 128 bytes
31892
1ef44b80 318932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31894
31895 Add BFS support
31896
31897 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31898 (grub_fstest_SOURCES): Likewise.
31899 (pkglib_MODULES): Add befs.mod.
31900 (befs_mod_SOURCES): New variable.
31901 (befs_mod_CFLAGS): Likewise.
31902 (befs_mod_LDFLAGS): Likewise.
31903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31905 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31906 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31907 (grub_setup_SOURCES): Likewise.
31908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31909 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31910 (grub_setup_SOURCES): Likewise.
31911 * fs/befs.c: New file.
31912 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31913 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31914 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31915 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31916 (B_KEY_INDEX_ALIGN): New declaration.
31917 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31918 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31919 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31920 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31921 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31922 (grub_afs_mount) [MODE_BFS]: Likewise.
31923 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31924 (grub_afs_fs): Use GRUB_AFS_FSNAME
31925 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31926 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31927 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31928 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31929
4f253044 319302009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31931
31932 * util/getroot.c (find_root_device): Add support for MacOSX.
31933 * util/hostdisk.c: Likewise.
31934
57a55913 319352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31936
31937 * font/font.c (find_glyph): Check whether a font is present to avoid
31938 segmentation fault.
75421ca9 31939
319402009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31941
31942 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31943
e98cd0c2 319442009-07-20 Pavel Roskin <proski@gnu.org>
31945
31946 * configure.ac: Trim excessively wordy excuses.
31947
1d2d169a 319482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31949
31950 Add symlink, mtime and label support to AtheFS.
31951
31952 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31953 (grub_afs_iterate_dir): Handle symlinks.
31954 (grub_afs_open): Use grub_afs_read_symlink.
31955 (grub_afs_dir): Likewise.
31956 Pass mtime.
31957 (grub_afs_label): New function.
31958 (grub_afs_fs): Add grub_afs_label.
31959 (grub_afs_read_symlink): New function.
31960
186f3189 319612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31962
31963 Fix AtheFS support.
31964
31965 * fs/afs.c: Fix comments style.
31966 (grub_afs_blockrun): Declare as packed.
31967 (grub_afs_datastream): Likewise.
31968 (grub_afs_bnode): Likewise.
31969 (grub_afs_btree): Likewise.
31970 (grub_afs_sblock): Likewise.
31971 Declare `name' as char.
31972 (grub_afs_inode): Declare as packed.
31973 Change void *vnode to grub_uint32_t unused.
31974 (grub_afs_iterate_dir): Check that key_size is positive.
31975 (grub_afs_mount): Don't read superblock twice.
75421ca9 31976 (grub_afs_dir): Don't free node in case of error,
186f3189 31977 grub_fshelp_find_file already handles this.
31978 (grub_afs_open): Likewise.
31979
5680109e 319802009-07-19 Pavel Roskin <proski@gnu.org>
31981
31982 * Makefile.in: Remove LIBLZO and enable_lzo.
31983 * conf/i386-pc.rmk: Remove lzo support.
31984 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31985 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31986 support.
31987 * kern/i386/pc/lzo1x.S: Remove.
31988 * kern/i386/pc/startup.S: Remove lzo support.
31989 * util/i386/pc/grub-mkimage.c: Likewise.
31990
ac70fa32 319912009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31992
31993 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31994 * fs/xfs.c (grub_xfs_dir): Likewise.
31995 * fs/afs.c (grub_afs_dir): Likewise.
31996 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31997 (grub_iso9660_open): Likewise.
31998 * fs/jfs.c (grub_jfs_open): Likewise.
31999 * fs/ext2.c (grub_ext2_dir): Likewise.
32000 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32001 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32002
eab58da2 320032009-07-16 Pavel Roskin <proski@gnu.org>
32004
d2838156 32005 * configure.ac: Never add "-c" to CFLAGS.
32006
55c70904 32007 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32008
43e6200c 32009 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32010 grub_cv_cc_efiemu should be used.
32011
ce7a733d 32012 * configure.ac: Typo fixes.
32013
eab58da2 32014 * kern/mm.c (grub_zalloc): New function.
32015 (grub_debug_zalloc): Likewise.
32016 * include/grub/mm.h: Declare grub_zalloc() and
32017 grub_debug_zalloc().
32018 * util/misc.c (grub_zalloc): New function.
32019 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32020 instead of grub_malloc(), remove unneeded initializations.
32021 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32022 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32023 * commands/parttool.c (grub_cmd_parttool): Likewise.
32024 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32025 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32026 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32027 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32028 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32029 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32030 (grub_cmd_efiemu_pnvram): Likewise.
32031 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32032 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32033 (grub_iso9660_iterate_dir): Likewise.
32034 * fs/jfs.c (grub_jfs_opendir): Likewise.
32035 * fs/ntfs.c (list_file): Likewise.
32036 (grub_ntfs_mount): Likewise.
32037 * kern/disk.c (grub_disk_open): Likewise.
32038 * kern/dl.c (grub_dl_load_core): Likewise.
32039 * kern/elf.c (grub_elf_file): Likewise.
32040 * kern/env.c (grub_env_context_open): Likewise.
32041 (grub_env_set): Likewise.
32042 (grub_env_set_data_slot): Likewise.
32043 * kern/file.c (grub_file_open): Likewise.
32044 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32045 * loader/i386/multiboot.c (grub_module): Likewise.
32046 * loader/xnu.c (grub_xnu_create_key): Likewise.
32047 (grub_xnu_create_value): Likewise.
32048 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32049 (read_config_file): Likewise.
32050 * normal/menu_entry.c (make_screen): Likewise.
32051 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32052 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32053 * script/sh/script.c (grub_script_parse): Likewise.
32054 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32055 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32056 * video/readers/png.c (grub_png_output_byte): Likewise.
32057 (grub_video_reader_png): Likewise.
32058
830afef7 320592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32060
32061 Enable all targets that can be built by default
32062
830afef7 32063 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32064 grub-mkfont and grub-fstest if they can be built
32065
ee293aee 320662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32067
32068 Fix hang and segmentation fault in grub-emu-usb
32069
32070 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32071 * util/usb.c (grub_libusb_devices): likewise
32072 (grub_libusb_init): rename to ...
32073 (GRUB_MOD_INIT (libusb)):...this
32074 (grub_libusb_fini): rename to ..
32075 (GRUB_MOD_FINI (libusb)):...this
32076 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32077 * include/grub/disk.h (grub_raid_init): removed, it's useless
32078 (grub_raid_fini): likewise
32079 (grub_lvm_init): likewise
32080 (grub_lvm_fini): likewise
32081 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32082 by grub_init_all
32083
94414221 320842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32085
32086 Fix libusb
32087
32088 * Makefile.in (LIBUSB): new macro
32089 * genmk.rb (Utility/print_tail): new method
32090 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32091 (top level): call util.print_tail at the end.
32092
59ade63d 320932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 Make FreeBSD accept zpool.cache
32096
32097 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32098 type is /boot/zfs/zpool.cache
32099
a58da8c7 321002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32101
32102 Fix 64-bit efiemu
32103
32104 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32105 correct wrong typedef
32106 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32107
20591577 321082009-07-15 Pavel Roskin <proski@gnu.org>
32109
560ca572 32110 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32111 * kern/disk.c (struct grub_disk_cache): Likewise.
32112
e8e8e4fd 32113 * commands/probe.c (options): Typo fix.
32114
fde24e10 32115 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32116 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32117 accordingly.
32118 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32119
379c54c1 32120 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32121 the end of "Error" to make the message more readable.
32122
7bd8f5bf 32123 * boot/i386/pc/boot.S (kernel_segment): Remove.
32124 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32125 for destination.
32126
40b132c5 32127 * boot/i386/pc/boot.S (boot_version): Remove.
32128 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32129 Remove.
32130
20591577 32131 * include/grub/i386/pc/boot.h: Sort all offsets.
32132 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32133 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32134 * boot/i386/pc/boot.S: Assert location of every offset listed in
32135 include/grub/i386/pc/boot.h.
32136
2df32b2c 321372009-07-13 Pavel Roskin <proski@gnu.org>
32138
44b5d879 32139 * include/grub/i386/coreboot/machine.h: Rename
32140 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32141 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32142 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32143
17dc3751 32144 * kern/dl.c: Force native word size to suppress warnings when
32145 compiling grub-emu.
32146
2df32b2c 32147 * kern/device.c (grub_device_iterate): Change struct part_ent to
32148 hold the name, not a pointer to it. Use one grub_malloc() per
32149 partition, not two. Free partition_name if grub_malloc() fails.
32150 Set ents to NULL only before grub_partition_iterate() is called.
32151
75c59f59 321522009-07-11 Bean <bean123ch@gmail.com>
32153
32154 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32155 childname.
32156
0ae1bf88 321572009-07-10 Bean <bean123ch@gmail.com>
321582009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32159
32160 * kern/ieee1275/openfw.c (grub_children_iterate)
32161 (grub_devalias_iterate): Fix size evaluation for property or path
32162 strings, which was broken since r2132.
32163
8279cade 321642009-07-07 Pavel Roskin <proski@gnu.org>
32165
7d8a52d3 32166 * commands/search.c (search_file): Merge into ...
32167 (search_fs): ... this. Accept search type as argument.
32168 (grub_cmd_search): Pass search type to search_fs().
32169
25f9a05a 32170 * include/grub/util/console.h: New file.
32171 * util/console.c: Use it instead of grub/machine/console.h.
32172 * util/grub-emu.c: Likewise.
32173
8279cade 32174 * lib/arg.c (find_long_option): Remove.
32175 (find_long): Add `len' argument, make `s' const char *.
32176 (grub_arg_parse): Parse long options in place, not in a
32177 temporary buffer.
32178
4a11b60f 321792009-07-06 Pavel Roskin <proski@gnu.org>
32180
99f68041 32181 * commands/search.c (search_fs): Fix potential NULL pointer
32182 dereference.
32183
4a11b60f 32184 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32185 function pointer.
32186
e110f4de 321872009-07-06 Daniel Mierswa <impulze@impulze.org>
32188
32189 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32190 comparison.
32191
46eeb6a2 321922009-07-05 Pavel Roskin <proski@gnu.org>
32193
bab74958 32194 * include/grub/i386/linux.h (struct linux_kernel_params):
32195 Restore padding3, it's still needed.
32196
46eeb6a2 32197 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32198 FreeBSD.
32199 * util/osdetect.lua: Likewise.
32200
b4a1dc79 322012009-07-05 Bean <bean123ch@gmail.com>
32202
32203 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32204
32205 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32206 (grub_lua_getenv): Likewise.
32207 (grub_lua_setenv): Likewise.
32208 (save_errno): New function.
32209 (push_result): Likewise.
32210 (grub_lua_enum_device): Likewise.
32211 (grub_lua_enum_file): Likewise.
32212 (grub_lua_file_open): Likewise.
32213 (grub_lua_file_close): Likewise.
32214 (grub_lua_file_seek): Likewise.
32215 (grub_lua_file_read): Likewise.
32216 (grub_lua_file_getline): Likewise.
32217 (grub_lua_file_getsize): Likewise.
32218 (grub_lua_file_getpos): Likewise.
32219 (grub_lua_file_eof): Likewise.
32220 (grub_lua_file_exist): Likewise.
32221 (grub_lua_add_menu): Likewise.
32222
32223 * script/lua/grub_lua.h (isupper): New inline function.
32224 (islower): Likewise.
32225 (ispunct): Likewise.
32226 (isxdigit): Likewise.
32227 (strcspn): Change to normal function.
32228 (strpbkr): New function declaration.
32229 (memchr): Likewise.
32230
32231 * script/lua/grub_main.c (scan_str): New function.
32232 (strcspn): Likewise.
32233 (strpbrk): Likewise.
32234 (memchr): Likewise.
32235
32236 * script/lua/linit.c (lualibs): Enable the string library.
32237
32238 * util/osdetect.lua: New file.
32239
2da92295 322402009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32241
32242 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32243 `capabilities' member.
32244
b2582ec9 322452009-07-02 Pavel Roskin <proski@gnu.org>
32246
32247 * genparttoollist.sh: Add missing newline at the end.
32248
32622956 322492009-07-01 Pavel Roskin <proski@gnu.org>
32250
87a7339e 32251 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32252
d23af54e 32253 * util/hostdisk.c (open_device): Remove `const' from
32254 `sysctl_size', as sysctlbyname() can change it (in this case it
32255 doesn't actually happen).
32256
c94b18a9 32257 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32258 using signed long int constants.
32259
c6cd3ef0 32260 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32261 constant to avoid a warning on FreeBSD.
32262
0df63420 32263 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32264 where it's needed.
32265
999577f1 32266 * Makefile.in: Install include/grub/machine symlink.
32267
6f41557f 32268 * Makefile.in: When installing symlinks, use "cp -fR", which
32269 works on FreeBSD and MacOSX.
32270 From Yves Blusseau <cl7m42e02@sneakemail.com>
32271
c8d22988 32272 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32273 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32274
1b96e952 32275 * util/misc.c: Move grub_reboot() and grub_halt() ...
32276 * util/grub-emu.c: ... here. Make main_env static.
32277 * include/grub/util/misc.h: Remove main_env.
32278
2ef0084d 32279 * kern/mm.c: Use correct format to print size_t.
32280
32622956 32281 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32282 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32283 * kern/powerpc/dl.c: Likewise.
32284 * kern/sparc64/dl.c: Likewise.
32285 * kern/x86_64/dl.c: Likewise.
32286
3f7f0cd0 322872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32288
32289 Fix grub-emu build on sparc64-ieee1275.
32290
75421ca9 32291 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32293
211d06b5 322942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32295
32296 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32297 (grub_reboot, grub_halt): New functions.
32298
32299 * util/i386/pc/misc.c: Delete. Update all users.
32300 * util/sparc64/ieee1275/misc.c: Likewise.
32301 * util/powerpc/ieee1275/misc.c: Likewise.
32302
aaf53e3c 323032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32304
32305 * conf/i386.rmk (setjmp_mod_SOURCES)
32306 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32307 * conf/common.rmk (setjmp_mod_SOURCES)
32308 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32309 to use $(target_cpu).
32310 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32311 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32312 * conf/powerpc-ieee1275.rmk: Likewise.
32313 * conf/sparc64-ieee1275.rmk: Likewise.
32314
32315 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32316 $(target_cpu) for kern/$(target_cpu)/dl.c.
32317 * conf/i386-efi.rmk: Likewise.
32318 * conf/i386-ieee1275.rmk: Likewise.
32319 * conf/x86_64-efi.rmk: Likewise.
32320 * conf/i386-coreboot.rmk: Likewise.
32321 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32322 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32323 kern/$(target_cpu)/cache.S.
32324 * conf/sparc64-ieee1275.rmk: Likewise.
32325
a337130b 323262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32329 type to `grub_uint8_t', and adjust `padding9' accordingly.
32330
c6fe4d53 323312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32332
b09db61d 32333 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32334
c6fe4d53 32335 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32336 assembly in final jump, using register constraints.
32337
b09db61d 32338 (grub_linux_boot): For text mode, initialize `have_vga' using
32339 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32340
32341 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32342 right before the final jump.
32343
32344 Set `video_mode' to 0x3.
32345
32346 Document initialization of `video_page', `video_mode' and
32347 `video_ega_bx'.
32348
28333ad0 323492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32350
32351 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32352 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32353 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32354
02164e1b 323552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32356
32357 Fix build on Debian / sparc.
32358
32359 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32360
18b6c557 323612009-06-28 Pavel Roskin <proski@gnu.org>
32362
85f2aab6 32363 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32364 fix a warning.
32365
18b6c557 32366 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32367
ad760f81 323682009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32369
32370 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32371 `err'.
32372
87a4623b 323732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32374
32375 Revert r2338.
32376
32377 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32378 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32379 grub_errno / grub_errmsg appropriately.
87a4623b 32380 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32381
8231fb77 323822009-06-27 Pavel Roskin <proski@gnu.org>
323832009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32384
32385 * include/grub/dl.h: Include grub/elf.h.
32386 (struct grub_dl): Add symtab field.
32387 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32388 GRUB_MODULES_MACHINE_READONLY.
32389 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32390 of the header for read-only modules.
32391 (grub_dl_unload): Free mod->symtab for read-only modules.
32392 * kern/i386/dl.c: Use mod->symtab.
32393 * kern/powerpc/dl.c: Likewise.
32394 * kern/sparc64/dl.c: Likewise.
32395 * kern/x86_64/dl.c: Likewise.
32396
32397 * conf/i386-qemu.rmk: New file.
32398 * kern/i386/qemu/startup.S: Likewise.
32399 * kern/i386/qemu/mmap.c: Likewise.
32400 * boot/i386/qemu/boot.S: Likewise.
32401 * include/grub/i386/qemu/time.h: Likewise.
32402 * include/grub/i386/qemu/serial.h: Likewise.
32403 * include/grub/i386/qemu/kernel.h: Likewise.
32404 * include/grub/i386/qemu/console.h: Likewise.
32405 * include/grub/i386/qemu/boot.h: Likewise.
32406 * include/grub/i386/qemu/init.h: Likewise.
32407 * include/grub/i386/qemu/machine.h: Likewise.
32408 * include/grub/i386/qemu/loader.h: Likewise.
32409 * include/grub/i386/qemu/memory.h: Likewise.
32410
32411 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32412 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32413 [qemu] (pkglib_IMAGES): Add `boot.img'.
32414 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32415 [qemu] (boot_img_FORMAT): New variables.
32416 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32417 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32418 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32419 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32420 [qemu] (kernel_img_FORMAT): New variables.
32421
32422 * configure.ac: Recognise `i386-qemu'.
32423
32424 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32425 (for no compression).
32426 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32427 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32428 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32429 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32430 ifdefs).
32431
97fe384e 324322009-06-27 Pavel Roskin <proski@gnu.org>
32433
32434 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32435 read.
32436 * efiemu/prepare32.c: Likewise.
32437 * efiemu/prepare64.c: Likewise.
32438
c402ab17 324392009-06-26 Pavel Roskin <proski@gnu.org>
32440
32441 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32442 * include/grub/elf.h: Define symbols without "32" or "64" based
32443 on GRUB_TARGET_WORDSIZE.
32444 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32445 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32446 ELF definitions.
32447 * efiemu/loadcore64.c: Likewise.
32448 * loader/i386/bsd32.c: Likewise.
32449 * loader/i386/bsd64.c: Likewise.
32450 * kern/dl.c: Remove own ELF definitions.
32451 * util/i386/efi/grub-mkimage.c: Likewise.
32452
9bbdfd4d 324532009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32454
32455 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32456 segment 0x0 unconditionally, because the reference generated by
32457 GAS is an absolute address.
32458
a42ce6e9 324592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32460
32461 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32462 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32463
c952cf92 324642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32465
32466 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32467 indexes. Check for -f explicitly.
cc3752ad 32468 (search_file): Improve error message.
32469 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32470
132a0a59 324712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32472
32473 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32474 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32475
387a140c 324762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32479 * conf/i386-ieee1275.rmk: Likewise.
32480 * conf/i386-coreboot.rmk: Likewise.
32481
32482 * kern/i386/pc/startup.S (grub_stop): Remove function.
32483 * kern/i386/ieee1275/startup.S: Likewise.
32484 * kern/i386/coreboot/startup.S: Likewise.
32485 * kern/i386/misc.S (grub_stop): New function.
32486
41da9665 324872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32488
32489 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32490 * kern/i386/realmode.S (real_to_prot): ... to here.
32491
bf337234 324922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32493
32494 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32495 with `kernel.img'.
32496 (kernel_elf_SOURCES): Rename to ...
32497 (kernel_img_SOURCES): ... this.
32498 (kernel_elf_HEADERS): Rename to ...
32499 (kernel_img_HEADERS): ... this. Update all users.
32500 (kernel_elf_ASFLAGS): Rename to ...
32501 (kernel_img_ASFLAGS): ... this.
32502 (kernel_elf_CFLAGS): Rename to ...
32503 (kernel_img_CFLAGS): ... this.
32504 (kernel_elf_LDFLAGS): Rename to ...
32505 (kernel_img_LDFLAGS): ... this.
32506 * conf/i386-coreboot.rmk: Likewise.
32507 * conf/powerpc-ieee1275.rmk: Likewise.
32508
32509 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32510 with "kernel.img".
32511
f52196ff 325122009-06-21 Pavel Roskin <proski@gnu.org>
32513
c3cee413 32514 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32515 to match nested functions.
32516 * loader/sparc64/ieee1275/linux.c: Likewise.
32517
f52196ff 32518 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32519
58750afc 325202009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32521
32522 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32523 all i386 platforms.
32524
15355c7d 325252009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32526
32527 Fix asm file handling on ELF, and remove workarounds.
32528
32529 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32530 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32531 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32532 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32533
3f3ec72b 325342009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32535
32536 Load BSD ELF modules
32537
32538 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32539 and loader/i386/bsd64.c
32540 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32541 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32542 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32543 (grub_freebsd_load_elfmodule32): New declaration
32544 (grub_freebsd_load_elfmoduleobj64): Likewise
32545 (grub_freebsd_load_elf_meta32): Likewise
32546 (grub_freebsd_load_elf_meta64): Likewise
32547 (grub_freebsd_add_meta): Likewise
32548 (grub_freebsd_add_meta_module): Likewise
32549 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32550 (grub_freebsd_add_meta_module): Likewise and move module-specific
32551 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32552 (grub_cmd_freebsd): Add elf-kernel specific parts
32553 based on grub_freebsd_add_meta_module
32554 (grub_cmd_freebsd_module): Add type parsing moved from
32555 grub_freebsd_add_meta_module
32556 (grub_cmd_freebsd_module_elf): New function
32557 (cmd_freebsd_module_elf): New variable
32558 (GRUB_MOD_INIT): Register freebsd_module_elf
32559 * loader/i386/bsd32.c: New file
32560 * loader/i386/bsd64.c: Likewise
32561 * loader/i386/bsdXX.c: Likewise
32562 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32563 (grub_elf64_load): Likewise
32564 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32565 All users updated
32566 (grub_elf64_load_hook_t): Likewise
32567
0db15301 325682009-06-21 Colin Watson <cjwatson@ubuntu.com>
32569
32570 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32571 variable.
32572 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32573 don't write a menu entry for recovery mode.
32574
546796c1 325752009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32576
32577 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32578 after it's no longer needed.
32579
cd7310d5 325802009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32581
32582 * include/grub/i386/loader.h (grub_linux_prot_size)
32583 (grub_linux_tmp_addr, grub_linux_real_addr)
32584 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32585 GRUB_MACHINE_PCBIOS.
32586 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32587 common grub_util_info() call to ...
32588 (generate_image): ... here.
32589 Fix use of uninitialized memory, comparison of signed with
32590 unsigned integers and memory leak.
32591 Remove bogus module address message.
32592
ab32d3b5 325932009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32594
32595 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32596 grub_raid_register
32597 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32598
024ef597 325992009-06-19 Pavel Roskin <proski@gnu.org>
32600
32601 * configure.ac: Remove stray AC_MSG_CHECKING.
32602
3ac72b51 326032009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32604
32605 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32606
e14cd814 326072009-06-18 Pavel Roskin <proski@gnu.org>
32608
32609 * conf/common.rmk: Add fs_file.mod.
32610 * disk/fs_file.c: New file.
32611 * include/grub/disk.h (enum grub_disk_dev_id): Add
32612 GRUB_DISK_DEVICE_FILE_ID.
32613
26586d98 326142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32615
32616 Fix build with Apple's toolchain. Part 2
32617
32618 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32619 a fake start
32620
26de2bcd 326212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32622
32623 Fix build with Apple's toolchain. Part 1
32624
32625 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32626 for long calls
32627 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32628 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32629 Apple's toolchain
32630
09b3490b 326312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32632
32633 Fix warnings
32634
32635 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32636 (decomp_block): initialize ch
32637 use grub_memcpy instead of memcpy
32638
c22a006a 326392009-06-17 Pavel Roskin <proski@gnu.org>
32640
d3638678 32641 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32642 version, use declarations needed to use vga_text as the startup
32643 console.
32644
c22a006a 32645 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32646 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32647 the kernel.
32648 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32649 and grub_at_keyboard_fini(), it's done on module load and
32650 unload.
32651
05b129e0 326522009-06-17 Felix Zielcke <fzielcke@z-51.de>
32653
32654 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32655 file can't be found.
32656 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32657
cf24ed9e 326582009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32659
32660 Fix newline handling
32661
32662 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32663 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32664 (grub_script_yylex): don't segfault on unterminated script
32665 newline terminates command and variable
32666
74aa8e4b 326672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32668
32669 avoid double grub_adjust_range call. Bug reported by David Simner
32670
32671 * kern/disk.c (grub_disk_write): change to raw disk access before
32672 calling disk_read
32673
1bd265f3 326742009-06-17 Colin Watson <cjwatson@ubuntu.com>
32675
32676 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32677 spaces, for the benefit of help2man.
32678 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32679
a2d08c06 326802009-06-16 Pavel Roskin <proski@gnu.org>
32681
32682 * kern/i386/halt.c: Include grub/machine/init.h.
32683 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32684
b97bcb19 326852009-06-16 Felix Zielcke <fzielcke@z-51.de>
32686
32687 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32688 drivemap menuentry.
32689
0644f96c 326902009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32691
32692 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32693 `echo' command.
32694
3ef17a2e 326952009-06-16 Pavel Roskin <proski@gnu.org>
32696
32697 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32698 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32699 save %dx, we only need %dl and we never change it.
32700 * boot/i386/pc/cdboot.S: Don't set the root drive.
32701 * boot/i386/pc/pxeboot.S: Likewise.
32702 * include/grub/i386/pc/boot.h: Remove
32703 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32704 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32705 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32706 * kern/i386/pc/init.c (make_install_device): Remove references
32707 to grub_root_drive.
32708 * kern/i386/pc/startup.S: Likewise.
32709 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32710
693fe637 327112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32712
32713 xnu_uuid command
32714
32715 * commands/xnu_uuid.c: new file
32716 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32717 (xnu_uuid_mod_SOURCES): new variable
32718 (xnu_uuid_mod_CFLAGS): likewise
32719 (xnu_uuid_mod_LDFLAGS): likewise
32720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32721 * conf/i386-ieee1275.rmk: likewise
32722 * conf/i386-pc.rmk: likewise
32723 * conf/powerpc-ieee1275.rmk: likewise
32724 * conf/sparc64-ieee1275.rmk: likewise
32725 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32726
c9da87d0 327272009-06-16 Pavel Roskin <proski@gnu.org>
32728
32729 * configure.ac: Avoid '==' in test command, it's not portable.
32730
9c6f4596 327312009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32732
32733 Probe command
32734
32735 * commands/probe.c: new file
32736 * conf/common.rmk (pkglib_MODULES): add probe.mod
32737 (probe_mod_SOURCES): new variable
32738 (probe_mod_CFLAGS): likewise
32739 (probe_mod_LDFLAGS): likewise
32740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32741 * conf/i386-ieee1275.rmk: likewise
32742 * conf/i386-pc.rmk: likewise
32743 * conf/powerpc-ieee1275.rmk: likewise
32744 * conf/sparc64-ieee1275.rmk: likewise
32745
70b7f9fd 327462009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32747
32748 Fix handling of string like \"hello\" and "a
32749 b"
32750
32751 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32752 (grub_script_yylex): fix parsing of quoting, escaping and newline
32753
71c79a6b 327542009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32755
dd74360c 32756 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32757 handling
dd74360c 32758
0644f96c 327592009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32760
32761 * util/grub-mkconfig.in: Fix parsing of --output option.
32762
e40893c3 327632009-06-12 Pavel Roskin <proski@gnu.org>
32764
32765 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32766 genmk.rb don't need to be generated or installed.
32767
3a1acfe2 327682009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32769
32770 * commands/i386/pc/drivemap_int13h.S: add more comments
32771
3a4575d4 327722009-06-11 Pavel Roskin <proski@gnu.org>
32773
0658e928 32774 * Makefile.in (uninstall): Uninstall manuals.
32775
ca0388f0 32776 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32777 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32778 and update-grub_lib in two places.
32779 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32780
e3b27c39 32781 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32782 a compiler warning.
32783
3a4575d4 32784 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32785 `entry_lo' to fix variable shadowing.
32786
af1f4f55 327872009-06-11 Christian Franke <franke@computer.org>
32788
32789 * kern/misc.c (__enable_execute_stack): Add missing return type
32790 to prevent gcc warning.
32791
5225e649 327922009-06-11 Felix Zielcke <fzielcke@z-51.de>
32793
32794 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32795
7d83bd47 327962009-06-11 Pavel Roskin <proski@gnu.org>
32797
c1cb63ba 32798 * Makefile.in: Don't rely on any scripts being executable.
32799 Always use $(SHELL) to run shell scripts.
32800
7d83bd47 32801 * configure.ac: Always define ___main if using -nostdlib. This
32802 fixes tests on Cygwin.
32803
948f48e7 328042009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32805
32806 UDF fix
32807
7d83bd47 32808 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32809 is in bytes and not in blocks
7d83bd47 32810
8ada9bc1 328112009-06-11 Pavel Roskin <proski@gnu.org>
32812
32813 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32814 warning.
32815
25ad2323 328162009-06-11 Felix Zielcke <fzielcke@z-51.de>
32817
32818 * util/grub.d/30_os-prober.in: Fix a comment. Source
32819 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32820 to set the root device. Place drivemap command in the generated
32821 chain entry.
32822
e65acb0c 328232009-06-11 Pavel Roskin <proski@gnu.org>
32824
32825 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32826 have long been resolved.
32827
f285fe2d 328282009-06-11 Colin Watson <cjwatson@ubuntu.com>
32829
bd47b0b5 32830 * util/grub.d/10_linux.in: Capitalise "Linux".
32831
f285fe2d 32832 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32833
a0c62e4e 328342009-06-11 Pavel Roskin <proski@gnu.org>
32835
b6783cb2 32836 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32837 fix a gcc warning and ensure that the function won't ever exit.
32838
dde032e8 32839 * kern/i386/ieee1275/init.c: Add missing prototype for
32840 grub_stop_floppy().
32841
22cd079d 32842 * loader/ieee1275/multiboot2.c [__i386__]: Include
32843 grub/cpu/multiboot.h.
32844
a0c62e4e 32845 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32846 casts to short - they are not portable and cause warnings. Fix
32847 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32848
63963d17 328492009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32850
32851 Drivemap fixes
32852
32853 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32854 new function
32855 (grub_get_root_biosnumber_saved): new variable
32856 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32857 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32858 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32859 %dx after the call if necessary
32860 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32861 (boot_mod_SOURCES): remove
32862 (boot_mod_CFLAGS): remove
32863 (boot_mod_LDFLAGS): remove
32864 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32865 (boot_mod_SOURCES): new variable
32866 (boot_mod_CFLAGS): likewise
32867 (boot_mod_LDFLAGS): likewise
32868 * conf/i386-efi.rmk: likewise
32869 * conf/i386-ieee1275.rmk: likewise
32870 * conf/i386-pc.rmk: likewise
32871 * conf/powerpc-ieee1275.rmk: likewise
32872 * conf/sparc64-ieee1275.rmk: likewise
32873 * conf/x86_64-efi.rmk: likewise
32874 * include/grub/i386/pc/biosnum.h: new file
32875 * lib/i386/pc/biosnum.c: likewise
32876 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32877 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32878 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32879
33abf7ae 328802009-06-10 Pavel Roskin <proski@gnu.org>
32881
5ac35b35 32882 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32883 Use separate variables. Read only the file size at the end, but
32884 not the checksum that we don't use.
32885
5c5215d5 32886 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32887 Adjust all callers.
32888
27d5fef7 32889 * kern/ieee1275/openfw.c: Remove libc includes.
32890 * kern/ieee1275/cmain.c: Likewise.
32891 * include/grub/ieee1275/ieee1275.h: Likewise.
32892
33abf7ae 32893 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32894 compiler warnings.
32895
19d50c2b 328962009-06-10 Felix Zielcke <fzielcke@z-51.de>
32897
32898 * Makefile.in: Remove all trailing whitespace.
32899 * conf/i386-pc.rmk: Likewise.
32900 * conf/powerpc-ieee1275.rmk: Likewise.
32901 * conf/sparc64-ieee1275.rmk: Likewise.
32902 * docs/grub.texi: Likewise.
32903 * docs/texinfo.tex: Likewise.
32904 * disk/fs_uuid.c: Likewise.
32905 * disk/lvm.c: Likewise.
32906 * disk/scsi.c: Likewise.
32907 * disk/ata.c: Likewise.
32908 * disk/ieee1275/ofdisk.c: Likewise.
32909 * disk/i386/pc/biosdisk.c: Likewise.
32910 * disk/host.c: Likewise.
32911 * disk/raid.c: Likewise.
32912 * disk/efi/efidisk.c: Likewise.
32913 * disk/usbms.c: Likewise.
32914 * disk/memdisk.c: Likewise.
32915 * disk/loopback.c: Likewise.
32916 * kern/powerpc/dl.c: Likewise.
32917 * kern/device.c: Likewise.
32918 * kern/dl.c: Likewise.
32919 * kern/sparc64/dl.c: Likewise.
32920 * kern/ieee1275/ieee1275.c: Likewise.
32921 * kern/term.c: Likewise.
32922 * kern/fs.c: Likewise.
32923 * kern/i386/dl.c: Likewise.
32924 * kern/i386/pc/startup.S: Likewise.
32925 * kern/i386/pc/init.c: Likewise.
32926 * kern/i386/pc/mmap.c: Likewise.
32927 * kern/i386/pc/lzo1x.S: Likewise.
32928 * kern/i386/ieee1275/init.c: Likewise.
32929 * kern/i386/realmode.S: Likewise.
32930 * kern/i386/tsc.c: Likewise.
32931 * kern/partition.c: Likewise.
32932 * kern/corecmd.c: Likewise.
32933 * kern/file.c: Likewise.
32934 * kern/efi/efi.c: Likewise.
32935 * kern/efi/init.c: Likewise.
32936 * kern/efi/mm.c: Likewise.
32937 * kern/main.c: Likewise.
32938 * kern/err.c: Likewise.
32939 * kern/env.c: Likewise.
32940 * kern/disk.c: Likewise.
32941 * kern/generic/millisleep.c: Likewise.
32942 * kern/generic/rtc_get_time_ms.c: Likewise.
32943 * kern/misc.c: Likewise.
32944 * kern/parser.c: Likewise.
32945 * genmk.rb: Likewise.
32946 * configure.ac: Likewise.
32947 * boot/i386/pc/diskboot.S: Likewise.
32948 * boot/i386/pc/pxeboot.S: Likewise.
32949 * boot/i386/pc/boot.S: Likewise.
32950 * boot/i386/pc/lnxboot.S: Likewise.
32951 * boot/i386/pc/cdboot.S: Likewise.
32952 * parttool/pcpart.c: Likewise.
32953 * video/readers/tga.c: Likewise.
32954 * video/video.c: Likewise.
32955 * video/bitmap.c: Likewise.
32956 * lib/envblk.c: Likewise.
32957 * lib/i386/setjmp.S: Likewise.
32958 * fs/xfs.c: Likewise.
32959 * fs/afs.c: Likewise.
32960 * fs/fat.c: Likewise.
32961 * fs/ntfs.c: Likewise.
32962 * fs/udf.c: Likewise.
32963 * fs/affs.c: Likewise.
32964 * fs/iso9660.c: Likewise.
32965 * fs/hfs.c: Likewise.
32966 * fs/fshelp.c: Likewise.
32967 * fs/ext2.c: Likewise.
32968 * fs/jfs.c: Likewise.
32969 * fs/reiserfs.c: Likewise.
32970 * fs/hfsplus.c: Likewise.
32971 * fs/minix.c: Likewise.
32972 * fs/cpio.c: Likewise.
32973 * fs/sfs.c: Likewise.
32974 * fs/ufs.c: Likewise.
32975 * efiemu/prepare.c: Likewise.
32976 * efiemu/loadcore_common.c: Likewise.
32977 * efiemu/runtime/efiemu.sh: Likewise.
32978 * efiemu/runtime/efiemu.S: Likewise.
32979 * efiemu/runtime/efiemu.c: Likewise.
32980 * efiemu/pnvram.c: Likewise.
32981 * efiemu/main.c: Likewise.
32982 * efiemu/i386/pc/cfgtables.c: Likewise.
32983 * efiemu/i386/loadcore64.c: Likewise.
32984 * efiemu/i386/loadcore32.c: Likewise.
32985 * efiemu/loadcore.c: Likewise.
32986 * efiemu/symbols.c: Likewise.
32987 * efiemu/mm.c: Likewise.
32988 * include/grub/autoefi.h: Likewise.
32989 * include/grub/datetime.h: Likewise.
32990 * include/grub/term.h: Likewise.
32991 * include/grub/hfs.h: Likewise.
32992 * include/grub/lvm.h: Likewise.
32993 * include/grub/i386/tsc.h: Likewise.
32994 * include/grub/i386/linux.h: Likewise.
32995 * include/grub/i386/xnu.h: Likewise.
32996 * include/grub/i386/efiemu.h: Likewise.
32997 * include/grub/i386/pc/biosdisk.h: Likewise.
32998 * include/grub/i386/pc/memory.h: Likewise.
32999 * include/grub/i386/pc/vbe.h: Likewise.
33000 * include/grub/parttool.h: Likewise.
33001 * include/grub/video.h: Likewise.
33002 * include/grub/memory.h: Likewise.
33003 * include/grub/fs.h: Likewise.
33004 * include/grub/partition.h: Likewise.
33005 * include/grub/xnu.h: Likewise.
33006 * include/grub/efi/api.h: Likewise.
33007 * include/grub/efi/pe32.h: Likewise.
33008 * include/grub/efi/memory.h: Likewise.
33009 * include/grub/multiboot.h: Likewise.
33010 * include/grub/usbdesc.h: Likewise.
33011 * include/grub/multiboot2.h: Likewise.
33012 * include/grub/acpi.h: Likewise.
33013 * include/grub/efiemu/efiemu.h: Likewise.
33014 * include/grub/disk.h: Likewise.
33015 * include/grub/ieee1275/ieee1275.h: Likewise.
33016 * include/grub/net.h: Likewise.
33017 * include/grub/machoload.h: Likewise.
33018 * include/grub/macho.h: Likewise.
33019 * include/multiboot.h: Likewise.
33020 * genmoddep.awk: Likewise.
33021 * normal/main.c: Likewise.
33022 * normal/menu_entry.c: Likewise.
33023 * normal/menu_viewer.c: Likewise.
33024 * normal/completion.c: Likewise.
33025 * normal/cmdline.c: Likewise.
33026 * normal/misc.c: Likewise.
33027 * normal/datetime.c: Likewise.
33028 * bus/usb/usbtrans.c: Likewise.
33029 * bus/usb/ohci.c: Likewise.
33030 * bus/usb/uhci.c: Likewise.
33031 * bus/usb/usb.c: Likewise.
33032 * mmap/efi/mmap.c: Likewise.
33033 * mmap/i386/pc/mmap_helper.S: Likewise.
33034 * mmap/i386/pc/mmap.c: Likewise.
33035 * mmap/i386/mmap.c: Likewise.
33036 * mmap/i386/uppermem.c: Likewise.
33037 * mmap/mmap.c: Likewise.
33038 * commands/acpi.c: Likewise.
33039 * commands/echo.c: Likewise.
33040 * commands/blocklist.c: Likewise.
33041 * commands/loadenv.c: Likewise.
33042 * commands/usbtest.c: Likewise.
33043 * commands/boot.c: Likewise.
33044 * commands/parttool.c: Likewise.
33045 * commands/search.c: Likewise.
33046 * commands/cat.c: Likewise.
33047 * commands/i386/pc/play.c: Likewise.
33048 * commands/i386/pc/drivemap.c: Likewise.
33049 * commands/i386/pc/vbeinfo.c: Likewise.
33050 * commands/i386/pc/acpi.c: Likewise.
33051 * commands/i386/pc/vbetest.c: Likewise.
33052 * commands/ls.c: Likewise.
33053 * commands/cmp.c: Likewise.
33054 * commands/test.c: Likewise.
33055 * commands/efi/acpi.c: Likewise.
33056 * commands/gptsync.c: Likewise.
33057 * commands/help.c: Likewise.
33058 * partmap/amiga.c: Likewise.
33059 * partmap/apple.c: Likewise.
33060 * partmap/acorn.c: Likewise.
33061 * partmap/pc.c: Likewise.
33062 * partmap/sun.c: Likewise.
33063 * partmap/gpt.c: Likewise.
33064 * script/sh/lexer.c: Likewise.
33065 * script/sh/function.c: Likewise.
33066 * font/font.c: Likewise.
33067 * font/font_cmd.c: Likewise.
33068 * loader/powerpc/ieee1275/linux.c: Likewise.
33069 * loader/efi/chainloader.c: Likewise.
33070 * loader/multiboot_loader.c: Likewise.
33071 * loader/macho.c: Likewise.
33072 * loader/i386/multiboot.c: Likewise.
33073 * loader/i386/linux.c: Likewise.
33074 * loader/i386/pc/linux.c: Likewise.
33075 * loader/i386/pc/multiboot2.c: Likewise.
33076 * loader/i386/pc/chainloader.c: Likewise.
33077 * loader/i386/pc/xnu.c: Likewise.
33078 * loader/i386/bsd_trampoline.S: Likewise.
33079 * loader/i386/efi/linux.c: Likewise.
33080 * loader/i386/multiboot_elfxx.c: Likewise.
33081 * loader/i386/bsd_helper.S: Likewise.
33082 * loader/i386/bsd.c: Likewise.
33083 * loader/i386/linux_trampoline.S: Likewise.
33084 * loader/i386/xnu_helper.S: Likewise.
33085 * loader/i386/xnu.c: Likewise.
33086 * loader/i386/bsd_pagetable.c: Likewise.
33087 * loader/i386/multiboot_helper.S: Likewise.
33088 * loader/xnu.c: Likewise.
33089 * loader/xnu_resume.c: Likewise.
33090 * io/gzio.c: Likewise.
33091 * term/efi/console.c: Likewise.
33092 * term/terminfo.c: Likewise.
33093 * term/ieee1275/ofconsole.c: Likewise.
33094 * term/i386/pc/serial.c: Likewise.
33095 * term/i386/pc/vesafb.c: Likewise.
33096 * term/i386/pc/vga.c: Likewise.
33097 * term/usb_keyboard.c: Likewise.
33098 * term/gfxterm.c: Likewise.
33099 * aclocal.m4: Likewise.
33100 * util/lvm.c: Likewise.
33101 * util/grub.d/30_os-prober.in: Likewise.
33102 * util/grub.d/10_hurd.in: Likewise.
33103 * util/console.c: Likewise.
33104 * util/grub-macho2img.c: Likewise.
33105 * util/grub-probe.c: Likewise.
33106 * util/hostfs.c: Likewise.
33107 * util/i386/pc/grub-mkimage.c: Likewise.
33108 * util/i386/pc/grub-setup.c: Likewise.
33109 * util/i386/efi/grub-mkimage.c: Likewise.
33110 * util/grub-mkconfig.in: Likewise.
33111 * util/raid.c: Likewise.
33112 * util/resolve.c: Likewise.
33113 * util/grub-mkdevicemap.c: Likewise.
33114 * util/grub-emu.c: Likewise.
33115 * util/getroot.c: Likewise.
33116 * util/hostdisk.c: Likewise.
33117 * util/usb.c: Likewise.
33118 * util/grub-editenv.c: Likewise.
33119 * util/misc.c: Likewise.
33120
d2d49665 331212009-06-10 Felix Zielcke <fzielcke@z-51.de>
33122
33123 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33124 `genparttoollist.sh'.
33125 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33126 Add `*.sh' to the list find searches for and change `mdate.sh'
33127 to `mdate-sh'.
33128
fe052e37 331292009-06-10 Pavel Roskin <proski@gnu.org>
33130
2763ac18 33131 * include/grub/multiboot2.h: Provide compatibility defines for
33132 multiboot2.h.
33133 * include/multiboot2.h: Include stdint.h only if needed, using
33134 angle brackets.
33135 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33136 grub/multiboot2.h.
33137 * loader/ieee1275/multiboot2.c: Likewise.
33138 * loader/multiboot2.c: Likewise.
33139 * loader/multiboot_loader.c: Likewise.
33140
437e6adc 33141 * configure.ac: Use -nostdlib when probing for the target. It
33142 should not be required to have libc for the target.
33143
06a6836c 33144 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33145 they fail without libc headers for the target.
33146 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33147 exports.
33148 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33149 preprocessor conditionals.
33150
fe052e37 33151 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33152 build system doesn't need to be aware of the tar.c internals.
33153
afd22553 331542009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33155
afd22553 33156 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33157
6b787c4f 331582009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33159
33160 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33161 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33162
331632009-06-09 Felix Zielcke <fzielcke@z-51.de>
33164
33165 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33166 aren't available if ata.mod gets used.
6b787c4f 33167
473d1e45 331682009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33169
473d1e45 33170 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33171 initialising controller.
473d1e45 33172 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33173
255a27d4 331742009-06-08 Felix Zielcke <fzielcke@z-51.de>
33175
33176 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33177 to choose between ata and biosdisk module on i386-pc.
33178
473d1e45 331792009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33180
d55842d8 33181 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33182 Subclass and Programming Interface fields in terms of the 3 byte
33183 Class Code register.
33184 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33185
fa5db0b1 33186 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33187 interface is OHCI. Add grub_dprintf for symmetry with
33188 bus/usb/uhci.c.
33189 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33190 interface is UHCI. Add interf variable for programming
33191 interface. Print interface with class/subclass.
33192
c0947beb 33193 * bus/usb/ohci.c: Set interf with correct field.
33194
69da8877 33195 * bus/usb/uhci.c: Remove unneeded doubled lines.
33196 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33197 Remove whitespace inside comment.
33198
9e172e30 331992009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33200
33201 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33202 as fallback an equivalent option without depth.
33203
de65ee2b 332042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33205
33206 Not fail if unable to retrieve C/H/S on LBA disks
33207
473d1e45 33208 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33209 if unable to retrieve C/H/S on LBA disks
33210
b57ea2c9 332112009-06-08 Pavel Roskin <proski@gnu.org>
33212
33213 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33214 about aliasing.
33215
af361263 332162009-06-08 Felix Zielcke <fzielcke@z-51.de>
33217
33218 * Makefile.in (uninstall): Remove all $lib_DATA files.
33219
4c9ec6b3 332202009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 Bugfix: install on partitionless device
33223
33224 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33225 is a whole disk
33226
e76fc924 332272009-06-08 Felix Zielcke <fzielcke@z-51.de>
33228
33229 * Makefile.in (uninstall): Remove all $include_DATA files.
33230
ba5a0d05 332312009-06-08 Felix Zielcke <fzielcke@z-51.de>
33232
33233 * commands/true.c: New file. Implement the true and false commands.
33234 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33235 (true_mod_SOURCES): New variable.
33236 (true_mod_CFLAGS): Likewise.
33237 (true_mod_LDFLAGS): Likewise.
33238
c8048e32 332392009-06-05 Colin D Bennett <colin@gibibit.com>
33240
33241 Optimized font character lookup using binary search instead of linear
33242 search. Fonts now are required to have the character index ordered by
33243 code point.
33244
33245 * font/font.c (load_font_index): Verify that fonts have ordered
33246 character indices.
33247 (find_glyph): Use binary search instead of linear search to find a
33248 character in a font.
33249
408305be 332502009-06-05 Michael Scherer <misc@mandriva.org>
33251
33252 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33253 uses case sensitive btree.
33254 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33255 only for case insensitive filesystems.
33256
8ee1e0d9 332572009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33258
33259 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33260 * conf/common.rmk (search_mod_CFLAGS): likewise
33261
a9966eb1 332622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33263
473d1e45 33264 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33265 compensate a compiler bug
33266
9e7100fb 332672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33268
473d1e45 33269 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33270 instead of '\b'
473d1e45 33271
ede21d71 332722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33273
33274 Definitions for creating asm symbols with Apple's CC
33275
33276 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33277 [APPLE_CC] (VARIABLE): likewise
33278
9dbf7653 332792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33280
33281 Disable lnxboot.img when compiled
33282 with Apple's CC
33283
33284 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33285 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33286 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33287 [! APPLE_CC] (CODE_LENG): skip
33288 [! APPLE_CC] (setup_sects): likewise
33289 [! APPLE_CC]: skip filling
473d1e45 33290
e93cdc3d 332912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33292
33293 Address in trampolines based on 32-bit registers when compiled
33294 with Apple's CC
33295
473d1e45 33296 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33297 for addresses
33298 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33299
6c688477 333002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33301
33302 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33303
33304 * kern/misc.c [APPLE_CC] (memcpy): new function
33305 [APPLE_CC] (memmove): likewise
33306 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33307 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33308 (memset): likewise
33309 (abort): likewise
33310 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33311 APPLE_CC are defined
33312 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33313 (grub_assert_fail): make prototype conditional
33314
e37ffc5c 333152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33316
33317 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33318
473d1e45 33319 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33320 grub-macho2img
e37ffc5c 33321 (CLEANFILES): add grub-macho2img
33322 (grub_macho2img_SOURCES): new variable
33323 * kern/i386/pc/startup.S (bss_start): new variable
33324 (bss_end): likewise
33325 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33326 * util/grub-macho2img.c: new file
33327
cf00df31 333282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33329
33330 Use objconv when compiling with Apple's CC
33331
33332 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33333 (efiemu64.o): likewise
33334 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33335 when compiling with Apple's CC
33336 (efiemu64_s.o): likewise
33337 * configure.ac: check for objconv when compiling with Apple's CC
33338 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33339
d119a20c 333402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33341
33342 Define segment as well as section when compiling with
33343 Apple's CC
33344
33345 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33346 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33347 (efiemu_convert_pointer): likewise
33348 (efiemu_set_virtual_address_map): likewise
33349 (efiemu_convert_pointer): likewise
33350 (efiemu_getcrc32): likewise
33351 (init_crc32_table): likewise
33352 (reflect): likewise
33353 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33354 (GRUB_MOD_DEP): likewise
473d1e45 33355
c8600122 333562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33357
33358 Allow a compilation without -mcmodel=large
33359
33360 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33361 when compiled without -mcmodel=large
473d1e45 33362 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33363 without -mcmodel=large
473d1e45 33364 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33365 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33366
e8df1d4e 333672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33368
33369 Remove nested functions in efiemu core
33370
33371 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33372
cc6c3ac1 333732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33374
33375 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33376
33377 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33378 temporary storage
473d1e45 33379 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33380 using Apple's CC
cc6c3ac1 33381 (grub_cpu_is_tsc_supported): likewise
33382 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33383
3e325901 333842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33385
33386 Absolute addressing through constant with Apple's cc
33387
33388 * kern/i386/pc/startup.S: Define necessary constants
33389 and address through it when using ABS with Apple's CC
33390 * boot/i386/pc/diskboot.S: likewise
33391 * boot/i386/pc/boot.S: likewise
33392 * boot/i386/pc/lnxboot.S: likewise
33393 * boot/i386/pc/cdboot.S: likewise
33394 * mmap/i386/pc/mmap_helper.S: likewise
33395 * commands/i386/pc/drivemap_int13h.S: likewise
33396
2b167a72 333972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33398
33399 Check if compiler is apple cc
33400
33401 * Makefile.in (ASFLAGS): new variable
33402 (TARGET_ASFLAGS): likewise
33403 (TARGET_MODULE_FORMAT): likewise
33404 (TARGET_APPLE_CC): likewise
33405 (OBJCONV): likewise
33406 (TARGET_IMG_CFLAGS): likewise
33407 (TARGET_CPPFLAGS): add includedir
33408 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33409 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33410 Check for linker script only if compiler isn't Apple's CC
33411 (TARGET_MODULE_FORMAT): set
33412 (TARGET_APPLE_CC): likewise
33413 (TARGET_ASFLAGS): likewise
33414 (ASFLAGS): likewise
33415 Check for objcopy only if compiler isn't Apple's CC
33416 Check for BSS symbol only if compiler isn't Apple's CC
33417 * genmk.rb: adapt nm options if we use Apple's utils
33418 * aclocal.m4 (grub_apple_cc): new test
33419 (grub_apple_target_cc): likewise
473d1e45 33420
fb14123e 334212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33422
33423 Simplify sed expressions and improve awk
33424
33425 * Makefile.in (install-local): simplify sed expression
33426 * gencmdlist.sh: likewise
33427 * genmoddep.awk: avoid adding module as a dependency of itself
33428
5b889789 334292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33430
33431 Add missing start symbols
33432
33433 * boot/i386/pc/boot.S: add start
fb14123e 33434 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33435
fd2bf2e3 334362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33437
33438 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33439
33440 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33441 (relocate_addresses): consider both r_addend and value at offset
33442 (make_mods_section): zerofill modinfo and header
33443 (convert_elf): write prefix here
473d1e45 33444
5389763d 334452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33446
33447 Use .asciz instead of .string
33448
33449 * i386/pc/diskboot.S: use .asciz instead of .string
33450 * i386/pc/boot.S: likewise
33451 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33452 (GRUB_MOD_NAME): likewise
473d1e45 33453
3eb5ed4e 334542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33455
33456 gfxpayload support
33457
33458 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33459 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33460 (grub_video_setup): remove
33461 (grub_video_set_mode): new prototype
33462 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33463 (vid_mode): remove
33464 (linux_vesafb_res): compile only on PCBIOS
33465 (grub_linux_boot): support gfxpayload
33466 * loader/i386/pc/xnu.c (video_hook): new function
33467 (grub_xnu_set_video): support gfxpayload
33468 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33469 (DEFAULT_VIDEO_HEIGHT): likewise
33470 (DEFAULT_VIDEO_FLAGS): likewise
33471 (DEFAULT_VIDEO_MODE): new definition
33472 (video_hook): new function
33473 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33474 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33475 loading xnu
33476 * video/video.c (grub_video_setup): removed
473d1e45 33477 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33478 grub_video_setup
33479
4b0e1143 334802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33481
33482 Avoid calling biosdisk in drivemap
33483
33484 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33485 (revparse_biosdisk): likewise
33486 (list_mappings): derive name from id directly
33487 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33488
fda6cb98 334892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33490
33491 Script fixes
33492
33493 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33494 (grub_lexer_param): add tokenonhold
33495 (grub_script_create_cmdline): remove cmdline. All callers updated
33496 (grub_script_function_create): make functionname
33497 grub_script_arg. All callers updated
33498 (grub_script_execute_argument_to_string): new prototype
33499 * kern/parser.c (state_transitions): reorder
33500 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33501 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33502 make global
33503 (grub_script_execute_cmdline): use new format
33504 * script/sh/function.c (grub_script_function_create): make functionname
33505 grub_script_arg. All callers updated
473d1e45 33506 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33507 (grub_script_yylex): remove
33508 (grub_script_yylex2): renamed to ...
33509 (grub_script_yylex): ...renamed
33510 parse the expressions like a${b}c
33511 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33512 (GRUB_PARSER_TOKEN_VAR): remove
33513 (GRUB_PARSER_TOKEN_NAME): likewise
33514 ("if"): declare as typeless
33515 ("while"): likewise
33516 ("function"): likewise
33517 ("else"): likewise
33518 ("then"): likewise
33519 ("fi"): likewise
33520 (text): remove
33521 (argument): likewise
33522 (script): accept empty scripts and make exit on error
33523 (arguments): use GRUB_PARSER_TOKEN_ARG
33524 (function): likewise
33525 (command): move error handling to script
33526 (menuentry): move grub_script_lexer_ref before
473d1e45 33527 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33528 argument. All callers updated
33529
f4448a07 335302009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33531
33532 Prevent GRUB from probing floppies during boot.
33533
33534 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33535 * commands/search.c (options): Add --no-floppy.
33536 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33538 --no-floppy when searching for UUIDs.
33539
2bf5885a 335402009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33541
33542 Simplify the code duplication in commands/search.c.
33543
33544 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33545 (search_fs): ... this. Update all users.
33546
f6fd460a 335472009-06-03 Felix Zielcke <fzielcke@z-51.de>
33548
33549 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33550
cbb3c83e 335512009-05-28 Pavel Roskin <proski@gnu.org>
33552
57788cfd 33553 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33554 Remove the original symlink explicitly.
33555
cbb3c83e 33556 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33557 just one slash. That's how grub_fshelp_find_file() does it.
33558
cd0d5e30 335592009-05-26 Pavel Roskin <proski@gnu.org>
33560
f0f8bbe2 33561 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33562 to `str'.
33563
cd0d5e30 33564 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33565 possibly unused.
33566
8c2cab51 335672009-05-25 Christian Franke <franke@computer.org>
33568
33569 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33570 register.
33571 (grub_atapi_identify): Add wait after drive select.
33572 (grub_ata_identify): Do more strict status register check before
33573 calling grub_atapi_identify (). Suppress error message if status
33574 register is 0x00 after command failure. Add status register
33575 check after PIO read to avoid bogus identify due to stuck DRQ.
33576 Thanks to Pavel Roskin for testing.
33577 (grub_device_initialize): Remove unsafe status register check.
33578 Thanks to 'phcoder' for problem report and patch.
33579 Prevent sign extension in debug message.
33580
230c0ad6 335812009-05-23 Colin D Bennett <colin@gibibit.com>
33582
33583 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33584 definition file, and functions defined in `normal/menu.c' have had
33585 their prototypes moved to `include/grub/menu.h' for consistency.
33586
33587 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33588 from normal.h.
33589 (grub_menu_get_entry): Likewise.
33590 (grub_menu_get_timeout): Likewise.
33591 (grub_menu_set_timeout): Likewise.
33592 (grub_menu_execute_entry): Likewise.
33593 (grub_menu_execute_with_fallback): Likewise.
33594 (grub_menu_entry_run): Likewise.
33595
33596 * include/grub/normal.h: Re-ordered and grouped function
33597 prototypes by file that the function is defined in.
33598 (grub_menu_execute_callback): Removed; moved to menu.h.
33599 (grub_menu_get_entry): Likewise.
33600 (grub_menu_get_timeout): Likewise.
33601 (grub_menu_set_timeout): Likewise.
33602 (grub_menu_execute_entry): Likewise.
33603 (grub_menu_execute_with_fallback): Likewise.
33604 (grub_menu_entry_run): Likewise.
33605 (grub_menu_addentry): Renamed from this ...
33606 (grub_normal_add_menu_entry): ... to this.
33607
33608 * normal/main.c (grub_menu_addentry): Renamed from this ...
33609 (grub_normal_add_menu_entry): ... to this.
33610
33611 * script/sh/execute.c (grub_script_execute_menuentry): Update
33612 reference to renamed grub_menu_addentry function.
33613
861f03a5 336142009-05-23 Felix Zielcke <fzielcke@z-51.de>
33615
33616 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33617
96b1619a 336182009-05-22 Pavel Roskin <proski@gnu.org>
33619
bf6a5fb2 33620 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33621 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33622 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33623 compiling for the i386 targets, but not for the utilities.
33624
96b1619a 33625 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33626 to grub_uint8_t.
33627 (grub_root_drive): Likewise.
33628 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33629 remove alignment.
33630 (grub_root_drive): Change size to byte.
33631 (grub_start_addr): Remove.
33632 (grub_end_addr): Likewise.
33633 (grub_apm_bios_info): Likewise.
33634
b729776b 336352009-05-21 Felix Zielcke <fzielcke@z-51.de>
33636
33637 * normal/i386: Remove.
33638 * normal/powerpc: Likewise.
33639 * normal/sparc64: Likewise.
33640 * normal/x86_64: Likewise.
33641
0a15ce80 336422009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33643
33644 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33645 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33646 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33647
33db9015 336482009-05-18 Colin D Bennett <colin@gibibit.com>
33649
d6da58e6 33650 Display error messages when parsing a Lua statement fails.
33651 Previously, executing a syntactically invalid statement like
33652 ")foo" or "bar;" would silently fail.
33db9015 33653
33654 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33655 (grub_lua_parse_line): Improved reporting of Lua parser and
33656 execution errors.
33db9015 33657
46422c89 336582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33659
33660 Remove -Werror which causes build to fail on some systems
33661
33662 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33663 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33664 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33665
22f53a96 336662009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33667
33668 trampoline for linux on 64-bit platform
33669
18f547ad 33670 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33671 loader/i386/efi/linux_trampoline.S
33672 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33673 declaration
d6da58e6 33674 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33675 here
22f53a96 33676 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33677 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33678 trampoline
22f53a96 33679 (jumpvector): removed
33680 (grub_linux_trampoline_start): new declaration
33681 (grub_linux_trampoline_end): likewise
33682 (grub_linux_boot): use trampoline when on 64-bit platform
33683 * loader/i386/linux.c: likewise
33684
cb5a0f40 336852009-05-16 Pavel Roskin <proski@gnu.org>
33686
33687 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33688 const to avoid a warning.
33689 (grub_lua_setenv): Likewise.
33690 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33691 lmsg to fix a warning.
33692
334f2c28 336932009-05-16 Felix Zielcke <fzielcke@z-51.de>
33694
33695 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33696 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33697 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33698 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33699 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33700 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33701 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33702 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33703
59e5d3ec 337042009-05-16 Felix Zielcke <fzielcke@z-51.de>
33705
33706 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33707
9d87a1ba 337082009-05-16 Bean <bean123ch@gmail.com>
33709
33710 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33711 (lua_mod_SOURCES): New variable.
33712 (lua_mod_CFLAGS): Likewise.
33713 (lua_mod_LDFLAGS): Likewise.
33714
33715 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33716 (setjmp_mod_SOURCES): New variable.
33717 (setjmp_mod_CFLAGS): Likewise.
33718 (setjmp_LDFLAGS): Likewise.
33719
33720 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33721 (setjmp_mod_SOURCES): New variable.
33722 (setjmp_mod_CFLAGS): Likewise.
33723 (setjmp_LDFLAGS): Likewise.
33724
33725 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33726 (setjmp_mod_SOURCES): New variable.
33727 (setjmp_mod_CFLAGS): Likewise.
33728 (setjmp_LDFLAGS): Likewise.
33729
33730 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33731 (setjmp_mod_SOURCES): New variable.
33732 (setjmp_mod_CFLAGS): Likewise.
33733 (setjmp_LDFLAGS): Likewise.
33734
33735 * normal/i386/setjmp.S: Moved from here ...
33736 * lib/i386/setjmp.S: ... Moved here
33737 * normal/x86_64/setjmp.S: Moved from here ...
33738 * lib/x86_64/setjmp.S: ... Moved here
33739 * normal/powerpc/setjmp.S: Moved from here ...
33740 * lib/powerpc/setjmp.S: ... Moved here
33741 * normal/sparc64/setjmp.S: Moved from here ...
33742 * lib/sparc64/setjmp.S: ... Moved here
33743
33744 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33745 returns_twice in mingw.
33746
33747 * script/lua/grub_lib.c: New file.
33748 * script/lua/grub_lib.h: Likewise.
33749 * script/lua/grub_lua.h: Likewise.
33750 * script/lua/grub_main.c: Likewise.
33751 * script/lua/lapi.c: Likewise.
33752 * script/lua/lapi.h: Likewise.
33753 * script/lua/lauxlib.c: Likewise.
33754 * script/lua/lauxlib.h: Likewise.
33755 * script/lua/lbaselib.c: Likewise.
33756 * script/lua/lcode.c: Likewise.
33757 * script/lua/lcode.h: Likewise.
33758 * script/lua/ldblib.c: Likewise.
33759 * script/lua/ldebug.c: Likewise.
33760 * script/lua/ldebug.h: Likewise.
33761 * script/lua/ldo.c: Likewise.
33762 * script/lua/ldo.h: Likewise.
33763 * script/lua/ldump.c: Likewise.
33764 * script/lua/lfunc.c: Likewise.
33765 * script/lua/lfunc.h: Likewise.
33766 * script/lua/lgc.c: Likewise.
33767 * script/lua/lgc.h: Likewise.
33768 * script/lua/linit.c: Likewise.
33769 * script/lua/liolib.c: Likewise.
33770 * script/lua/llex.c: Likewise.
33771 * script/lua/llex.h: Likewise.
33772 * script/lua/llimits.h: Likewise.
33773 * script/lua/lmathlib.c: Likewise.
33774 * script/lua/lmem.c: Likewise.
33775 * script/lua/lmem.h: Likewise.
33776 * script/lua/loadlib.c: Likewise.
33777 * script/lua/lobject.c: Likewise.
33778 * script/lua/lobject.h: Likewise.
33779 * script/lua/lopcodes.c: Likewise.
33780 * script/lua/lopcodes.h: Likewise.
33781 * script/lua/loslib.c: Likewise.
33782 * script/lua/lparser.c: Likewise.
33783 * script/lua/lparser.h: Likewise.
33784 * script/lua/lstate.c: Likewise.
33785 * script/lua/lstate.h: Likewise.
33786 * script/lua/lstring.c: Likewise.
33787 * script/lua/lstring.h: Likewise.
33788 * script/lua/lstrlib.c: Likewise.
33789 * script/lua/ltable.c: Likewise.
33790 * script/lua/ltable.h: Likewise.
33791 * script/lua/ltablib.c: Likewise.
33792 * script/lua/ltm.c: Likewise.
33793 * script/lua/ltm.h: Likewise.
33794 * script/lua/lua.h: Likewise.
33795 * script/lua/luaconf.h: Likewise.
33796 * script/lua/lualib.h: Likewise.
33797 * script/lua/lundump.c: Likewise.
33798 * script/lua/lundump.h: Likewise.
33799 * script/lua/lvm.c: Likewise.
33800 * script/lua/lvm.h: Likewise.
33801 * script/lua/lzio.c: Likewise.
33802 * script/lua/lzio.h: Likewise.
33803
5e898c9d 338042009-05-16 Bean <bean123ch@gmail.com>
33805
33806 * include/grub/kernel.h (grub_module_header_types): Add type
33807 OBJ_TYPE_CONFIG.
33808
33809 * kern/main.c (grub_load_config): New function.
33810 (grub_main): Call grub_load_config to read boot config.
33811
33812 * grub-mkimage (generate_image): New parameter config_path.
33813 (options): New option --config.
33814 (main): Parse --config option, and pass it to generate_image.
33815
cf353a47 338162009-05-14 Christian Franke <franke@computer.org>
33817
33818 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33819 This fixes build on Cygwin.
33820
3834887f 338212009-05-14 Pavel Roskin <proski@gnu.org>
33822
33823 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33824 jump. This saves two bytes, so the typical case of 2 swapped
33825 drives would fit 32 bytes.
33826
8090fc01 338272009-05-13 Pavel Roskin <proski@gnu.org>
33828
ac963883 33829 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33830 grub_uint32_t to avoid a warning.
33831
8090fc01 33832 * loader/i386/linux.c (allocate_pages): When assigning
33833 real_mode_mem, cast through grub_size_t to fix a warning. The
33834 code already makes sure that the value would fit a pointer.
33835 (grub_linux_setup_video): Cast render_target->data to
33836 grub_size_t to fix a warning.
33837
18f547ad 338382009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33839
33840 * commands/i386/pc/drivemap.c: New file - implement drivemap
33841 command.
33842 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33843 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33844
6f6a8b28 338452009-05-13 Pavel Roskin <proski@gnu.org>
33846
33847 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33848 embedding_area_exists.
33849
15fbf4c4 338502009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33851
33852 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33853 it easier to understand / work with.
59978c8a 33854 Improve warning messages for cases where there's no embedding area,
33855 or when it is too small (or core.img too large).
15fbf4c4 33856
238e871f 338572009-05-13 Pavel Roskin <proski@gnu.org>
33858
0ab3a9a4 33859 * loader/i386/pc/multiboot2.c: Add necessary includes for
33860 grub_multiboot2_real_boot().
33861
a2c8c5f8 33862 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33863 PX record is always little-endian. We only need the lower 2
33864 bytes of the mode.
33865
faec96af 33866 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33867 facilitate code reuse.
33868 (grub_cpio_mount): Use "struct head", not a char buffer. This
33869 fixes a warning reported by gcc 4.4.
33870
238e871f 33871 * kernel/disk.c (grub_disk_read): Use void pointer for the
33872 buffer.
33873 (grub_disk_write): Use const void pointer for the buffer.
33874 Adjust all callers. Remove unnecessary casts.
33875
901d2f0c 338762009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33877
33878 * util/i386/pc/grub-install.in: Update copyright year.
33879
18f547ad 338802009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33881
33882 gptsync
33883
33884 * commands/gptsync.c: new file
33885 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33886 (gptsync_mod_SOURCES): new variable
33887 (gptsync_mod_CFLAGS): likewise
33888 (gptsync_mod_LDFLAGS): likewise
18f547ad 33889 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33890 new definition
33891 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33892 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33893 * conf/i386-ieee1275.rmk: likewise
33894 * conf/i386-pc.rmk: likewise
33895 * conf/powerpc-ieee1275.rmk: likewise
33896
b4ba690a 338972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33898
33899 Fixed grub-emu
33900
33901 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33902 (grub_dl_ref): likewise
33903
317e1a44 339042009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33905
33906 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33907 split in two functions (one for msdos and one for gpt).
33908
041b8094 339092009-05-08 Pavel Roskin <proski@gnu.org>
33910
752473c2 33911 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33912 not modified.
33913
041b8094 33914 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33915 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33916 Initialize them with -1. Add sanity check for bad1. Eliminate
33917 nerr variable.
33918
172800ce 339192009-05-08 David S. Miller <davem@davemloft.net>
33920
33921 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33922
29aa5e81 339232009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33924
33925 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33926 existence.
29aa5e81 33927
96613b62 339282009-05-05 Felix Zielcke <fzielcke@z-51.de>
33929
33930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33931 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33932
eef73c8a 339332009-05-05 David S. Miller <davem@davemloft.net>
33934
33935 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33936
119494b5 339372009-05-05 Pavel Roskin <proski@gnu.org>
33938
33939 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33940 of grub_dl_ref() and grub_dl_unref().
33941 * commands/parttool.c: Remove preprocessor conditionals around
33942 grub_dl_ref() and grub_dl_unref().
33943 * fs/affs.c: Likewise.
33944 * fs/afs.c: Likewise.
33945 * fs/cpio.c: Likewise.
33946 * fs/ext2.c: Likewise.
33947 * fs/fat.c: Likewise.
33948 * fs/hfs.c: Likewise.
33949 * fs/hfsplus.c: Likewise.
33950 * fs/iso9660.c: Likewise.
33951 * fs/jfs.c: Likewise.
33952 * fs/minix.c: Likewise.
33953 * fs/ntfs.c: Likewise.
33954 * fs/reiserfs.c: Likewise.
33955 * fs/sfs.c: Likewise.
33956 * fs/udf.c: Likewise.
33957 * fs/ufs.c: Likewise.
33958 * fs/xfs.c: Likewise.
33959 * include/grub/dl.h: Likewise.
33960 * loader/xnu.c: Likewise.
33961
de5fd76e 339622009-05-04 Pavel Roskin <proski@gnu.org>
33963
33964 * commands/acpi.c: Remove unused variable my_mod.
33965 * partmap/amiga.c: Likewise.
33966 * partmap/apple.c: Likewise.
33967 * partmap/gpt.c: Likewise.
33968 * partmap/pc.c: Likewise.
33969 * partmap/sun.c: Likewise.
33970 * term/gfxterm.c: Likewise.
33971 * term/i386/pc/vesafb.c: Likewise.
33972 * term/i386/pc/vga.c: Likewise.
33973
983598ad 339742009-05-04 David S. Miller <davem@davemloft.net>
33975
33976 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33977 pointer args to grub_ieee1275_get_property().
33978
8aadec43 33979 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33980
9554b15e 33981 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33982 devices, and do not traverse down under controller nodes.
33983
67e23c90 33984 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33985 (grub_ofdisk_open): Use it to un-escape "," characters.
33986 * kern/disk.c (find_part_sep): New.
33987 (grub_disk_open): Use it to find the first non-escaped ','
33988 character in the disk name.
33989 * util/ieee1275/devicemap.c (escape_of_path): New.
33990 (grub_util_emit_devicemap_entry): Use it.
33991 * util/sparc64/ieee1275/grub-install.in: Update script to
33992 strip partition specifiers properly by not triggering on
33993 '\' escaped ',' characters.
33994
74bfdd2f 339952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33996
33997 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33998 to 0x300.
33999 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34000 resolutions.
34001 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34002 on documentation from Wikipedia).
34003
4241d2b1 340042009-05-04 Pavel Roskin <proski@gnu.org>
34005
34006 * disk/ata.c: Spelling fixes.
34007 * disk/raid.c: Likewise.
34008 * disk/usbms.c: Likewise.
34009 * disk/dmraid_nvidia.c: Likewise.
34010 * kern/ieee1275/openfw.c: Likewise.
34011 * kern/ieee1275/init.c: Likewise.
34012 * kern/ieee1275/cmain.c: Likewise.
34013 * boot/i386/pc/cdboot.S: Likewise.
34014 * video/readers/png.c: Likewise.
34015 * video/i386/pc/vbe.c: Likewise.
34016 * fs/udf.c: Likewise.
34017 * fs/hfs.c: Likewise.
34018 * fs/reiserfs.c: Likewise.
34019 * efiemu/runtime/efiemu.c: Likewise.
34020 * efiemu/main.c: Likewise.
34021 * efiemu/mm.c: Likewise.
34022 * include/grub/elf.h: Likewise.
34023 * include/grub/xnu.h: Likewise.
34024 * include/grub/usbdesc.h: Likewise.
34025 * include/grub/usb.h: Likewise.
34026 * include/grub/script_sh.h: Likewise.
34027 * include/grub/lib/LzmaEnc.h: Likewise.
34028 * include/grub/efiemu/efiemu.h: Likewise.
34029 * include/grub/command.h: Likewise.
34030 * normal/menu.c: Likewise.
34031 * normal/main.c: Likewise.
34032 * normal/datetime.c: Likewise.
34033 * bus/usb/uhci.c: Likewise.
34034 * mmap/i386/uppermem.c: Likewise.
34035 * mmap/mmap.c: Likewise.
34036 * commands/acpi.c: Likewise.
34037 * commands/test.c: Likewise.
34038 * partmap/apple.c: Likewise.
34039 * font/font.c: Likewise.
34040 * loader/sparc64/ieee1275/linux.c: Likewise.
34041 * loader/macho.c: Likewise.
34042 * loader/i386/bsd_trampoline.S: Likewise.
34043 * loader/i386/bsd.c: Likewise.
34044 * loader/xnu.c: Likewise.
34045 * term/i386/pc/vesafb.c: Likewise.
34046 * term/usb_keyboard.c: Likewise.
34047 * util/resolve.c: Likewise.
34048 * util/getroot.c: Likewise.
34049
0cfc0083 340502009-05-04 Felix Zielcke <fzielcke@z-51.de>
34051
34052 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34053
7c1d00cd 340542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34055
34056 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34057 build error.
34058
b01f0548 340592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34060
34061 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34062 parameter only available on BIOS.
34063
ecc3eb22 340642009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34065
34066 Removed wrong semicolon in declaration
34067
34068 * grub/misc.h (grub_dprintf): remove semicolon
34069
112972a9 340702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34071
34072 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34073 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34074 is done by grub_cmd_linux() now).
34075 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34076 restore video to text mode.
34077 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34078 indicates lack of "vga=" parameter. "vga=0" is mapped to
34079 `GRUB_LINUX_VID_MODE_NORMAL'.
34080
afd5c115 340812009-05-04 Felix Zielcke <fzielcke@z-51.de>
34082
34083 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34084 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34085 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34086 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34087 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34088 `grub_script.tab.c'.
34089
34090 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34091 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34095
faa517ce 34096 * Makefile.in: Remove duplicated 2008 in Copyright line.
34097
ae0c0bdc 340982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34099
473d1e45 34100 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34101 unconditionally.
34102 * include/grub/util/misc.h (grub_util_warn): New declaration.
34103
34104 * util/i386/pc/grub-install.in: Understand --force and pass it down
34105 to grub-setup.
34106
34107 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34108 down to setup().
34109 (setup): Improve error messages and add warnings when requested to
34110 install in odd layouts. Refuse to install using blocklists unless
34111 --force was set.
34112
18f547ad 341132009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34114
34115 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34116
6d260daa 341172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34118
34119 Updated copyright year
34120
34121 * fs/hfsplus.c: updated copyright year
18f547ad 34122
69f853f8 341232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34124
34125 HFS+ UUID
34126
18f547ad 34127 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34128 in the space previously used by unused3
34129 (grub_hfsplus_uuid): new function
34130 (grub_hfsplus_fs): added uuid field
34131
4c402e73 341322009-05-03 Pavel Roskin <proski@gnu.org>
34133
34134 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34135 suppress warnings. It's no longer needed.
34136 * disk/host.c: Likewise.
34137 * disk/ata_pthru.c: Likewise.
34138 * disk/loopback.c: Likewise.
34139 * hook/datehook.c: Likewise.
34140 * parttool/pcpart.c: Likewise.
34141 * fs/i386/pc/pxe.c: Likewise.
34142 * fs/ntfscomp.c: Likewise.
34143 * efiemu/main.c: Likewise.
34144 * mmap/mmap.c: Likewise.
34145 * commands/crc.c: Likewise.
34146 * commands/hexdump.c: Likewise.
34147 * commands/hdparm.c: Likewise.
34148 * commands/acpi.c: Likewise.
34149 * commands/echo.c: Likewise.
34150 * commands/minicmd.c: Likewise.
34151 * commands/blocklist.c: Likewise.
34152 * commands/memrw.c: Likewise.
34153 * commands/loadenv.c: Likewise.
34154 * commands/usbtest.c: Likewise.
34155 * commands/lsmmap.c: Likewise.
34156 * commands/boot.c: Likewise.
34157 * commands/parttool.c: Likewise.
34158 * commands/configfile.c: Likewise.
34159 * commands/search.c: Likewise.
34160 * commands/ieee1275/suspend.c: Likewise.
34161 * commands/cat.c: Likewise.
34162 * commands/i386/pc/pxecmd.c: Likewise.
34163 * commands/i386/pc/play.c: Likewise.
34164 * commands/i386/pc/halt.c: Likewise.
34165 * commands/i386/pc/vbeinfo.c: Likewise.
34166 * commands/i386/pc/vbetest.c: Likewise.
34167 * commands/lspci.c: Likewise.
34168 * commands/date.c: Likewise.
34169 * commands/handler.c: Likewise.
34170 * commands/ls.c: Likewise.
34171 * commands/test.c: Likewise.
34172 * commands/cmp.c: Likewise.
34173 * commands/efi/loadbios.c: Likewise.
34174 * commands/efi/fixvideo.c: Likewise.
34175 * commands/halt.c: Likewise.
34176 * commands/help.c: Likewise.
34177 * commands/reboot.c: Likewise.
34178 * hello/hello.c: Likewise.
34179 * script/sh/main.c: Likewise.
34180 * loader/xnu.c: Likewise.
34181 * term/terminfo.c: Likewise.
34182 * term/i386/pc/serial.c: Likewise.
34183 * term/usb_keyboard.c: Likewise.
34184
515b5079 341852009-05-03 David S. Miller <davem@davemloft.net>
34186
34187 * normal/menu.c: Include grub/parser.h
34188
dfc31a22 341892009-05-03 Pavel Roskin <proski@gnu.org>
34190
2fee74f1 34191 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34192 not char*.
34193 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34194 Suggested by Javier Martín <lordhabbit@gmail.com>
34195
dfc31a22 34196 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34197 efiemu??.o doesn't exist.
34198 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34199 copying.
34200
18f547ad 342012009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34202
34203 FreeBSD 64-bit support
34204
18f547ad 34205 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34206 and loader/i386/bsd_trampoline.S
34207 (bsd_mod_ASFLAGS): new variable
34208 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34209 (FREEBSD_MODTYPE_KERNEL64): likewise
34210 (grub_bsd64_trampoline_start): likewise
34211 (grub_bsd64_trampoline_end): likewise
34212 (grub_bsd64_trampoline_selfjump): likewise
34213 (grub_bsd64_trampoline_gdt): likewise
34214 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34215 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34216 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34217 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34218 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34219 of "attrib" member
34220 * loader/i386/bsd_pagetable.c: new file
34221 * loader/i386/bsd_trampoline.S: likewise
34222 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34223 (ALIGN_VAR): likewise
34224 (entry_hi): new variable
34225 (kern_end_mdofs): likewise
34226 (is_64bit): likewise
34227 (grub_freebsd_add_meta): use ALIGN_VAR
34228 (grub_e820_mmap): new declaration
34229 (grub_freebsd_add_mmap): new function
34230 (grub_freebsd_add_meta_module): support 64 bit kernels
34231 (grub_freebsd_list_modules): use ALIGN_VAR
34232 (gdt_descriptor): new declaration
34233 (grub_freebsd_boot): support 64 bit kernels
34234 (grub_bsd_elf64_hook): new function
34235 (grub_bsd_load_elf): support elf64
34236
038c5720 342372009-05-03 Bean <bean123ch@gmail.com>
34238
34239 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34240 after we get the result of if statement.
34241
fc45fb58 342422009-05-03 Bean <bean123ch@gmail.com>
34243
34244 * Makefile.in (enable_efiemu): New variable.
34245
34246 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34247 set.
34248 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34249 path.
34250 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34251 path, add -mno-red-zone option.
34252 (efiemu64_s.o): Likewise.
34253 (efiemu64.o): Use macro $^ for source file.
34254
34255 * configure.ac (--enable-efiemu): New option.
34256
bbee0f2b 342572009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34258
34259 xnu support
34260
34261 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34262 (pkglib_MODULES): add xnu.mod
34263 (xnu_mod_SOURCES): new variable
34264 (xnu_mod_CFLAGS): likewise
34265 (xnu_mod_LDFLAGS): likewise
34266 (xnu_mod_ASFLAGS): likewise
34267 * conf/i386-pc.rmk: likewise
34268 * conf/x86_64-efi.rmk: likewise
7dd4a573 34269 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34270 new declaration
34271 * include/grub/i386/macho.h: new file
34272 * include/grub/i386/xnu.h: likewise
34273 * include/grub/macho.h: likewise
34274 * include/grub/machoload.h: likewise
34275 * include/grub/x86_64/macho.h: likewise
34276 * include/grub/x86_64/xnu.h: likewise
34277 * include/grub/xnu.h: likewise
34278 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34279 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34280 * loader/i386/efi/xnu.c: new file
34281 * loader/i386/pc/xnu.c: likewise
34282 * loader/i386/xnu.c: likewise
34283 * loader/i386/xnu_helper.S: likewise
34284 * loader/macho.c: likewise
34285 * loader/xnu.c: likewise
34286 * loader/xnu_resume.c: likewise
34287 * util/grub-dumpdevtree: likewise
34288 * include/grub/i386/pit.h: include grub/err.h
34289 (grub_pit_wait): export
34290 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34291
5caf964d 342922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34293
34294 Efiemu
7dd4a573 34295
5caf964d 34296 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34297 _linux_efi, linux_efi.
34298 new files in grub-emu
5caf964d 34299 new targets efiemu32.o and efiemu64.o
34300 * loader/linux_normal_efiemu.c: likewise
34301 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34302 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34303 files to copy
34304 * include/grub/autoefi.h: new file
7dd4a573 34305 * include/grub/i386/efiemu.h: likewise
5caf964d 34306 * include/grub/i386/pc/efiemu.h: likewise
34307 * include/grub/efi/api.h: add LL suffix when necessary
34308 new definitions relating to tables
34309 * include/grub/efiemu/efiemu.h: new file
34310 * include/grub/efiemu/runtime.h: likewise
34311 * efiemu/prepare.c: likewise
34312 * efiemu/loadcore_common.c: likewise
34313 * efiemu/loadcore64.c: likewise
34314 * efiemu/runtime/efiemu.sh: likewise
34315 * efiemu/runtime/efiemu.S: likewise
34316 * efiemu/runtime/efiemu.c: likewise
34317 * efiemu/runtime/config.h: likewise
34318 * efiemu/prepare32.c: likewise
34319 * efiemu/main.c: likewise
34320 * efiemu/modules/pnvram.c: likewise
34321 * efiemu/modules/i386: likewise
34322 * efiemu/modules/i386/pc: likewise
34323 * efiemu/modules/acpi.c: likewise
34324 * efiemu/i386/pc/cfgtables.c: likewise
34325 * efiemu/i386/loadcore64.c: likewise
34326 * efiemu/i386/loadcore32.c: likewise
34327 * efiemu/prepare64.c: likewise
34328 * efiemu/loadcore.c: likewise
34329 * efiemu/symbols.c: likewise
34330 * efiemu/mm.c: likewise
34331 * efiemu/loadcore32.c: likewise
7dd4a573 34332
343332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34334
34335 ACPI spoofing
34336
34337 * commands/acpi.c: new file
34338 * commands/i386/pc/acpi.c: likewise
34339 * commands/efi/acpi.c: likewise
34340 * include/grub/acpi.h: likewise
34341 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34342 (acpi_mod_SOURCES): new variable
34343 (acpi_mod_CFLAGS): likewise
34344 (acpi_mod_LDFLAGS): likewise
34345 * conf/i386-efi.rmk: likewise
34346 * conf/x86_64-efi.rmk: likewise
34347
7dd4a573 343482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34349
34350 Missing part from mmap patch
34351
34352 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34353 (grub_mmap_unregister)
34354 (grub_mmap_free_and_unregister): use grub_mmap_register
34355
7dd4a573 343562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34357
34358 Mmap services
34359
34360 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34361 * loader/i386/linux.c (find_mmap_size): likewise
34362 (allocate_pages): likewise
34363 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34364 (grub_fill_multiboot_mmap): likewise
34365 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34366 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34367 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34368 (OPENBSD_MMAP_RESERVED): likewise
34369 * include/grub/i386/pc/memory.h: include grub/memory.h
34370 (grub_lower_mem): removed
34371 (grub_upper_mem): likewise
34372 (GRUB_MACHINE_MEMORY_ACPI): new definition
34373 (GRUB_MACHINE_MEMORY_NVS): likewise
34374 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34375 (GRUB_MACHINE_MEMORY_HOLE): likewise
34376 (grub_machine_mmap_register): likewise
34377 (grub_machine_mmap_unregister): likewise
34378 (grub_machine_get_upper): likewise
34379 (grub_machine_get_lower): likewise
34380 (grub_machine_get_post64): likewise
34381 * include/grub/i386/efi/memory.h: new file
34382 * include/grub/x86_64/efi/memory.h: likewise
34383 * include/grub/efi/memory.h: likewise
34384 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34385 (mmap_mod_SOURCES): new variable
34386 (mmap_mod_LDFLAGS): likewise
34387 (mmap_mod_ASFLAGS): likewise
34388 * conf/i386-coreboot.rmk: likewise
34389 * conf/i386-ieee1275.rmk: likewise
34390 * conf/i386-efi.rmk: likewise
34391 * conf/x86_64-efi.rmk: likewise
34392 * include/grub/types.h (UINT_TO_PTR): new macro
34393 (PTR_TO_UINT32): likewise
34394 (PTR_TO_UINT64): likewise
34395 * include/grub/memory.h: new file
34396 * mmap/i386/pc/mmap.c: likewise
34397 * mmap/i386/pc/mmap_helper.S: likewise
34398 * mmap/i386/uppermem.c: likewise
34399 * mmap/mmap.c: likewise
34400 * mmap/efi/mmap.c: likewise
7dd4a573 34401 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34402 grub_upper_mem
34403 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34404 (grub_upper_mem): likewise
34405 (grub_machine_init): don't use grub_upper_mem,
34406 make grub_lower_mem local
34407 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34408 grub_mmap_iterate and grub_mmap_get_upper
34409 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34410
d558e6b5 344112009-05-02 Bean <bean123ch@gmail.com>
34412
34413 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34414 script/sh/parser.y.
34415 (pkglib_MODULES): Add normal.mod and sh.mod.
34416 (normal_SOURCES): New variable.
34417 (normal_mod_CFLAGS): Likewise.
34418 (normal_mod_LDFLAGS): Likewise.
34419 (sh_mod_SOURCES): Likewise.
34420 (sh_mod_CFLAGS): Likewise.
34421 (sh_mod_LDFLAGS): Likewise.
34422
34423 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34424 script/sh/lexer.c_DEPENDENCIES.
34425 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34426 kern/rescue_reader.c and kern/rescue_parser.c.
34427 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34428 (grub_emu_SOURCES): Change source files.
34429 (pkglib_MODULES): Remove normal.mod.
34430 (normal_SOURCES): Removed.
34431 (normal_mod_CFLAGS): Likewise.
34432 (normal_mod_LDFLAGS): Likewise.
34433 * conf/i386-coreboot.rmk: Likewise.
34434 * conf/i386-efi.rmk: Likewise.
34435 * conf/i386-ieee1276.rmk: Likewise.
34436 * conf/powerpc-ieee1275.rmk: Likewise.
34437 * conf/sparc64-ieee1275.rmk: Likewise.
34438 * conf/x86_64-efi.rmk: Likewise.
34439
34440 * include/grub/command.h (grub_command_execute): New inline function.
34441
34442 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34443
34444 * include/grub/normal.h: Remove <grub/setjmp.h>.
34445 (grub_fs_module_list): Moved to normal/autofs.c.
34446 (grub_exit_env): Removed.
34447 (grub_command_execute): Likewise.
34448 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34449 parameter script.
34450 (read_command_list): New function declaration.
34451 (read_fs_list): Likewise.
34452
34453 * include/parser.h: Include <grub/reader.h>.
34454 (grub_parser_split_cmdline): Change type of getline parameter.
34455 (grub_parser): New structure.
34456 (grub_parser_class): New variable.
34457 (grub_parser_execute): New function declaration.
34458 (grub_register_rescue_parser): Likewise.
34459 (grub_parser_register): New inline function.
34460 (grub_parser_unregister): Likewise.
34461 (grub_parser_get_current): Likewise.
34462 (grub_parser_set_current): Likewise.
34463
34464 * include/grub/reader.h: New file.
34465 * kern/reader.c: Likewise.
34466 * kern/rescue_parser.c: Likewise.
34467 * kern/rescue_reader.c: Likewise.
34468 * normal/autofs.c: Likewise.
34469 * normal/dyncmd.c: Likewise.
34470
34471 * include/grub/rescue.h: Removed.
34472 * normal/command.h: Likewise.
34473
34474 * include/grub/script.h: Moved to ...
34475 * include/grub/script_sh.h: ... Moved here.
34476 * normal/execute.c: Moved to ...
34477 * script/sh/execute.c: ... Moved here.
34478 * normal/function.c: Moved to ...
34479 * script/sh/function.c: ... Moved here.
34480 * normal/lexer.c: Moved to ...
34481 * script/sh/lexer.c: ... Moved here.
34482 * normal/parser.y: Moved to ...
34483 * script/sh/parser.y: ... Moved here.
34484 * normal/script.c: Moved to ...
34485 * script/sh/script.c: ... Moved here.
34486
34487 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34488 <grub/reader.h>.
34489 (grub_exit_env): Removed.
34490 (fs_module_list): Moved to normal/autofs.c.
34491 (grub_file_getline): Don't handle comment here.
34492 (free_menu): Skip removed field entry->commands.
34493 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34494 script parameter.
34495 (read_config_file): Removed nested parameter, change getline function.
34496 (grub_enter_normal_mode): Removed.
34497 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34498 (read_command_list): Likewise.
34499 (autoload_fs_module): Moved to normal/autofs.c.
34500 (read_fs_list): Likewise.
34501 (reader_nested): New variable.
34502 (grub_normal_execute): Run parser.sh to switch to sh parser.
34503 (grub_cmd_rescue): Removed.
34504 (cmd_normal): Removed.
34505 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34506 rescue command.
34507 (grub_cmdline_run): New function.
34508 (grub_normal_reader_init): Likewise.
34509 (grub_normal_read_line): Likewise.
34510 (grub_env_write_pager): Likewise.
34511 (cmdline): New variable.
34512 (grub_normal_reader): Likewise.
34513 (GRUB_MOD_INIT): Register normal reader and set as current, register
34514 pager hook, register normal command with grub_register_command_prio,
34515 so that it won't show up in command.lst.
34516 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34517 grub_fs_autoload_hook.
34518
34519 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34520 (grub_menu_execute_entry): Replace grub_script_execute with
34521 grub_parser_execute, change parameter to grub_command_execute.
34522
34523 * normal/menu_text.c: Remove <grub/script.h>.
34524
34525 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34526 and <grub/parser.h>.
34527 (run): Change editor_getline to use new parser interface. Change
34528 parameter to grub_command_execute.
34529
34530 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34531 <grub/reader.h> and <grub/parser.h>.
34532 (grub_load_normal_mode): Execute normal command.
34533 (grub_main): Call grub_register_core_commands,
34534 grub_register_rescue_parser and grub_register_rescue_reader, use
34535 grub_reader_loop to enter input loop.
34536
7dd4a573 34537 * kern/parser.c (grub_parser_split_cmdline): Change type of
34538 getline parameter.
d558e6b5 34539 (grub_parser_class): New variable.
34540 (grub_parser_execute): New function.
34541
34542 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34543 * loader/multiboot2.c: Likewise.
34544 * loader/sparc64/ieee1275/linux.c: Likewise.
34545
34546 * util/grub-emu.c (read_command_list): New dummy function.
34547
18db813d 345482009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34549
34550 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34551 count to 16 for CCISS and IDA.
34552
6c67de15 345532009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34554
34555 * normal/menu_text.c (grub_wait_after_message): Print a newline
34556 after waiting for user input.
34557
34558 * loader/i386/linux.c: Include `<grub/normal.h>'.
34559 (grub_cmd_linux): Improve the error message about `ask' mode, by
34560 waiting for user input so it's not missed (we can do this, since
34561 user requested interaction).
34562
d9dc87b0 345632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34564
34565 Added missing lst to grub-mkrescue
34566
34567 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34568 and ${input_dir}/parttool.lst
34569
ac8a2baa 345702009-04-30 David S. Miller <davem@davemloft.net>
34571
ad22a610 34572 * util/hostdisk.c (device_is_wholedisk): New function.
34573 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34574 zero only if device_is_wholedisk() returns true.
34575
6966215d 34576 * util/hostdisk.c (convert_system_partition_to_system_disk):
34577 Handle virtual disk devices named /dev/vdiskX as found on sparc
34578 and powerpc.
34579
ac8a2baa 34580 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34581 lettered partition specifier is found, convert to numbered.
34582
979b4fb4 345832009-04-29 David S. Miller <davem@davemloft.net>
34584
e2bf39b2 34585 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34586 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34587
3c64e104 34588 * normal/command.c: Add missing newline at end of file.
34589
979b4fb4 34590 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34591 warnings.
34592 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34593 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34594 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34595 ihandles have a 32-bit type but need to be stored in a "void *".
34596
136d9f82 345972009-04-28 Pavel Roskin <proski@gnu.org>
34598
9459c306 34599 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34600 not disk. Adjust all dependencies.
2e08a26a 34601 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34602 grub_disk_close().
34603
136d9f82 34604 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34605 parent's partition, don't copy it by reference, as it gets freed
34606 on close.
34607
7dd4a573 346082009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34609
34610 Preboot hooks support
34611
34612 * commands/boot.c (struct grub_preboot_t): new declaration
34613 (preboots_head): new variable
34614 (preboots_tail): likewise
34615 (grub_loader_register_preboot_hook): new function
34616 (grub_loader_unregister_preboot_hook): likewise
34617 (grub_loader_set): launch preboot hooks
34618 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34619 (grub_loader_register_preboot_hook): new declaration
34620 (grub_loader_unregister_preboot_hook): likewise
34621
5af922b5 346222009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34623
34624 Warning fix
34625
7dd4a573 34626 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34627 calling grub_dprintf
34628
a5562c30 346292009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34630
34631 Bug and warning fixes
34632
7dd4a573 34633 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34634 declaration
34635 * commands/test.c (test_parse): fixed bug with file tests and corrected
34636 declaration of find_file
34637
4006f85c 346382009-04-26 Pavel Roskin <proski@gnu.org>
34639
34640 * Makefile.in: Don't install empty manual pages if help2man is
34641 missing. Use help2man option for output, not shell redirection.
34642
5c77c3de 346432009-04-26 David S. Miller <davem@davemloft.net>
34644
34645 * util/grub-mkdevicemap.c (make_device_map): Add missing
34646 NESTED_FUNC_ATTR to process_device().
34647
033b10a8 346482009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34649
34650 Test command
34651
34652 * commands/test.c: rewritten to use bash-like test
34653
e4343593 346542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34655
34656 Parttool autoloading and improvements
34657
7dd4a573 34658 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34659 (parttool.lst): new target
34660 * genmk.rb: generate parttool-*
34661 (CLEANFILES): add #{parttool}
34662 (PARTTOOLFILES): new variable
34663 * genparttoollist.sh: new file
7dd4a573 34664 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34665 (grub_pcpart_type): likewise
34666 * commands/parttool.c (helpmsg): new variable
34667 (grub_cmd_parttool): output help if not enough arguments are supplied
34668 autoload modules
34669 (GRUB_MOD_INIT(parttool)): use helpmsg
34670
0d312500 346712009-04-24 David S. Miller <davem@davemloft.net>
34672
7dd4a573 34673 Avoiding opening same device multiple times in device iterator.
0d312500 34674
34675 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34676 and use it to build a list of partitions in iterate_disk() and
0d312500 34677 iterate_partition().
34678
ac20caff 34679 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34680 on disk->data.
34681
0dcf7495 34682 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34683 grub_devalias_iterate() result instead of unconditional 0.
34684 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34685 Also, capture hook return value, either directly or via
34686 grub_children_iterate(), and propagate to caller.
34687 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34688 grub_children_iterate): Return value is now 'int' instead of
34689 'grub_err_t'.
34690 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34691 like a proper iterator, stopping when hooks return non-zero.
34692 (grub_devalias_iterate): Likewise.
34693
c8c08833 346942009-04-23 David S. Miller <davem@davemloft.net>
34695
34696 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34697
f01005a8 346982009-04-22 David S. Miller <davem@davemloft.net>
34699
34700 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34701 is larger than address_cells, use that value for address_cells too.
34702
4e8269da 34703 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34704 IEEE1275_MAX_PATH_LEN): Define.
34705 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34706 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34707 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34708 'devtype'. Explicitly NULL terminate devalias expansion.
34709
a1447506 34710 * util/sparc64/ieee1275/misc.c: New file.
34711 * util/sparc64/ieee1275/grub-setup.c: New file.
34712 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34713 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34714 * util/sparc64/ieee1275/grub-install.in: New file.
34715 * util/ieee1275/ofpath.c: New file.
34716 * util/ieee1275/devicemap.c: New file.
34717 * util/devicemap.c: New file.
34718 * util/deviceiter.c: New file.
34719 * kern/sparc64/ieee1275/init.c: New file.
34720 * include/grub/util/ofpath.h: New file.
34721 * include/grub/util/deviceiter.h: New file.
34722 * util/grub-mkdevicemap.c: Include deviceiter.h.
34723 Implement using grub_util_emit_devicemap_entry and
34724 grub_util_iterate_devices.
34725 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34726 util/devicemap.c into grub-mkdevicemap
34727 * conf/i386-efi.rmk: Likewise.
34728 * conf/i386-ieee1275.rmk: Likewise.
34729 * conf/i386-pc.rmk: Likewise.
34730 * conf/powerpc-ieee1275.rmk: Likewise.
34731 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34732 images and installation utilities. Build kernel as image
34733 instead of as elf binary. Use common rules as much as possible.
34734
7dd4a573 347352009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34736
34737 Correct GPT definition
34738
7dd4a573 34739 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34740 of "attrib" member
34741
c6c5219f 347422009-04-19 Felix Zielcke <fzielcke@z-51.de>
34743
34744 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34745
0552ff9f 347462009-04-19 David S. Miller <davem@davemloft.net>
34747
34748 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34749 (grub_rescue_cmd_linux): Rename to...
34750 (grub_cmd_linux): and fix prototype.
34751 (grub_rescue_cmd_initrd): Rename to...
34752 (grub_cmd_initrd): and fix prototype.
34753 (cmd_linux, cmd_initrd): New.
34754 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34755 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34756
d1a282fc 347572009-04-17 Pavel Roskin <proski@gnu.org>
34758
07c5039f 34759 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34760 format.
34761 (grub_ohci_transfer): Likewise.
34762
b012002d 34763 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34764
1bc09c35 34765 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34766 return without a value. Fix inconsistent indentation.
34767
e0ff9126 34768 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34769 match struct grub_fs.
34770
d1a282fc 34771 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34772 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34773 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34774 * commands/lspci.c (grub_lspci_iter): Likewise.
34775
a96df3f2 347762009-04-16 Bean <bean123ch@gmail.com>
34777
34778 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34779 value.
34780
41bb0fe9 347812009-04-15 Pavel Roskin <proski@gnu.org>
34782
34783 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34784 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34785 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34786 definitions.
34787
596c6970 347882009-04-15 Felix Zielcke <fzielcke@z-51.de>
34789
34790 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34791 that no multiple data or metadata areas are supported and `Unknown
596c6970 34792 metadata header'.
34793
7dd4a573 347942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34795
34796 Move loader out of the kernel
34797
34798 * kern/loader.c: moved to ...
34799 * commands/boot.c: ... moved here
34800 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34801 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34802 * include/grub/kernel.h (grub_machine_fini): export
34803 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34804 (grub_loader_set): likewise
34805 (grub_loader_unset): likewise
34806 (grub_loader_boot): likewise
34807 * conf/common.rmk: new module boot.mod
34808 (pkglib_MODULES): add boot.mod
34809 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34810 (grub_emu_SOURCES): likewise
34811 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34812 (grub_emu_SOURCES): likewise
34813 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34814 (grub_emu_SOURCES): likewise
34815 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34816 (grub_emu_SOURCES): likewise
34817 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34818 (grub_emu_SOURCES): likewise
7dd4a573 34819 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34820 (grub_emu_SOURCES): likewise
0d5d5653 34821 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34822 (grub_emu_SOURCES): likewise
0d5d5653 34823
7dd4a573 348242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34825
34826 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34827
5999d619 34828 * kern/misc.c (grub_itoa): Removed function
34829 (grub_ltoa): likewise
34830 (grub_vsprintf): use grub_lltoa
34831
7dd4a573 348322009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34833
34834 Restore grub-emu
34835
34836 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34837 * conf/i386-coreboot.rmk: likewise
34838 * conf/i386-ieee1275.rmk: likewise
34839 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34840
20318222 348412009-04-15 Felix Zielcke <fzielcke@z-51.de>
34842
34843 * INSTALL: Add that `./autogen.sh' needs to be run before
34844 `./configure.'.
34845
d05f0df3 348462009-04-14 Bean <bean123ch@gmail.com>
34847
34848 * Makefile.in (pkglib_DATA): Add handler.lst.
34849 (handler.lst): New rule.
34850
34851 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34852 * conf/i386-coreboot.rmk: Likewise.
34853 * conf/i386-ieee1275.rmk: Likewise.
34854 * conf/i386-efi.rmk: Likewise.
34855 * conf/x86_64-efi.rmk: Likewise.
34856 * conf/powerpc-ieee1275.rmk: Likewise.
34857 * conf/sparc64-ieee1275.rmk: Likewise.
34858
34859 * genhandlerlist.sh: New file.
34860
34861 * genmk.rb: Add rules to generate handler.lst.
34862
34863 * include/grub/normal.h (grub_file_getline): New function definition.
34864 (read_handler_list): Likewise.
34865 (free_handler_list): Likewise.
34866
34867 * include/grub/term.h (grub_term_register_input): Add name parameter
34868 for auto generation of handler.lst.
34869 (grub_term_register_output): Likewise.
34870
34871 * normal/handler.c: New file.
34872
34873 * normal/main.c (get_line): Renamed to grub_file_getline.
34874 (read_config_file): Use the newly renamed grub_file_getline.
34875 (read_command_list): Likewise.
34876 (read_fs_list): Likewise.
34877 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34878 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34879
34880 * term/efi/console.c (grub_console_init): Add name parameter for auto
34881 generation of handler.lst.
34882 * term/gfxterm.c: Likewise.
34883 * term/i386/pc/at_keyboard.c: Likewise.
34884 * term/i386/pc/console.c: Likewise.
34885 * term/i386/pc/serial.c: Likewise.
34886 * term/i386/pc/vesafb.c: Likewise.
34887 * term/i386/pc/vga.c: Likewise.
34888 * term/i386/pc/vga_text.c: Likewise.
34889 * term/ieee1275/ofconsole.c: Likewise.
34890 * term/usb_keyboard.c: Likewise.
34891
33c846be 348922009-04-14 Bean <bean123ch@gmail.com>
34893
34894 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34895 properly with null character.
34896
4484e01e 348972009-04-14 Felix Zielcke <fzielcke@z-51.de>
34898
34899 * configure: Remove.
34900 * config.h.in: Likewise.
f93d668e 34901 * stamp-h.in: Likewise.
4484e01e 34902 * DISTLIST: Likewise.
34903 * conf/common.mk: Likewise.
34904 * conf/i386-coreboot.mk: Likewise.
34905 * conf/i386-efi.mk: Likewise.
34906 * conf/i386-ieee1275.mk: Likewise.
34907 * conf/i386.mk: Likewise.
34908 * conf/i386-pc.mk: Likewise.
34909 * conf/powerpc-ieee1275.mk: Likewise.
34910 * conf/sparc64-ieee1275.mk: Likewise.
34911 * conf/x86_64-efi.mk: Likewise.
34912
34913 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34914 develop on GRUB.
34915
7dd4a573 349162009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34917 David S. Miller <davem@davemloft.net>
34918
34919 * util/hostdisk.c (make_device_name): Fix buffer length
34920 calculations.
34921
e25b5a8c 349222009-04-14 Felix Zielcke <fzielcke@z-51.de>
34923
34924 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34925 <sys/param.h> and <sys/sysctl.h>.
34926 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34927 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34928 opening the device and reset them afterwards.
34929
1f1f580c 349302009-04-13 Pavel Roskin <proski@gnu.org>
34931
34932 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34933 Reported by John Stanley <jpsinthemix@verizon.net>
34934
7ebc2d6b 349352009-04-13 Robert Millan <rmh@aybabtu.com>
34936
34937 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34938 that name for menuentries when appropriate.
7ebc2d6b 34939
d8ba3667 349402009-04-13 Felix Zielcke <fzielcke@z-51.de>
34941
34942 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34943
cba416eb 349442009-04-13 Robert Millan <rmh@aybabtu.com>
34945
34946 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34947 to Linux, simply abort telling the user it's no longer supported.
34948
a547a745 349492009-04-13 Felix Zielcke <fzielcke@z-51.de>
34950
34951 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34952 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34953 `freebsd_loadenv' only when devices.hints exist.
34954
232a769c 349552009-04-13 Pavel Roskin <proski@gnu.org>
34956
34957 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34958
c3012039 349592009-04-13 Felix Zielcke <fzielcke@z-51.de>
34960
34961 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34962 partition number.
34963 (grub_drive): Likewise.
34964
234022fe 349652009-04-13 David S. Miller <davem@davemloft.net>
34966
34967 * kern/sparc64/ieee1275/ieee1275.c: New file.
34968 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34969 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34970 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34971 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34972 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34973 grub_ieee1275_alloc_physmem): Declare new exported functions.
34974
d8e1836c 34975 * include/grub/sparc64/ieee1275/loader.h: New file.
34976 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34977 * include/grub/sparc64/kernel.h: Likewise.
34978 * loader/sparc64/ieee1275/linux.c: Likewise.
34979
96bd81ec 34980 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34981 (grub_fstest_SOURCES): Likewise.
34982
6a4737e5 34983 * util/hostdisk.c (make_device_name): Do not make any assumptions
34984 about the length of drive names.
34985
1d7a72fd 34986 * kern/dl.c (grub_dl_load_file): Close file immediately when
34987 we are done using it.
34988
56bc2471 349892009-04-12 David S. Miller <davem@davemloft.net>
34990
34991 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34992 values. Noticed by Pavel Roskin.
34993
df38d0bb 34994 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34995 target compiler.
7dd4a573 34996
e382e93a 34997 * genmk.rb: Add more flexible image type specification, also
34998 pass --strip-unneeded to objcopy.
34999 * conf/i386-pc.rmk: Use *_FORMAT.
35000 * conf/i386-pc.mk: Rebuilt.
35001
f5dbbca9 35002 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35003 (OFDISK_HASH_SZ): Define.
35004 (ofdisk_hash): New hash table.
35005 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35006 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35007 instead of device phandle which is not unique.
35008
91c88b12 35009 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35010 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35011 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35012 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35013 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35014 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35015 GRUB_KERNEL_MACHINE_DATA_END): Define.
35016 (grub_kernel_image_size, grub_total_module_size): Declare.
35017
5b5d4aa5 350182009-04-12 Pavel Roskin <proski@gnu.org>
35019
7dd4a573 35020 * configure.ac: Change the logic when we check for target tools.
35021 Do it when the target is specified and it's different from the
35022 specified value of the host.
5b5d4aa5 35023
c91e1793 350242009-04-11 Felix Zielcke <fzielcke@z-51.de>
35025
35026 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35027 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35028 GNU/kFreeBSD. Check if a device is a character device. Use
35029 DIOCGMEDIASIZE to get the size.
35030 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35031 support for GNU/kFreeBSD.
35032 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35033 is a character device instead of a block device. Add support for
35034 FreeBSD device names.
35035
35036 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35037 is a character device instead of a block device.
35038
35039 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35040 is a character device instead of a block device.
35041
b1ac8644 350422009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35043
35044 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35045 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35046 FreeBSD. Check if a device is a character device. Use
35047 DIOCGMEDIASIZE to get the size.
35048 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35049 support for FreeBSD.
35050 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35051 is a character device instead of a block device. Add support for
35052 FreeBSD device names.
35053
35054 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35055 a character device instead of a block device.
35056 (grub_util_check_char_device): New function.
35057
35058 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35059 a character device instead of a block device.
35060
35061 * include/grub/util/getroot.h (grub_util_check_char_device): New
35062 prototype.
35063
a3f7515a 350642009-04-11 David S. Miller <davem@davemloft.net>
35065
35066 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35067 static libgcc.
35068 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35069 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35070 function, if present.
35071 (__bswapdi2): Likewise.
35072
0d44993d 35073 * include/grub/sparc64/ieee1275/boot.h: New file.
35074 * boot/sparc64/ieee1275/boot.S: Likewise.
35075 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35076
ed3d2bc2 35077 * kern/misc.c (grub_ltoa): New function.
35078 (grub_vsprintf): Use it to format 'long' integers.
35079
d3bfb59c 350802009-04-10 David S. Miller <davem@davemloft.net>
35081
35082 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35083 slots are of type grub_ieee1275_cell_t.
35084 (grub_nand_read): Likewise.
35085 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35086 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35087 macros are used to compare values in arg/ret block of the call.
35088 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35089 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35090 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35091 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35092 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35093 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35094 grub_ieee1275_close, grub_ieee1275_set_property,
35095 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35096 grub_ieee1275_cell_t.
35097 * kern/ieee1275/openfw.c (grub_map): Likewise.
35098 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35099 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35100
450e2238 35101 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35102 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35103 (grub_devalias_iterate): Likewise.
35104
7dd4a573 351052009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35106
35107 UFS improvements
35108
35109 * fs/ufs.c (INODE_NBLOCKS): new definition
35110 (struct grub_ufs_dirent): added fields for non-BSD dirents
35111 (grub_ufs_get_file_block): fixed double indirect handling
35112 (grub_ufs_lookup_symlink): use more robust way to determine whether
35113 symlink is inline
35114 (grub_ufs_find_file): support for non-BSD dirents
35115 (grub_ufs_dir): support for non-BSD dirents
35116
e7e6862a 351172009-04-10 Bean <bean123ch@gnail.com>
35118
35119 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35120 attribute, otherwise the size would be wrong for i386 platform.
35121
35122 * include/grub/pci.h (grub_pci_read_word): New inline function.
35123 (grub_pci_read_byte): Likewise.
35124 (grub_pci_write): Likewise.
35125 (grub_pci_write_word): Likewise.
35126 (grub_pci_write_byte): Likewise.
35127
35128 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35129
35130 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35131 (find_framebuf): Scan pci to locate the frame buffer address.
35132
35133 * commands/efi/fixvideo.c: New file.
35134
35135 * commands/efi/loadbios.c: Likewise.
35136
35137 * commands/memrw.c: Likewise.
35138
35139 * util/grub-dumpbios.in: Likewise.
35140
35141 * conf/common.rmk (grub-dumpbios): New utility.
35142 (pkglib_MODULES): New module memrw.mod.
35143 (memrw_mod_SOURCE): New macro.
35144 (memrw_mod_CFLAGS): Likewise.
35145 (memrw_mod_LDFLAGS): Likewise.
35146
7dd4a573 35147 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35148 fixvideo.mod.
35149 (loadbios_mod_SOURCE): New macro.
35150 (loadbios_mod_CFLAGS): Likewise.
35151 (loadbios_mod_LDFLAGS): Likewise.
35152 (fixvideo_mod_SOURCE): Likewise.
35153 (fixvideo_mod_CFLAGS): Likewise.
35154 (fixvideo_mod_LDFLAGS): Likewise.
35155
7dd4a573 35156 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35157 fixvideo.mod.
35158 (loadbios_mod_SOURCE): New macro.
35159 (loadbios_mod_CFLAGS): Likewise.
35160 (loadbios_mod_LDFLAGS): Likewise.
35161 (fixvideo_mod_SOURCE): Likewise.
35162 (fixvideo_mod_CFLAGS): Likewise.
35163 (fixvideo_mod_LDFLAGS): Likewise.
35164
af63ada2 351652009-04-08 Felix Zielcke <fzielcke@z-51.de>
35166
35167 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35168
c2cdde70 351692009-04-07 David S. Miller <davem@davemloft.net>
35170
35171 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35172 support for R_SPARC_OLO10 relocations. Fix compile warning for
35173 R_SPARC_WDISP30 case.
ea3f72cf 35174 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35175
761319cf 351762009-04-06 Pavel Roskin <proski@gnu.org>
35177
1007d1f5 35178 * include/grub/misc.h (ARRAY_SIZE): New macro.
35179 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35180 New macro.
35181 * loader/i386/linux.c (allocate_pages): Use free_pages().
35182 (grub_linux_unload): Don't use free_pages().
35183 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35184 wrong index. Treat all other modes as text modes.
35185 (grub_cmd_linux): Initialize vid_mode unconditionally to
35186 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35187
761319cf 35188 * commands/help.c (print_command_help): Use cmd->prio, not
35189 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35190
ea761d40 351912009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35192
ea761d40 35193 Parttool
35194
35195 * parttool/pcpart.c: new file
35196 * commands/parttool.c: likewise
35197 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35198 (parttool_mod_SOURCES): new variable
35199 (parttool_mod_CFLAGS): likewise
35200 (parttool_mod_LDFLAGS): likewise
35201 (pcpart_mod_SOURCES): likewise
35202 (pcpart_mod_CFLAGS): likewise
35203 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35205 and parttool/pcpart.c
35206 * conf/i386-efi.rmk: likewise
35207 * conf/i386-ieee1275.rmk: likewise
35208 * conf/i386-pc.rmk: likewise
35209 * conf/powerpc-ieee1275.rmk: likewise
35210 * conf/sparc64-ieee1275.rmk: likewise
35211 * conf/x86_64-ieee1275.rmk: likewise
35212
05aaebfb 352132009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35214
35215 Support for mtime and further expandability of dir command
35216
35217 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35218 * include/grub/datetime.h: ... moved here and added
05aaebfb 35219 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35220 * include/grub/fs.h: new syntax for dir and mtime functions in
35221 struct grub_fs
05aaebfb 35222 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35223 and GRUB_FSHELP_FLAGS_MASK
35224 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35225 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35226 (grub_ext2_mtime): new function
35227 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35228 (grub_hfsplus_mtime): new function
35229 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35230 (GRUB_UFS_ATTR_FILE): likewise
35231 (GRUB_UFS_ATTR_LNK): likewise
35232 (struct grub_ufs_sblock): new fields mtime
35233 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35234 all users updated
35235 (grub_ufs_dir): mtime support
35236 (grub_ufs_mtime): new function
35237 * fs/affs.c (grub_affs_dir): use new dir syntax
35238 * fs/afs.c (grub_afs_dir): likewise
35239 * fs/cpio.c (grub_cpio_dir): likewise
35240 * fs/fat.c (grub_fat_find_dir): likewise
35241 * fs/hfs.c (grub_hfs_dir): likewise
35242 * fs/iso9660.c (grub_iso9660_dir): likewise
35243 * fs/jfs.c (grub_jfs_dir): likewise
35244 * fs/minix.c (grub_minix_dir): likewise
35245 * fs/ntfs.c (grub_ntfs_dir): likewise
35246 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35247 * fs/sfs.c (grub_sfs_dir): likewise
35248 * fs/xfs.c (grub_xfs_dir): likewise
35249 * util/hostfs.c (grub_hostfs_dir): likewise
35250 * lib/datetime.c: moved to ...
35251 * normal/datetime.c: ... moved here
35252 (grub_unixtime2datetime): new function
35253 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35254 * normal/completion.c (iterate_dir): use new dir syntax
35255 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35256 last modification time of a volume
7dd4a573 35257 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35258 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35259 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35260 (normal_mod_SOURCES): likewise
35261 (datetime_mod_SOURCES): Removed lib/datetime.c
35262 * conf/i386-efi.rmk: likewise
7dd4a573 35263 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35264 * conf/i386-pc.rmk: likewise
35265 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35266 * conf/sparc64-ieee1275.rmk: likewise
35267 * conf/x86_64-efi.rmk: likewise
05aaebfb 35268
8a7e1a14 352692009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35270
35271 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35272
35273 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35274 on grub_fat_find_dir
35275 (grub_fat_find_dir): use grub_fat_iterate_dir
35276 (grub_fat_label): likewise
35277
04186a9c 352782009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35279
7dd4a573 35280 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35281 and command.h
35282 remove extraneous kernel_elf_HEADERS
35283
da4c0bb6 352842009-04-04 Bean <bean123ch@gnail.com>
35285
35286 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35287
35288 * util/misc.c: Likewise.
35289
54ad9555 352902009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35291
35292 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35293 instead of grub_printf.
35294
7a6bf9f2 352952009-04-03 Robert Millan <rmh@aybabtu.com>
35296
35297 * loader/i386/linux.c (grub_linux_setup_video): Fill
35298 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35299 values from `mode info' structure instead of hardcoded
35300 values.
35301
3fcc2083 353022009-04-01 Pavel Roskin <proski@gnu.org>
35303
35304 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35305 unused now.
35306 * genmk.rb: Likewise.
35307 * configure.ac: Likewise.
35308
5ec9740b 353092009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35310
35311 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35312 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35313
5270cec8 353142009-04-01 David S. Miller <davem@davemloft.net>
35315
35316 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35317 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35318 (grub_setjmp): Mark with 'returns_twice' attribute.
35319 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35320 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35321 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35322
9c3dd854 353232009-04-01 Robert Millan <rmh@aybabtu.com>
35324
35325 Reapply fix from 2008-07-28 which was accidentally reverted; also
35326 perform the same fix to a similar check in same function.
35327
35328 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35329 with the same number are found, just use issue a warning with
35330 grub_dprintf(), as this error has been reported to be non-fatal.
35331
0d818b7e 353322009-03-31 Pavel Roskin <proski@gnu.org>
35333
35334 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35335 for cross-compilation.
35336
95646d92 353372009-03-30 Robert Millan <rmh@aybabtu.com>
35338
35339 Fix i386-ieee1275 build.
35340
35341 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35342 Remove declaration.
35343
6a003ed1 353442009-03-30 Pavel Roskin <proski@gnu.org>
35345
35346 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35347 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35348 zero-terminated, rely only on the strlen value. Fix comparison
35349 of strings differing in length.
35350
92f33540 353512009-03-30 Robert Millan <rmh@aybabtu.com>
35352
35353 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35354 checking for abi version. Improve error messages on BIOS to notify
35355 user about `linux16' command.
35356
a8c48fd5 353572009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35358
f968172e 35359 Leak fixes
a8c48fd5 35360
f968172e 35361 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35362 in case of collision
35363 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35364
9c323f09 353652009-03-29 Robert Millan <rmh@aybabtu.com>
35366
35367 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35368 set `vid_mode' accordingly.
35369 (grub_linux_boot): Process `vid_mode' and set video mode.
35370
ae68f423 353712009-03-29 Robert Millan <rmh@aybabtu.com>
35372
35373 * util/grub.d/10_linux.in (linux_entry): New function.
35374 Factorize generation of Linux boot entries.
35375
5709cfc4 353762009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35377
35378 Make the format of Environment Block plain text. The boot loader
35379 part is not tested well yet.
7dd4a573 35380
5709cfc4 35381 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35382 (buffer): Removed.
35383 (envblk): Likewise.
35384 (usage): Remove "info" and "clear". Add "unset". Update the
35385 description of "set", as this does not delete variables any
35386 longer.
35387 (create_envblk_file): Complete rewrite.
35388 (open_envblk_file): Likewise.
35389 (cmd_info): Removed.
35390 (cmd_list): Likewise.
35391 (cmd_set): Likewise.
35392 (cmd_clear): Likewise.
35393 (list_variables): New function.
35394 (write_envblk): Likewise.
35395 (set_variables): Likewise.
35396 (unset_variables): Likewise.
35397 (main): Complete rewrite.
35398
35399 * commands/loadenv.c (buffer): Removed.
35400 (envblk): Likewise.
35401 (open_envblk_file): New function.
35402 (read_envblk_file): Complete rewrite.
35403 (grub_cmd_load_env): Likewise.
35404 (grub_cmd_list_env): Likewise.
35405 (struct blocklist): New struct.
35406 (free_blocklists): New function.
35407 (check_blocklists): Likewise.
35408 (write_blocklists): Likewise.
35409 (grub_cmd_save_env): Complete rewrite.
35410
35411 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35412 a plain text signature.
35413 (GRUB_ENVBLK_MAXLEN): Removed.
35414 (struct grub_envblk): Complete rewrite.
35415 (grub_envblk_find): Removed.
35416 (grub_envblk_insert): Likewise.
35417 (grub_envblk_open): New prototype.
35418 (grub_envblk_set): Likewise.
35419 (grub_envblk_delete): Put const to VALUE.
35420 (grub_envblk_iterate): Put const to NAME and VALUE.
35421 (grub_envblk_close): New prototype.
35422 (grub_envblk_buffer): New inline function.
35423 (grub_envblk_size): Likewise.
35424
35425 * lib/envblk.c: Include grub/mm.h.
35426 (grub_env_find): Removed.
35427 (grub_envblk_open): New function.
35428 (grub_envblk_close): Likewise.
35429 (escaped_value_len): Likewise.
35430 (find_next_line): Likewise.
35431 (grub_envblk_insert): Removed.
35432 (grub_envblk_set): New function.
35433 (grub_envblk_delete): Complete rewrite.
35434 (grub_envblk_iterate): Likewise.
35435
a9368fd3 354362009-03-28 Robert Millan <rmh@aybabtu.com>
35437
35438 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35439 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35440 variables. Use 16-bit loader.
35441 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35442 loader.
35443 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35444 (grub_linux16_boot): ... this. Update all users.
35445 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35446 (grub_linux_boot): ... this. Update all users.
35447
35448 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35449 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35450 commands to `linux16' and `initrd16'.
35451 (GRUB_MOD_FINI(linux)): Rename to ...
35452 (GRUB_MOD_FINI(linux16)): ... this.
35453
e4dd5a7e 354542009-03-24 Pavel Roskin <proski@gnu.org>
35455
35456 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35457 not just for compilation.
35458
c04d6e05 354592009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35460
35461 Move multiboot helper out of kernel
35462
35463 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35464 `loader/i386/multiboot_helper.S'.
35465 * conf/i386-coreboot.rmk: Likewise
35466 * conf/i386-ieee1275.rmk: Likewise
35467
35468 * kern/i386/loader.S: Move multiboot helpers from here...
35469 * loader/i386/multiboot_helper.S: ...moved here
35470 * include/grub/i386/loader.h: Move declarations of multiboot
35471 helpers from here...
35472 * include/grub/i386/multiboot.h: ...moved here
35473 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35474
42a5b3fc 354752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35476
35477 * kern/env.c (grub_env_context_open): Added an argument to specify
35478 whether a new context inherits exported variables from current
35479 one. This is useful when making a sandbox to interpret a config
35480 file.
35481 All callers updated.
35482
35483 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35484
b28bbc4e 354852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35486
35487 * kern/env.c (grub_env_context_close): Fix memory leaks.
35488
f04f02e4 354892009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35490
35491 * normal/main.c (grub_normal_execute): Added an argument
35492 BATCH to specify if an interactive interface should be provided
35493 after reading a config file.
35494 All callers updated.
35495 (read_command_list): Prevent being executed twice.
35496 (read_fs_list): Likewise.
35497
42a5b3fc 35498 * include/grub/normal.h (grub_normal_execute): Updated the
35499 prototype.
f04f02e4 35500
41473ac2 355012009-03-22 Pavel Roskin <proski@gno.org>
35502
fbc00b0c 35503 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35504 _start.
35505 * kern/i386/pc/startup.S: Likewise.
35506 * kern/i386/efi/startup.S: Likewise.
35507 * kern/i386/ieee1275/startup.S: Likewise.
35508 * kern/i386/coreboot/startup.S: Likewise.
35509 * kern/x86_64/efi/startup.S: Likewise.
35510
41473ac2 35511 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35512 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35513 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35514
2274cc8f 355152009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35516
35517 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35518
35519 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35520 limit detection.
35521 Use vaddr of correct segment for entry_point.
35522
b1b797cb 355232009-03-21 Bean <bean123ch@gmail.com>
35524
35525 * commands/blocklist.c: Add include file <grub/command.h>, remove
35526 <grub/normal.h> and <grub/arg.h>.
35527 (grub_cmd_blocklist): Use the new command interface.
35528 (GRUB_MOD_INIT): Likewise.
35529 (GRUB_MOD_FINI): Likewise.
35530 * commands/boot.c: Likewise.
35531 * commands/cat.c: Likewise.
35532 * commands/cmp.c: Likewise.
35533 * commands/configfile.c: Likewise.
35534 * commands/crc.c: Likewise.
35535 * commands/echo.c: Likewise.
35536 * commands/halt.c: Likewise.
35537 * commands/handler.c: Likewise.
35538 * commands/hdparm.c: Likewise.
35539 * commands/help.c: Likewise.
35540 * commands/hexdump.c: Likewise.
35541 * commands/loadenv.c: Likewise.
35542 * commands/ls.c: Likewise.
35543 * commands/lsmmap.c: Likewise.
35544 * commands/lspci.c: Likewise.
35545 * commands/loadenv.c: Likewise.
35546 * commands/read.c: Likewise.
35547 * commands/reboot.c: Likewise.
35548 * commands/search.c: Likewise.
35549 * commands/sleep.c: Likewise.
35550 * commands/test.c: Likewise.
35551 * commands/usbtest.c: Likewise.
35552 * commands/videotest.c: Likewise.
35553 * commands/i386/cpuid.c: Likewise.
35554 * commands/i386/pc/halt.c: Likewise.
35555 * commands/i386/pc/play.c: Likewise.
35556 * commands/i386/pc/pxecmd.c: Likewise.
35557 * commands/i386/pc/vbeinfo.c: Likewise.
35558 * commands/i386/pc/vbetest.c: Likewise.
35559 * commands/ieee1275/suspend.c: Likewise.
35560 * disk/loopback.c: Likewise.
35561 * font/font_cmd.c: Likewise.
35562 * hello/hello.c: Likewise.
35563 * loader/efi/appleloader.c: Likewise.
35564 * loader/efi/chainloader.c: Likewise.
35565 * loader/i386/bsd.c: Likewise.
35566 * loader/i386/efi/linux.c: Likewise.
35567 * loader/i386/ieee1275/linux.c: Likewise.
35568 * loader/i386/linux.c: Likewise.
35569 * loader/i386/pc/chainloader.c: Likewise.
35570 * loader/i386/pc/linux.c: Likewise.
35571 * loader/powerpc/ieee1275/linux.c: Likewise.
35572 * loader/multiboot_loader.c: Likewise.
35573 * term/gfxterm.c: Likewise.
35574 * term/i386/pc/serial.c: Likewise.
35575 * term/terminfo.c: Likewise.
35576
35577 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35578 * term/i386/pc/vga.c: Likewise.
35579 * video/readers/jpeg.c: Likewise.
35580 * video/readers/png.c: Likewise.
35581 * video/readers/tga.c: Likewise.
35582
35583 * util/grub-fstest (cmd_loopback): Removed.
35584 (cmd_blocklist): Likewise.
35585 (cmd_ls): Likewise.
35586 (grub_register_command): Likewise.
35587 (grub_unregister_command): Likewise.
35588 (execute_command): Use grub_command_find to locate command and execute
35589 it.
35590
35591 * include/grub/efi/chainloader.h: Removed.
35592 * loader/efi/chainloader_normal.c: Likewise.
35593 * loader/i386/bsd_normal.c: Likewise.
35594 * loader/i386/pc/chainloader_normal.c: Likewise.
35595 * loader/i386/pc/multiboot_normal.c: Likewise.
35596 * loader/linux_normal.c: Likewise.
35597 * loader/multiboot_loader_normal.c: Likewise.
35598 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35599
35600 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35601 and grub_register_command_p1.
35602
35603 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35604 kern/command.c, lib/arg.c and commands/extcmd.c.
35605 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35606 (minicmd_mod_SOURCES): New variable.
35607 (minicmd_mod_CFLAGS): Likewise.
35608 (minicmd_mod_LDFLAGS): Likewise.
35609 (extcmd_mod_SOURCES): Likewise.
35610 (extcmd_mod_CFLAGS): Likewise.
35611 (extcmd_mod_LDFLAGS): Likewise.
35612 (boot_mod_SOURCES): Removed.
35613 (boot_mod_CFLAGS): Likewise.
35614 (boot_mod_LDFLAGS): Likewise.
35615
35616 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35617 kern/corecmd.c.
35618 (kernel_img_HEADERS): Add command.h.
35619 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35620 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35621 and lib/arg.c.
35622 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35623 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35624 remove the corresponding normal mode command.
35625 (normal_mod_SOURCES): Remove normal/arg.c.
35626 * conf/i386-coreboot.rmk: Likewise.
35627 * conf/i386-efi.rmk: Likewise.
35628 * conf/i386-ieee1275.rmk: Likewise.
35629 * conf/powerpc-ieee1275.rmk: Likewise.
35630 * conf/x86_64-efi.rmk: Likewise.
35631
35632 * include/grub/arg.h: Move from here ...
35633 * include/grub/lib/arg.h: ... to here.
35634
35635 * normal/arg.c: Move from here ...
35636 * lib/arg.c: ... to here.
35637
35638 * commands/extcmd.c: New file.
35639 * commands/minicmd.c: Likewise.
35640 * include/grub/command.h: Likewise.
35641 * include/grub/extcmd.h: Likewise.
35642 * kern/command.c: Likewise.
35643 * kern/corecmd.c: Likewise.
35644
35645 * kern/list.c (grub_list_iterate): Return int instead of void.
35646 (grub_list_insert): New function.
35647 (grub_prio_list_insert): Likewise.
35648
35649 * kern/rescue.c (grub_rescue_command): Removed.
35650 (grub_rescue_command_list): Likewise.
35651 (grub_rescue_register_command): Likewise.
35652 (grub_rescue_unregister_command): Likewise.
35653 (grub_rescue_cmd_boot): Move to minicmd.c
35654 (grub_rescue_cmd_help): Likewise.
35655 (grub_rescue_cmd_info): Likewise.
35656 (grub_rescue_cmd_boot): Likewise.
35657 (grub_rescue_cmd_testload): Likewise.
35658 (grub_rescue_cmd_dump): Likewise.
35659 (grub_rescue_cmd_rmmod): Likewise.
35660 (grub_rescue_cmd_lsmod): Likewise.
35661 (grub_rescue_cmd_exit): Likewise.
35662 (grub_rescue_print_devices): Moved to corecmd.c.
35663 (grub_rescue_print_files): Likewise.
35664 (grub_rescue_cmd_ls): Likewise.
35665 (grub_rescue_cmd_insmod): Likewise.
35666 (grub_rescue_cmd_set): Likewise.
35667 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35668 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35669 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35670 commands, remove grub_rescue_register_command calls.
b1b797cb 35671
7d074e3c 35672 * normal/command.c (grub_register_command): Removed.
b1b797cb 35673 (grub_unregister_command): Likewise.
35674 (grub_command_find): Likewise.
35675 (grub_iterate_commands): Likewise.
35676 (rescue_command): Likewise.
35677 (export_command): Moved to corecmd.c.
35678 (set_command): Removed.
35679 (unset_command): Likewise.
35680 (insmod_command): Likewise.
35681 (rmmod_command): Likewise.
35682 (lsmod_command): Likewise.
35683 (grub_command_init): Likewise.
35684
35685 * normal/completion.c (iterate_command): Use cmd->prio to check for
35686 active command.
35687 (complete_arguments): Use grub_extcmd_t structure to find options.
35688 (grub_normal_do_completion): Change function grub_iterate_commands to
35689 grub_command_iterate.
35690
35691 * normal/execute.c (grub_script_execute_cmd): No need to parse
35692 argument here.
35693
35694 * normal/main.c (grub_dyncmd_dispatcher): New function.
35695 (read_command_list): Register unload commands as dyncmd.
35696 (grub_cmd_normal): Use new command interface, register rescue,
35697 unregister normal at entry, register normal, unregister rescue at exit.
35698
35699 * include/grub/list.h (grub_list_test_t): New type.
35700 (grub_list_iterate): Return int instead of void.
35701 (grub_list_insert): New function.
35702 (GRUB_AS_NAMED_LIST_P): New macro.
35703 (GRUB_AS_PRIO_LIST): Likewise.
35704 (GRUB_AS_PRIO_LIST_P): Likewise.
35705 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35706 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35707 (grub_prio_list): New structure.
35708 (grub_prio_list_insert): New function.
35709 (grub_prio_list_remove): New inline function.
35710
35711 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35712 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35713 (GRUB_COMMAND_FLAG_MENU): Likewise.
35714 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35715 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35716 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35717 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35718 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35719 (grub_command): Likewise.
35720 (grub_register_command): Likewise.
35721 (grub_command_find): Likewise.
35722 (grub_iterate_commands): Likewise.
35723 (grub_command_init): Likewise.
35724 (grub_arg_parse): Likewise.
35725 (grub_arg_show_help): Likewise.
35726
35727 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35728 (grub_rescue_unregister_command): Likewise.
35729
35730 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35731 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35732 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35733
35734 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35735 grub_rescue_cmd_initrd.
35736 * include/grub/i386/loader.h: Likewise.
35737 * include/grub/x86_64/loader.h: Likewise.
35738
35739 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35740
1f4147aa 357412009-03-21 Bean <bean123ch@gmail.com>
35742
35743 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35744 instead of stat in mingw environment.
35745
35746 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35747
35748 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35749
35750 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35751 AC_CONFIG_LINKS.
35752
2156d5ba 357532009-03-21 Bean <bean123ch@gmail.com>
35754
35755 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35756 out of range error.
35757
177b82ca 357582009-03-18 Michel Dänzer <michel@daenzer.net>
35759
35760 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35761 checking inode flags for EXT4_EXTENTS_FLAG.
35762
14aad807 357632009-03-18 Robert Millan <rmh@aybabtu.com>
35764
35765 * loader/i386/linux.c: Include `<grub/video.h>' and
35766 `<grub/i386/pc/vbe.h>'..
35767 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35768 (grub_linux32_boot): Attempt to configure video settings with
35769 grub_linux_setup_video().
35770 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35771 to avoid grub_console_fini() which would step out of graphical mode
35772 unconditionally.
35773
8cf83a27 357742009-03-14 Robert Millan <rmh@aybabtu.com>
35775
35776 Fix build on powerpc.
35777 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35778
40164e75 357792009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35780
35781 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35782 background image command.
35783
c58bc32a 357842009-03-12 Colin D Bennett <colin@gibibit.com>
35785
35786 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35787 (grub_gfxterm_putchar): Extract pairs of identical calls to
35788 draw_cursor out of conditional blocks.
35789
5415144a 357902009-03-11 Pavel Roskin <proski@gnu.org>
35791
35792 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35793 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35794
6394042e 357952009-03-11 Robert Millan <rmh@aybabtu.com>
35796
35797 * loader/i386/multiboot_elfxx.c
35798 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35799
b7b50e5f 358002009-03-11 Felix Zielcke <fzielcke@z-51.de>
35801
35802 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35803 `kern/handler.c'.
35804
1ca7fc96 358052009-03-11 Robert Millan <rmh@aybabtu.com>
35806
35807 * loader/i386/multiboot.c (code_size): New variable.
35808 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35809 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35810 4-byte alignment to MBI and others by increasing
7d074e3c 35811 `boot_loader_name_length' appropriately.
1ca7fc96 35812
35813 * loader/i386/multiboot_elfxx.c
35814 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35815
a83ea1d2 358162009-03-09 Felix Zielcke <fzielcke@z-51.de>
35817
35818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35819 `fs/ext2.c'.
35820
aa9f3bff 358212009-03-08 Robert Millan <rmh@aybabtu.com>
35822
35823 Make loader/i386/linux.c usable on i386-pc again.
35824
35825 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35826 memory to heap.
35827 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35828 `#error' stanza.
35829
d8b3b60e 358302009-03-07 Bean <bean123ch@gmail.com>
35831
35832 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35833 allocation.
35834
b362c9e9 358352009-03-06 Robert Millan <rmh@aybabtu.com>
35836
35837 Fix display issue on terminals with screen size other than 80x25
35838 (e.g. gfxterm with resolution higher than 640x480).
35839
35840 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35841 position relative to the center of the terminal instead of relying
b362c9e9 35842 on a hardcoded offset.
35843
9304eef1 358442009-03-04 Robert Millan <rmh@aybabtu.com>
35845
35846 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35847 installed.
35848
35849 * Makefile.in (host_kernel): New variable.
35850 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35851 scripts instead of just the windows one.
35852 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35853
eabc95fb 358542009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35855
35856 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35857 `kern/handler.c'.
35858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35859 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35862 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35864
ceb1223c 358652009-03-04 Felix Zielcke <fzielcke@z-51.de>
35866
35867 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35868 or if there's no space for the disk label and print the partition number on a
35869 invalid magic.
35870
4910684a 358712009-03-04 Felix Zielcke <fzielcke@z-51.de>
35872
35873 * util/misc.c: Include <time.h>.
35874 (grub_millisleep): New function.
35875
7e9ca17a 358762009-03-04 Bean <bean123ch@gmail.com>
35877
35878 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35879 another option -mno-red-zone.
35880
35881 * commands/handler.c: Change module description.
35882
35883 * kern/handler.c: Add missing space at the end of description line.
35884
35885 * kern/list.c: Likewise.
35886
f501677c 358872009-03-03 Robert Millan <rmh@aybabtu.com>
35888
35889 Move more components to the relocation area, and fix mbi pointer
35890 handling to use the destination rather than the origin (thanks to
35891 Vladimir Serbinenko for spotting).
35892
35893 * loader/i386/multiboot.c (mbi_dest): New variable.
35894 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35895 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35896 relocation area.
35897
9902d047 358982009-03-01 Bean <bean123ch@gmail.com>
35899
50fb7002 35900 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35901 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35902 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35903 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35904
35905 * loader/i386/efi/linux.c (acpi_guid): New variable.
35906 (acpi_guid): Likewise.
35907 (EBDA_SEG_ADDR): New constant.
35908 (LOW_MEM_ADDR): Likewise.
35909 (FAKE_EBDA_SEG): Likewise.
35910 (fake_bios_data): New function.
35911 (grub_linux_boot): Call fake_bios_data.
35912
71b9f361 359132009-03-01 Bean <bean123ch@gmail.com>
35914
35915 * commands/terminal.c: Removed.
35916
35917 * commands/handler.c: New file.
35918
35919 * include/grub/list.h: Likewise.
35920
35921 * include/grub/handler.h: Likewise.
35922
35923 * kern/list.c: Likewise.
35924
35925 * kern/handler.c: Likewise.
35926
35927 * kern/term.h: Include header file <grub/handler.h>.
35928 (grub_term_input): Move next field to the beginning.
35929 (grub_term_output): Likewise.
35930 (grub_term_input_class): New variable.
35931 (grub_term_output_class): Likewise.
35932 (grub_term_register_input): Changed to inline function.
35933 (grub_term_register_output): Likewise.
35934 (grub_term_unregister_input): Likewise.
35935 (grub_term_unregister_output): Likewise.
35936 (grub_term_set_current_input): Likewise.
35937 (grub_term_set_current_output): Likewise.
35938 (grub_term_get_current_input): Likewise.
35939 (grub_term_get_current_output): Likewise.
35940 (grub_term_iterate_input): Removed.
35941 (grub_term_iterate_output): Likewise.
35942
35943 * kern/term.c (grub_term_list_input): Removed.
35944 (grub_term_list_output): Likewise.
35945 (grub_term_input_class): New variable.
35946 (grub_term_output_class): Likewise.
50fb7002 35947 (grub_cur_term_input): Change variable as macro.
71b9f361 35948 (grub_cur_term_output): Likewise.
35949 (grub_term_register_input): Removed.
35950 (grub_term_register_output): Likewise.
35951 (grub_term_unregister_input): Likewise.
35952 (grub_term_unregister_output): Likewise.
35953 (grub_term_set_current_input): Likewise.
35954 (grub_term_set_current_output): Likewise.
35955 (grub_term_iterate_input): Likewise.
35956 (grub_term_iterate_output): Likewise.
35957 (grub_term_get_current_input): Likewise.
35958 (grub_term_get_current_output): Likewise.
35959
35960 * util/grub-editenv.c: Include header file <grub/handler.h>.
35961 (grub_term_get_current_input): Removed.
35962 (grub_term_get_current_output): Likewise.
35963 (grub_term_input_class): New variable.
50fb7002 35964 (grub_term_output_class): Likewise.
71b9f361 35965
35966 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35967 (grub_term_get_current_output): Likewise.
35968 (grub_term_input_class): New variable.
50fb7002 35969 (grub_term_output_class): Likewise.
71b9f361 35970
35971 * util/grub-probe.c (grub_term_get_current_input): Removed.
35972 (grub_term_get_current_output): Likewise.
35973 (grub_term_input_class): New variable.
50fb7002 35974 (grub_term_output_class): Likewise.
71b9f361 35975
35976 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35977 (grub_term_get_current_output): Likewise.
35978 (grub_term_input_class): New variable.
50fb7002 35979 (grub_term_output_class): Likewise.
71b9f361 35980
35981 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35982 (terminal_mod_SOURCES): Likewise.
35983 (terminal_mod_CFLAGS): Likewise.
35984 (terminal_mod_LDFLAGS): Likewise.
35985
35986 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35987 handler.c.
35988 (kernel_img_SOURCES): Add list.c and handler.c.
35989 (kernel_img_HEADERS): Add list.h and handler.h.
35990
35991 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35992 handler.c.
35993 (kernel_mod_SOURCES): Add list.c and handler.c.
35994 (kernel_mod_HEADERS): Add list.h and handler.h.
35995
35996 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35997 handler.c.
35998 (kernel_elf_SOURCES): Add list.c and handler.c.
35999 (kernel_elf_HEADERS): Add list.h and handler.h.
36000
36001 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36002 handler.c.
36003 (kernel_elf_SOURCES): Add list.c and handler.c.
36004 (kernel_elf_HEADERS): Add list.h and handler.h.
36005
36006 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36007 handler.c.
36008 (kernel_mod_SOURCES): Add list.c and handler.c.
36009 (kernel_mod_HEADERS): Add list.h and handler.h.
36010
36011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36012 handler.c.
36013 (kernel_elf_SOURCES): Add list.c and handler.c.
36014 (kernel_elf_HEADERS): Add list.h and handler.h.
36015
8a31787f 360162009-02-27 Robert Millan <rmh@aybabtu.com>
36017
36018 Factorize elf32 / elf64 code in Multiboot loader. This will
36019 prevent it from getting out of sync again.
36020
36021 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36022 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36023 grub_multiboot_load_elf64): Move from here ...
36024 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36025 grub_multiboot_load_elf): ... to here (new file).
36026
51cd3dfc 360272009-02-27 Robert Millan <rmh@aybabtu.com>
36028
36029 * util/grub.d/10_linux.in: Rename "single-user mode" to
36030 "recovery mode".
36031
6e8c9c3a 360322009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36033
36034 Don't leak in SCSI code.
36035 * disk/scsi.c (grub_scsi_close): free `scsi'.
36036
4b6bf4f9 360372009-02-27 Robert Millan <rmh@aybabtu.com>
36038
36039 * loader/i386/pc/multiboot.c: Move from here ...
36040 * loader/i386/multiboot.c: ... to here. Update all users.
36041
b9413424 360422009-02-27 Robert Millan <rmh@aybabtu.com>
36043
36044 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36045 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36046
50fb7002 360472009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36048
36049 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36050 b-tree.
36051
8cc50345 360522009-02-27 Robert Millan <rmh@aybabtu.com>
36053
36054 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36055 `0x' qualifier as 0 when base is specified as parameter).
36056
6e09b8b7 360572009-02-24 Bean <bean123ch@gmail.com>
36058
36059 * configure.ac: Check for -mcmodel=large in x86_64 target.
36060
36061 * include/grub/efi/api.h (efi_call_10): New macro.
36062 (efi_wrap_10): New function.
36063
36064 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36065 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36066 (GRUB_PE32_REL_BASED_LOW): Likewise.
36067 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36068 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36069 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36070 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36071 (GRUB_PE32_REL_BASED_REL): Likewise.
36072 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36073 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36074 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36075
36076 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36077 issue.
36078
36079 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36080 (efi_wrap_10): New function.
36081
36082 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36083
36084 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36085 MB/MBP model (NV chipset).
36086 (devdata_devs): Add devpath_5 to the list.
36087
36088 * load/i386/efi/linux.c (video_base): Remove variable.
36089 (RGB_MASK): New macro.
36090 (RGB_MAGIC): Likewise.
36091 (LINE_MIN): Likewise.
36092 (LINE_MAX): Likewise.
36093 (FBTEST_STEP): Likewise.
36094 (FBTEST_COUNT): Likewise.
36095 (fb_list): New variable.
36096 (grub_find_video_card): Remove function.
36097 (find_framebuf): New function.
36098 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36099 line length.
36100
36101 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36102 problem for x86_64.
36103
74b21bee 361042009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36105
36106 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36107
36108 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36109 coding tool name.
36110
a455f472 361112009-02-22 Robert Millan <rmh@aybabtu.com>
36112
36113 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36114 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36115 in our relocation, instead of using it directly from heap. Also
36116 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36117
6374daf3 361182009-02-21 Robert Millan <rmh@aybabtu.com>
36119
36120 Implement USB keyboard support (based on patch by Marco Gerards)
36121
36122 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36123 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36124 (usb_keyboard_mod_LDFLAGS): New variables.
36125
36126 * term/usb_keyboard.c: New file.
36127
8fa4ea70 361282009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36129
36130 Corrected wrong declaration
36131
36132 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36133
353976ac 361342009-02-14 Christian Franke <franke@computer.org>
36135
36136 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36137 (grub_lspci_iter): Print class code and programming interface byte.
36138
6aa1169b 361392009-02-14 Christian Franke <franke@computer.org>
36140
36141 * gendistlist.sh: Ignore `.svn' directories.
36142
265372ca 361432009-02-14 Felix Zielcke <fzielcke@z-51.de>
36144
36145 * fs/fat.c: Add 2009 to Copyright line.
36146
9ff516f3 361472009-02-14 Christian Franke <franke@computer.org>
36148
36149 * commands/hdparm.c: New file. Provides `hdparm' command
36150 which sends ATA commands via grub_disk_ata_pass_through ().
36151
36152 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36153
36154 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36155 and <grub/cpu/io.h> to include/grub/ata.h.
36156 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36157 (GRUB_CDROM_SECTOR_SIZE): Remove.
36158 (GRUB_ATA_*): Move to include/grub/ata.h.
36159 (GRUB_ATAPI_*): Likewise.
36160 (enum grub_ata_commands): Likewise.
36161 (enum grub_ata_timeout_milliseconds): Likewise.
36162 (struct grub_ata_device): Likewise.
36163 (grub_ata_regset): Likewise.
36164 (grub_ata_regget): Likewise.
36165 (grub_ata_regset2): Likewise.
36166 (grub_ata_regget2): Likewise.
36167 (grub_ata_check_ready): Likewise.
36168 (grub_ata_wait_not_busy): Remove static, exported in
36169 include/grub/ata.h.
36170 (grub_ata_wait_drq): Likewise.
36171 (grub_ata_pio_read): Likewise.
36172
36173 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36174 function for hdparm.mod.
36175
36176 * include/grub/ata.h: New file, contains declarations from
36177 disk/ata.c.
36178 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36179
36180 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36181 (grub_disk_ata_pass_through): New exported variable.
36182
36183 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36184
772e23da 361852009-02-13 Colin D Bennett <colin@gibibit.com>
36186
36187 Support multiple fallback entries, and provide an API to support
36188 executing default+fallback menu entries. Renamed the `terminal' menu
36189 viewer to `text'.
36190
36191 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36192 variable declaration.
36193 (grub_menu_execute_callback): New structure declaration.
36194 (grub_menu_execute_callback_t): New typedef.
36195 (grub_menu_execute_with_fallback): New function declaration.
36196 (grub_menu_get_entry): Likewise.
36197 (grub_menu_get_timeout): Likewise.
36198 (grub_menu_set_timeout): Likewise.
36199
36200 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36201
36202 * normal/menu.c (grub_wait_after_message): Moved to
36203 `normal/menu_text.c'.
36204 (draw_border): Likewise.
36205 (print_message): Likewise.
36206 (print_entry): Likewise.
36207 (print_entries): Likewise.
36208 (grub_menu_init_page): Likewise.
36209 (get_entry_number): Likewise.
36210 (print_timeout): Likewise.
36211 (run_menu): Likewise.
36212 (grub_menu_execute_entry): Likewise.
36213 (show_text_menu): Likewise.
36214 (get_and_remove_first_entry_number): New function.
36215 (grub_menu_execute_with_fallback): Likewise.
36216 (get_entry): Renamed to ...
36217 (grub_menu_get_entry): .. this and made it global.
36218 (get_timeout): Renamed to ...
36219 (grub_menu_get_timeout): ... this and made it global.
36220 (set_timeout): Renamed to ...
36221 (grub_menu_set_timeout): ... this and made it global.
36222 (grub_normal_terminal_menu_viewer): Renamed to ...
36223 (grub_normal_text_menu_viewer): ... this.
36224
36225 * normal/menu_text.c: New file. Extracted text-menu-specific code
36226 from normal/menu.c.
36227
36228 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36229 (normal_mod_SOURCES): Likewise.
36230
36231 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36232 (normal_mod_SOURCES): Likewise.
36233
36234 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36235 (normal_mod_SOURCES): Likewise.
36236
36237 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36238 (normal_mod_SOURCES): Likewise.
36239
36240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36241 (normal_mod_SOURCES): Likewise.
36242
36243 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36244 (normal_mod_SOURCES): Likewise.
36245
36246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36247 (normal_mod_SOURCES): Likewise.
36248
16ac430e 362492009-02-11 Robert Millan <rmh@aybabtu.com>
36250
36251 * util/grub.d/00_header.in: Update old reference to `font' command.
36252
06ff20fc 362532009-02-10 Felix Zielcke <fzielcke@z-51.de>
36254
36255 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36256
36257 Based on patch from Javier Martín.
36258
96da9407 362592009-02-09 Felix Zielcke <fzielcke@z-51.de>
36260
36261 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36262 to avoid false positives with FAT.
96da9407 36263 (grub_fstest_SOURCES): Likewise.
36264 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36265 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36270
6dca6fe4 362712009-02-09 Felix Zielcke <fzielcke@z-51.de>
36272
06ff20fc 36273 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36274 bpb.version_specific.fat12_or_fat16.fstype and
36275 bpb.version_specific.fat32.fstype.
36276
2550c62f 362772009-02-08 Robert Millan <rmh@aybabtu.com>
36278
be110b30 36279 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36280
56978920 362812009-02-08 Robert Millan <rmh@aybabtu.com>
36282
36283 * Makefile.in (host_os, host_cpu): New variables.
36284 (target_os): Remove. Update all users.
36285
d64399b5 362862009-02-08 Marco Gerards <marco@gnu.org>
36287
36288 * Makefile.in (enable_grub_emu_usb): New variable.
36289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36290 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36291 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36292 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36293 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36294 `usbtest.mod' and `usbms.mod'.
36295 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36296 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36297 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36298 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36299 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36300 variables.
36301
36302 * disk/usbms.c: New file.
36303
36304 * include/grub/usb.h: Likewise.
36305
36306 * include/grub/usbtrans.h: Likewise.
36307
36308 * include/grub/usbdesc.h: Likewise.
36309
36310 * bus/usb/usbtrans.c: Likewise.
36311
36312 * bus/usb/ohci.c: Likewise.
36313
36314 * bus/usb/uhci.c: Likewise.
36315
36316 * bus/usb/usbhub.c: Likewise.
36317
36318 * bus/usb/usb.c: Likewise.
36319
36320 * commands/usbtest.c: Likewise.
36321
36322 * util/usb.c: Likewise.
50fb7002 36323
d64399b5 36324 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36325
36326 * configure.ac: Test for libusb presence.
50fb7002 36327
d64399b5 36328 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36329
2b40d6bb 363302009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36331
36332 * kern/mm.c: Add more comments.
36333
73a4ce81 363342009-02-08 Robert Millan <rmh@aybabtu.com>
36335
36336 Patch from Javier Martín.
36337 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36338 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36339
f821ce59 363402009-02-08 Robert Millan <rmh@aybabtu.com>
36341
36342 * fs/cpio.c: Split tar functionality to ...
36343 * fs/tar.c: ... here (new file). Update all users.
36344
aebfc4b0 363452009-02-07 Robert Millan <rmh@aybabtu.com>
36346
36347 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36348 backward-incompatible features.
36349
36350 Based on patch from Javier Martín, with some adjustments.
36351
50fb7002 363522009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36353
36354 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36355
0bb5115e 363562009-02-07 Robert Millan <rmh@aybabtu.com>
36357
36358 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36359 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36360 after the RAID stuff.
36361
38a0f8e7 363622009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36363
50fb7002 36364 Fixes problem when running vbetest command as reported by
38a0f8e7 36365 Vladimir Serbinenko <phcoder@gmail.com>.
36366
36367 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36368
3143cc1c 363692009-02-04 Felix Zielcke <fzielcke@z-51.de>
36370
36371 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36372 /dev/md/NpN style mdraid devices.
36373
9cba6fce 363742009-02-03 Felix Zielcke <fzielcke@z-51.de>
36375
36376 * util/unifont2pff.rb: Remove.
36377
e507a2c1 363782009-02-03 Felix Zielcke <fzielcke@z-51.de>
36379
36380 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36381 `#'.
36382
d2c2b4cd 363832009-02-03 Felix Zielcke <fzielcke@z-51.de>
36384
36385 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36387 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36388 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36390 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36392
b4315fb0 363932009-02-02 Christian Franke <franke@computer.org>
36394
36395 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36396
de3aa260 363972009-02-01 Felix Zielcke <fzielcke@z-51.de>
36398
7c3ff286 36399 * INSTALL: Note that we now require at least autoconf 2.59 and
36400 that LZO is optional.
de3aa260 36401
825a182b 364022009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36403
36404 Base on patch on bug #24154 created by Tomas Tintera
36405 <trosos@seznam.cz>.
36406
36407 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36408
a69ef770 364092009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36410
7c3ff286 36411 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36412 <bero@arklinux.org>.
36413
36414 * normal/parser.y (script_init): Add missing semicolon.
36415
6fa42fa6 364162009-01-31 Colin D Bennett <colin@gibibit.com>
36417
7c3ff286 36418 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36419 (free_menu_entry_classes): Added.
36420 (grub_normal_menu_addentry): Added class property handling.
36421 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36422 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36423
36424 * normal/menu_viewer.c: New file.
36425
36426 * normal/menu.c (run_menu_entry): Renamed to ...
36427 (grub_menu_execute_entry): ... this and made it as global.
36428 (grub_menu_run): Renamed to ...
36429 (show_text_menu): ... this and made it local.
36430 (show_text_menu): Adapt to new function names.
36431 (grub_normal_terminal_menu_viewer): New global variable.
36432
36433 * include/grub/menu.h: New file.
36434
36435 * include/grub/menu_viewer.h: New file.
36436
36437 * include/grub/normal.h: Added include to grub/menu.h.
36438 (grub_menu_entry): Moved to include/grub/menu.h.
36439 (grub_menu_entry_t): Likewise.
36440 (grub_menu): Likewise.
36441 (grub_menu_t): Likewise.
36442 (grub_normal_terminal_menu_viewer): Added.
36443 (grub_menu_execute_entry): Likewise.
36444 (grub_menu_run): Removed.
36445
36446 * DISTLIST: Added include/grub/menu.h.
36447 Added include/grub/menu_viewer.h.
36448 Added normal/menu_viewer.c.
36449
364502009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36451
36452 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36453 arglist for menutitle arguments.
36454
36455 * normal/main.c (grub_normal_menu_addentry): Likewise.
36456
36457 * normal/parser.y (menuentry): Likewise.
36458
36459 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36460
36461 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36462 (grub_script_create_cmdmenu): Likewise.
36463
36464 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36465
36466 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36467 changes.
36468
36469 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36470
36471 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36472
36473 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36474
36475 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36476
36477 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36478
36479 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36480
56192c23 364812009-01-30 Christian Franke <franke@computer.org>
36482
36483 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36484 in option help text.
36485
d72521b3 364862009-01-27 Pavel Roskin <proski@gnu.org>
36487
36488 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36489
994b5e84 364902009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36491
36492 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36493
36494 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36495
36496 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36497 unregister function.
36498
6a7eab2c 364992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36500
36501 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36502
36503 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36504
36505 * util/grub-mkfont.c (usage): Fix typo.
36506
36507 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36508
1806b56e 365092009-01-26 Daniel Mierswa <impulze@impulze.org>
36510
3fb18f09 36511 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36512
336e1fb9 36513 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36514
1806b56e 36515 * kern/misc.c (grub_strcasecmp): New function.
36516 (grub_strcasecmp): Use grub_size_t instead of int for length.
36517 Fix return value.
36518 * include/grub/misc.h: Update function prototypes.
36519
580b2a0f 365202009-01-26 Robert Millan <rmh@aybabtu.com>
36521
36522 * configure.ac: Fix cross-compilation check.
ef257b36 36523
d31c24f1 365242009-01-22 Christian Franke <franke@computer.org>
36525
36526 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36527 (precision) digit string. Allow `.format2' without `format1' (width).
36528 Limit input chars for `%s' output to `format2' if specified. This is
36529 compatible with standard printf ().
36530
3138b44c 365312009-01-22 Christian Franke <franke@computer.org>
36532
36533 * disk/ata.c (grub_ata_wait_status): Replace by ...
36534 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36535 other status bits may be invalid while BSY is asserted.
36536 (grub_ata_check_ready): New function.
36537 (grub_ata_cmd): Removed.
36538 (grub_ata_wait_drq): New function.
36539 (grub_ata_strncpy): Remove inline.
36540 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36541 and error check now done by grub_ata_wait_drq ().
36542 (grub_ata_pio_write): Likewise.
36543 (grub_atapi_identify): Set DEV before check for !BSY. Use
36544 grub_ata_wait_drq () to wait for data.
36545 (grub_ata_device_initialize): Add status register check to
36546 detect missing SATA slave devices. Add debug messages.
36547 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36548 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36549 transfer loop by grub_ata_pio_write ().
36550 (grub_ata_identify): Set DEV before check for !BSY. Use
36551 grub_ata_wait_drq () to wait for data.
ef257b36 36552 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36553 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36554 read/write in one loop. Fix invalid command on write. Fix incomplete
36555 command on (size % batch) == 0. Add missing error check after write of
36556 last block. Add debug messages.
36557 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36558
59a64ef6 365592009-01-19 Christian Franke <franke@computer.org>
36560
36561 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36562 (GRUB_ATAPI_IREASON_*): Likewise.
36563 (grub_ata_pio_write): Fix timeout error return.
36564 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36565 (grub_atapi_wait_drq): New function.
36566 (grub_atapi_packet): New parameter `size'.
36567 Use grub_atapi_wait_drq () and direct write instead of
36568 grub_ata_pio_write ().
36569 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36570 reads the number of bytes requested by the device for each DRQ
36571 assertion.
36572 (grub_atapi_write): Remove old implementation, return not
36573 implemented instead.
36574
1cfe20b3 365752009-01-19 Christian Franke <franke@computer.org>
36576
36577 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36578 of 512 to calculate data size.
36579 (grub_scsi_read12): Likewise.
36580 (grub_scsi_write10): Likewise.
36581 (grub_scsi_write12): Likewise.
36582 (grub_scsi_read): Adjust size according to blocksize.
36583 Add checks for invalid blocksize and unaligned transfer.
36584
bee5fe5d 365852009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36586
36587 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36588
ef257b36 36589 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36590 width glyphs.
36591
3e643f8c 365922009-01-19 Robert Millan <rmh@aybabtu.com>
36593
36594 * config.guess: Update to latest version from config git.
36595 * config.sub: Likewise.
36596
4fa80998 365972009-01-17 Felix Zielcke <fzielcke@z-51.de>
36598
36599 * Makefile.in: Change font compilation to use new grub-mkfont instead
36600 of java version.
36601
36602 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36603 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36604 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36605 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36606 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36607 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36608 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36609 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36610 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36611
7086085b 366122009-01-16 Christian Franke <franke@computer.org>
36613
36614 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36615 (enum grub_ata_timeout_milliseconds): New enum.
36616 (grub_ata_wait_status): Add parameter milliseconds.
36617 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36618 recovery from timed-out commands.
36619 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36620 return grub_errno instead of REG_ERROR.
36621 (grub_ata_pio_write): Add parameter milliseconds.
36622 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36623 Pass milliseconds to grub_ata_wait_status () and
36624 grub_ata_pio_read ().
36625 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36626 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36627 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36628 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36629 It is not suitable for device detection, because DEV bit is ignored,
36630 the command may run too long, and not all devices set the signature
36631 properly.
36632 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36633 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36634 Fix device selection, DEV bit must be set first to address the registers
36635 of the correct device.
36636 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36637 grub_ata_pio_read/write ().
36638 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36639 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36640
4a412913 366412009-01-13 Carles Pina i Estany <carles@pina.cat>
36642
36643 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36644
7795c55e 366452009-01-13 Bean <bean123ch@gmail.com>
d913988c 36646
36647 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36648
7795c55e 366492009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36650
36651 * Makefile.in: (enable_grub_mkfont): New variable.
36652 (freetype_cflags): Likewise.
36653 (freetype_libs): Likewise.
36654
36655 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36656 (grub_mkfont_SOURCES): New variable.
36657 (grub_mkfont_CFLAGS): Likewise.
36658 (grub_mkfont_LDFLAGS): Likewise.
36659
36660 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36661 library if `--enable-grub-mkfont' is requested.
36662 (enable_grub_mkfont): New variable.
36663 (freetype_cflags): Likewise.
36664 (freetype_libs): Likewise.
36665
36666 * util/grub-mkfont.c: New file.
36667
093af1fe 366682009-01-12 Christian Franke <franke@computer.org>
36669
36670 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36671 mode check. Fix setting of compat_use[].
36672
f36cc108 366732009-01-10 Robert Millan <rmh@aybabtu.com>
36674
36675 Update a few copyright years which we forgot to do in 2008 (only for
36676 files whose changes made in 2008 were copyright-significant)
36677
36678 * Makefile.in: Add 2008 to Copyright line.
36679 * disk/ieee1275/ofdisk.c: Likewise.
36680 * disk/efi/efidisk.c: Likewise.
36681 * kern/dl.c: Likewise.
36682 * kern/sparc64/ieee1275/init.c: Likewise.
36683 * kern/mm.c: Likewise.
36684 * kern/efi/mm.c: Likewise.
36685 * boot/i386/pc/boot.S: Likewise.
36686 * genfslist.sh: Likewise.
36687 * fs/iso9660.c: Likewise.
36688 * fs/hfs.c: Likewise.
36689 * fs/jfs.c: Likewise.
36690 * fs/minix.c: Likewise.
36691 * fs/ufs.c: Likewise.
36692 * gensymlist.sh.in: Likewise.
36693 * genkernsyms.sh.in: Likewise.
36694 * include/grub/misc.h: Likewise.
36695 * include/grub/types.h: Likewise.
36696 * include/grub/symbol.h: Likewise.
36697 * include/grub/elf.h: Likewise.
36698 * include/grub/kernel.h: Likewise.
36699 * include/grub/disk.h: Likewise.
36700 * include/grub/dl.h: Likewise.
36701 * include/grub/i386/linux.h: Likewise.
36702 * include/grub/i386/pc/biosdisk.h: Likewise.
36703 * include/grub/efi/api.h: Likewise.
36704 * include/grub/efi/pe32.h: Likewise.
36705 * include/grub/util/misc.h: Likewise.
36706 * normal/execute.c: Likewise.
36707 * normal/arg.c: Likewise.
36708 * normal/completion.c: Likewise.
36709 * normal/lexer.c: Likewise.
36710 * normal/parser.y: Likewise.
36711 * normal/misc.c: Likewise.
36712 * commands/i386/pc/vbeinfo.c: Likewise.
36713 * commands/hexdump.c: Likewise.
36714 * commands/terminal.c: Likewise.
36715 * commands/ls.c: Likewise.
36716 * commands/help.c: Likewise.
36717 * partmap/pc.c: Likewise.
36718 * loader/efi/chainloader.c: Likewise.
36719 * loader/multiboot_loader.c: Likewise.
36720 * loader/i386/pc/multiboot2.c: Likewise.
36721 * term/efi/console.c: Likewise.
36722 * term/i386/pc/serial.c: Likewise.
36723 * util/lvm.c: Likewise.
36724 * util/console.c: Likewise.
36725 * util/i386/efi/grub-mkimage.c: Likewise.
36726 * util/raid.c: Likewise.
36727
7f02114b 367282009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36729
36730 * commands/videotest.c: Removed include to grub/machine/memory.h.
36731
36732 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36733 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36734 (video_mod_SOURCES): Removed.
36735 (video_mod_CFLAGS): Likewise.
36736 (video_mod_LDFLAGS): Likewise.
36737 (gfxterm_mod_SOURCES): Likewise.
36738 (gfxterm_mod_CFLAGS): Likewise.
36739 (gfxterm_mod_LDFLAGS): Likewise.
36740 (videotest_mod_SOURCES): Likewise.
36741 (videotest_mod_CFLAGS): Likewise.
36742 (videotest_mod_LDFLAGS): Likewise.
36743 (bitmap_mod_SOURCES): Likewise.
36744 (bitmap_mod_CFLAGS): Likewise.
36745 (bitmap_mod_LDFLAGS): Likewise.
36746 (tga_mod_SOURCES): Likewise.
36747 (tga_mod_CFLAGS): Likewise.
36748 (tga_mod_LDFLAGS): Likewise.
36749 (jpeg_mod_SOURCES): Likewise.
36750 (jpeg_mod_CFLAGS): Likewise.
36751 (jpeg_mod_LDFLAGS): Likewise.
36752 (png_mod_SOURCES): Likewise.
36753 (png_mod_CFLAGS): Likewise.
36754 (png_mod_LDFLAGS): Likewise.
36755
36756 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36757 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36758 (video_mod_SOURCES): Added.
36759 (video_mod_CFLAGS): Likewise.
36760 (video_mod_LDFLAGS): Likewise.
36761 (videotest_mod_SOURCES): Likewise.
36762 (videotest_mod_CFLAGS): Likewise.
36763 (videotest_mod_LDFLAGS): Likewise.
36764 (bitmap_mod_SOURCES): Likewise.
36765 (bitmap_mod_CFLAGS): Likewise.
36766 (bitmap_mod_LDFLAGS): Likewise.
36767 (tga_mod_SOURCES): Likewise.
36768 (tga_mod_CFLAGS): Likewise.
36769 (tga_mod_LDFLAGS): Likewise.
36770 (jpeg_mod_SOURCES): Likewise.
36771 (jpeg_mod_CFLAGS): Likewise.
36772 (jpeg_mod_LDFLAGS): Likewise.
36773 (png_mod_SOURCES): Likewise.
36774 (png_mod_CFLAGS): Likewise.
36775 (png_mod_LDFLAGS): Likewise.
36776 (gfxterm_mod_SOURCES): Likewise.
36777 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36778 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36779
36780 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36781 grub/machine/console.h.
36782
644fff97 367832009-01-04 Jerone Young <jerone@gmail.com>
36784
36785 Make on screen instructions clearer
36786
36787 Based on patch created by Jidanni <jidanni@jidanni.org>
36788
36789 * normal/menu.c: print clearer instructions on the screen
36790
1e901a75 367912009-01-02 Colin D Bennett <colin@gibibit.com>
36792
36793 New font engine.
34c44600 36794
1e901a75 36795 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36796 build system and fixed gfxterm.c to work with different sized fonts.
36797
36798 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36799
1e901a75 36800 * configure: Re-generated.
34c44600 36801
1e901a75 36802 * DISTLIST: Removed font/manager.c.
36803 Added font/font.c.
36804 Added font/font_cmd.c.
34c44600 36805
1e901a75 36806 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36807 compilation.
34c44600 36808
1e901a75 36809 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36810
36811 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36812
36813 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36814
1e901a75 36815 * normal/menu.c: Likewise.
34c44600 36816
1e901a75 36817 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36818 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36819
1e901a75 36820 * include/grub/font.h: Replaced with new file.
34c44600 36821
1e901a75 36822 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36823 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36824 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36825 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36826 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36827 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36828 fg_red, fg_green, fg_blue, fg_alpha.
36829 (grub_video_adapter): Removed blit_glyph.
34c44600 36830 (grub_video_blit_glyph): Removed.
36831
1e901a75 36832 * font/manager.c: Removed file.
34c44600 36833
36834 * font/font.c: New file.
36835
1e901a75 36836 * font/font_cmd.c: Likewise.
34c44600 36837
1e901a75 36838 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36839
1e901a75 36840 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36841 (grub_video_vbe_map_rgba): Likewise.
36842 (grub_video_vbe_unmap_color_int): Likewise.
36843 (grub_video_vbe_blit_glyph): Removed.
36844 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36845
1e901a75 36846 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36847 (get_pixel): Likewise.
34c44600 36848 (set_pixel): Likewise.
36849
1e901a75 36850 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36851
1e901a75 36852 * term/gfxterm.c: Adapted to new font engine.
34c44600 36853
1e901a75 36854 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36855
1e901a75 36856 * term/i386/pc/vga.c: Likewise.
34c44600 36857
1e901a75 36858 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36859
1e901a75 36860 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36861
1e901a75 36862 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36863
1e901a75 36864 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36865
1e901a75 36866 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36867
1e901a75 36868 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36869
1e901a75 36870 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36871
1e901a75 36872 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36873
1e901a75 36874 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36875
36876 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36877
1e901a75 36878 * util/grub-mkconfig_lib.in: Changed font extension.
36879
278922e8 368802008-12-28 Felix Zielcke <fzielcke@z-51.de>
36881
36882 * util/getroot.c (grub_util_get_grub_dev): Add support for
36883 /dev/md/dNNpNN style partitionable mdraid devices.
36884
3ced05cf 368852008-12-12 Alex Smith <alex@alex-smith.me.uk>
36886
36887 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36888 at a time limit of the PXE TFTP API correctly.
36889 (grub_pxefs_close): Likewise.
36890
7fd0ee30 368912008-11-29 Robert Millan <rmh@aybabtu.com>
36892
34c44600 36893 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36894 grub_ata_device_initialize() calls.
36895
34c44600 368962008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36897
36898 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36899 iteration failed.
36900 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36901
89313780 369022008-11-28 Robert Millan <rmh@aybabtu.com>
36903
36904 Fix build on powerpc-ieee1275. Based on patch created by
36905 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36906 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36907 `kern/ieee1275/mmap.c'.
36908 * include/grub/powerpc/ieee1275/memory.h: New file.
36909
15257703 36910 Provide grub-install on coreboot.
36911 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36912 (grub_install_SOURCES): New variable.
36913 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36914 usable on coreboot.
36915
9fc5388a 369162008-11-25 Felix Zielcke <fzielcke@z-51.de>
36917
36918 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36919 to `grub_term_input_t'.
36920 (grub_term_get_current_output): Change return type to
36921 `grub_term_output_t'.
36922
bc3a2f31 369232008-11-22 Robert Millan <rmh@aybabtu.com>
36924
34c44600 36925 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36926 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36927 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36928 grub_vga_text_cls().
36929
80fc88f2 36930 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36931 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36932
cbf36fd3 36933 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36934 to 0x200000 (avoids trouble with some OFW implementations, and matches
36935 with the one in Yaboot).
36936 Reported by Manoel Abranches
36937
73e8e268 369382008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36939
36940 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36941 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36942
73e8e268 36943 * util/grub-mkconfig_lib.in (grub_warn): New function.
36944 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36945 warnings, to obtain consistent formatting.
36946 * util/grub.d/00_header.in: Likewise.
36947 * util/update-grub_lib.in: Likewise.
36948
e94045a1 36949 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36950 Move comment text to `#error' stanza.
e94045a1 36951
79d29fd7 36952 Harmonize ieee1275's grub_available_iterate() with the generic
36953 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36954 build problem on i386-ieee1275):
36955 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36956 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36957 parameter `type'. Update all users of this function.
36958 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36959 `kern/ieee1275/mmap.c'.
36960 * kern/ieee1275/init.c
36961 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36962 with ...
36963 (grub_machine_mmap_iterate): ... this.
36964 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36965 return type to `grub_err_t'. Update all implementations of this
36966 function prototype.
36967 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36968 Likewise.
36969
60d6b16e 36970 Add `lsmmap' command (lists firmware-provided memory map):
36971 * commands/lsmmap.c: New file.
36972 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36973 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36974 variables.
36975 * conf/powerpc-ieee1275.rmk: Likewise.
36976 * conf/i386-coreboot.rmk: Likewise.
36977 * conf/i386-ieee1275.rmk: Likewise.
36978
ebaaf49b 369792008-11-19 Robert Millan <rmh@aybabtu.com>
36980
36981 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36982 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36983 constraints to initrd allocation (based on code from
36984 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36985 for Linux to find it.
ebaaf49b 36986
dfab719f 369872008-11-14 Robert Millan <rmh@aybabtu.com>
36988
36989 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36990 order to cope with duplicate slashes.
36991
10fc3eb9 369922008-11-14 Robert Millan <rmh@aybabtu.com>
36993
36994 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36995 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36996 don't want to mess with lower memory, because it is used in the Linux
36997 loader.
36998
36999 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37000 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37001 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37002 is in our heap (probably as a result of it being corrupted during
2f2a3442 37003 decompression). Add #error instance with comment to explain why this
37004 loader isn't currently usable on PC/BIOS.
10fc3eb9 37005
e2e07847 370062008-11-14 Robert Millan <rmh@aybabtu.com>
37007
37008 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37009 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37010
fe8e8d69 370112008-11-12 Robert Millan <rmh@aybabtu.com>
37012
37013 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37014
37015 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37016 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37017 from here ...
37018 * include/grub/i386/pc/memory.h: ... to here.
37019
976b07d0 370202008-11-12 Robert Millan <rmh@aybabtu.com>
37021
37022 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37023 split).
37024
37025 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37026 (grub_console_cur_color, grub_console_real_putchar)
37027 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37028 (grub_console_setcolorstate, grub_console_setcolor)
37029 (grub_console_getcolor): Move from here ...
37030 * include/grub/i386/vga_common.h: ... to here (new file).
37031
37032 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37033 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37034 `<grub/i386/io.h>'.
37035 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37036 `<grub/i386/vga_common.h>'.
37037
76679cd3 370382008-11-12 Robert Millan <rmh@aybabtu.com>
37039
37040 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37041 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37042 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37043 variables.
37044 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37045 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37046
37047 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37048 grub_console_init() with call to grub_vga_text_init().
37049 (grub_machine_fini): Replace call to
37050 grub_console_fini() with call to grub_vga_text_fini() and
37051 grub_at_keyboard_fini().
37052
37053 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37054 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37055 (grub_console_setcolorstate, grub_console_setcolor)
37056 (grub_console_getcolor): New function prototypes.
37057
37058 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37059 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37060 (grub_vga_text_setcursor): Static-ize.
37061 (grub_vga_text_term): New structure.
37062 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37063
37064 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37065 (grub_console_cur_color, grub_console_standard_color)
37066 (grub_console_normal_color, grub_console_highlight_color)
37067 (map_char, grub_console_putchar, grub_console_getcharwidth)
37068 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37069 (grub_console_getcolor): Move from here ...
37070 * term/i386/vga_common.c: ... to here (same function names).
37071
95b841d3 370722008-11-12 Robert Millan <rmh@aybabtu.com>
37073
37074 Use newly-added Multiboot support in coreboot.
37075
37076 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37077 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37078
37079 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37080 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37081 (codestart): Store the MBI in `startup_multiboot_info' when we're
37082 being loaded using Multiboot.
37083
37084 * kern/i386/coreboot/init.c (grub_machine_init): Move
37085 grub_at_keyboard_init() call to beginning of function (useful for
37086 debugging). Call grub_machine_mmap_init() before attempting to use
37087 grub_machine_mmap_iterate().
37088 (grub_lower_mem, grub_upper_mem): Move from here ...
37089 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37090 here (new file).
37091
37092 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37093 function prototype.
37094
761ca975 370952008-11-12 Robert Millan <rmh@aybabtu.com>
37096
37097 Fix a regression introduced by the at_keyboard.mod split. Because
37098 some terminals are default on some platforms and non-default on
37099 others, the first terminal being registered determines which is
37100 going to be default.
37101
37102 * kern/term.c (grub_term_register_input): If this is the first
37103 terminal being registered, set it as the current one.
37104 (grub_term_register_output): Likewise.
37105
37106 * term/efi/console.c (grub_console_init): Do not call
37107 grub_term_set_current_output() or grub_term_set_current_input().
37108 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37109 * term/i386/pc/console.c (grub_console_init): Likewise.
37110 (grub_console_fini): Do not call grub_term_set_current_input()
37111 (but leave grub_term_set_current_output() to restore text mode).
37112
6c529df7 371132008-11-10 Robert Millan <rmh@aybabtu.com>
37114
37115 * util/grub.d/00_header.in: Add backward compatibility check for
37116 versions of terminal.mod that don't understand `terminal_input' or
37117 `terminal_output'.
37118
132e4113 371192008-11-09 Robert Millan <rmh@aybabtu.com>
37120
37121 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37122 `terminal_input' / `terminal_output', not `terminal'.
37123
ac293d50 371242008-11-08 Robert Millan <rmh@aybabtu.com>
37125
37126 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37127 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37128
0025933a 371292008-11-08 Robert Millan <rmh@aybabtu.com>
37130
37131 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37132 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37133 members. Update all users.
37134 * util/console.c (grub_ncurses_term): Split in ...
37135 (grub_ncurses_term_input): ... this, and ...
37136 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37137 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37138
37c86336 371392008-11-08 Robert Millan <rmh@aybabtu.com>
37140
37141 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37142 (PKGDATA): Add $(pkgdata_SRCDIR).
37143 (pkglib_BUILDDIR): New variable.
37144 (pkgdata_SRCDIR): New variable.
37145 (build_env.mk): New target.
37146 (include_DATA): New variable.
37147 (install-local): Install $(include_DATA) files in $(includedir).
37148
b6c15a2d 371492008-11-07 Pavel Roskin <proski@gnu.org>
37150
d99d46f1 37151 * gendistlist.sh: Use C locale for sorting to ensure consistent
37152 output on all systems.
37153
b6c15a2d 37154 * util/grub.d/00_header.in: Remove incorrect space before
37155 "serial".
37156
c32ee8c9 371572008-11-07 Robert Millan <rmh@aybabtu.com>
37158
37159 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37160 per specification.
37161 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37162 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37163 (based on find_multi_boot1_header).
37164 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37165 using find_multi_boot2_header(), and abort if neither Multiboot or
37166 Multiboot headers were found.
37167
651c29b7 371682008-11-07 Robert Millan <rmh@aybabtu.com>
37169
37170 Modularize at_keyboard.mod:
37171
37172 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37173 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37174 (at_keyboard_mod_LDFLAGS): New variables.
37175
37176 Actual terminal split:
37177
37178 * include/grub/term.h (struct grub_term): Split in ...
37179 (struct grub_term_input): ... this, and ...
37180 (struct grub_term_output): ... this. Update all users.
37181 (grub_term_set_current): Split in ...
37182 (grub_term_set_current_input): ... this, and ...
37183 (grub_term_set_current_output): ... this.
37184 (grub_term_get_current): Split in ...
37185 (grub_term_get_current_input): ... this, and ...
37186 (grub_term_get_current_output): ... this.
37187 (grub_term_register): Split in ...
37188 (grub_term_register_input): ... this, and ...
37189 (grub_term_register_output): ... this.
37190 (grub_term_unregister): Split in ...
37191 (grub_term_unregister_input): ... this, and ...
37192 (grub_term_unregister_output): ... this.
37193 (grub_term_iterate): Split in ...
37194 (grub_term_iterate_input): ... this, and ...
37195 (grub_term_iterate_output): ... this.
37196
37197 * kern/term.c (grub_term_list): Split in ...
37198 (grub_term_list_input): ... this, and ...
37199 (grub_term_list_output): ... this. Update all users.
37200 (grub_cur_term): Split in ...
37201 (grub_cur_term_input): ... this, and ...
37202 (grub_cur_term_output): ... this. Update all users.
37203 (grub_term_set_current): Split in ...
37204 (grub_term_set_current_input): ... this, and ...
37205 (grub_term_set_current_output): ... this.
37206 (grub_term_get_current): Split in ...
37207 (grub_term_get_current_input): ... this, and ...
37208 (grub_term_get_current_output): ... this.
37209 (grub_term_register): Split in ...
37210 (grub_term_register_input): ... this, and ...
37211 (grub_term_register_output): ... this.
37212 (grub_term_unregister): Split in ...
37213 (grub_term_unregister_input): ... this, and ...
37214 (grub_term_unregister_output): ... this.
37215 (grub_term_iterate): Split in ...
37216 (grub_term_iterate_input): ... this, and ...
37217 (grub_term_iterate_output): ... this.
37218
37219 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37220 a check for input and one for output (and only attempt to get keys
37221 from user when input works).
37222
37223 * util/grub-probe.c (grub_term_get_current): Split in ...
37224 (grub_term_get_current_input): ... this, and ...
37225 (grub_term_get_current_output): ... this.
37226 * util/grub-fstest.c: Likewise.
37227 * util/i386/pc/grub-setup.c: Likewise.
37228 * util/grub-editenv.c: Likewise.
37229
37230 Portability adjustments:
37231
37232 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37233 `term/i386/pc/at_keyboard.c'.
37234 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37235 grub_keyboard_controller_init() (now handled by terminal .init).
37236 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37237 grub_at_keyboard_init().
37238 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37239 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37240 at_keyboard.mod via input terminal interface).
37241 * include/grub/i386/coreboot/console.h: Convert into a stub for
37242 `<grub/i386/pc/console.h>'.
37243
37244 Migrate full terminals to new API:
37245
37246 * term/efi/console.c (grub_console_term): Split into ...
37247 (grub_console_term_input): ... this, and ...
37248 (grub_console_term_output): ... this. Update all users.
37249 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37250 (grub_ofconsole_init): Split into ...
37251 (grub_ofconsole_init_input): ... this, and ...
37252 (grub_ofconsole_init_output): ... this.
37253 (grub_ofconsole_term): Split into ...
37254 (grub_ofconsole_term_input): ... this, and ...
37255 (grub_ofconsole_term_output): ... this. Update all users.
37256 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37257 (grub_serial_term_input): ... this, and ...
37258 (grub_serial_term_output): ... this. Update all users.
37259 * term/i386/pc/console.c (grub_console_term): Split into ...
37260 (grub_console_term_input): ... this, and ...
37261 (grub_console_term_output): ... this. Update all users.
37262 (grub_console_term_input): Only enable it on PC/BIOS platform.
37263 (grub_console_init): Remove grub_keyboard_controller_init() call.
37264
37265 Migrate input terminals to new API:
37266
37267 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37268 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37269 i386-specific anyway).
37270 (grub_console_checkkey): Rename to ...
37271 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37272 users.
37273 (grub_keyboard_controller_orig): New variable.
37274 (grub_console_getkey): Rename to ...
37275 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37276 users.
37277 (grub_keyboard_controller_init): Static-ize. Save original
37278 controller value so that it can be restored ...
37279 (grub_keyboard_controller_fini): ... here (new function).
37280 (grub_at_keyboard_term): New structure.
37281 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37282 functions.
37283
37284 Migrate output terminals to new API:
37285
37286 * term/i386/pc/vga.c (grub_vga_term): Change type to
37287 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37288 members. Update all users.
37289 * term/gfxterm.c (grub_video_term): Change type to
37290 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37291 members. Update all users.
37292 * include/grub/i386/pc/console.h (grub_console_checkkey)
37293 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37294 etc).
37295
37296 Migrate `terminal' command and userland tools to new API:
37297
37298 * commands/terminal.c (grub_cmd_terminal): Split into ...
37299 (grub_cmd_terminal_input): ... this, and ...
37300 (grub_cmd_terminal_output): ... this.
37301 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37302 `terminal_input' and `terminal_output'.
37303 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37304 `terminal_input' / `terminal_output' API.
37305 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37306 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37307 provided ${GRUB_TERMINAL}, convert it).
37308
96e5d876 373092008-11-04 Robert Millan <rmh@aybabtu.com>
37310
37311 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37312 for FreeBSD.
37313 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37314
556f3775 373152008-11-03 Bean <bean123ch@gmail.com>
37316
37317 * kern/elf.c (grub_elf32_load): Revert to previous code.
37318 (grub_elf64_load): Likewise.
37319
37320 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37321
926b9823 373222008-11-01 Robert Millan <rmh@aybabtu.com>
37323
37324 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37325 (TARGET_CPPFLAGS): Likewise.
37326 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37327
1432e958 373282008-11-01 Carles Pina i Estany <carles@pina.cat>
37329
37330 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37331
dba3f844 373322008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37333
37334 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37335 addition of objects until the code is not going to be able to fail.
37336
dba3f844 373372008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37338
37339 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37340 (add a missing NULL check, and correct them by moving the pointer
37341 operations after the actual check).
37342
7ab28c21 373432008-10-29 Robert Millan <rmh@aybabtu.com>
37344
37345 * util/i386/pc/grub-install.in: Handle empty string as output from
37346 make_system_path_relative_to_its_root().
37347
1b7748eb 373482008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37349
37350 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37351 circular metadata worst case scenario. If the metadata is circular
37352 then copy the wrap in place.
37353 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37354 project lib/format_text/layout.h
37355 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37356
c9618ab2 373572008-10-03 Felix Zielcke <fzielcke@z-51.de>
37358
7a36edca 37359 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37360
bf981c62 373612008-10-03 Felix Zielcke <fzielcke@z-51.de>
37362
37363 * util/update-grub_lib.in: Mention filename in warning message.
37364
6d994591 373652008-09-29 Felix Zielcke <fzielcke@z-51.de>
37366
37367 * NEWS: Update for rename of update-grub to grub-mkconfig.
37368
18ade780 373692008-09-29 Felix Zielcke <fzielcke@z-51.de>
37370
37371 * util/update-grub_lib.in: Copy to ...
37372 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37373 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37374 * util/update-grub.in: Rename to ...
37375 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37376 option. Add `--output' option to allow users to specify the generated
37377 configuration file. Default to stdout.
37378 (update_grub_dir): Rename to ...
37379 (grub_mkconfig_dir): ... this.
37380 (grub_cfg): Default to an empty string.
37381 * conf/common.rmk (update-grub): Rename to ...
37382 (grub-mkconfig): ... this.
37383 (update-grub_lib): Copy to ...
37384 (grub-mkconfig_lib): ... this.
37385 (update-grub_SCRIPTS): Copy to ...
37386 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37387 (update-grub_DATA): Rename to ...
37388 (grub-mkconfig_DATA): ... this.
37389
556ce6ac 373902008-09-28 Robert Millan <rmh@aybabtu.com>
37391
37392 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37393 to `modified'. Add the real `created' field.
37394 (grub_iso9660_uuid): Use `modified' rather than `created' for
37395 constructing the UUID.
37396
373972008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37398
37399 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37400 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37401
92274e85 374022008-09-28 Bean <bean123ch@gmail.com>
37403
37404 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37405 Thanks to Christian Franke for finding this bug.
37406
add6f17a 374072008-09-25 Robert Millan <rmh@aybabtu.com>
37408
37409 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37410 instances of grub_util_get_disk_name() (see previous commit).
37411
d2a367b8 374122008-09-25 Robert Millan <rmh@aybabtu.com>
37413
37414 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37415 `util/i386/get_disk_name.c'.
37416 * conf/i386-efi.rmk: Likewise.
37417 * conf/x86_64-efi.rmk: Likewise.
37418 * conf/i386-coreboot.rmk: Likewise.
37419 * conf/i386-ieee1275.rmk: Likewise.
37420 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37421 `util/ieee1275/get_disk_name.c'.
37422 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37423 * util/ieee1275/get_disk_name.c: Remove file.
37424 * util/i386/get_disk_name.c: Remove file.
37425 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37426 "hd%d" for device.map entries, rather than using
37427 grub_util_get_disk_name().
37428
81a06771 374292008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37430
37431 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37432 warning.
37433 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37434
5a004279 374352008-09-24 Carles Pina i Estany <carles@pina.cat>
37436
37437 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37438 Changed to 0x5100.
37439 (GRUB_TERM_PPAGE): Changed to 0x4900.
37440
397093d3 374412008-09-24 Robert Millan <rmh@aybabtu.com>
37442
37443 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37444 macros (they were i386-pc specific).
37445 * include/grub/sparc64/ieee1275/console.h: Likewise.
37446 * include/grub/efi/console.h: Likewise.
37447
a91b6c7c 374482008-09-22 Bean <bean123ch@gmail.com>
37449
37450 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37451 resident and in attribute list.
37452
37453 * include/grub/ntfs.h (BMP_LEN): Removed.
37454
c40fd116 374552008-09-22 Bean <bean123ch@gmail.com>
37456
81a06771 37457 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37458 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37459
37460 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37461 error occurs, as grub_disk_open will call grub_disk_close, which will
37462 call p->close (scsi).
37463
81a06771 374642008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37465
37466 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37467 (AC_PREREQ): Bumped to 2.59.
37468 (AC_TRY_COMPILE): Replace obsolete macro with ...
37469 (AC_COMPILE_IFELSE): ... this.
37470 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37471 (AC_LINK_IFELSE): ... this.
37472
5dc43410 374732008-09-21 Felix Zielcke <fzielcke@z-51.de>
37474
37475 * autogen.sh: Add a call to `gendistlist.sh'.
37476
9035dce4 374772008-09-19 Christian Franke <franke@computer.org>
37478
37479 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37480 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37481 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37482 Export __enable_execute_stack() to modules.
37483 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37484 New function.
37485
7fd75377 374862008-09-09 Felix Zielcke <fzielcke@z-51.de>
37487
040030b3 37488 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37489 Sort the list.
37490
374912008-09-09 Felix Zielcke <fzielcke@z-51.de>
37492
37493 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37494 #include <grub/util/hostdisk.h>.
37495
89d5ffcf 374962008-09-08 Robert Millan <rmh@aybabtu.com>
37497
37498 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37499 segments when their filesz is zero (grub_file_read() interprets
81a06771 37500 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37501 Use `lowest_segment' rather than 0 for calculating the current
37502 segment load address.
37503
40da438f 375042008-09-08 Robert Millan <rmh@aybabtu.com>
37505
37506 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37507 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37508 clobbered useful information.
37509
ddbf5556 375102008-09-08 Robert Millan <rmh@aybabtu.com>
37511
37512 * include/grub/util/biosdisk.h: Move to ...
37513 * include/grub/util/hostdisk.h: ... here. Update all users.
37514 * util/biosdisk.c: Move to ...
37515 * util/hostdisk.c: ... here. Update all users.
37516
783d0f48 375172008-09-07 Robert Millan <rmh@aybabtu.com>
37518
37519 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37520 variables.
37521 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37522 and length can be stored directly in the `mbi->mmap_addr' and
37523 `mbi->mmap_length' struct fields.
37524
548e2ea5 375252008-09-07 Robert Millan <rmh@aybabtu.com>
37526
37527 * conf/i386.rmk: New file. Provides declaration for building
37528 `cpuid.mod'.
37529 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37530 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37531 variables.
37532 Include `conf/i386.mk'.
37533 * conf/i386-efi.rmk: Likewise.
37534 * conf/x86_64-efi.rmk: Likewise.
37535 * conf/i386-coreboot.rmk: Likewise.
37536 * conf/i386-ieee1275.rmk: Likewise.
37537
0ea85a37 375382008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37539
37540 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37541 Adds optimization support for BGR based modes.
37542
37543 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37544 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37545 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37546 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37547 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37548 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37549 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37550 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37551 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37552 (grub_video_i386_vbeblit_index_index): Likewise.
37553 (grub_video_i386_vbeblit_replace_directN): Added.
37554 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37555 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37556 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37557 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37558 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37559 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37560 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37561 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37562 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37563 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37564 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37565 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37566 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37567
37568 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37569 (grub_video_i386_vbefill_R8G8B8): Likewise.
37570 (grub_video_i386_vbefill_index): Likewise.
37571 (grub_video_i386_vbefill_direct32): Added.
37572 (grub_video_i386_vbefill_direct24): Likewise.
37573 (grub_video_i386_vbefill_direct16): Likewise.
37574 (grub_video_i386_vbefill_direct8): Likewise.
37575
81a06771 37576 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37577 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37578 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37579 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37580 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37581 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37582
0ea85a37 37583 * video/video.c (grub_video_get_blit_format): Updated to use new
37584 blit formats. Added handling for 16 bit color modes.
81a06771 37585
37586 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37587 fillers.
37588 (common_blitter): Updated to use new blitters.
37589
37590 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37591 Removed.
37592 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37593 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37595 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37596 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37597 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37598 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37599 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37600 (grub_video_i386_vbeblit_index_index): Likewise.
37601 (grub_video_i386_vbeblit_replace_directN): Added.
37602 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37603 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37604 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37605 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37606 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37607 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37608 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37609 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37610 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37611 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37612 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37613 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37614 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37615
0ea85a37 37616 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37617 (grub_video_i386_vbefill_R8G8B8): Likewise.
37618 (grub_video_i386_vbefill_index): Likewise.
37619 (grub_video_i386_vbefill_direct32): Added.
37620 (grub_video_i386_vbefill_direct24): Likewise.
37621 (grub_video_i386_vbefill_direct16): Likewise.
37622 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37623
0ea85a37 37624 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37625 types.
81a06771 37626
0ea85a37 37627 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37628 types.
81a06771 37629
0ea85a37 37630 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37631 blitter types.
81a06771 37632
0ea85a37 37633 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37634 types.
37635
e8a83df6 376362008-09-06 Felix Zielcke <fzielcke@z-51.de>
37637
37638 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37639 RAID level 1.
37640
6bcd8ee5 376412008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37642
6bcd8ee5 37643 * fs/iso9660.c (grub_iso9660_date): New structure.
37644 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37645 (grub_iso9660_uuid): New function.
c375ae58 37646
59261157 376472008-09-05 Bean <bean123ch@gmail.com>
37648
37649 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37650
37651 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37652 insensitive bit for names in Win32 and Win32 & DOS namespace.
37653
37654 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37655
37656 * include/grub/types.h (LONG_MAX): Likewise.
37657
58b6645a 376582008-09-04 Felix Zielcke <fzielcke@z-51.de>
37659
4ee55921 37660 * util/getroot.c: Include <config.h>.
37661 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37662 add support for /dev/md/N devices and handle LVM double dash escaping.
37663
376642008-09-04 Felix Zielcke <fzielcke@z-51.de>
37665
37666 * config.guess: Update to latest version from config git.
37667 * config.sub: Likewise.
58b6645a 37668
9124f65d 376692008-09-03 Robert Millan <rmh@aybabtu.com>
37670
37671 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37672 `disk->total_sectors'.
37673
81a06771 376742008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37675
37676 * include/grub/normal.h: Fixed incorrect comment for
37677 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37678
81a06771 376792008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37680
37681 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37682 values with defines.
37683
37684 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37685 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37686 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37687 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37688 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37689 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37690 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37691 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37692 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37693 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37694 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37695 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37696 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37697 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37698 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37699 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37700 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37701 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37702 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37703
93d5cbf8 377042008-08-31 Robert Millan <rmh@aybabtu.com>
37705
37706 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37707 declaration.
37708 (grub_multiboot): Fix a few warnings.
37709
21751d50 377102008-08-31 Robert Millan <rmh@aybabtu.com>
37711
37712 * loader/i386/pc/multiboot.c: Update comment not to say that
37713 boot_device support is unimplemented.
37714
e27a75c5 377152008-08-31 Robert Millan <rmh@aybabtu.com>
37716
37717 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37718 or memory map support are unimplemented.
37719
81a06771 377202008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37721
37722 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37723
81a06771 377242008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37725
37726 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37727 total video memory in 'vbeinfo' output; show color format details for
37728 each video mode.
37729
7c5d8d95 377302008-08-30 Pavel Roskin <proski@gnu.org>
37731
37732 * util/genmoddep.c: Remove for real this time.
37733 * DISTLIST: Remove util/genmoddep.c.
37734
4cebd25a 377352008-08-30 Robert Millan <rmh@aybabtu.com>
37736
37737 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37738 as required by Multiboot spec (it was already 4-byte aligned, but
37739 only by chance).
37740
b497a269 377412008-08-29 Pavel Roskin <proski@gnu.org>
37742
e3925185 37743 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37744 * kern/powerpc/ieee1275/startup.S: ... this.
37745 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37746 * DISTLIST: Likewise.
37747
b497a269 37748 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37749 grub/cpu/kernel.h. Add start label for consistency with other
37750 platforms. Add grub_prefix immediately after start. Add jump
37751 to the code after grub_prefix.
37752 * include/grub/powerpc/kernel.h: Provide valid values for
37753 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37754
6e5a42fe 377552008-08-29 Bean <bean123ch@gmail.com>
37756
37757 * configure.ac: Change host_os to cygwin for mingw.
37758 (asprintf): New check for function.
37759
37760 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37761 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37762
37763 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37764 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37765 sync, sleep and grub_util_get_disk_size for mingw.
37766
37767 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37768 to get size in mingw.
37769 (open_device): Use flag O_BINARY if it's defined.
37770 (find_root_device): Add dummy code for mingw.
37771
37772 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37773 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37774 (get_scsi_disk_name): Return 0 for mingw.
37775
37776 * util/hostfs.c: #include <grub/util/misc.h>.
37777 (grub_hostfs_open): Use "rb" flag to open file, use
37778 grub_util_get_disk_size to get disk size for mingw.
37779
37780 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37781 (asprintf): New function if HAVE_ASPRINTF is not set.
37782 (sync): New function for mingw.
37783 (sleep): Likewise.
37784 (grub_util_get_disk_size): Likewise.
37785
ab3f2673 377862008-08-28 Pavel Roskin <proski@gnu.org>
37787
37788 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37789 kern/time.c.
37790
1c282483 377912008-08-28 Robert Millan <rmh@aybabtu.com>
37792
37793 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37794
678e849c 377952008-08-28 Robert Millan <rmh@aybabtu.com>
37796
37797 Change find_grub_drive() syntax so it doesn't prevent it from
37798 detecting NULL names as errors.
37799
37800 * util/biosdisk.c (find_grub_drive): Move free slot search code
37801 from here ...
37802 (find_free_slot): ... to here.
37803 (read_device_map): Use find_free_slot() to search for free slots.
37804
965c75ca 378052008-08-27 Marco Gerards <marco@gnu.org>
37806
37807 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37808 (scsi_mod_SOURCES): New variable.
37809 (scsi_mod_CFLAGS): Likewise
37810 (scsi_mod_LDFLAGS): Likewise.
37811
37812 * disk/scsi.c: New file.
37813
37814 * include/grub/scsi.h: Likewise.
37815
37816 * include/grub/scsicmd.h: Likewise.
37817
37818 * disk/ata.c: Include <grub/scsi.h>.
37819 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37820 instead.
37821 (grub_ata_iterate): Skip ATAPI devices.
37822 (grub_ata_open): Only handle ATAPI devices.
37823 (struct grub_atapi_read): Removed.
37824 (grub_atapi_readsector): Likewise.
37825 (grub_ata_read): No longer handle ATAPI devices.
37826 (grub_ata_write): Likewise.
37827 (grub_atapi_iterate): New function.
37828 (grub_atapi_read): Likewise.
37829 (grub_atapi_write): Likewise.
37830 (grub_atapi_open): Likewise.
37831 (grub_atapi_close): Likewise.
37832 (grub_atapi_dev): New variable.
37833 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37834 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37835
37836 * include/grub/disk.h (enum grub_disk_dev_id): Add
37837 `GRUB_DISK_DEVICE_SCSI_ID'.
37838
c07ae501 378392008-08-26 Robert Millan <rmh@aybabtu.com>
37840
37841 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37842 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37843 descriptive.
37844
5ed20adc 378452008-08-23 Bean <bean123ch@gmail.com>
37846
37847 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37848 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37849 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37850 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37851 dm_nv.mod.
37852 (raid5rec_mod_SOURCES): New macro.
37853 (raid5rec_mod_CFLAGS): Likewise.
37854 (raid5rec_mod_LDFLAGS): Likewise.
37855 (raid6rec_mod_SOURCES): Likewise.
37856 (raid6rec_mod_CFLAGS): Likewise.
37857 (raid6rec_mod_LDFLAGS): Likewise.
37858 (mdraid_mod_SOURCES): Likewise.
37859 (mdraid_mod_CFLAGS): Likewise.
37860 (mdraid_mod_LDFLAGS): Likewise.
37861 (dm_nv_mod_SOURCES): Likewise.
37862 (dm_nv_mod_CFLAGS): Likewise.
37863 (dm_nv_mod_LDFLAGS): Likewise.
37864
37865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37866 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37867 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37868
37869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37870 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37871
37872 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37873
37874 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37875
37876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37877
37878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37879
37880 * disk/raid5_recover.c: New file.
37881
37882 * disk/raid6_recover.c: Likewise.
37883
37884 * disk/mdraid_linux.c: Likewise.
37885
37886 * disk/dmraid_nvidia.c: Likewise.
37887
37888 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37889 ULONG_MAX.
37890
37891 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37892 calculate the size of raid device.
37893 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37894 different layout of raid5.
37895 (grub_raid_scan_device): Remove code specific to mdraid.
37896 (grub_raid_list): New variable.
37897 (free_array): New function.
37898 (grub_raid_register): Likewise.
37899 (grub_raid_unregister): Likewise.
37900 (grub_raid_rescan): Likewise.
37901 (GRUB_MOD_INIT): Don't iterate device here.
37902 (GRUB_MOD_FINI): Use free_array to release resource.
37903
37904 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37905 (grub_raid5_recover_func_t): New function variable type.
37906 (grub_raid6_recover_func_t): Likewise.
37907 (grub_raid5_recover_func): New variable.
37908 (grub_raid6_recover_func): Likewise.
37909 (grub_raid_register): New function.
37910 (grub_raid_unregister): Likewise.
37911 (grub_raid_rescan): Likewise.
37912 (grub_raid_block_xor): Likewise.
37913
37914 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37915 (CMD_CRC): New macro.
37916 (part): Removed.
37917 (read_file): Handle device as well as file.
37918 (cmd_crc): New function.
37919 (fstest): Handle multiple disks.
37920 (options): Remove part, raw and long, add root and diskcount.
37921 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37922 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37923 add handling for the new options, support multiple disks.
37924
37925 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37926
29c18915 379272008-08-23 Bean <bean123ch@gmail.com>
37928
37929 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37930
37931 * genfslist.sh: Ignore kernel.mod.
37932
37933 * genpartmaplist.sh: Likewise.
37934
8415f261 379352008-08-23 Robert Millan <rmh@aybabtu.com>
37936
37937 * util/getroot.c (find_root_device): Skip anything that starts with
37938 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37939
d5a7dc5b 379402008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37941
d5a7dc5b 37942 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37943 * util/grub.d/00_header.in: Allow the administrator to change default
37944 gfxmode via ${GRUB_GFXMODE}.
37945
380cfbb4 379462008-08-21 Felix Zielcke <fzielcke@z-51.de>
37947
37948 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37949
c9baafe7 379502008-08-21 Robert Millan <rmh@aybabtu.com>
37951
37952 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37953 loader.
37954 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37955 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37956
e290bef2 379572008-08-20 Carles Pina i Estany <carles@pina.cat>
37958
37959 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37960 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37961
f9dbfc96 379622008-08-19 Robert Millan <rmh@aybabtu.com>
37963
37964 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37965 (struct grub_virtual_screen): Remove `cursor_color'.
37966 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37967 initialization.
37968 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37969
dd6bd6ab 379702008-08-18 Robert Millan <rmh@aybabtu.com>
37971
37972 Unify (identical) linux_normal.c files.
37973 * loader/i386/efi/linux_normal.c: Move from here ...
37974 * loader/linux_normal.c: ... to here. Update all users.
37975 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37976 * loader/i386/ieee1275/linux_normal.c: Likewise.
37977
7f42f83e 379782008-08-18 Robert Millan <rmh@aybabtu.com>
37979
37980 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37981 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37982 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37983 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37984 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37985 New macros.
37986 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37987 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37988 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37989 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37990 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37991 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37992 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37993 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37994 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37995 portably using grub_getxy().
37996 Replace `-EFI' with `-bzImage' in boot message.
37997
38487ddb 379982008-08-17 Robert Millan <rmh@aybabtu.com>
37999
38000 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38001
deceb3ec 380022008-08-17 Robert Millan <rmh@aybabtu.com>
38003
38004 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38005
38006 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38007 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38008 (grub_machine_mmap_iterate): New function declaration.
38009 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38010 structure.
38011 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38012 macros.
38013
38014 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38015 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38016 Move e820 parsing from here ...
38017 * kern/i386/pc/mmap.c: New file.
38018 (grub_machine_mmap_iterate): ... to here.
38019
38020 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38021 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38022 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38023 (grub_available_iterate): Redeclare to return `void', and redeclare
38024 its hook to use grub_uint64_t as addr and size parameters, and rename
38025 to ...
38026 (grub_machine_mmap_iterate): ... this. Update all users.
38027
38028 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38029 to make it more readable. Rename to ...
38030 (grub_machine_mmap_iterate): ... this.
38031
38032 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38033 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38034 (grub_multiboot): Allocate an extra region after the payload, and fill
38035 it with a Multiboot memory map. Adjust a.out loader to calculate size
38036 with the extra space.
38037 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38038 with the extra space.
38039
f8aa0f43 380402008-08-17 Carles Pina i Estany <carles@pina.cat>
38041
9807deb9 38042 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38043
605f5bb6 380442008-08-17 Felix Zielcke <fzielcke@z-51.de>
38045
38046 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38047 mdate-sh to the list `find' searches for.
38048 * DISTLIST: Regenerated.
38049
210db6c6 380502008-08-16 Felix Zielcke <fzielcke@z-51.de>
38051
38052 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38053 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38054 genmoddep.awk, gensymlist.sh.in.
38055 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38056 * DISTLIST: Regenerated.
48cdbfd4 38057 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38058
1082b929 380592008-08-16 Robert Millan <rmh@aybabtu.com>
38060
38061 * disk/raid.c (grub_raid_init): Handle/report errors set by
38062 grub_device_iterate().
38063 * disk/lvm.c (grub_lvm_init): Likewise.
38064
42ce5170 380652008-08-15 Bean <bean123ch@gmail.com>
38066
38067 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38068 and datehook.mod.
38069 (datetime_mod_SOURCES): New macro.
38070 (datetime_mod_CFLAGS): Likewise.
38071 (datetime_mod_LDFLAGS): Likewise.
38072 (date_mod_SOURCES): Likewise.
38073 (date_mod_CFLAGS): Likewise.
38074 (date_mod_LDFLAGS): Likewise.
38075 (datehook_mod_SOURCES): Likewise.
38076 (datehook_mod_CFLAGS): Likewise.
38077 (datehook_mod_LDFLAGS): Likewise.
38078
38079 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38080 and datehook.mod.
38081 (datetime_mod_SOURCES): New macro.
38082 (datetime_mod_CFLAGS): Likewise.
38083 (datetime_mod_LDFLAGS): Likewise.
38084 (date_mod_SOURCES): Likewise.
38085 (date_mod_CFLAGS): Likewise.
38086 (date_mod_LDFLAGS): Likewise.
38087 (datehook_mod_SOURCES): Likewise.
38088 (datehook_mod_CFLAGS): Likewise.
38089 (datehook_mod_LDFLAGS): Likewise.
38090
38091 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38092 and datehook.mod.
38093 (datetime_mod_SOURCES): New macro.
38094 (datetime_mod_CFLAGS): Likewise.
38095 (datetime_mod_LDFLAGS): Likewise.
38096 (date_mod_SOURCES): Likewise.
38097 (date_mod_CFLAGS): Likewise.
38098 (date_mod_LDFLAGS): Likewise.
38099 (datehook_mod_SOURCES): Likewise.
38100 (datehook_mod_CFLAGS): Likewise.
38101 (datehook_mod_LDFLAGS): Likewise.
38102
38103 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38104 and datehook.mod.
38105 (datetime_mod_SOURCES): New macro.
38106 (datetime_mod_CFLAGS): Likewise.
38107 (datetime_mod_LDFLAGS): Likewise.
38108 (date_mod_SOURCES): Likewise.
38109 (date_mod_CFLAGS): Likewise.
38110 (date_mod_LDFLAGS): Likewise.
38111 (datehook_mod_SOURCES): Likewise.
38112 (datehook_mod_CFLAGS): Likewise.
38113 (datehook_mod_LDFLAGS): Likewise.
38114
38115 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38116 and datehook.mod.
38117 (datetime_mod_SOURCES): New macro.
38118 (datetime_mod_CFLAGS): Likewise.
38119 (datetime_mod_LDFLAGS): Likewise.
38120 (date_mod_SOURCES): Likewise.
38121 (date_mod_CFLAGS): Likewise.
38122 (date_mod_LDFLAGS): Likewise.
38123 (datehook_mod_SOURCES): Likewise.
38124 (datehook_mod_CFLAGS): Likewise.
38125 (datehook_mod_LDFLAGS): Likewise.
38126
38127 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38128
38129 * commands/date.c: New file.
38130
38131 * hook/datehook.c: Likewise.
38132
38133 * include/grub/lib/datetime.h: Likewise.
38134
38135 * include/grub/i386/cmos.h: Likewise.
38136
38137 * lib/datetime.c: Likewise.
38138
38139 * lib/i386/datetime.c: Likewise.
38140
38141 * lib/efi/datetime.c: Likewise.
38142
0e9242da 381432008-08-14 Robert Millan <rmh@aybabtu.com>
38144
38145 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38146 (grub_mkelfimage_SOURCES): New variable.
38147 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38148
38149 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38150 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38151 * conf/powerpc-ieee1275.rmk: Likewise.
38152 * conf/i386-ieee1275.rmk: Likewise.
38153
38154 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38155 * kern/i386/coreboot/init.c: Likewise.
38156
38157 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38158 with `<grub/cpu/kernel.h>'.
38159 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38160 to ...
38161 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38162 * kern/i386/coreboot/startup.S: Likewise.
38163
38164 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38165 (GRUB_MOD_GAP): Remove.
38166 * include/grub/powerpc/kernel.h: New file.
38167 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38168 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38169 * include/grub/i386/kernel.h: New file.
38170 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38171 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38172 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38173
38174 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38175 `grub-mkelfimage'.
38176 Use --directory when invoking grub_mkimage.
38177
38178 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38179 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38180 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38181 and GRUB_KERNEL_CPU_PREFIX.
38182
b86408f8 381832008-08-14 Felix Zielcke <fzielcke@z-51.de>
38184
d5e619ca 38185 * include/grub/err.h (grub_err_printf): New function prototype.
38186 * util/misc.c (grub_err_printf): New function.
38187 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38188 grub_printf.
38189 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38190
7161f0e0 381912008-08-13 Robert Millan <rmh@aybabtu.com>
38192
38193 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38194
a1967522 381952008-08-13 Robert Millan <rmh@aybabtu.com>
38196
38197 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38198 boot entry.
38199
371458b5 382002008-08-12 Robert Millan <rmh@aybabtu.com>
38201
38202 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38203 of the relocation code from here ...
38204 (grub_multiboot): ... to here.
38205 (forward_relocator, backward_relocator): Move from here ...
38206 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38207 (grub_multiboot_backward_relocator): ... to here.
38208 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38209 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38210 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38211 (grub_multiboot_forward_relocator_end)
38212 (grub_multiboot_backward_relocator)
38213 (grub_multiboot_backward_relocator_end): New variables.
38214
05f9452b 382152008-08-12 Bean <bean123ch@gmail.com>
38216
38217 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38218
20024ab0 382192008-08-11 Robert Millan <rmh@aybabtu.com>
38220
38221 * kern/i386/linuxbios/startup.S: Move from here ...
38222 * kern/i386/coreboot/startup.S: ... to here.
38223
38224 * kern/i386/linuxbios/init.c: Move from here ...
38225 * kern/i386/coreboot/init.c: ... to here.
38226
38227 * kern/i386/linuxbios/table.c: Move from here ...
38228 * kern/i386/coreboot/mmap.c: ... to here.
38229
38230 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38231
e352e9cd 382322008-08-11 Robert Millan <rmh@aybabtu.com>
38233
38234 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38235 errors. Leave it to the upper layer to handle them.
38236
2d05bc6a 382372008-08-09 Christian Franke <franke@computer.org>
38238
38239 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38240 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38241 Install `grub.d/10_windows' only on Cygwin.
38242 * configure.ac: Add subst of `target_os'.
38243 Check `target_os' also before setting TARGET_OBJ2ELF.
38244 Add `--enable-grub-pe2elf'.
38245
042bd419 382462008-08-08 Robert Millan <rmh@aybabtu.com>
38247
38248 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38249 (grub_last_time): Change type to grub_uint64_t.
38250 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38251 (grub_disk_close): Likewise.
38252
38253 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38254 (run_menu): Migrate code from to using grub_get_time_ms().
38255
38256 * util/misc.c (grub_get_time_ms): New function.
38257
7f280db5 382582008-08-08 Marco Gerards <marco@gnu.org>
38259
38260 * disk/ata.c (grub_ata_regget): Change return type to
38261 `grub_uint8_t'.
38262 (grub_ata_regget2): Likewise.
38263 (grub_ata_wait_status): New function.
38264 (grub_ata_wait_busy): Removed function, updated all users to use
38265 `grub_ata_wait_status'.
38266 (grub_ata_wait_drq): Likewise.
38267 (grub_ata_cmd): New function.
38268 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38269 error handling.
38270 (grub_ata_pio_write): Add error handling.
38271 (grub_atapi_identify): Likewise.
38272 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38273 handling.
38274 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38275 handling. Actually use the detected registers. Reorder the
38276 detection logic such that it is easier to read.
38277 (grub_ata_pciinit): Do not assign the same ID to each controller.
38278 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38279 handling.
38280 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38281
38282 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38283
1fbc5e66 382842008-08-08 Marco Gerards <marco@gnu.org>
38285
38286 * NEWS: Update.
38287
819ce6c0 382882008-08-07 Bean <bean123ch@gmail.com>
38289
38290 * include/grub/x86_64/pci.h: New file.
38291
5c41d44d 382922008-08-07 Christian Franke <franke@computer.org>
38293
38294 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38295 (TIMER2_GATE): Likewise.
38296 (grub_pit_wait): Add enable/disable of the timer2 gate
38297 bit of port 0x61. This fixes a possible infinite loop.
38298
5ebc275d 382992008-08-07 Bean <bean123ch@gmail.com>
38300
38301 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38302 kern/i386/tsc.c and kern/i386/pit.c.
38303
38304 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38305 x86_64 platform.
38306
38307 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38308 <grub/i386/tsc.h>.
38309
38310 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38311
e383b3d0 383122008-08-07 Bean <bean123ch@gmail.com>
38313
38314 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38315
38316 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38317
38318 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38319 multiple inclusion. Add #include <grub/types.h>.
38320
1cbb58ac 383212008-08-06 Christian Franke <franke@computer.org>
38322
38323 * conf/common.rmk: Build and install `10_windows'.
38324 * util/grub.d/10_windows.in: New script.
38325
337f5a1e 383262008-08-06 Pavel Roskin <proski@gnu.org>
38327
38328 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38329
057bc4ac 383302008-08-06 Robert Millan <rmh@aybabtu.com>
38331
38332 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38333 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38334
2b99f123 383352008-08-06 Bean <bean123ch@gmail.com>
38336
38337 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38338 (grub_pxefs_fs_int): Remove dummy definition.
38339 (grub_pxefs_open): Use data->block_size to store the current block
38340 size setting.
38341 (grub_pxefs_read): Use block size stored in data->block_size. As the
38342 value of grub_pxe_blksize can be changed after the file is opened.
38343
9f0234cb 383442008-08-06 Bean <bean123ch@gmail.com>
38345
38346 * fs/i386/pc/pxe.c (curr_file): new variable.
38347 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38348 require the dummy internal file system anymore.
38349 (grub_pxefs_read): Removed.
38350 (grub_pxefs_close): Likewise.
38351 (grub_pxefs_fs_int): Likewise.
38352 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38353 connection when we switch file.
38354 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38355
a55d42e0 383562008-08-06 Robert Millan <rmh@aybabtu.com>
38357
38358 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38359 `halt.mod'.
38360 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38361 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38362
38363 * kern/i386/halt.c: New file.
38364 * kern/i386/reboot.c: Likewise.
38365 * include/grub/i386/reboot.h: Likewise.
38366 * include/grub/i386/halt.h: Likewise.
38367
38368 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38369 Include `<grub/cpu/halt.h>'.
38370 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38371 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38372
38373 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38374 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38375 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38376 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38377 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38378 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38379 from here ...
38380 * include/grub/i386/at_keyboard.h: ... to here.
38381
24371d26 383822008-08-05 Robert Millan <rmh@aybabtu.com>
38383
38384 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38385 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38386 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38387 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38388 `kern/generic/millisleep.c'.
38389
38390 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38391 instead of grub_get_rtc().
38392 (grub_tsc_init): Initialize `tsc_boot_time'.
38393
38394 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38395 (grub_machine_init): Use grub_tsc_init() rather than
38396 installing an RTC-based handler via grub_install_get_time_ms().
38397
38398 * kern/i386/pit.c: New file.
38399 * include/grub/i386/pit.h: Likewise.
38400
9e7007b3 384012008-08-05 Bean <bean123ch@gmail.com>
38402
38403 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38404
38405 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38406 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38407 (pxe_mod_SOURCES): New macro.
38408 (pxe_mod_CFLAGS): Likewise.
38409 (pxe_mod_LDFLAGS): Likewise.
38410 (pxecmd_mod_SOURCES): Likewise.
38411 (pxecmd_mod_CFLAGS): Likewise.
38412 (pxecmd_mod_LDFLAGS): Likewise.
38413
38414 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38415 (grub_pxe_call): Likewise.
38416
38417 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38418
38419 * commands/i386/pc/pxecmd.c: New file.
38420
9f0234cb 38421 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38422
38423 * include/grub/i386/pc/pxe.h: Likewise.
38424
6977d49f 384252008-08-05 Bean <bean123ch@gmail.com>
38426
38427 * util/console.c (grub_console_cur_color): New variable.
38428 (grub_console_standard_color): Likewise.
38429 (grub_console_normal_color): Likewise.
38430 (grub_console_highlight_color): Likewise.
38431 (color_map): Likewise.
38432 (use_color): Likewise.
38433 (NUM_COLORS): New macro.
38434 (grub_ncurses_setcolorstate): Handle color properly.
38435 (grub_ncurses_setcolor): Don't change color here, just remember the
38436 settings, color will be set in grub_ncurses_setcolorstate.
38437 (grub_ncurses_getcolor): New function.
38438 (grub_ncurses_init): Initialize color pairs.
38439 (grub_ncurses_term): New member grub_ncurses_getcolor.
38440
9c2ff3ee 384412008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38442
9c2ff3ee 38443 High resolution timer support. Implemented for x86 CPUs using TSC.
38444 Extracted generic grub_millisleep() so it's linked in only as needed.
38445 This requires a Pentium compatible CPU; if the RDTSC instruction is
38446 not supported, then it falls back on the generic grub_get_time_ms()
38447 implementation that uses the machine's RTC.
38448
38449 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38450 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38451 `kern/generic/millisleep.c'.
38452
38453 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38454 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38455
38456 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38457 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38458
38459 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38460
38461 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38462 `kern/generic/millisleep.c'.
38463
38464 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38465
38466 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38467
38468 * kern/generic/rtc_get_time_ms.c: New file.
38469
38470 * kern/generic/millisleep.c: New file.
337f5a1e 38471
9c2ff3ee 38472 * kern/misc.c: Don't include
38473 <kern/time.h> anymore.
38474 (grub_millisleep_generic): Removed.
38475
38476 * commands/sleep.c (grub_interruptible_millisleep): Uses
38477 grub_get_time_ms() instead of grub_get_rtc().
38478
38479 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38480 function.
38481 (grub_cpu_is_cpuid_supported): New inline function.
38482 (grub_cpu_is_tsc_supported): New inline function.
38483 (grub_tsc_init): New function prototype.
38484 (grub_tsc_get_time_ms): New function prototype.
38485
38486 * kern/i386/tsc.c (grub_get_time_ms): New file.
38487
38488 * include/grub/time.h: Include <grub/types.h.
38489 (grub_millisleep_generic): Removed.
38490 (grub_get_time_ms): New prototype.
38491 (grub_install_get_time_ms): New prototype.
38492 (grub_rtc_get_time_ms): New prototype.
38493
38494 * kern/time.c (grub_get_time_ms): New function.
38495 (grub_install_get_time_ms): New function.
38496
38497 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38498 <grub/time.h> anymore.
38499 (grub_millisleep): Removed.
38500 (grub_machine_init): Call grub_tsc_init.
38501
38502 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38503 get_time_ms() implementation.
38504
38505 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38506 (ieee1275_get_time_ms): New function.
38507 (grub_machine_init): Install get_time_ms() implementation.
38508
38509 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38510 (grub_machine_init): Call grub_tsc_init().
38511 (grub_millisleep): Removed.
bf06a93f 38512
9c2ff3ee 38513 * kern/ieee1275/init.c (grub_millisleep): Removed.
38514 (grub_machine_init): Install ieee1275_get_time_ms()
38515 implementation.
38516 (ieee1275_get_time_ms): New function.
38517 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38518 real work.
38519
9ec92aaf 385202008-08-05 Marco Gerards <marco@gnu.org>
38521
38522 * disk/ata.c: Include <grub/pci.h>.
38523 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38524 (grub_ata_initialize): Rewritten.
38525 (grub_ata_device_initialize): New function.
38526
8d23f507 385272008-08-04 Pavel Roskin <proski@gnu.org>
38528
38529 * kern/main.c: Include grub/mm.h.
38530
5e15ee3d 385312008-08-04 Robert Millan <rmh@aybabtu.com>
38532
38533 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38534 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38535 corruption problem).
38536
a9053f8f 385372008-08-04 Robert Millan <rmh@aybabtu.com>
38538
38539 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38540 warnings introduced in my last commit.
38541
dd19c7d7 385422008-08-03 Robert Millan <rmh@aybabtu.com>
38543
38544 Make PCI available on all i386 architectures.
38545
38546 * include/grub/i386/pc/pci.h: Move from here ...
38547 * include/grub/i386/pci.h: ... to here.
38548
38549 * include/grub/i386/pc/pci.h: Remove.
38550 * include/grub/i386/efi/pci.h: Remove.
38551 * include/grub/x86_64/efi/pci.h: Remove.
38552
38553 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38554 `<grub/cpu/pci.h>'.
38555
38556 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38557 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38558 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38559
38560 * conf/i386-ieee1275.rmk: Likewise.
38561
e14a6184 385622008-08-03 Robert Millan <rmh@aybabtu.com>
38563
38564 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38565 (grub_console_setcursor): Make it possible to set cursor off.
38566
52768e37 385672008-08-03 Robert Millan <rmh@aybabtu.com>
38568
38569 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38570 of modules instead of assuming which platform provides what.
38571 * util/update-grub.in: Likewise.
38572
2d52f57f 385732008-08-03 Robert Millan <rmh@aybabtu.com>
38574
38575 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38576 instead of `grub_install_dos_part' to determine whether a drive needs
38577 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38578 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38579
2a5cd121 385802008-08-02 Robert Millan <rmh@aybabtu.com>
38581
38582 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38583
93808428 385842008-08-02 Robert Millan <rmh@aybabtu.com>
38585
38586 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38587 of informational grub_dprintf() calls.
38588
3bd0a12a 385892008-08-02 Robert Millan <rmh@aybabtu.com>
38590
38591 * disk/memdisk.c (memdisk_size): Don't initialize.
38592 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38593
38594 * include/grub/i386/pc/kernel.h
38595 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38596 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38597 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38598 (grub_arch_memdisk_size): Remove.
38599
38600 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38601 field (was only used to transfer a constant). Add `type' field to
38602 support multiple module types.
38603 (grub_module_iterate): New function.
38604
38605 * kern/device.c (grub_device_open): Do not hide error messages
38606 when grub_disk_open() fails. Use grub_print_error() instead.
38607
38608 * kern/i386/pc/init.c (grub_arch_modules_addr)
38609 (grub_arch_memdisk_size): Remove functions.
38610 (grub_arch_modules_addr): Return the module address in high memory
38611 (now that it isn't copied anymore).
38612
38613 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38614 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38615 decompression routine (grub_total_module_size already includes that
38616 now). Don't copy modules back to low memory.
38617
38618 * kern/main.c: Include `<grub/mm.h>'.
38619 (grub_load_modules): Split out (and use) ...
38620 (grub_module_iterate): ... this function, which iterates through
38621 module objects and runs a hook.
38622 Comment out grub_mm_init_region() call, as it would cause non-ELF
38623 modules to be overwritten.
38624
38625 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38626 the memdisk image in its own region, make it part of the module list.
38627 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38628 (main): Parse --memdisk|-m option, and pass user-provided path as
38629 parameter to generate_image().
38630 (add_segments): Pass `memdisk_path' down to load_modules().
38631 (load_modules): Embed memdisk image in module section when requested.
38632 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38633 `header.type' instead of `header.offset'.
38634
38635 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38636 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38637 (memdisk_mod_LDFLAGS): New variables.
38638 * conf/i386-coreboot.rmk: Likewise.
38639 * conf/i386-ieee1275.rmk: Likewise.
38640
a927cc73 386412008-08-02 Robert Millan <rmh@aybabtu.com>
38642
38643 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38644 (backward_relocator): New variables. Used to allocate and relocate
38645 the payload, respectively.
38646 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38647 address, install the appropriate relocator code in each bound of
a927cc73 38648 the payload, and set the entry point such that
38649 grub_multiboot_real_boot() will jump to one of them.
38650
38651 * kern/i386/loader.S (grub_multiboot_payload_size)
38652 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38653 (grub_multiboot_payload_entry_offset): New variables.
38654 (grub_multiboot_real_boot): Set cpu context to what the relocator
38655 expects, and jump to the relocator instead of the payload.
38656
38657 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38658 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38659 (grub_multiboot_payload_entry_offset): Export.
38660
b15d8a0c 386612008-08-01 Bean <bean123ch@gmail.com>
38662
38663 * normal/menu_entry.c (editor_getline): Don't return the original
38664 string as result, as it will be released by lexer once it has done
38665 using it.
38666
cdfb3d22 386672008-08-01 Robert Millan <rmh@aybabtu.com>
38668
38669 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38670 within menuentries, not before them.
38671 util/grub.d/10_hurd.in: Likewise.
38672
9175e93d 386732008-08-01 Bean <bean123ch@gmail.com>
38674
38675 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38676 (bufio_mod_SOURCES): New macro.
38677 (bufio_mod_CFLAGS): Likewise.
38678 (bufio_mod_LDFLAGS): Likewise.
38679
38680 * include/grub/bufio.h: New file.
38681
38682 * io/bufio.c: Likewise.
38683
38684 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38685 (grub_video_reader_png): Use grub_buffile_open to open file.
38686
38687 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38688 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38689
38690 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38691 (grub_video_reader_tga): Use grub_buffile_open to open file.
38692
38693 * font/manager.c: Include <grub/bufio.h>.
38694 (add_font): Use grub_buffile_open to open file.
38695
3d8383e7 386962008-07-31 Robert Millan <rmh@aybabtu.com>
38697
38698 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38699 ELF segments, use a macro for arbitrarily accessing any of them instead
38700 of preparing a pointer that allows access to one at a time.
38701 (grub_multiboot_load_elf64): Likewise.
38702
16e641b6 387032008-07-31 Bean <bean123ch@gmail.com>
38704
38705 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38706 GRUB_KERNEL_MACHINE_DATA_END.
38707
59198b72 387082008-07-30 Robert Millan <rmh@aybabtu.com>
38709
38710 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38711 Increase from 0x50 to 0x60.
38712 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38713 use UUIDs to identify the root drive for them. If that's not
38714 possible, abort.
38715 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38716 check, for cross-disk installs.
38717
ae88bca3 387182008-07-30 Robert Millan <rmh@aybabtu.com>
38719
38720 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38721 is non-empty, use it to set the `prefix' environment variable instead
38722 of the usual approach.
38723 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38724 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38725 environment variable instead of dummy make_install_device().
38726
38727 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38728 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38729 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38730
38731 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38732 New variable reference.
38733 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38734 New macro. Defines offset of `grub_prefix' within startup.S (relative
38735 to `start').
38736 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38737 section within startup.S (relative to `start').
38738 * include/grub/i386/coreboot/kernel.h: Likewise.
38739
38740 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38741 Overwrite grub_prefix with its contents, at the beginning of the
38742 first segment.
38743 (main): Understand -p|--prefix.
38744
14f41dd1 387452008-07-30 Robert Millan <rmh@aybabtu.com>
38746
38747 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38748
4ca049a3 387492008-07-30 Robert Millan <rmh@aybabtu.com>
38750
38751 * term/i386/pc/vga_text.c (grub_console_cls): Use
38752 grub_console_gotoxy() to go back to beginning of the screen.
38753 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38754
2921d337 387552008-07-29 Christian Franke <franke@computer.org>
38756
38757 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38758 Add conversion of emulated mount points on Cygwin.
38759
b609876d 387602008-07-29 Christian Franke <franke@computer.org>
38761
38762 * util/update-grub.in: Add a check for admin
38763 group on Cygwin.
38764 Remove old `grub.cfg.new' before creation.
38765 Add `-f' to `mv' to handle the different filesystem
38766 semantics of Windows.
38767
e93e4679 387682008-07-29 Bean <bean123ch@gmail.com>
38769
38770 * normal/main.c (get_line): Fix buffer overflow bug.
38771
41694fd0 387722008-07-28 Robert Millan <rmh@aybabtu.com>
38773
38774 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38775 (struct grub_apple_header): New struct. Describes the layout of
38776 the partmap header.
38777 (apple_partition_map_iterate): Check the header magic as well as the
38778 partition magic (which was already being checked).
38779
cfd0b4e6 387802008-07-28 Pavel Roskin <proski@gnu.org>
38781
38782 * genmk.rb: Add a warning to the beginning of the output that
38783 it's a generated file and should not be edited.
38784
93cce016 387852008-07-28 Robert Millan <rmh@aybabtu.com>
38786
38787 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38788 with the same number are found, just use issue a warning with
38789 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38790
cd1df915 387912008-07-27 Robert Millan <rmh@aybabtu.com>
38792
38793 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38794 information.
38795
b70a8427 387962008-07-27 Bean <bean123ch@gmail.com>
38797
38798 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38799 (grub_fat_find_dir): Ignore case when comparing filename.
38800
8f5e379f 388012008-07-27 Bean <bean123ch@gmail.com>
38802
38803 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38804 smallino, as it's more descriptive, and i8count can be confused with
38805 the other field count.
38806 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38807 inode type.
38808
a85cd5a0 388092008-07-27 Bean <bean123ch@gmail.com>
38810
38811 * commands/crc.c: New file.
38812
38813 * lib/crc.c: Likewise.
38814
38815 * include/grub/lib/crc.h: Likewise.
38816
38817 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38818
38819 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38820 (hexdump): Move this function to ...
38821
38822 * lib/hexdump.c: ... here.
38823
38824 * include/grub/hexdump.h: Renamed to ...
38825
38826 * include/grub/lib/hexdump.h: ... this.
38827
38828 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38829
38830 * util/grub-editenv.c: Likewise.
38831
38832 * include/envblk.h: Renamed to ...
38833
38834 * include/lib/envblk.h: ... this.
38835
38836 * util/envblk.c: Renamed to ...
38837
38838 * lib/envblk.c: ... this.
38839
38840 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38841 lib/hexdump.c.
38842 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38843 (pkglib_MODULES): Add crc.mod.
38844 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38845 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38846 (crc_mod_SOURCES): New macro.
38847 (crc_mod_CFLAGS): Likewise.
38848 (crc_mod_LDFLAGS): Likewise.
38849
38850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38851
38852 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38853
38854 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38855
38856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38857
38858 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38859
c298def0 388602008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38861
38862 * commands/help.c: Include <grub/term.h>.
38863 (TERM_WIDTH): Removed. Updated all users.
38864
cc349fb3 388652008-07-27 Pavel Roskin <proski@gnu.org>
38866
38867 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38868 spurious warnings about a comment within a comment.
38869
9051607e 388702008-07-25 Robert Millan <rmh@aybabtu.com>
38871
38872 * util/getroot.c (find_root_device): Skip devices that match
38873 /dev/dm-[0-9]. This lets the real device be found for any type of
38874 abstraction (LVM, EVMS, RAID..).
38875 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38876 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38877 device is found first, find_root_device() will now skip it.
38878
01453bfc 388792008-07-24 Pavel Roskin <proski@gnu.org>
38880
38881 * include/grub/types.h: Use __builtin_bswap32() and
38882 __builtin_bswap64() with gcc 4.3 and newer.
38883
6af9849f 388842008-07-24 Christian Franke <franke@computer.org>
38885
3a0fa256 38886 * util/i386/pc/grub-install.in: If `--debug' is specified,
38887 pass `--verbose' to grub-setup.
38888 Abort script if make_system_path_relative_to_its_root() fails.
38889
7810e747 388902008-07-24 Bean <bean123ch@gmail.com>
38891
38892 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38893 variable `target_platform' should be `platform'.
38894
42290e17 388952008-07-24 Bean <bean123ch@gmail.com>
38896
51cc5193 38897 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38898 (grub_png_init_fixed_block): New function.
38899 (grub_png_decode_image_data): Handle fixed huffman code compression.
38900
2a8a80e4 389012008-07-24 Bean <bean123ch@gmail.com>
38902
38903 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38904 (grub_pe2elf_SOURCES): New macro.
38905 (CLEANFILES): Add grub-pe2elf.
38906
38907 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38908 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38909 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38910 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38911 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38912 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38913 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38914 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38915 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38916 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38917 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38918 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38919 (GRUB_PE32_DT_FUNCTION): Likewise.
38920 (GRUB_PE32_REL_I386_DIR32): Likewise.
38921 (GRUB_PE32_REL_I386_REL32): Likewise.
38922 (grub_pe32_symbol): New structure.
38923 (grub_pe32_reloc): Likewise.
38924
38925 * util/grub-pe2elf.c: New file.
38926
38927 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38928 start symbol in non pc platform.
38929
38930 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38931
38932 The following patches are from Christian Franke.
38933
38934 * include/grub/dl.h: Remove .previous, gas supports this only
38935 for ELF format.
38936
38937 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38938 Remove .type, gas supports this only for ELF format.
38939
38940 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38941 nullbytes in symbol table. This fixes an infinite loop if table is
38942 zero filled.
38943
38944 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38945 TARGET_IMG_LDFLAGS and EXEEXT.
38946
38947 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38948 TARGET_IMG_LDFLAGS_AC.
38949 (grub_CHECK_STACK_ARG_PROBE): New function.
38950
38951 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38952
38953 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38954
38955 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38956 to set TARGET_IMG_LD* accordingly.
38957 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38958 Add call to grub_CHECK_STACK_ARG_PROBE.
38959 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38960
38961 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38962
38963 * genmk.rb: Add EXEEXT to CLEANFILES.
38964
12ccdb75 389652008-07-23 Robert Millan <rmh@aybabtu.com>
38966
38967 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38968 define the codes for arrows and lines used for the menu).
38969 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38970 as well.
38971
38972 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38973 fonts, because the latter are too slow.
38974
18eeaf04 389752008-07-21 Bean <bean123ch@gmail.com>
38976
38977 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38978 a20. Run keyboard test last, as it will cause macbook to halt.
38979
b095e2ad 389802008-07-18 Pavel Roskin <proski@gnu.org>
38981
38982 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38983 load foreign architecture modules correctly anyway. Keep
38984 support for loading host architecture modules, whether we
38985 compile them or not.
38986
737feb35 389872008-07-17 Pavel Roskin <proski@gnu.org>
38988
3f4ce737 38989 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38990 change target_cpu. The compiler default can mismatch target_cpu
38991 in any case.
38992
4ad2d049 38993 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38994 * kern/efi/efi.c: Likewise.
38995
f6130a12 38996 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38997 target compiler is functional.
38998 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38999 are set up.
39000
58393a2d 39001 * configure.ac: Default to efi platform for x86_64-apple. Allow
39002 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39003 adjustments from the rest, only do them if target is not
39004 explicitly given. Merge other adjustments with the final sanity
39005 check. Remove an extraneous check for supported CPU. Be
39006 specific which CPU and which platform is not supported.
39007
737feb35 39008 * configure.ac: Default to pc platform for x86_64.
39009
546f966a 390102008-07-17 Robert Millan <rmh@aybabtu.com>
39011
39012 Partial LinuxBIOS -> Coreboot rename.
39013
39014 * conf/i386-linuxbios.rmk: Renamed to ...
39015 * conf/i386-coreboot.rmk: ... this.
39016 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39017 * configure.ac: Accept "coreboot" as input platform (but maintain
39018 compatibility with "linuxbios").
39019 * include/grub/i386/linuxbios: Renamed to ...
39020 * include/grub/i386/coreboot: ... this.
39021
20011694 390222008-07-17 Bean <bean123ch@gmail.com>
39023
39024 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39025 (appleldr_mod_SOURCE): New variable.
20011694 39026 (appleldr_mod_CFLAGS): Likewise.
39027 (appleldr_mod_LDFLAGS): Likewise.
39028 (pci_mod_SOURCES): Likewise.
39029 (pci_mod_CFLAGS): Likewise.
39030 (pci_mod_LDFLAGS): Likewise.
39031 (lspci_mod_SOURCES): Likewise.
39032 (lspci_mod_CFLAGS): Likewise.
39033 (lspci_mod_LDFLAGS): Likewise.
39034
39035 * conf/x86_64-efi.rmk: New file.
39036
39037 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39038 macro.
39039 (grub_efidisk_write): Likewise.
39040
39041 * include/efi/api.h (efi_call_0): New macro.
39042 (efi_call_1): Likewise.
39043 (efi_call_2): Likewise.
39044 (efi_call_3): Likewise.
39045 (efi_call_4): Likewise.
39046 (efi_call_5): Likewise.
39047 (efi_call_6): Likewise.
39048
39049 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39050 grub_rescue_cmd_chainloader.
39051
39052 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39053 (grub_pe32_optional_header): Change some fields based on i386 or
39054 x86_64 platform.
39055 (GRUB_PE32_PE32_MAGIC): Likewise.
39056
39057 * include/grub/efi/uga_draw.h: New file.
39058
39059 * include/grub/elf.h (STN_ABS): New constant.
39060 (R_X86_64_NONE): Relocation constant for x86_64.
39061 (R_X86_64_64): Likewise.
39062 (R_X86_64_PC32): Likewise.
39063 (R_X86_64_GOT32): Likewise.
39064 (R_X86_64_PLT32): Likewise.
39065 (R_X86_64_COPY): Likewise.
39066 (R_X86_64_GLOB_DAT): Likewise.
39067 (R_X86_64_JUMP_SLOT): Likewise.
39068 (R_X86_64_RELATIVE): Likewise.
39069 (R_X86_64_GOTPCREL): Likewise.
39070 (R_X86_64_32): Likewise.
39071 (R_X86_64_32S): Likewise.
39072 (R_X86_64_16): Likewise.
39073 (R_X86_64_PC16): Likewise.
39074 (R_X86_64_8): Likewise.
39075 (R_X86_64_PC8): Likewise.
39076
39077 * include/grub/i386/efi/pci.h: New file.
39078
39079 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39080 Change it value based on platform.
39081 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39082 (GRUB_E820_RAM): Likewise.
39083 (GRUB_E820_RESERVED): Likewise.
39084 (GRUB_E820_ACPI): Likewise.
39085 (GRUB_E820_NVS): Likewise.
39086 (GRUB_E820_EXEC_CODE): Likewise.
39087 (GRUB_E820_MAX_ENTRY): Likewise.
39088 (grub_e820_mmap): New structure.
39089 (linux_kernel_header): Change the efi field according to different
39090 kernel version, also field from linux_kernel_header.
39091
39092 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39093
39094 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39095 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39096 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39097 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39098 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39099 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39100 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39101 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39102 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39103 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39104
39105 * include/grub/x86_64/efi/kernel.h: New file.
39106
39107 * include/grub/x86_64/efi/loader.h: Likewise.
39108
39109 * include/grub/x86_64/efi/machine.h: Likewise.
39110
39111 * include/grub/x86_64/efi/pci.h: Likewise.
39112
39113 * include/grub/x86_64/efi/time.h: Likewise.
39114
39115 * include/grub/x86_64/linux.h: Likewise.
39116
39117 * include/grub/x86_64/setjmp.h: Likewise.
39118
39119 * include/grub/x86_64/time.h: Likewise.
39120
39121 * include/grub/x86_64/types.h: Likewise.
39122
39123 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39124 GRUB_TARGET_SIZEOF_VOID_P.
39125
39126 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39127 (grub_efi_locate_handle): Likewise.
39128 (grub_efi_open_protocol): Likewise.
39129 (grub_efi_set_text_mode): Likewise.
39130 (grub_efi_stall): Likewise.
39131 (grub_exit): Likewise.
39132 (grub_reboot): Likewise.
39133 (grub_halt): Likewise.
39134 (grub_efi_exit_boot_services): Likewise.
39135 (grub_get_rtc): Likewise.
39136
39137 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39138 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39139 (grub_efi_allocate_pages): Wrap efi calls.
39140 (grub_efi_free_pages): Wrap efi calls.
39141 (grub_efi_get_memory_map): Wrap efi calls.
39142
39143 * kern/x86_64/dl.c: New file.
39144
39145 * kern/x86_64/efi/callwrap.S: Likewise.
39146
39147 * kern/x86_64/efi/startup.S: Likewise.
39148
39149 * loader/efi/appleloader.c: Likewise.
39150
39151 * loader/efi/chainloader.c (cmdline): New variable.
39152 (grub_chainloader_unload): Wrap efi calls.
39153 (grub_chainloader_boot): Likewise.
39154 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39155 command line.
39156
39157 * loader/efi/chainloader_normal.c (chainloader_command):
39158 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39159 command line.
39160
39161 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39162 method.
39163 (grub_e820_add_region): New function.
39164 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39165 booting.
39166 (grub_find_video_card): New function.
39167 (grub_linux_setup_video): New function.
39168 (grub_rescue_cmd_linux): Probe for video information.
39169
39170 * normal/x86_64/setjmp.S: New file.
39171
39172 * term/efi/console.c (map_char): New function.
39173 (grub_console_putchar): Map unicode char.
39174 (grub_console_checkkey): Wrap efi calls.
39175 (grub_console_getkey): Likewise.
39176 (grub_console_getwh): Likewise.
39177 (grub_console_gotoxy): Likewise.
39178 (grub_console_cls): Likewise.
39179 (grub_console_setcolorstate): Likewise.
39180 (grub_console_setcursor): Likewise.
39181
39182 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39183
59652a20 391842008-07-16 Pavel Roskin <proski@gnu.org>
39185
ef294055 39186 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39187 format strings.
39188
59652a20 39189 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39190 pointer, not an integer. This fixes a warning and prevents
39191 precision loss on 64-bit systems.
39192 (relocate_addresses): Remove unneeded cast.
39193
afc3b5d7 391942008-07-15 Pavel Roskin <proski@gnu.org>
39195
506b2b3e 39196 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39197
62ead89c 39198 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39199
c4cd51d7 39200 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39201 Fix comparison between signed and unsigned.
39202
0d3d8f28 39203 * include/grub/i386/ieee1275/console.h: Declare
39204 grub_console_init() and grub_console_fini().
39205
8804b286 39206 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39207 It's empty and unused.
39208
ee01cf35 39209 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39210 beginning to avoid warnings with some compilers.
39211
afc3b5d7 39212 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39213 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39214
e4e8eaa5 392152008-07-14 Pavel Roskin <proski@gnu.org>
39216
407aceb4 39217 * kern/env.c (grub_register_variable_hook): Don't copy empty
39218 string, it leaks memory. Pass "" to grub_env_set(), it should
39219 handle constant strings.
39220
e4e8eaa5 39221 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39222 * commands/cmp.c (grub_cmd_cmp): Likewise.
39223 * kern/dl.c (grub_dl_flush_cache): Likewise.
39224 (grub_dl_load_core): Likewise.
39225 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39226 (grub_elf64_load_phdrs): Likewise.
39227
d4e2dad3 392282008-07-13 Pavel Roskin <proski@gnu.org>
39229
39230 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39231 between signed and unsigned.
39232 (LzmaEnc_Finish): Fix warning about an unused parameter.
39233
aa24b516 392342008-07-13 Bean <bean123ch@gmail.com>
39235
39236 * Makefile.in (enable_lzo): New rule.
39237
39238 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39239
39240 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39241
39242 * boot/i386/pc/lnxboot.S: #include <config.h>.
39243
39244 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39245 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39246
39247 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39248 compression algorithm according to configure macro.
39249
39250 * kern/i386/pc/startup.S (codestart): Likewise.
39251
39252 * kern/i386/pc/lzma_decode.S: New file.
39253
39254 * include/grub/lib/LzFind.h: Likewise.
39255
39256 * include/grub/lib/LzHash.h: Likewise.
39257
39258 * include/grub/lib/LzmaDec.h: Likewise.
39259
39260 * include/grub/lib/LzmaEnc.h: Likewise.
39261
39262 * include/grub/lib/LzmaTypes.h: Likewise.
39263
39264 * lib/LzFind.c: Likewise.
39265
39266 * lib/LzmaDec.c: Likewise.
39267
39268 * lib/LzmaEnc.c: Likewise.
39269
4ae821ac 392702008-07-13 Bean <bean123ch@gmail.com>
39271
39272 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39273 (grub_ext4_extent_header): New structure.
39274 (grub_ext4_extent): Likewise.
39275 (grub_ext4_extent_idx): Likewise.
39276 (grub_ext4_find_leaf): New function.
39277 (grub_ext2_read_block): Handle extents.
39278
9a745147 392792008-07-12 Robert Millan <rmh@aybabtu.com>
39280
39281 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39282
d49a4cf6 392832008-07-11 Robert Millan <rmh@aybabtu.com>
39284
39285 * util/grub.d/40_custom.in: New file. Example on how to add custom
39286 entries to /etc/grub.d.
39287 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39288 40_custom (implicitly, by merging all the grub.d rules).
39289
947414b4 392902008-07-11 Pavel Roskin <proski@gnu.org>
39291
0059cf6f 39292 * commands/read.c (grub_getline): Fix invalid memory access.
39293 Don't add newline to the variable value.
39294
947414b4 39295 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39296 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39297 (serial_hw_get_port): Check validity of the port number.
39298 (grub_cmd_serial): Check return value of serial_hw_get_port().
39299
62a02d00 393002008-07-07 Pavel Roskin <proski@gnu.org>
39301
39302 * boot/i386/pc/diskboot.S (notification_string): Replace
39303 "Loading kernel" with just "loading". This is shorter, less
39304 confusing and saves a few bytes for possible future changes.
39305
3e5581b0 393062008-07-05 Pavel Roskin <proski@gnu.org>
39307
ea387a48 39308 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39309 size for ATAPI devices, they are undefined. Output sector
39310 number in decimal form.
39311
3e5581b0 39312 * disk/ata.c: Use named constants for status bits.
39313
fdecb8fd 393142008-07-04 Pavel Roskin <proski@gnu.org>
39315
bcd35b90 39316 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39317 grub_addr_t before casting it to the void pointer to fix a
39318 warning. Non-addressable regions are discarded earlier.
39319 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39320 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39321 (check_signature): Don't shadow table_header.
39322 (grub_linuxbios_table_iterate): Cast numeric constants to
39323 grub_linuxbios_table_header_t.
39324 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39325 grub_stop().
39326
af58ab3d 39327 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39328 prevent warnings.
39329
1759aa57 39330 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39331 pointer, which can cause warnings. Support 64-bit addresses.
39332
fdecb8fd 39333 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39334 of sizeof(long). This fixes PowerPC image generation on x86_64.
39335
8516d2a8 393362008-07-04 Robert Millan <rmh@aybabtu.com>
39337
39338 This fixes a performance issue when pc & gpt partmap iterators
39339 didn't abort iteration even after our hook found what it was
fe987087 39340 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39341
39342 Some callers relied on previous buggy behaviour, since they would
34c44600 39343 raise an error when their own hooks caused early abortion of its
8516d2a8 39344 iteration.
39345
39346 * kern/device.c (grub_device_open): Improve error message.
39347 * disk/lvm.c (grub_lvm_open): Likewise.
39348 * disk/raid.c (grub_raid_open): Likewise.
39349
39350 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39351 when hook requests it, independently of grub_errno.
39352 (pc_partition_map_probe): Do not fail when find_func() caused
39353 early abortion of pc_partition_map_iterate().
39354
39355 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39356 when hook requests it, independently of grub_errno.
39357 (gpt_partition_map_probe): Do not fail when find_func() caused
39358 early abortion of gpt_partition_map_iterate().
39359
39360 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39361 when hook requests it, independently of grub_errno. Do not fail when
39362 part_map_iterate_hook() caused early abortion of p->iterate().
39363
39364 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39365 when grub_partition_iterate() returned with non-zero.
39366
277d0de9 393672008-07-03 Pavel Roskin <proski@gnu.org>
39368
39369 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39370 like we do in grub_ata_pio_read().
39371 (grub_ata_readwrite): Always write individual sectors. Fix the
39372 sector count for the remainder.
39373 (grub_ata_write): Enable writing to ATA devices. Correctly
39374 report error for ATAPI devices.
39375
d4c9b428 393762008-07-02 Pavel Roskin <proski@gnu.org>
39377
e43fc690 39378 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39379 warning.
39380
f707af42 39381 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39382 for every read sector, we already increment it for the whole
39383 batch. This fixes reading more than 256 sectors at once.
39384
11e16b15 39385 * util/grub-editenv.c (cmd_info): Cast argument to long
39386 explicitly. ptrdiff_t reduces to int on i386.
39387
cbabfdd4 39388 * util/grub-editenv.c (main): Be specific which parameter is
39389 missing.
39390
b8fbce0a 39391 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39392 (memdisk): Make memdisk_orig_addr a pointer.
39393
c9c8e606 39394 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39395 for file offsets, use grub_off_t instead. Fix printf format
39396 warnings.
39397
ca62e598 39398 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39399 there. Real unexpected warnings should not drown in the noise
39400 about known problems.
39401
ce8d1766 39402 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39403 grub_disk_addr_t for memory addresses.
39404
00c7a56a 39405 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39406 explicitly to fix a warning.
39407
08d3ef09 39408 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39409
cb71ba20 39410 * Makefile.in (MODULE_LDFLAGS): New variable.
39411 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39412 the linker accepts --build-id=none.
39413 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39414 MODULE_LDFLAGS.
39415 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39416
d4c9b428 39417 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39418 those in Linux XFS code. Provide a way to access 64-bit parent
39419 inode.
39420 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39421 the end of struct grub_xfs_dir_header.
39422
d4156eee 394232008-07-02 Bean <bean123ch@gmail.com>
39424
39425 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39426 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39427 and GRUB_IEEE1275_FLAG_NO_ANSI.
39428
39429 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39430 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39431 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39432
39433 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39434 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39435
39436 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39437 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39438
39439 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39440 esc sequence on non ANSI terminal.
39441 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39442
39443 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39444 beginning of file.
39445
2270f77b 394462008-07-02 Bean <bean123ch@gmail.com>
39447
39448 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39449 (grub_editenv_SOURCES): New variable.
39450 (pkglib_MODULES): Add loadenv.mod.
39451 (loadenv_mod_SOURCES): New variable.
39452 (loadenv_mod_CFLAGS): Likewise.
39453 (loadenv_mod_LDFLAGS): Likewise.
39454
39455 * include/grub/envblk.h: New file.
39456
39457 * util/envblk.c: New file.
39458
39459 * util/grub-editenv.c: New file.
39460
39461 * commands/loadenv.c: New file.
39462
0e9e51ec 394632008-07-01 Pavel Roskin <proski@gnu.org>
39464
d89b7634 39465 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39466 not unsigned char. This fixes warnings and is consistent with
39467 other tags.
39468
bf1835b1 39469 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39470
8222a04b 39471 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39472
6a42d99d 39473 * term/tparm.c (analyze): Always set *popcount.
39474
10b159d1 39475 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39476 cast to fix a warning.
39477
b8789f6c 39478 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39479 cast to suppress a warning.
39480
29d7e38a 39481 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39482 grub_fshelp_read_file() expects.
39483
f341f669 39484 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39485 write uuid as a 32-bit value in CPU byte order, so declare and
39486 use it as such.
39487
0e9e51ec 39488 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39489 long if the format specifier expects it.
39490 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39491 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39492 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39493 long to fix a warning.
39494 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39495 grub_dprintf() arguments to fix warnings.
39496
3aefa857 394972008-06-30 Pavel Roskin <proski@gnu.org>
39498
56c7668b 39499 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39500 install_bsd_part immediately before core.img is embedded or
39501 modified on disk. This fixes core.img verification if core.img
39502 cannot be embedded.
39503
3aefa857 39504 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39505 core_path to calculate the blocklist.
39506 Patch from Javier Martín <lordhabbit@gmail.com>
39507
5444088d 395082008-06-29 Robert Millan <rmh@aybabtu.com>
39509
39510 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39511 block to disk block.
39512 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39513 Patch from Niels Böhm <bitbucket@arcor.de>
39514
674835c8 395152008-06-29 Robert Millan <rmh@aybabtu.com>
39516
39517 * util/update-grub_lib.in (font_path): Search for fonts in
39518 /boot/grub first, which is more likely to be readable (we aren't
39519 deciding where fonts live, just looking for them).
39520
f527dbc8 395212008-06-26 Pavel Roskin <proski@gnu.org>
39522
6c2d8df6 39523 * util/biosdisk.c (read_device_map): Don't leave dead map
39524 entries for devices failing stat() check.
39525
f527dbc8 39526 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39527 core_path_dev for the core.img path on the target device.
39528
aebe3d13 395292008-06-26 Robert Millan <rmh@aybabtu.com>
39530
39531 * disk/fs_uuid.c: New file.
39532 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39533 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39534 (fs_uuid_mod_LDFLAGS): New variables.
39535 * include/grub/disk.h (grub_disk_dev_id): Add
39536 `GRUB_DISK_DEVICE_UUID_ID'.
39537 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39538 implement iterate().
39539
37aaf354 395402008-06-26 Robert Millan <rmh@aybabtu.com>
39541
39542 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39543 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39544 Linux image includes no initrd.
39545
25ff262a 395462008-06-21 Javier Martín <lordhabbit@gmail.com>
39547
39548 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39549 call to resolve the core image location that effectively appended the
39550 name twice.
39551
76a2bd44 395522008-06-21 Robert Millan <rmh@aybabtu.com>
39553
39554 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39555 call from here ...
39556
39557 * util/grub.d/10_hurd.in: ... to here ...
39558 * util/grub.d/10_linux.in: ... and here.
39559
650e1c79 395602008-06-19 Robert Millan <rmh@aybabtu.com>
39561
fe987087 39562 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39563 after it has been set by grub_machine_set_prefix().
39564
6ce63911 395652008-06-19 Robert Millan <rmh@aybabtu.com>
39566
39567 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39568 search result when not saving to variable, not the other way around.
39569 When saving to variable, abort iteration as soon as a match is found.
39570
73940cec 395712008-06-19 Robert Millan <rmh@aybabtu.com>
39572
39573 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39574 check for partition that provides /boot/grub. Its logic is flawed,
39575 as it prevents prepare_grub_to_access_device() from being called
39576 multiple times.
39577
3c62a39d 395782008-06-19 Robert Millan <rmh@aybabtu.com>
39579
39580 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39581 "insmod" command directly when abstraction modules are needed,
fe987087 39582 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39583 since it had already been processed).
39584
47395a42 395852008-06-19 Pavel Roskin <proski@gnu.org>
39586
39587 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39588 changed. This is needed in case GRUB_LIBDIR changes.
39589 * conf/i386-ieee1275.rmk: Likewise.
39590 * conf/i386-linuxbios.rmk: Likewise.
39591 * conf/i386-pc.rmk: Likewise.
39592 * conf/powerpc-ieee1275.rmk: Likewise.
39593
a145ac2d 395942008-06-18 Pavel Roskin <proski@gnu.org>
39595
39596 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39597 kernel_elf_symlist.c to symlist.c for consistency with other
39598 architectures. Update all users.
39599 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39600
7847c51e 396012008-06-18 Robert Millan <rmh@aybabtu.com>
39602
39603 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39604 it in prefix.
39605
39606 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39607 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39608 a RAID device, run setup() for all members independently on whether
39609 LVM abstraction is being used.
39610 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39611 If grub-mkimage has set `*install_dos_part == -2', don't override this
39612 value.
39613 Perform *install_dos_part adjustments independently on whether
39614 we're embedding or not.
39615 Clarify error message when image is too big for embedding.
39616 Remove duplicate *install_dos_part stanza.
39617
b23e5644 396182008-06-17 Robert Millan <rmh@aybabtu.com>
39619
39620 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39621 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39622 variables.
39623 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39624 values in grub_ofconsole_normal_color and
39625 grub_ofconsole_highlight_color (they're not directly related to
39626 background and foreground).
39627 (grub_ofconsole_setcolorstate): Extract background and foreground
39628 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39629
0aac2f79 396302008-06-17 Robert Millan <rmh@aybabtu.com>
39631
39632 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39633 /boot/grub for the check in last commit, not /boot (they could be
39634 different partitions).
39635
3cca7ef3 396362008-06-16 Robert Millan <rmh@aybabtu.com>
39637
39638 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39639 asked to setup access for the same partition that provides /boot,
39640 don't bother using UUIDs since our root already has the value we
39641 want.
39642
347396d8 396432008-06-16 Robert Millan <rmh@aybabtu.com>
39644
39645 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39646 I2O devices.
39647 Patch from Sven Mueller <sven@debian.org>.
39648
991477f8 396492008-06-16 Robert Millan <rmh@aybabtu.com>
39650
39651 * util/update-grub.in: Check for $EUID instead of $UID.
39652 Reported by Vincent Zweije.
39653
d31a32a1 396542008-06-16 Bean <bean123ch@gmail.com>
39655
fe987087 39656 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39657 (grub_ext2_read_block): Likewise.
39658 (grub_ext2_read_inode): Likewise.
39659 (grub_ext2_mount): Likewise.
39660 (grub_ext2_close): Likewise.
39661 (grub_ext3_get_journal): Removed.
39662
fe987087 39663 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39664 (grub_reiserfs_read_symlink): Likewise.
39665 (grub_reiserfs_mount): Likewise.
39666 (grub_reiserfs_open): Likewise.
39667 (grub_reiserfs_read): Likewise.
39668 (grub_reiserfs_close): Likewise.
39669 (grub_reiserfs_get_journal): Removed.
39670
39671 * fs/fshelp.c (grub_fshelp_read): Removed.
39672 (grub_fshelp_map_block): Likewise.
39673
39674 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39675 (grub_fshelp_journal): Likewise.
39676 (grub_fshelp_read): Likewise.
39677 (grub_fshelp_map_block): Likewise.
39678
3540a760 396792008-06-16 Pavel Roskin <proski@gnu.org>
39680
39681 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39682 floating point anymore.
39683 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39684
95614c84 396852008-06-15 Pavel Roskin <proski@gnu.org>
39686
39687 * commands/ls.c (grub_ls_list_files): Use integer calculations
39688 for human readable format, avoid floating point use.
39689 * kern/misc.c (grub_ftoa): Remove.
39690 (grub_vsprintf): Remove floating point support.
39691
50465dd6 396922008-06-15 Robert Millan <rmh@aybabtu.com>
39693
fe6b695a 39694 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39695 devices.
39696 Reported by Max Vozeler.
39697
a9207284 396982008-06-15 Robert Millan <rmh@aybabtu.com>
39699
39700 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39701 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39702 skipped later.
39703 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39704 the beginning of the prefix.
39705
39706 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39707 It is assumed that if we have a memdisk, grub-mkimage has set
39708 grub_prefix to include the "(memdisk)" drive in it.
39709
a7cbd45a 397102008-06-15 Robert Millan <rmh@aybabtu.com>
39711
39712 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39713 Initialize keyboard controller after registering the terminal, so that
39714 grub_printf() can be called from grub_keyboard_controller_init().
39715
21cf716a 397162008-06-15 Robert Millan <rmh@aybabtu.com>
39717
39718 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39719 extent-btree which is written as big endian on disk.
39720 Reported by Alain Greppin <al@chilibi.org>.
39721
23a64d8e 397222008-06-14 Robert Millan <rmh@aybabtu.com>
39723
39724 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39725 * util/i386/pc/grub-install.in (modules): Likewise.
39726
d687651c 397272008-06-13 Pavel Roskin <proski@gnu.org>
39728
39729 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39730
dfe9ddd4 397312008-06-13 Bean <bean123ch@gmail.com>
39732
39733 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39734
39735 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39736
39737 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39738 to indicate sparse block.
39739
16ae7781 397402008-06-12 Pavel Roskin <proski@gnu.org>
39741
e6d1a308 39742 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39743 number, grub_fshelp_read() does it for us.
39744
16ae7781 39745 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39746 linear disk read with journal translation.
39747 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39748 * include/grub/fshelp.h: Declare grub_fshelp_read().
39749
40fd3a2b 397502008-06-09 Pavel Roskin <proski@gnu.org>
39751
39752 * fs/minix.c (grub_minix_mount): Handle error reading
39753 superblock.
39754
f5679726 397552008-06-08 Robert Millan <rmh@aybabtu.com>
39756
39757 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39758 don't append the RAID prefix afterwards.
39759 Reported by Clint Adams.
39760
ce525529 397612008-06-08 Robert Millan <rmh@aybabtu.com>
39762
39763 Based on description from Pavel:
39764 * kern/disk.c (grub_disk_check_range): Rename to ...
39765 (grub_disk_adjust_range): ... this. Add a comment explaining the
39766 tasks performed by this function.
39767
ad4936a0 397682008-06-08 Robert Millan <rmh@aybabtu.com>
39769
39770 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39771 `num_serial' (for consistency with other variables).
39772 (struct grub_ntfs_data): Add `uuid' member.
39773 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39774 (grub_ntfs_uuid): New function.
39775 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39776
dc20b0f9 397772008-06-07 Pavel Roskin <proski@gnu.org>
39778
39779 * util/biosdisk.c (open_device): Revert last change to the
39780 function, it broke installation. The sector needs to be
39781 different dependent on which device is opened.
39782
c5e3cfba 397832008-06-06 Robert Millan <rmh@aybabtu.com>
39784
39785 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39786 rest of GRUB, and breakage doesn't happen if its value were modified.
39787
39788 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39789 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39790 a constant (same value).
39791 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39792 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39793
26a1f8c4 397942008-06-06 Robert Millan <rmh@aybabtu.com>
39795
39796 * util/biosdisk.c (open_device): Do not modify sector offset when
39797 accessing a partition. kern/disk.c already handles this for us.
39798
25d6b327 397992008-06-06 Robert Millan <rmh@aybabtu.com>
39800
39801 * util/grub-emu.c (grub_machine_init): Move code in this function from
39802 here ...
39803 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39804 segfault in case grub_printf() is called).
39805
39806 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39807 grub_probe. Update all users not to explicitly add it again.
39808 (grub_device): New variable; contains corresponding device for grubdir.
39809 (fs_module, partmap_module, devabstraction_module): Pass
39810 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39811 every time.
39812
9ece62fb 398132008-06-05 Robert Millan <rmh@aybabtu.com>
39814
39815 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39816 is found, print it (same layout as with labels).
39817
1ad36d37 398182008-06-04 Robert Millan <rmh@aybabtu.com>
39819
39820 * util/biosdisk.c (get_drive): Rename to ...
39821 (find_grub_drive): ... this. Update all users.
39822
39823 (get_os_disk): Rename to ...
39824 (convert_system_partition_to_system_disk): ... this. Update all users.
39825
39826 (find_drive): Rename to ...
39827 (find_system_device): ... this. Update all users.
39828
e6a30859 398292008-06-04 Robert Millan <rmh@aybabtu.com>
39830
39831 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39832 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39833 (make_device_map): Likewise.
39834
00c108a4 398352008-06-01 Robert Millan <rmh@aybabtu.com>
39836
39837 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39838 before dereferencing it.
39839
39840 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39841 union with fat12/fat16-specific ones. Add some new fields, including
39842 `num_serial' for both versions.
39843 (struct grub_fat_data): Add `uuid' member.
39844 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39845 names. Initialize `data->uuid' using `num_serial'.
39846 (grub_fat_uuid): New function.
39847 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39848
39849 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39850 (grub_reiserfs_uuid): New function.
39851 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39852 member.
39853
39854 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39855 (grub_xfs_uuid): New function.
39856 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39857
1385c5bb 398582008-06-01 Robert Millan <rmh@aybabtu.com>
39859
39860 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39861 code that is backward compatible with pre-uuid search command.
39862
c682dfd7 398632008-05-31 Robert Millan <rmh@aybabtu.com>
39864
39865 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39866 floppies after everything else, to ensure floppy drive isn't accessed
39867 unnecessarily (patch from Bean).
39868
b7db5d47 398692008-05-31 Robert Millan <rmh@aybabtu.com>
39870
39871 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39872 not print device names when we were asked to set a variable.
39873
6e037aa9 398742008-05-31 Robert Millan <rmh@aybabtu.com>
39875
39876 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39877 using "cursor-on" and "cursor-off" commands (understood at least by
39878 the Open Firmware flavour on OLPC).
39879
41305bc8 398802008-05-31 Michael Gorven <michael@gorven.za.net>
39881
39882 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39883 on and off sequences.
39884
69ba137e 398852008-05-31 Robert Millan <rmh@aybabtu.com>
39886
39887 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39888 * util/update-grub.in: Likewise.
39889
520ae21b 398902008-05-30 Pavel Roskin <proski@gnu.org>
39891
39892 * util/biosdisk.c (linux_find_partition): Simplify logic and
39893 make the code more universal. Keep special processing for
39894 devfs, but use a simple rule for all other devices. If the
39895 device ends with a number, append 'p' and the partition number.
39896 Otherwise, append only the partition number.
39897
5786569b 398982008-05-30 Robert Millan <rmh@aybabtu.com>
39899
39900 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39901 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39902 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39903 the `root' parameter to Linux.
39904
51500452 399052008-05-30 Robert Millan <rmh@aybabtu.com>
39906
39907 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39908 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39909 --fs_uuid with --fs-uuid.
39910 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39911 all filesystems support them).
39912
811d3878 399132008-05-30 Robert Millan <rmh@aybabtu.com>
39914
39915 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39916 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39917
cab63c95 399182008-05-30 Robert Millan <rmh@aybabtu.com>
39919
39920 * util/grub.d/00_header.in: Remove obsolete comment referencing
39921 convert_system_path_to_grub_path().
39922 * util/update-grub.in: Likewise.
39923 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39924 (convert_system_path_to_grub_path): Add a warning message explaining
39925 that this function is deprecated. Rely on is_path_readable_by_grub()
39926 for the readability checks.
39927 (font_path): Use is_path_readable_by_grub() for the readability
39928 check rather than convert_system_path_to_grub_path().
39929
972e2f7a 399302008-05-30 Robert Millan <rmh@aybabtu.com>
39931
39932 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39933 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39934 converting it first.
39935 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39936 grub.cfg for access to font file, and afterwards call it again to set
39937 the root device.
39938
62191274 399392008-05-30 Robert Millan <rmh@aybabtu.com>
39940
39941 * commands/search.c (options): Add --fs_uuid option.
39942 (search_fs_uuid): New function.
39943 (grub_cmd_search): Fix --set argument passing.
39944 Use search_fs_uuid() when requested via --fs_uuid.
39945 (grub_search_init): Update help message.
39946 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39947 and redeclare it as an array of 16-bit words.
39948 (grub_ext2_uuid): New function.
39949 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39950 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39951 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39952 (GRUB_DEVICE_BOOT_UUID): New variables.
39953 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39954 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39955 whenever possible.
39956 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39957 just assume `root' variable has the right value.
39958 * util/grub.d/10_linux.in: Likewise.
39959 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39960 via PRINT_FS_UUID.
39961 (main): Recognise `-t fs_uuid' argument.
39962
01b73ec8 399632008-05-30 Robert Millan <rmh@aybabtu.com>
39964
39965 * util/biosdisk.c (map): Redefine structure to hold information
39966 about GRUB drive name.
fe6b695a 39967 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39968 drive names.
39969 (call_hook): Remove.
39970 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39971 member. Assume drive has partitions.
39972 (grub_util_biosdisk_open): Access device names via `.device' struct
39973 member.
39974 (open_device): Likewise.
39975 (find_drive): Likewise.
39976 (read_device_map): Adjust map[] usage to match the new struct
39977 definition. Don't check for duplicates (still possible, but not cheap
39978 anymore).
39979 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39980 (make_device_name): Remove assumption of BIOS-like drive names.
39981
22f16596 399822008-05-30 Pavel Roskin <proski@gnu.org>
39983
39984 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39985 compiling execute.c doesn't need grub_script.tab.h anymore.
39986 (normal/command.c_DEPENDENCIES): Likewise.
39987 (normal/function.c_DEPENDENCIES): Likewise.
39988 * conf/i386-ieee1275.rmk: Likewise.
39989 * conf/i386-linuxbios.rmk: Likewise.
39990 * conf/i386-pc.rmk: Likewise.
39991 * conf/powerpc-ieee1275.rmk: Likewise.
39992 * conf/sparc64-ieee1275.rmk: Likewise.
39993
528ad8f2 399942008-05-29 Pavel Roskin <proski@gnu.org>
39995
d1dff95d 39996 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39997 when scanning metadata for volume group name.
39998
528ad8f2 39999 * include/grub/script.h: Don't include grub_script.tab.h. It's
40000 a generated file, which may only be included from the files with
40001 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40002 use union YYSTYPE, as the later allows forward declaration.
40003 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40004
47248e08 400052008-05-29 Robert Millan <rmh@aybabtu.com>
40006
40007 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40008 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40009 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40010 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40011 scan codes.
40012
ee632529 400132008-05-29 Robert Millan <rmh@aybabtu.com>
40014
40015 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40016 control key combinations.
40017
eee96e08 400182008-05-29 Robert Millan <rmh@aybabtu.com>
40019
40020 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40021 * util/ieee1275/grub-install.in: ... to here.
40022 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40023 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40024 (grub_install_SOURCES): Likewise.
40025
da9a6a94 400262008-05-29 Robert Millan <rmh@aybabtu.com>
40027
40028 * fs/affs.c: Update copyright year.
40029 * fs/ext2.c: Likewise.
40030 * fs/fshelp.c: Likewise.
40031 * fs/hfsplus.c: Likewise.
40032 * fs/ntfs.c: Likewise.
40033 * fs/xfs.c: Likewise.
40034 * include/grub/fshelp.h: Likewise.
40035 * util/grub-mkdevicemap.c: Likewise.
40036
12e65f3a 400372008-05-28 Robert Millan <rmh@aybabtu.com>
40038
40039 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40040 might need to be fatfs to support some firmware implementations
40041 (e.g. OFW or EFI).
40042
23023641 400432008-05-28 Robert Millan <rmh@aybabtu.com>
40044
40045 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40046 devices.
40047 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40048 (make_device_map): Likewise.
40049
887d2619 400502008-05-20 Bean <bean123ch@gmail.com>
40051
40052 * fs/fshelp.c (grub_fshelp_map_block): New function.
40053 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40054 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40055
40056 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40057 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40058 (grub_fshelp_journal): New structure.
40059 (grub_fshelp_map_block): New function prototype.
40060 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40061 (grub_fshelp_map_block): Likewise.
40062
40063 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40064 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40065 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40066 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40067 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40068 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40069 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40070 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40071 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40072 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40073 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40074 (grub_ext2_sblock): New members for journal support.
40075 (grub_ext3_journal_header): New structure.
40076 (grub_ext3_journal_revoke_header): Likewise.
40077 (grub_ext3_journal_block_tag): Likewise.
40078 (grub_ext3_journal_sblock): Likewise.
40079 (grub_fshelp_node): New members logfile and journal.
40080 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40081 grub_fshelp_map_block to get real block number.
40082 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40083 number.
40084 (grub_ext2_read_inode): Likewise.
40085 (grub_ext3_get_journal): New function.
40086 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40087 (grub_ext2_close): Release memory used by journal.
40088
40089 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40090 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40091 (grub_reiserfs_transaction_header): Renamed to
40092 grub_reiserfs_description_block, replace field data with real_blocks.
40093 (grub_reiserfs_commit_block): New structure.
40094 (grub_reiserfs_data): New member journal.
40095 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40096 number.
40097 (grub_reiserfs_read_symlink): Likewise.
40098 (grub_reiserfs_iterate_dir): Likewise.
40099 (grub_reiserfs_open): Likewise.
40100 (grub_reiserfs_read): Likewise.
40101 (grub_reiserfs_get_journal): New function.
40102 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40103 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40104 using grub_reiserfs_get_journal.
40105 (grub_reiserfs_close): Release memory used by journal.
40106
40107 * fs/affs.c (grub_affs_read_block): Change block type to
40108 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40109
40110 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40111
40112 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40113
40114 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40115
40116 * fs/udf.c (grub_udf_read_block): Change block type to
40117 grub_disk_addr_t. Use type cast to avoid warning.
40118
40119 * fs/xfs.c (grub_xfs_read_block): Likewise.
40120
b7c6bed5 401212008-05-16 Christian Franke <franke@computer.org>
40122
40123 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40124 to ensure that break with ESC will always work.
40125 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40126 Remove ESC from keyboard queue.
40127
eedf167f 401282008-05-16 Christian Franke <franke@computer.org>
40129
40130 * util/biosdisk.c: [__CYGWIN__] Add includes.
40131 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40132 (get_os_disk): Move variable declarations to OS specific
40133 parts to avoid warning.
40134 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40135 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40136 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40137 Cygwin.
40138 * util/getroot.c: [__CYGWIN__] Add includes.
40139 (strip_extra_slashes): Fix "/" case.
40140 [__CYGWIN__] (get_win32_path): New function.
40141 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40142 [__CYGWIN__] (find_root_device): Disable.
40143 [__CYGWIN__] (get_bootsec_serial): New function.
40144 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40145 [__linux__] (grub_guess_root_device): Add early returns to simplify
40146 structure.
40147 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40148 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40149 check for Linux only.
40150
a079699e 401512008-05-15 Bean <bean123ch@gmail.com>
40152
40153 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40154 keyboard hang problem in apple's intel mac.
40155
1cf4059a 401562008-05-09 Robert Millan <rmh@aybabtu.com>
40157
40158 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40159 devices.
40160 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40161 (make_device_map): Likewise.
40162 Reported by Aurelien Jarno <aurel32@debian.org>
40163
ed759390 401642008-05-07 Ian Campbell <ijc@hellion.org.uk>
40165
40166 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40167 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40168 (make_device_map): Output entries for xvd type disks.
40169
b56c4eaa 401702008-05-07 Robert Millan <rmh@aybabtu.com>
40171
40172 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40173 devices.
40174 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40175 (make_device_map): Likewise.
40176 Reported by Roland Dreier <rdreier@cisco.com>
40177
7f8866ed 401782008-05-07 Robert Millan <rmh@aybabtu.com>
40179
40180 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40181 grub_strstr() call. Correct a few mistakes in failure path handling.
40182
b0346e0f 401832008-05-06 Robert Millan <rmh@aybabtu.com>
40184
40185 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40186 Do not print a trailing slash (therefore, the root directory is an
40187 empty string).
40188 (convert_system_path_to_grub_path): Do not remove trailing slash
40189 from make_system_path_relative_to_its_root() output.
40190
40191 * util/i386/pc/grub-install.in: Add trailing slash to output from
40192 make_system_path_relative_to_its_root().
40193
6cf12cbd 401942008-05-06 Robert Millan <rmh@aybabtu.com>
40195
40196 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40197 ensures that output lines aren't intermangled with those sent to
40198 stderr (via grub_util_info()).
40199 * util/grub-probe.c (grub_refresh): Likewise.
40200 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40201
0fbb3117 402022008-05-05 Christian Franke <franke@computer.org>
40203
40204 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40205 Add Cygwin device names.
40206 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40207 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40208 (check_device): Return error instead of success on empty name.
40209 (make_device_map): Move label inside linux specific code to
40210 prevent compiler warning.
40211
8124cdb7 402122008-04-30 Robert Millan <rmh@aybabtu.com>
40213
40214 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40215 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40216 first boot option.
40217 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40218
094c01d0 402192008-04-29 Robert Millan <rmh@aybabtu.com>
40220
40221 * docs/grub.cfg: New file (example GRUB configuration).
40222
f4b1fc02 402232008-04-26 Robert Millan <rmh@aybabtu.com>
40224
329ce2a5 40225 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40226 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40227 and `disk/ieee1275/nand.c'.
f4b1fc02 40228
25f16ec1 402292008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40230
25f16ec1 40231 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40232 i386-linuxbios.
40233
40234 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40235 change the buffer size to 4096 for cdrom device.
40236
40237 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40238 and nand.mod.
40239 (_linux_mod_SOURCES): New variable.
40240 (_linux_mod_CFLAGS): Likewise.
40241 (_linux_mod_LDFLAGS): Likewise.
40242 (linux_mod_SOURCES): Likewise.
40243 (linux_mod_CFLAGS): Likewise.
40244 (linux_mod_LDFLAGS): Likewise.
40245 (nand_mod_SOURCES): Likewise.
40246 (nand_mod_CFLAGS): Likewise.
40247 (nand_mod_LDFLAGS): Likewise.
40248
40249 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40250 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40251 type property. (nand device in olpc don't have this property)
40252
40253 * include/grub/disk.h (grub_disk_dev_id): New macro
40254 GRUB_DISK_DEVICE_NAND_ID.
40255
40256 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40257 function prototype.
40258 (grub_rescue_cmd_initrd): Likewise.
40259
40260 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40261 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40262 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40263
25f16ec1 40264 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40265 GRUB_MACHINE_IEEE1275 is defined.
40266
40267 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40268 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40269
40270 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40271 on nested function heap_init.
40272 (grub_upper_mem): New variable for i386-ieee1275.
40273 (grub_get_extended_memory): New function for i386-ieee1275.
40274 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40275
40276 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40277 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40278 property.
f19dbdb7 40279
25f16ec1 40280 * loader/i386/ieee1275/linux.c: New file.
40281
40282 * loader/i386/ieee1275/linux_normal.c: New file.
40283
40284 * disk/ieee1275/nand.c: New file.
40285
e89d61e9 402862008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40287
40288 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40289 value.
40290 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40291
602566f6 402922008-04-18 Robert Millan <rmh@aybabtu.com>
40293
40294 Restructures early code path on ieee1275 to unify grub_main() as
40295 the first C function that is executed in every platform.
40296
40297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40298 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40299 cmain().
40300 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40301 * kern/ieee1275/cmain.c (cmain): Rename to ...
40302 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40303 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40304 at the beginning.
40305
57490c2b 403062008-04-18 Robert Millan <rmh@aybabtu.com>
40307
40308 * util/update-grub.in: Fix syntax error when setting
40309 `GRUB_PRELOAD_MODULES'.
40310 Reported by Stephane Chazelas <stephane@artesyncp.com>
40311
1977517d 403122008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40313
40314 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40315 section into account, newer toolchains generate unique build ids
40316 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40317 we want build ids to be preserved
1977517d 40318 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40319 far from other sections don't cause the raw binary images grow
40320 size
40321
bfb1f1a2 403222008-04-15 Robert Millan <rmh@aybabtu.com>
40323
40324 * disk/lvm.c: Update copyright year.
40325 * kern/misc.c: Likewise.
40326
01979850 403272008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40328
40329 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40330 there is no memory left for physical volume name.
01979850 40331
0a1150e2 403322008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40333
40334 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40335 volume name mapping to support bigger than 9 character names properly.
40336
82ead3fe 403372008-04-13 Robert Millan <rmh@aybabtu.com>
40338
40339 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40340 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40341
e54a72f5 403422008-04-13 Christian Franke <franke@computer.org>
40343
40344 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40345 to create a floppy emulation boot CD when non emulation mode
40346 does not work.
40347 Enable Joliet CD filesystem extension.
40348
9fe86034 403492008-04-13 Robert Millan <rmh@aybabtu.com>
40350
40351 * kern/misc.c (grub_strncat): Fix off-by-one error.
40352 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40353
40354 * kern/env.c (grub_env_context_close): Clear current context, not
40355 previous one.
40356 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40357
40358 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40359
7ceeee39 403602008-04-13 Robert Millan <rmh@aybabtu.com>
40361
40362 Improve robustness when handling LVM.
40363
40364 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40365 (and leave `*p' unmodified).
7ceeee39 40366 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40367 through it.
40368 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40369 iterating through it.
40370 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40371 through it.
fe6b695a 40372 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40373 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40374 Don't assume `vg->pvs != NULL' when iterating through it.
40375
58cd3d85 403762008-04-13 Robert Millan <rmh@aybabtu.com>
40377
40378 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40379 * genmk.rb (partmap): New variable.
40380 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40381 (#{partmap}): New target rule.
40382 * genpartmaplist.sh: New file.
40383 * Makefile.in (pkglib_DATA): Add partmap.lst.
40384 (partmap.lst): New target rule.
40385 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40386 modules (including all partition maps), instead of preloading them.
40387
78b51059 403882007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40389
40390 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40391 `linux-boot-prober' (if installed) to detect other operating
40392 systems which are installed on the computer and add them to
40393 the boot menu.
40394 * conf/common.rmk: Build and install 30_os-prober.
40395
a91627b4 403962008-04-12 Robert Millan <rmh@aybabtu.com>
40397
40398 * kern/powerpc/ieee1275/init.c: Move from here ...
40399 * kern/ieee1275/init.c: ... to here. Update all users.
40400
40401 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40402 * kern/ieee1275/cmain.c: ... to here. Update all users.
40403
40404 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40405 * kern/ieee1275/openfw.c: ... to here. Update all users.
40406
40407 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40408 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40409
322562ea 404102008-04-10 Pavel Roskin <proski@gnu.org>
40411
40412 * configure.ac: Always use "_cv_" in cache variables for
40413 compatibility with Autoconf 2.62.
40414
a02a73c5 404152008-04-07 Robert Millan <rmh@aybabtu.com>
40416
40417 Revert grub/machine/init.h addition by Pavel (since it breaks on
40418 i386-ieee1275 and others):
40419 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40420 * util/powerpc/ieee1275/misc.c: Likewise.
40421
25c024b1 404222008-04-07 Robert Millan <rmh@aybabtu.com>
40423
40424 * util/grub-probe.c (probe): Improve error message.
40425
3cbd2f98 404262008-04-07 Robert Millan <rmh@aybabtu.com>
40427
40428 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40429 (this prevents the presence of a bogus entry from ruining the whole
40430 thing).
40431
87a297bf 404322008-04-06 Pavel Roskin <proski@gnu.org>
40433
36747a62 40434 * util/biosdisk.c: Include grub/util/biosdisk.h.
40435 * util/grub-fstest.c (execute_command): Make static.
40436 * util/grub-mkdevicemap.c (check_device): Likewise.
40437 * util/i386/pc/misc.c: Include grub/machine/init.h.
40438 * util/powerpc/ieee1275/misc.c: Likewise.
40439 * util/lvm.c: Include grub/util/lvm.h.
40440 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40441 grub/cache.h.
40442 * util/raid.c: Include grub/util/raid.h.
40443 (grub_util_getdiskname): Make static.
40444
87a297bf 40445 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40446 grub_hostfs_fini(), as they are called from grub_init_all() and
40447 grub_fini_all() respectively. This fixes an infinite loop in
40448 grub-fstest due to double registration of hostfs.
40449 Reported by Christian Franke <Christian.Franke@t-online.de>
40450
f6ce7629 404512008-04-05 Pavel Roskin <proski@gnu.org>
40452
40453 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40454 all 8 functions. Otherwise, probe function 0 only.
40455
070e49e4 404562008-04-04 Pavel Roskin <proski@gnu.org>
40457
8b088a4c 40458 * commands/lspci.c (grub_lspci_iter): Print the bus number
40459 correctly.
40460
4f657021 40461 * commands/lspci.c (grub_pci_classes): Fix typos.
40462 (grub_lspci_iter): Don't print func twice. Print vendor ID
40463 before device ID, as it's normally done.
40464
070e49e4 40465 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40466 Fix signedness warnings.
40467 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40468 Likewise.
40469 * util/ieee1275/get_disk_name.c: Include config.h so that
40470 _GNU_SOURCE is defined and getline() is declared. Mark an
40471 unused argument as such. Fix a signedness warning.
40472
ba7328dc 404732008-04-02 Pavel Roskin <proski@gnu.org>
40474
26887f22 40475 * genkernsyms.sh.in: Use more robust assignments for CC and
40476 srcdir. Quote srcdir.
40477 * gensymlist.sh.in: Likewise. Assert at the compile time that
40478 the symbol table is not empty.
40479
ba7328dc 40480 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40481 * fs/cpio.c (grub_cpio_read): Likewise.
40482
0f582c6b 404832008-04-01 Pavel Roskin <proski@gnu.org>
40484
4b6e1995 40485 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40486 * disk/host.c (grub_host_open): Likewise.
40487 * disk/loopback.c (grub_loopback_open): Likewise.
40488 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40489 disk->id as in disk/host.c, not a multi-character constant.
40490
828a2768 40491 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40492 later is obsolete, potentially dangerous and sets a bad example.
40493 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40494 * util/misc.c (grub_util_get_image_size): Likewise.
40495
2bb4fb47 40496 * disk/loopback.c (options): Improve help for "--partitions".
40497
0f582c6b 40498 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40499 options to align them with the short options, e.g. "echo -e".
40500
a33224e0 405012008-03-31 Bean <bean123ch@gmail.com>
40502
40503 * video/reader/png.c (grub_png_data): New member is_16bit and
40504 image_data.
40505 (grub_png_decode_image_header): Detect 16 bit png image.
40506 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40507 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40508 (grub_video_reader_png): Release memory occupied by image_data.
40509
40510 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40511 4096 bytes.
40512 (grub_nfs_mount): Skip the test for sector per cluster.
40513
40514 * include/grub/ntfs.h (MAX_SPC): Removed.
40515
86cb4f54 405162008-03-31 Bean <bean123ch@gmail.com>
40517
40518 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40519 (grub_probe_SOURCES): Add fs/afs.c.
40520 (grub_fstest_SOURCES): Likewise.
40521 (afs_mod_SOURCES): New variable.
40522 (afs_mod_CFLAGS): Likewise.
40523 (afs_mod_LDFLAGS): Likewise.
40524
40525 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40526 (grub_emu_SOURCES): Likewise.
40527
40528 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40529
40530 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40531
40532 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40533
40534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40535
40536 * fs/afs.c: New file.
40537
17c74c21 405382008-03-30 Pavel Roskin <proski@gnu.org>
40539
4cb68e89 40540 * disk/host.c: Include grub/misc.h to fix a warning.
40541 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40542 warnings about implicit declarations.
40543
8790bb04 40544 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40545 variable.
40546 * include/grub/i386/loader.h: Change declaration of
40547 grub_linux_boot() to match what grub_loader_set() expects.
40548 * util/getroot.c (grub_guess_root_device): Return const char* to
40549 fix a warning.
40550 * util/grub-probe.c (probe): Fix a warning about uninitialized
40551 abstraction_name variable.
40552 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40553 second argument as unused to fix a warning.
40554
9a3f3296 40555 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40556 missing grub_error() call.
40557
0ecef90d 40558 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40559 2.60 and newer uses it to define datadir.
40560
0bf6d401 40561 * commands/sleep.c: Fix warning about implicit declaration.
40562 * disk/memdisk.c: Likewise.
40563 * loader/aout.c: Likewise.
40564 * loader/i386/bsd_normal.c: Likewise.
40565 * util/grub-probe.c: Likewise.
40566
7cdacf97 40567 * commands/i386/cpuid.c (has_longmode): Make static.
40568 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40569 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40570
17c74c21 40571 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40572 GDT. This is more robust, as %ds can change.
40573 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40574 calling real_to_prot().
40575 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40576
80a3e68b 405772008-03-28 Pavel Roskin <proski@gnu.org>
40578
40579 * kern/i386/pc/startup.S: Assert that uncompressed functions
40580 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40581 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40582 code, as they push parts of the code (error handlers) beyond
40583 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40584 code as correctness and size.
40585
77bcd272 405862008-03-28 Pavel Roskin <proski@gnu.org>
40587
40588 * kern/i386/pc/startup.S
40589 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40590 data block address to the real mode, keep offset minimal. This
40591 works around a bug in AWARD BIOS on old Athlon systems, which
40592 makes CD detection hang.
40593
c5dfd43b 405942008-03-26 Pavel Roskin <proski@gnu.org>
40595
40596 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40597 const.
40598 * include/grub/normal.h: Add grub_parse_color_name_pair()
40599 declaration.
40600
bf962df2 406012008-03-24 Bean <bean123ch@gmail.com>
40602
40603 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40604 (cd_count): Removed.
40605 (cd_drive): New variable.
40606 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40607 (grub_biosdisk_call_hook): Likewise.
40608 (grub_biosdisk_iterate): Change cdrom detection method.
40609 (grub_biosdisk_open): Replace cd_start with cd_drive.
40610 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40611 detect cdrom device.
40612
40613 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40614 Removed.
40615 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40616 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40617 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40618 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40619 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40620 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40621 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40622 (grub_biosdisk_cdrp): New structure.
40623 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40624
40625 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40626
40627 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40628 device.
40629
40630 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40631 New function.
40632
68e7fc7a 406332008-03-20 Robert Millan <rmh@aybabtu.com>
40634
40635 Remove 2 TiB limit in ata.mod.
40636 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40637 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40638 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40639 grub_uint64_t instead of grub_uint32_t.
40640
38ad2cf5 406412008-03-05 Bean <bean123ch@gmail.com>
40642
40643 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40644 (grub_multiboot): Set boot device.
40645
40646 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40647
2b89344e 406482008-03-02 Bean <bean123ch@gmail.com>
40649
40650 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40651 symlink_buffer.
40652
87a95d1f 406532008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40654
40655 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40656 texinfo.tex.
40657
40658 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40659 modified.
40660
40661 * docs/fdl.texi: New file.
f19dbdb7 40662
87a95d1f 40663 * docs/mdate-sh: New file. Copied from gnulib.
40664 * docs/texinfo.tex: Likewise.
40665
40666 * config.guess: Updated from gnulib.
40667 * install-sh: Likewise.
40668
7dc15d8e 406692008-02-28 Robert Millan <rmh@aybabtu.com>
40670
40671 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40672 (aout_mod_SOURCES): New variable.
40673 (aout_mod_CFLAGS): Likewise.
40674 (aout_mod_LDFLAGS): Likewise.
40675
40676 * conf/i386-ieee1275.rmk: Likewise.
40677
b00ab696 406782008-02-28 Robert Millan <rmh@aybabtu.com>
40679
40680 * util/update-grub.in: Reorganise terminal validity check. Accept
40681 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40682 Based on suggestion by Franklin PIAT.
40683
79ca2d78 406842008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40685
40686 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40687 function.
40688 * util/getroot.c (grub_util_check_block_device): New function that
40689 returns the given argument if it is a block device and returns NULL else.
40690 * util/grub-probe.c (argument_is_device): New variable.
40691 (probe): Promote device_name from a variable to an argument. Receive
40692 device_name from grub_util_check_block_device() if path is NULL and from
40693 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40694 (options): Introduce new parameter '-d, --device'.
79ca2d78 40695 (main): Add description of the new parameter to the help screen.
40696 Rename path variable to argument. Set argument_is_device if the '-d'
40697 option is given. Pass argument to probe() depending on
40698 argument_is_device.
40699
0d16e571 407002008-02-24 Bean <bean123ch@gmail.com>
40701
40702 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40703 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40704 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40705 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40706 (GRUB_ISO9660_VOLDESC_END): Likewise.
40707 (grub_iso9660_primary_voldesc): New member escape.
40708 (grub_iso9660_data): New member joliet.
40709 (grub_iso9660_convert_string): New function.
40710 (grub_iso9660_mount): Detect joliet extension.
40711 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40712 (grub_iso9660_iso9660_label): Likewise.
40713
40714 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40715 (grub_setup_SOURCES): Add fs/udf.c.
40716 (grub_fstest_SOURCES): Likewise.
40717 (udf_mod_SOURCES): New variable.
40718 (udf_mod_CFLAGS): Likewise.
40719 (udf_mod_LDFLAGS): Likewise.
40720
40721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40722 (grub_emu_SOURCES): Likewise.
40723
40724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40725
40726 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40727
40728 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40729
40730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40731
40732 * fs/udf.c: New file.
40733
8a594a17 407342008-02-24 Robert Millan <rmh@aybabtu.com>
40735
40736 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40737 (normal/lexer.c_DEPENDENCIES): New variables.
40738 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40739 (normal/lexer.c_DEPENDENCIES): Likewise.
40740 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40741 (normal/lexer.c_DEPENDENCIES): Likewise.
40742 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40743 (normal/lexer.c_DEPENDENCIES): Likewise.
40744 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40745 (normal/lexer.c_DEPENDENCIES): Likewise.
40746 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40747 (normal/lexer.c_DEPENDENCIES): Likewise.
40748
2dc33c03 407492008-02-23 Robert Millan <rmh@aybabtu.com>
40750
40751 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40752 since they were intended to be in hex. This didn't break previously
40753 because of a bug in gpt_partition_map_iterate() (see below).
40754
40755 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40756 when checking the validity of GPT header.
40757 Remove `partno', since it always provides the same information as `i'.
40758
f6f4cfb0 407592008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40760
40761 * include/grub/efi/time.h: Fix a wrong comment.
40762
79ff665f 407632008-02-19 Pavel Roskin <proski@gnu.org>
40764
40765 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40766 message.
40767
d38e24c2 407682008-02-19 Bean <bean123ch@gmail.com>
40769
40770 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40771 (aout_mod_SOURCES): New variable.
40772 (aout_mod_CFLAGS): Likewise.
40773 (aout_mod_LDFLAGS): Likewise.
40774 (_bsd_mod_SOURCES): New variable.
40775 (_bsd_mod_CFLAGS): Likewise.
40776 (_bsd_mod_LDFLAGS): Likewise.
40777 (bsd_mod_SOURCES): New variable.
40778 (bsd_mod_CFLAGS): Likewise.
40779 (bsd_mod_LDFLAGS): Likewise.
40780
40781 * include/grub/aout.h: New file.
40782
40783 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40784
40785 * include/grub/i386/bsd.h: New file.
40786
40787 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40788 to make it public.
40789
40790 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40791 function is called, so that it's possible to change it inside the hook.
40792 (grub_elf64_load): Likewise.
40793 (grub_elf_file): Don't close the file if elf header is not found.
40794 (grub_elf_close): Close the file if grub_elf_file fails (The new
40795 grub_elf_file won't close it).
40796 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40797 (grub_elf64_size): Likewise.
40798
40799 * kern/i386/loader.S (grub_unix_real_boot): New function.
40800
40801 * loader/aout.c: New file.
40802
40803 * loader/i386/bsd.c: New file.
40804
40805 * loader/i386/bsd_normal.c: New file.
40806
40807 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40808
40809 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40810 can test other formats.
d38e24c2 40811
b93bdb0f 408122008-02-19 Robert Millan <rmh@aybabtu.com>
40813
40814 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40815 (grub_gpt_partition_type_empty): Redefine with macro from
40816 `<grub/gpt_partition.h>'.
40817 (gpt_partition_map_iterate): Adjust partition type comparison.
40818
40819 Export `entry' as partmap-specific `part.data' struct.
40820 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40821
40822 * include/grub/gpt_partition.h (grub_gpt_header)
40823 (grub_gpt_partentry): ... to here (new file).
40824
40825 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40826
40827 (grub_gpt_partition_type_bios_boot): New const variable, defined
40828 with macro from `<grub/gpt_partition.h>'.
40829
40830 (setup): Replace `first_start' with `embed_region', which keeps
40831 track of the embed region (and is partmap-agnostic).
40832
40833 Replace find_first_partition_start() with find_usable_region(),
40834 which finds a usable region for embedding using partmap-specific
40835 knowledge (supports PC/MSDOS and GPT).
40836
40837 Fix all assumptions that the embed region start at sector 1, using
40838 `embed_region.start' from now on. Similarly, use `embed_region.end'
40839 rather than `first_start' to calculate available size.
40840
40841 In grub_util_info() message, replace "into after the MBR" with an
40842 indication of the specific sector our embed region starts at.
40843
66cb40f6 408442008-02-19 Robert Millan <rmh@aybabtu.com>
40845
40846 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40847 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40848 `commands/reboot.c'.
40849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40850 (halt_mod_SOURCES): Likewise.
40851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40852 (halt_mod_SOURCES): Likewise.
40853
b7202015 408542008-02-17 Christian Franke <franke@computer.org>
40855
40856 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40857
32b0fc49 408582008-02-17 Robert Millan <rmh@aybabtu.com>
40859
40860 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40861 set `first_start' to 0 for non-PC/MSDOS partition maps.
40862
aca63502 408632008-02-16 Robert Millan <rmh@aybabtu.com>
40864
40865 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40866 do not assume partition map is PC/MSDOS before performing checks that
40867 are specific to that layout.
40868
0de8be86 408692008-02-13 Robert Millan <rmh@aybabtu.com>
40870
40871 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40872 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40873 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40874
c3db8364 408752008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40876
40877 * configure.ac: Only a cosmetic change on the handling of
40878 -fno-stack-protector.
40879
f714229e 408802008-02-12 Alexandre Boeglin <alex@boeglin.org>
40881
c3db8364 40882 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40883 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40884 reboot.c.
f714229e 40885 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40886 (halt_mod_SOURCES): New variable.
40887 (halt_mod_CFLAGS): Likewise.
40888 (halt_mod_LDFLAGS): Likewise.
40889 (reboot_mod_SOURCES): Likewise.
40890 (reboot_mod_CFLAGS): Likewise.
40891 (reboot_mod_LDFLAGS): Likewise.
40892
c3db8364 40893 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40894 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40895 reboot.c.
f714229e 40896 (halt_mod_SOURCES): Likewise.
40897 (reboot_mod_SOURCES): Likewise.
40898
c3db8364 40899 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40900 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40901 (reboot_mod_SOURCES): Likewise.
40902
40903 * commands/i386/pc/reboot.c: merge this file ...
40904
40905 * commands/ieee1275/reboot.c: ... and this file ...
40906
40907 * commands/reboot.c: ... to this file.
c3db8364 40908 Add some precompiler directive to include the correct header for
40909 each machine.
f714229e 40910
40911 * commands/ieee1275/halt.c: move this file ...
40912
40913 * commands/halt.c: ... to here.
c3db8364 40914 Add some precompiler directive to include the correct header for
40915 each machine.
f714229e 40916
40917 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40918 (grub_halt): Likewise.
40919
40920 * kern/efi/efi.c (grub_reboot): New function.
40921 (grub_halt): Likewise.
40922
c74493e0 409232008-02-12 Robert Millan <rmh@aybabtu.com>
40924
40925 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40926 /dev (like it is done for /dev/mapper). This doesn't provide support
40927 for EVMS, but at least it is now easy to identify the problem when it
40928 arises.
40929
d0db4b04 409302008-02-11 Robert Millan <rmh@aybabtu.com>
40931
40932 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40933 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40934 comparing it with -1, not 0.
40935
bf748642 409362008-02-10 Robert Millan <rmh@aybabtu.com>
40937
40938 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40939 `disk/lvm.c'.
40940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40941 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40942
40943 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40944 `disk/lvm.c' to the end of the list.
40945 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40946 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40947
b5db202a 409482008-02-10 Robert Millan <rmh@aybabtu.com>
40949
40950 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40951 grub_print_error() instead. This will let user know why we're entering
40952 rescue mode.
40953 Based on suggestions from Sam Morris.
40954
83abee31 409552008-02-10 Alexandre Boeglin <alex@boeglin.org>
40956
40957 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40958 on remaining N args, instead of "--" arg N times.
40959
78d5a08b 409602008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40961
40962 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40963 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40964 pattern for unknown glyphs.
40965
68807e5f 409662008-02-09 Robert Millan <rmh@aybabtu.com>
40967
40968 * configure.ac: Probe for `help2man'.
40969 * Makefile.in (builddir): New variable.
40970 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40971 or otherwise add a few flags/options to it.
40972 (install-local): For every executable utility or script that is
40973 installed, invoke $(HELP2MAN) to install a manpage based on --help
40974 output.
40975
40976 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40977 that it doesn't prevent --help from working in build tree.
40978
40979 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40980 with `bug-grub@gnu.org'.
40981 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40982 * util/update-grub.in (usage): New function.
40983 Implement proper argument check, with support for --help and --version
40984 (as well as existing -y).
40985
409862008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40987
40988 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40989 avoid overwriting previous output.
40990 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40991
c1962162 409922008-02-09 Robert Millan <rmh@aybabtu.com>
40993
40994 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40995 drawing the menu.
40996
3dac2e3f 409972008-02-09 Robert Millan <rmh@aybabtu.com>
40998
40999 * commands/sleep.c: New file.
41000 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41001 (sleep_mod_SOURCES): New variable.
41002 (sleep_mod_CFLAGS): Likewise.
41003 (sleep_mod_LDFLAGS): Likewise.
41004
7a634e08 410052008-02-09 Robert Millan <rmh@aybabtu.com>
41006
41007 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41008 situations in which we can deduce the RAID size and the superblock
41009 doesn't match it.
41010
b92f0c18 410112008-02-09 Robert Millan <rmh@aybabtu.com>
41012
41013 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41014 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41015 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41016
41017 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41018 and return a grub_diskmemberlist_t composed of physical array members.
41019 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41020
41021 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41022 prototype.
41023 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41024 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41025 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41026
41027 * util/grub-probe.c (probe): Move partmap probing code from here ...
41028 (probe_partmap): ... to here.
41029 (probe): Use probe_partmap() once for the disk we're probing, and
41030 additionally, when such disk contains a memberlist() struct member,
41031 once for each disk that is contained in the structure returned by
41032 memberlist().
41033
91a4bf68 410342008-02-09 Robert Millan <rmh@aybabtu.com>
41035
41036 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41037 environment variable to 'all' in order to obtain debug output from
41038 non-util/ code.
41039 * util/i386/pc/grub-setup.c (main): Likewise.
41040
a96f9caa 410412008-02-08 Robert Millan <rmh@aybabtu.com>
41042
41043 * disk/raid.c (grub_raid_scan_device): Check for
41044 `array->device[sb.this_disk.number]' rather than for
41045 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41046 guaranteed to be accessible.
a96f9caa 41047
b37a9222 410482008-02-08 Robert Millan <rmh@aybabtu.com>
41049
41050 * disk/raid.c: Update copyright.
41051 * fs/cpio.c: Likewise.
41052 * include/grub/raid.h: Likewise.
41053 * loader/i386/pc/multiboot.c: Likewise.
41054 * util/hostfs.c: Likewise.
41055
5626aee1 410562008-02-08 Robert Millan <rmh@aybabtu.com>
41057
41058 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41059 to a grub_disk_t array.
41060 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41061 `device[x]'.
41062 (grub_raid_scan_device): Replace `device[x].name' accesses with
41063 `device[x]->name'. Simplify initialization of `array->device[x]'.
41064
554f0187 410652008-02-08 Robert Millan <rmh@aybabtu.com>
41066
41067 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41068 grub_dprintf() calls.
41069 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41070 error message.
41071
1ec8425d 410722008-02-07 Christian Franke <franke@computer.org>
41073
41074 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41075 instead of fseek and ftell to support large files.
41076 (grub_hostfs_read): Likewise.
41077
f2156fda 410782008-02-07 Robert Millan <rmh@aybabtu.com>
41079
41080 Patch from Jeroen Dekkers.
41081 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41082 failure, since successfully reading all array members might not be
f2156fda 41083 required.
41084
9216e0e7 410852008-02-06 Robert Millan <rmh@aybabtu.com>
41086
41087 * util/grub-probe.c (probe): Simplify partmap probing (with the
41088 assumption that the first word up to the underscore equals to
41089 the module name).
41090
b0dfd29a 410912008-02-06 Christian Franke <franke@computer.org>
41092
41093 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41094 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41095 last block of a cpio or tar stream.
41096 Check for "TRAILER!!!" instead of any empty data
41097 block to detect last block of a cpio stream.
41098 (grub_cpio_dir): Fix constness of variable np.
41099 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41100 cpio or tar trailer is detected. This fixes a crash
41101 on open of a non existing file.
41102
c32865bf 411032008-02-05 Bean <bean123ch@gmail.com>
41104
41105 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41106 address of entry.
41107 (grub_multiboot_load_elf64): Likewise.
41108 (grub_multiboot): Initialize mbi structure.
41109
41110 * util/grub-fstest.c: Don't include unused header file script.h.
41111
fe6b695a 41112 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41113 of file.
41114 (grub_fstest_SOURCES): Likewise.
41115
409480b7 411162008-02-05 Robert Millan <rmh@aybabtu.com>
41117
41118 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41119 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41120 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41121 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41122
41123 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41124 (translation_table): Replace hardcoded values with macros
41125 provided by `<grub/term.h>'.
41126
41127 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41128 (keyboard_map): Correct/add a few values, with macros provided
41129 by `<grub/term.h>'.
41130 (keyboard_map_shift): Zero values that don't differ from their
41131 `keyboard_map' equivalents.
41132 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41133 Discard the second scan code that is always sent by Caps lock.
41134 Only use `keyboard_map_shift' when it provides a non-zero value,
41135 otherwise fallback to `keyboard_map'.
41136
99fadbaa 411372008-02-04 Bean <bean123ch@gmail.com>
41138
41139 * Makefile.in (enable_grub_fstest): New variable.
41140
41141 * conf/common.rmk (grub_fstest_init.lst): New rule.
41142 (grub_fstest_init.h): Likewise.
41143 (grub_fstest_init.c): Likewise.
41144 (util/grub-fstest.c_DEPENDENCIES): New variable.
41145 (grub_fstest_SOURCES): Likewise.
41146
41147 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41148
41149 * util/grub-fstest.c: New file.
41150
bf567c50 411512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41152
41153 Make grub-setup handle a separate root device.
f19dbdb7 41154
bf567c50 41155 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41156 so that the root device can be compared with the destination
41157 device.
41158 When embedding the core image, if the root and destination devices
41159 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41160 0xFF.
41161 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41162
9be6b98b 411632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41164
41165 Add support for having a grub directory in a different drive. This
41166 is still only the data handling part.
f19dbdb7 41167
9be6b98b 41168 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41169 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41170 (grub_root_drive): New variable.
41171
41172 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41173 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41174 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41175 as it was.
41176
41177 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41178
41179 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41180 macro.
41181 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41182
41183 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41184 is bogus, because PXE booting does not specify any drive
41185 correctly.
41186
41187 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41188 am not sure if this is really correct.
41189
41190 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41191 is always identical to the boot drive when booting from a CD.
41192
41193 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41194 longer.
41195 (root_drive): New variable.
41196 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41197 (setup_sectors): Push %dx right after popping it, because %dh will
41198 be modified later.
41199 (copy_buffer): Restore %dx.
41200
e0ca0677 412012008-02-03 Robert Millan <rmh@aybabtu.com>
41202
41203 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41204 use `cdboot.img' for cdrom images.
41205
3b3f6629 412062008-02-03 Robert Millan <rmh@aybabtu.com>
41207
41208 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41209 only setup gfxterm when `font' command has succeeded.
41210
d42b3672 412112008-02-03 Robert Millan <rmh@aybabtu.com>
41212
41213 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41214 (grub_rescue_cmd_multiboot_loader)
41215 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41216
fa370ea6 412172008-02-03 Pavel Roskin <proski@gnu.org>
41218
e0c5dacb 41219 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41220 %edx and %esi from stack only after grub_gate_a20() is called.
41221 grub_gate_a20() clobbers %edx.
41222
f2a76e1d 412232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41224
41225 * configure.ac (AC_INIT): Bumped to 1.96.
41226
41227 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41228 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41229 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41230 video/readers/png.c.
41231
90fd32d1 412322008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41233
41234 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41235 (cdboot_img_SOURCES): New variable.
41236 (cdboot_img_ASFLAGS): New variable.
41237 (cdboot_img_LDFLAGS): New variable.
41238
41239 * boot/i386/pc/cdboot.S: New file.
41240
41241 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41242 (cd_count): Likewise.
41243 (grub_biosdisk_get_drive): Add support for cd device.
41244 (grub_biosdisk_call_hook): Likewise.
41245 (grub_biosdisk_iterate): Likewise.
41246 (grub_biosdisk_open): Likewise.
41247 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41248 (grub_biosdisk_rw): Support reading from cd device.
41249 (GRUB_MOD_INIT): Iterate cd devices.
41250
41251 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41252 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41253 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41254
41255 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41256
4020aa53 412572008-02-02 Robert Millan <rmh@aybabtu.com>
41258
41259 * commands/read.c: New file.
41260 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41261 (read_mod_SOURCES): New variable.
41262 (read_mod_CFLAGS): Likewise.
41263 (read_mod_LDFLAGS): Likewise.
41264
e03a1132 412652008-02-02 Robert Millan <rmh@aybabtu.com>
41266
41267 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41268 determining whether menu has to be displayed.
41269
58c69220 412702008-02-02 Marco Gerards <marco@gnu.org>
41271
41272 * bus/pci.c: New file.
41273
41274 * include/grub/pci.h: Likewise.
41275
41276 * include/grub/i386/pc/pci.h: Likewise.
41277
41278 * commands/lspci.c: Likewise.
41279
41280 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41281 `lspci.mod'.
41282 (pci_mod_SOURCES): New variable.
41283 (pci_mod_CFLAGS): Likewise.
41284 (pci_mod_LDFLAGS): Likewise.
41285 (lspci_mod_SOURCES): Likewise.
41286 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41287 (lspci_mod_LDFLAGS): Likewise.
58c69220 41288
c004e1b4 412892008-02-02 Bean <bean123ch@gmail.com>
41290
41291 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41292 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41293
41294 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41295 (grub_xfs_btree_node): New structure.
41296 (grub_xfs_btree_root): New structure.
41297 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41298 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41299 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41300 (GRUB_XFS_EXTENT_SIZE): Likewise.
41301 (grub_xfs_read_block): Support btree format type.
41302 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41303 Use directory block as basic unit.
41304
41305 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41306
41307 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41308 __attribute__ ((__regparm__ (1))).
41309
f95562bf 413102008-02-01 Robert Millan <rmh@aybabtu.com>
41311
41312 Correct a mistake in previous commit.
41313
41314 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41315 top.
41316 (normal/command.c_DEPENDENCIES): New variable.
41317
7d31f41f 413182008-02-01 Robert Millan <rmh@aybabtu.com>
41319
41320 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41321 top.
41322 (normal/command.c_DEPENDENCIES): New variable.
41323 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41324 * conf/i386-ieee1275.rmk: Likewise.
41325 * conf/i386-linuxbios.rmk: Likewise.
41326 * conf/i386-pc.rmk: Likewise.
41327 * conf/sparc64-ieee1275.rmk: Likewise.
41328 * conf/powerpc-ieee1275.rmk: Likewise.
41329 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41330
41331 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41332
60b6be74 413332008-02-01 Robert Millan <rmh@aybabtu.com>
41334
41335 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41336 call at beginning of function.
41337
078522ab 413382008-01-31 Pavel Roskin <proski@gnu.org>
41339
41340 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41341 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41342 (grub_mkrescue_SOURCES): Likewise.
078522ab 41343 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41344
ccaa8a5f 413452008-01-30 Robert Millan <rmh@aybabtu.com>
41346
41347 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41348 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41349 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41350 (grub_probe_SOURCES): ... to here.
41351
41352 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41353 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41354 * conf/i386-ieee1275.rmk: Likewise.
41355 * conf/i386-linuxbios.rmk: Likewise.
41356 * conf/powerpc-ieee1275.rmk: Likewise.
41357
ae5a9cd7 413582008-01-30 Tristan Gingold <gingold@free.fr>
41359
41360 * kern/rescue.c: Silently accept empty lines.
41361
70bc2ef2 413622008-01-29 Bean <bean123ch@gmail.com>
41363
41364 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41365 (real_code_2): Code cleanup and change comment style.
41366 (move_memory): Avoid using 32-bit address mode.
41367
6a4d50ea 413682008-01-29 Bean <bean123ch@gmail.com>
41369
41370 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41371 (png_mod_SOURCES): New variable.
41372 (png_mod_CFLAGS): Likewise.
41373 (png_mod_LDFLAGS): Likewise.
41374
41375 * video/readers/png.c: New file.
41376
11cc30ac 413772008-01-28 Robert Millan <rmh@aybabtu.com>
41378
41379 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41380 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41381 `ifndef GRUB_MOD_GAP' hack.
41382 * util/elf/grub-mkimage.c (add_segments): Likewise.
41383
3abc589f 413842008-01-27 Robert Millan <rmh@aybabtu.com>
41385
41386 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41387 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41388 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41389
e1907778 413902008-01-27 Robert Millan <rmh@aybabtu.com>
41391
41392 Get grub-emu to build again (including parallel builds).
41393
41394 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41395 Split into ...
41396 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41397 (normal/execute.c_DEPENDENCIES): ... this, ...
41398 (grub-emu_DEPENDENCIES): ... and this.
41399
41400 * conf/i386-efi.rmk: Likewise.
41401 * conf/i386-linuxbios.rmk: Likewise.
41402 * conf/i386-ieee1275.rmk: Likewise.
41403 * conf/powerpc-ieee1275.rmk: Likewise.
41404 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41405
2216b101 414062008-01-27 Robert Millan <rmh@aybabtu.com>
41407
41408 * NEWS: Add a few items.
41409
f75172d9 414102008-01-27 Robert Millan <rmh@aybabtu.com>
41411
41412 Fix parallel builds with grub-emu. Based on earlier commit for
41413 grub-probe and grub-setup.
41414
41415 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41416 (util/grub-emu.c_DEPENDENCIES): ... this.
41417 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41418 (util/grub-emu.c_DEPENDENCIES): ... this.
41419 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41420 (util/grub-emu.c_DEPENDENCIES): ... this.
41421 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41422 (util/grub-emu.c_DEPENDENCIES): ... this.
41423 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41424 (util/grub-emu.c_DEPENDENCIES): ... this.
41425
3f51de77 414262008-01-27 Pavel Roskin <proski@gnu.org>
41427
41428 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41429 to create a gap between _end and the modules added to the image
41430 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41431 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41432 * util/elf/grub-mkimage.c (add_segments): Likewise.
41433
2033f53e 414342008-01-26 Pavel Roskin <proski@gnu.org>
41435
41436 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41437 just return an error.
41438
22da1f6f 414392008-01-26 Bean <bean123ch@gmail.com>
41440
41441 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41442 (grub_reiserfs_get_item): Save offset of the next item.
41443 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41444
2a9525e6 414452008-01-25 Robert Millan <rmh@aybabtu.com>
41446
41447 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41448 make all filesystem sources appear together (possibly fixing omissions
41449 while at it).
41450 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41451 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41452 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41454
41455 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41456 add `kern/file.c'.
41457 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41458 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41459 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41460 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41461
41462 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41463 (probe): Add a sanity check to make sure of our ability to read
41464 requested files when probing for filesystem type.
41465
41466 * genmk.rb: Update copyright year (2007).
41467
41468 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41469 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41470 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41471 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41472 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41473 : Remove function prototypes.
41474
b95f71b5 414752008-01-25 Robert Millan <rmh@aybabtu.com>
41476
41477 Revert my previous commits (based on wrong assumption of how grub_errno
41478 works).
41479
fe6b695a 41480 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41481 * kern/file.c (grub_file_open): Likewise.
41482
d08bbb49 414832008-01-24 Pavel Roskin <proski@gnu.org>
41484
41485 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41486 that hang if GRUB tries to setup colors.
41487 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41488 colors for firmwares that don't support it.
41489 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41490 Recognize Open Hack'Ware, set flags to work around its
41491 limitations.
41492
605e36ed 414932008-01-24 Robert Millan <rmh@aybabtu.com>
41494
41495 * kern/file.c (grub_file_open): Do not account previous failures of
41496 unrelated functions when grub_errno is checked for.
41497 Reported by Oleg Strikov.
41498
bac332a1 414992008-01-24 Bean <bean123ch@gmail.com>
41500
41501 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41502 (grub_ufs_sblock): New member volume name.
41503 (grub_ufs_find_file): Fix string copy bug.
41504 (grub_ufs_label): Implement this function properly.
41505
41506 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41507 (grub_hfs_iterate_records): Use the correct file number for extents
41508 and catalog file. Fix problem in next index calculation.
41509 (grub_hfs_find_node): Replace recursive function call with loop.
41510 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41511
15c80c09 415122008-01-23 Robert Millan <rmh@aybabtu.com>
41513
41514 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41515 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41516 (grub_multiboot2_real_boot): New function prototype.
41517
41518 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41519 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41520
41521 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41522 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41523
305338fd 415242008-01-23 Robert Millan <rmh@aybabtu.com>
41525
41526 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41527 #ifdef'ed out grub_printf().
41528
3ea52685 415292008-01-23 Robert Millan <rmh@aybabtu.com>
41530
41531 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41532 grub_dprintf calls, since they make "debug=all" mode unusable.
41533 (grub_console_checkkey): Likewise.
41534
5882ae4b 415352008-01-23 Robert Millan <rmh@aybabtu.com>
41536
41537 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41538 `term/i386/pc/at_keyboard.c'.
41539 (pkglib_MODULES): Add `serial.mod'.
41540 (serial_mod_SOURCES): New variable.
41541 (serial_mod_CFLAGS): Likewise.
41542 (serial_mod_LDFLAGS): Likewise.
41543
41544 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41545 `<grub/powerpc/ieee1275/console.h>'.
41546 (grub_keyboard_controller_init): New function prototype.
41547 (grub_console_checkkey): Likewise.
41548 (grub_console_getkey): Likewise.
41549
41550 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41551 keyboard on i386.
41552
41553 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41554 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41555
06ab5303 415562008-01-23 Robert Millan <rmh@aybabtu.com>
41557
41558 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41559 present, "(memdisk)/boot/grub" becomes the default prefix.
41560
41561 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41562 a memdisk tarball with all the modules. Add --overlay=DIR option that
41563 allows users to overlay additional files into the image.
41564
dbb475a4 415652008-01-23 Robert Millan <rmh@aybabtu.com>
41566
41567 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41568 and `machine/memory.h'.
41569 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41570 (_multiboot_mod_SOURCES): New variable.
41571 (_multiboot_mod_CFLAGS): Likewise.
41572 (_multiboot_mod_LDFLAGS): Likewise.
41573 (multiboot_mod_SOURCES): Likewise.
41574 (multiboot_mod_CFLAGS): Likewise.
41575 (multiboot_mod_LDFLAGS): Likewise.
41576
41577 * include/grub/i386/ieee1275/loader.h: New file.
41578
41579 * include/grub/i386/ieee1275/machine.h: Likewise.
41580
41581 * include/grub/i386/ieee1275/memory.h: Likewise.
41582
41583 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41584 variable declaration.
41585 (grub_os_area_size): Likewise.
41586
41587 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41588 (grub_lower_mem, grub_upper_mem): New variables.
41589 (grub_stop_floppy): New function (just to make
41590 grub_multiboot2_real_boot() happy).
41591
41592 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41593 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41594 (grub_stop): New function.
41595 Include `"../realmode.S"' and `"../loader.S"'.
41596
41597 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41598 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41599
41600 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41601 rely on grub_multiboot2_real_boot() for final boot.
41602
25638629 416032008-01-22 Robert Millan <rmh@aybabtu.com>
41604
41605 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41606 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41607 device that doesn't look like an SD card.
41608 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41609 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41610 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41611 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41612 found.
41613
9dad816d 416142008-01-22 Robert Millan <rmh@aybabtu.com>
41615
41616 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41617 avoid claiming over our own code.
41618
34842f2d 416192008-01-22 Bean <bean123ch@gmail.com>
41620
41621 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41622 (jpeg_mod_SOURCES): New variable.
41623 (jpeg_mod_CFLAGS): Likewise.
41624 (jpeg_mod_LDFLAGS): Likewise.
41625
41626 * video/readers/jpeg.c : New file.
41627
44023a28 416282008-01-22 Bean <bean123ch@gmail.com>
41629
41630 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41631 there are no more items.
41632
bc2d8ac6 416332008-01-21 Robert Millan <rmh@aybabtu.com>
41634
41635 * kern/mm.c (grub_mm_init_region): Improve debug message.
41636
261bd4bc 416372008-01-21 Robert Millan <rmh@aybabtu.com>
41638
41639 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41640 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41641 address.
41642 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41643 a C macro.
41644 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41645 Indicates start of upper memory.
41646 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41647 (generate_image): Abort when image size is big enough to corrupt
41648 upper memory.
41649
41650 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41651 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41652 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41653 instead of hardcoding 0xA0000.
41654 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41655 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41656 instead of hardcoding 0xA0000.
41657
f970b55e 416582008-01-21 Robert Millan <rmh@aybabtu.com>
41659
41660 * disk/memdisk.c (memdisk_size): New variable.
41661 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41662 `memdisk_size'.
41663 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41664 image to dynamic memory.
41665 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41666 `memdisk_size'. Free memdisk block.
41667
1a8b0526 416682008-01-21 Robert Millan <rmh@aybabtu.com>
41669
41670 Fix detection of very small filesystems (like tar).
41671
41672 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41673 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41674 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41675 a problem with this disk).
41676
6e9b4aab 416772008-01-21 Robert Millan <rmh@aybabtu.com>
41678
41679 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41680 on grub_biosdisk_rw_standard() error.
41681
0d8837b2 416822008-01-21 Robert Millan <rmh@aybabtu.com>
41683
41684 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41685 recent changes.
41686 * kern/elf.c: Likewise.
41687 * kern/ieee1275/ieee1275.c: Likewise.
41688 * kern/powerpc/ieee1275/openfw.c: Likewise.
41689 * term/ieee1275/ofconsole.c: Likewise.
41690
ffd36e34 416912008-01-21 Robert Millan <rmh@aybabtu.com>
41692
41693 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41694
3f0093d0 41695 * include/grub/kernel.h (grub_arch_memdisk_addr)
41696 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41697
3f0093d0 41698 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41699 (grub_arch_memdisk_size): ... to here.
ffd36e34 41700
6c391b21 417012008-01-21 Robert Millan <rmh@aybabtu.com>
41702
41703 Mostly based on bugfix from Bean.
41704
41705 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41706 attribute with hook() parameter.
41707 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41708 declaration.
41709 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41710 attribute with hook() parameter.
41711 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41712 declaration.
41713
55a581dc 417142008-01-21 Robert Millan <rmh@aybabtu.com>
41715
41716 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41717 (pkglib_MODULES): Add `memdisk.mod'.
41718 (memdisk_mod_SOURCES): New variable.
41719 (memdisk_mod_CFLAGS): Likewise.
41720 (memdisk_mod_LDFLAGS): Likewise.
41721
41722 * disk/memdisk.c: New file.
41723
41724 * include/grub/disk.h (grub_disk_dev_id): Add
41725 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41726
41727 * include/grub/i386/pc/kernel.h
41728 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41729 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41730 (grub_kernel_image_size): New variable declaration.
41731 (grub_total_module_size): Likewise.
41732 (grub_memdisk_image_size): Likewise.
41733
41734 * include/grub/i386/pc/memory.h
41735 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41736
41737 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41738 (grub_arch_memdisk_addr): New variable declaration.
41739 (grub_arch_memdisk_size): Likewise.
41740
41741 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41742 (grub_arch_memdisk_size): Likewise.
41743
41744 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41745 (codestart): Replace hardcoded `0x100000' with
41746 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41747
41748 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41749 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41750 not NULL, append the contents of the file it refers to, at the end of
41751 the compressed kernel image. Initialize `grub_memdisk_image_size'
41752 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41753 (options): Add "memdisk"|'m' option.
41754 (main): Parse --memdisk|-m option, and pass user-provided path as
41755 parameter to generate_image().
41756
3d7f54c9 417572008-01-20 Robert Millan <rmh@aybabtu.com>
41758
41759 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41760 grub_dprintf() calls from here ...
41761 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41762
0bf74728 417632008-01-20 Robert Millan <rmh@aybabtu.com>
41764
41765 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41766
41767 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41768 declaration.
41769 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41770 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41771 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41772 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41773 property).
41774 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41775 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41776
33bf70a7 417772008-01-19 Robert Millan <rmh@aybabtu.com>
41778
fe6b695a 41779 Get rid of confusing function (superseded by
33bf70a7 41780 `grub_ieee1275_get_integer_property')
41781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41782 prototype.
41783 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41784 function.
41785 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41786 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41787 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41788
e2da7d26 417892008-01-19 Robert Millan <rmh@aybabtu.com>
41790
41791 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41792 command after "shut-down", since implementations differ on which
41793 the command for halt is.
41794
59f1fd8d 417952008-01-19 Robert Millan <rmh@aybabtu.com>
41796
41797 * include/grub/i386/linuxbios/console.h: Add header protection.
41798 (grub_keyboard_controller_init): New function prototype.
41799 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41800 (KEYBOARD_COMMAND_READ): Likewise.
41801 (KEYBOARD_COMMAND_WRITE): Likewise.
41802 (KEYBOARD_SCANCODE_SET1): Likewise.
41803 (grub_keyboard_controller_write): New function.
41804 (grub_keyboard_controller_read): Likewise.
41805 (grub_keyboard_controller_init): Likewise.
41806
41807 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41808 (grub_console_init): On coreboot/LinuxBIOS, call
41809 grub_keyboard_controller_init().
41810
5f5a7c15 418112008-01-19 Robert Millan <rmh@aybabtu.com>
41812
41813 PowerPC changes provided by Pavel Roskin.
41814
41815 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41816 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41817 don't rely on cmain() doing it.
41818 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41819 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41820
1210e168 418212008-01-16 Robert Millan <rmh@aybabtu.com>
41822
41823 * include/grub/i386/linuxbios/memory.h
41824 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41825 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41826 receive `table_header' as argument. Instead, probe for it in the
41827 known memory ranges where it can be present.
41828 (grub_available_iterate): Do not pass a fixed `table_header' address
41829 to grub_linuxbios_table_iterate().
41830
3d04eab8 418312008-01-15 Robert Millan <rmh@aybabtu.com>
41832
41833 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41834 * conf/i386-ieee1275.rmk: New file.
41835 * include/grub/i386/ieee1275/console.h: Likewise.
41836 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41837 * include/grub/i386/ieee1275/kernel.h: Likewise.
41838 * include/grub/i386/ieee1275/time.h: Likewise.
41839 * kern/i386/ieee1275/init.c: Likewise.
41840 * kern/i386/ieee1275/startup.S: Likewise.
41841
d1bc1b73 418422008-01-15 Robert Millan <rmh@aybabtu.com>
41843
41844 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41845 when pointers are 32-bit (but still do set it to one when they are
41846 64-bit).
41847
66a65807 418482008-01-15 Robert Millan <rmh@aybabtu.com>
41849
41850 * include/grub/ieee1275/ieee1275.h
41851 (grub_ieee1275_get_integer_property): New function prototype.
41852
41853 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41854 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41855 grub_ieee1275_get_property() to handle endianness.
66a65807 41856
41857 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41858 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41859 where appropriate.
66a65807 41860 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41861 (grub_map): Likewise.
41862 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41863
a83ccafd 418642008-01-15 Bean <bean123ch@gmail.com>
41865
41866 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41867 (grub_script_execute_cmdline): Reset grub_errno.
41868
41869 * normal/main.c (read_config_file): Reset grub_errno.
41870
41871 * normal/parse.y (script_init): New.
41872 (script): Move function and menuentry here.
41873 (delimiter): New.
41874 (command): Add delimiter at the end of command.
41875 (commands): Adjust to match the new command.
41876 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41877 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41878 (if): Use the new commands.
41879
41880 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41881
df6ecfc6 418822008-01-15 Robert Millan <rmh@aybabtu.com>
41883
41884 * normal/menu.c (run_menu): Move timeout message from here ...
41885 (print_timeout): ... to here.
41886 (run_menu): Use print_timeout() once during initial draw to print
41887 the whole message, and again in every clock tick to update only
41888 the number of seconds.
41889
87ae25eb 418902008-01-15 Robert Millan <rmh@aybabtu.com>
41891
41892 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41893 actual size of `available' from grub_ieee1275_get_property(), and
41894 restrict parsing to that bound.
41895
47bf09a4 418962008-01-15 Christian Franke <franke@computer.org>
41897
41898 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41899 (argp_program_version): Remove variable.
41900 (argp_program_bug_address): Likewise.
41901 (options): Convert from struct argp_option to struct option.
41902 (struct arguments): Remove.
41903 (parse_opt): Remove.
41904 (usage): New function.
41905 (main): Replace struct args members by simple variables.
41906 Replace argp_parse() by getopt_long().
41907 Add switch to evaluate options.
41908 Add missing "(...)" around root_dev in prefix string.
41909
c86f1469 419102008-01-14 Robert Millan <rmh@aybabtu.com>
41911
41912 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41913 for grub_ieee1275_exit(), in order to improve portability.
41914
e622c559 419152008-01-14 Robert Millan <rmh@aybabtu.com>
41916
41917 * util/grub.d/10_linux.in (prefix): Define.
41918 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41919
44cb1ec8 419202008-01-13 Pavel Roskin <proski@gnu.org>
41921
41922 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41923 grub_errno if no errors have been detected.
41924
1eb8c802 419252008-01-12 Robert Millan <rmh@aybabtu.com>
41926
41927 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41928 (grub_util_get_dev_abstraction): New function prototype.
41929
41930 * util/getroot.c: Include `<grub/util/getroot.h>'
41931 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41932 (grub_util_get_dev_abstraction): ... here (new function).
41933
41934 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41935 `PRINT_ABSTRACTION'.
41936 (probe): Probe for abstraction type when requested.
41937 (main): Understand `--target=abstraction'.
41938
41939 * util/i386/efi/grub-install.in: Add abstraction module to core
41940 image when it is found to be necessary.
41941 * util/i386/pc/grub-install.in: Likewise.
41942 * util/powerpc/ieee1275/grub-install.in: Likewise.
41943
41944 * util/update-grub_lib.in (font_path): Return system path without
41945 converting to GRUB path.
41946 * util/update-grub.in: Convert system path returned by font_path()
41947 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41948 abstraction module is needed for loading fonts (if any). Export
41949 that as `GRUB_PRELOAD_MODULES'.
41950 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41951 insmod commands).
41952
52bd3de9 419532008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41954
41955 Remove some unused code from reiserfs.
f19dbdb7 41956
52bd3de9 41957 * fs/reiserfs.c (struct grub_reiserfs_key)
41958 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41959 (struct grub_reiserfs_node_body): Removed.
41960 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41961 Likewise.
41962 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41963 Likewise.
41964 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41965 Likewise.
41966 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41967 Likewise.
41968 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41969 Likewise.
41970 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41971 Likewise.
41972 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41973 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41974 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41975
2f80039d 419762008-01-10 Robert Millan <rmh@aybabtu.com>
41977
41978 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41979 Determines if a file is garbage left by packaging systems, etc.
41980 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41981 for processing /etc/grub.d scripts.
41982 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41983 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41984 as a condition for processing Linux images.
41985
87888032 419862008-01-10 Pavel Roskin <proski@gnu.org>
41987
41988 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41989 to compile reiserfs.c on PowerPC.
41990
7e54fced 419912008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41992
41993 * kern/device.c (grub_device_iterate): Do not abort device iteration
41994 when one of the devices cannot be opened.
41995 * kern/disk.c (grub_disk_open): Do not account previous failures of
41996 unrelated functions when grub_errno is checked for.
41997
5aa541e6 419982008-01-08 Robert Millan <rmh@aybabtu.com>
41999
42000 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42001 `! grub_linux_is_bzimage', change order of address comparison to make
42002 it more intuitive, and improve "too big zImage" error message.
42003
7076340d 420042008-01-08 Robert Millan <rmh@aybabtu.com>
42005
42006 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42007 `$(update-grub_DATA)'.
42008 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42009 targets.
42010
9ca70333 420112008-01-07 Robert Millan <rmh@aybabtu.com>
42012
42013 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42014 which instruction is modified by grub-setup during installation
42015 (since it wasn't obvious by only looking at this file).
42016
38ccf575 420172008-01-07 Robert Millan <rmh@aybabtu.com>
42018
42019 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42020 listing actual TODO items.
42021
f5db4291 420222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42023
868967cf 42024 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42025 correctly.
42026 (grub_reiserfs_get_key_offset): Likewise.
42027 (grub_reiserfs_set_key_offset): Likewise.
42028 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42029 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42030
42031 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42032 better to remove the bitfield version completely.
f19dbdb7 42033
868967cf 420342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42035
f5db4291 42036 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42037 allocated from the heap, due to the fshelp implementation.
42038 (grub_reiserfs_dir): Free NODE, due to the same reason.
42039
492e6d9d 420402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42041
42042 Mostly from Vincent Pelletier:
f19dbdb7 42043
492e6d9d 42044 * fs/reiserfs.c: New file.
f19dbdb7 42045
492e6d9d 42046 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42047 (reiserfs_mod_SOURCES): New variable.
42048 (reiserfs_mod_CFLAGS): Likewise.
42049 (reiserfs_mod_LDFLAGS): Likewise.
42050
42051 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42052 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42053 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42054 normal/color.c.
42055
9ce3e7c1 420562008-01-06 Robert Millan <rmh@aybabtu.com>
42057
42058 * normal/color.c: Remove `<grub/env.h>'.
42059
f3b58148 420602008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42061
42062 * include/grub/normal.h: Include <grub/env.h>.
42063
7ac3bcfa 420642008-01-05 Robert Millan <rmh@aybabtu.com>
42065
42066 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42067 usage example with `(hd0,1)'.
fb358190 42068 Reported by Samuel Thibault.
7ac3bcfa 42069
c8ee99d7 420702008-01-05 Robert Millan <rmh@aybabtu.com>
42071
42072 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42073 (grub_linux_boot_zimage): Rename to ...
42074 (grub_linux_boot): ... this.
42075 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42076 (grub_linux_boot_zimage): Conditionalize zImage copy.
42077
42078 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42079 (grub_linux_boot_bzimage): Remove prototype.
42080 (grub_linux_boot_zimage): Rename to ...
42081 (grub_linux_boot): ... this.
42082
42083 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42084 (grub_linux_boot): Remove function.
42085
0ece25b1 420862008-01-05 Robert Millan <rmh@aybabtu.com>
42087
42088 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42089 (grub_env_write_color_highlight): Likewise.
42090 (grub_wait_after_message): Likewise.
42091
42092 * normal/color.c: New file.
42093
42094 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42095 (normal_mod_DEPENDENCIES): Likewise.
42096
42097 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42098 (normal_mod_DEPENDENCIES): Likewise.
42099
42100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42101 (normal_mod_DEPENDENCIES): Likewise.
42102
42103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42104 (normal_mod_DEPENDENCIES): Likewise.
42105
42106 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42107 for waiting after a message is printed.
42108 * normal/main.c (read_config_file): Likewise.
42109 (grub_normal_init): Register grub_env_write_color_normal() and
42110 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42111 `color_highlight' variables as global.
42112
42113 * normal/menu.c (grub_wait_after_message): New function.
42114 (grub_color_menu_normal): New variable. Replaces ...
42115 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42116 (grub_color_menu_highlight): New variable. Replaces ...
42117 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42118 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42119 `GRUB_TERM_COLOR_STANDARD'.
42120 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42121 `normal_code' and `highlight_code' to `old_color_normal' and
42122 `old_color_highlight', respectively.
42123 (grub_menu_init_page): Update colors when drawing the menu, based on
42124 `menu_color_normal' and `menu_color_highlight' variables.
42125 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42126 a message is printed.
42127
182dd4e5 421282008-01-05 Robert Millan <rmh@aybabtu.com>
42129
42130 * kern/env.c (grub_env_context_open): Propagate hooks for global
42131 variables to new context.
42132
42133 * kern/main.c (grub_set_root_dev): Export `root' variable.
42134
ddf8f6ad 421352008-01-05 Robert Millan <rmh@aybabtu.com>
42136
42137 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42138 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42139 them.
42140
d8b43d9b 421412008-01-05 Robert Millan <rmh@aybabtu.com>
42142
42143 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42144
2bff2de3 421452008-01-04 Christian Franke <franke@computer.org>
42146
42147 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42148 of eisa_mmap.
42149
97eab917 421502008-01-03 Pavel Roskin <proski@gnu.org>
42151
42152 * kern/i386/linuxbios/init.c: Put "void" to all function
42153 declarations with no arguments.
42154 * kern/powerpc/ieee1275/init.c: Likewise.
42155 * term/i386/pc/at_keyboard.c: Likewise.
42156 * term/i386/pc/vga_text.c: Likewise.
42157 * util/grub-mkdevicemap.c: Likewise.
42158
b9416d00 421592008-01-02 Robert Millan <rmh@aybabtu.com>
42160
42161 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42162 message when loaded image is out of bounds.
42163 (grub_multiboot_load_elf64): Likewise.
42164
92695df9 421652008-01-02 Pavel Roskin <proski@gnu.org>
42166
42167 * util/grub.d/10_linux.in: Try version without ".old" when
42168 looking for initrd. It's better to use initrd from the newer
42169 kernel of the same version than no initrd at all.
42170
d98d9cad 421712008-01-01 Robert Millan <rmh@aybabtu.com>
42172
42173 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42174
dbfdce36 421752008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42176
f19dbdb7 42177 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42178 grub_video_get_active_render_target.
42179 (grub_video_adapter): Added unmap_color and get_active_render_target.
42180
f19dbdb7 42181 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42182 grub_video_get_active_render_target.
42183 (grub_video_get_info): Changed method to accept NULL pointer as an
42184 argument to allow detection of active video adapter.
42185
42186 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42187 grub_video_vbe_unmap_color_int.
42188 Added grub_video_vbe_unmap_color and
42189 grub_video_vbe_get_active_render_target.
42190 (grub_video_vbe_adapter): Added unmap_color and
42191 get_active_render_target.
42192
f19dbdb7 42193 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42194 with grub_video_vbe_unmap_color_int.
42195
42196 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42197 (DEFAULT_NORMAL_COLOR): Likewise.
42198 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42199 (DEFAULT_FG_COLOR): Removed.
42200 (DEFAULT_BG_COLOR): Likewise.
42201 (DEFAULT_CURSOR_COLOR): Changed value.
42202 (grub_virtual_screen): Added standard_color_setting,
42203 normal_color_setting, highlight_color_setting and term_color.
42204 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42205 (bitmap_width): Added.
42206 (bitmap_height): Likewise.
42207 (bitmap): Likewise.
42208 (set_term_color): Likewise.
42209 (grub_virtual_screen_setup): Changed to use new terminal coloring
42210 settings.
42211 (grub_gfxterm_init): Added init for bitmap.
42212 (grub_gfxterm_fini): Added destroy for bitmap.
42213 (redraw_screen_rect): Updated to use background bitmap and new
42214 terminal coloring.
42215 (scroll_up): Added optimization for case when there is no bitmap.
42216 (grub_gfxterm_cls): Fixed to use correct background color.
42217 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42218 coloring.
42219 (grub_virtual_screen_setcolor): Likewise.
42220 (grub_virtual_screen_getcolor): Added.
42221 (grub_gfxterm_background_image_cmd): Likewise.
42222 (grub_video_term): Added setcolor and getcolor.
42223 (MOD_INIT): Added registration of background_image command.
42224 (MOD_TERM): Added unregistration for background_image command.
42225
c3c20931 422262007-12-30 Pavel Roskin <proski@gnu.org>
42227
42228 * loader/multiboot_loader.c: Fix multiboot command
42229 unregistration. Fix all typos in the word "multiboot".
42230
df266716 422312007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42232
42233 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42234 support for initrd names used in Fedora.
42235
fc6e896c 422362007-12-26 Bean <bean123ch@gmail.com>
42237
42238 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42239 (cpio_mod_SOURCES): New variable.
42240 (cpio_mod_CFLAGS): Likewise.
42241 (cpio_mod_LDFLAGS): Likewise.
42242
42243 * fs/cpio.c: New file.
42244
42245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42246
42247 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42248
42249 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42250
42251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42252
533110ad 422532007-12-25 Robert Millan <rmh@aybabtu.com>
42254
42255 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42256 (grub_getcolor): New function.
42257
42258 * kern/term.c (grub_getcolor): New function.
42259 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42260 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42261 (print_entry): Set normal and highlight colors to
42262 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42263 respectively, before printing and restore them to old
42264 values afterwards.
42265 (grub_menu_init_page): Likewise. Fill an additional colored space
42266 that would otherwise be left blank.
42267
42268 * term/efi/console.c (grub_console_getcolor): New function.
42269 (struct grub_console_term.getcolor): New variable.
42270 * term/i386/pc/console.c (grub_console_getcolor): New function.
42271 (struct grub_console_term.getcolor): New variable.
42272 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42273 (struct grub_console_term.getcolor): New variable.
42274
42275 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42276 (struct grub_console_term.setcolor): Remove variable.
42277 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42278 (struct grub_console_term.setcolor): Remove variable.
42279 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42280 (struct grub_console_term.setcolor): Remove variable.
42281 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42282 (struct grub_console_term.setcolor): Remove variable.
42283
4931827f 422842007-12-25 Robert Millan <rmh@aybabtu.com>
42285
42286 * configure.ac: Search for possible unifont.hex locations, and
42287 define UNIFONT_HEX if found.
42288
42289 * Makefile.in (UNIFONT_HEX): Define variable.
42290 (DATA): Rename to ...
42291 (PKGLIB): ... this. Update all users.
42292 (PKGDATA): New variable.
42293 (pkgdata_IMAGES): Rename to ...
42294 (pkglib_IMAGES): ... this. Update all users.
42295 (pkgdata_MODULES): Rename to ...
42296 (pkglib_MODULES): ... this. Update all users.
42297 (pkgdata_PROGRAMS): Rename to ...
42298 (pkglib_PROGRAMS): ... this. Update all users.
42299 (pkgdata_DATA): Rename to ...
42300 (pkglib_DATA): ... this. Update all users.
42301 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42302 (unicode.pff, ascii.pff): New rules.
42303 (all-local): Add `$(PKGDATA)' dependency.
42304 (install-local): Process `$(PKGDATA)'.
42305
42306 * util/update-grub_lib.in (font_path): Search for *.pff files in
42307 a few more locations, including `${pkgdata}'.
42308
57e57e31 423092007-12-23 Robert Millan <rmh@aybabtu.com>
42310
42311 Patch from Bean <bean123ch@gmail.com>:
42312 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42313 `size'.
42314
4bc72aa9 423152007-12-21 Bean <bean123ch@gmail.com>
42316
42317 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42318 (ntfscomp_mod_SOURCES): New variable.
42319 (ntfscomp_mod_CFLAGS): Likewise.
42320 (ntfscomp_mod_LDFLAGS): Likewise.
42321
42322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42323 (grub_probe_SOURCES): Likewise.
42324 (grub_emu_SOURCES): Likewise.
42325
42326 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42327 (grub_emu_SOURCES): Likewise.
42328
42329 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42330 (grub_emu_SOURCES): Likewise.
42331
42332 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42333 (grub_emu_SOURCES): Likewise.
42334
42335 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42336 (read_run_list): Renamed to grub_ntfs_read_run_list.
42337 (decomp_nextvcn): Moved to ntfscomp.c.
42338 (decomp_getch): Likewise.
42339 (decomp_get16): Likewise.
42340 (decomp_block): Likewise.
42341 (read_block): Likewise.
42342 (read_data): Partially moved to ntfscomp.c.
42343 (fixup): Change unsigned to grub_uint16_t.
42344 (read_mft): Change unsigned long to grub_uint32_t.
42345 (read_attr): Likewise.
42346 (read_data): Likewise.
42347 (read_run_data): Likewise.
42348 (read_run_list): Likewise.
42349 (read_mft): Likewise.
42350
42351 * fs/ntfscomp.c: New file.
42352
42353 * include/grub/ntfs.h: New file.
42354
af680a87 423552007-12-16 Robert Millan <rmh@aybabtu.com>
42356
42357 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42358 IDE disk check, since Linux is known to support 20 IDE disks.
42359 Reported by Colin Watson.
42360
84be7599 423612007-12-15 Bean <bean123ch@gmail.com>
42362
42363 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42364 (lnxboot_img_SOURCES): New variable.
42365 (lnxboot_img_ASFLAGS): Likewise.
42366 (lnxboot_img_LDFLAGS): Likewise.
42367
42368 * boot/i386/pc/lnxboot.S: New file.
42369
6af9db01 423702007-11-24 Pavel Roskin <proski@gnu.org>
42371
42372 * configure.ac: Test if '--build-id=none' is supported by the
42373 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42374 objcopy to generate incorrect binary files (binutils
42375 2.17.50.0.18-1 as shipped by Fedora 8).
42376 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42377 linking, so that build ID doesn't break the test.
42378
7361cfe6 423792007-11-24 Pavel Roskin <proski@gnu.org>
42380
42381 * include/grub/i386/time.h: use "void" in the argument list
42382 of grub_cpu_idle().
42383 * include/grub/powerpc/time.h: Likewise.
42384 * include/grub/sparc64/time.h: Likewise.
42385
1593e10c 423862007-11-18 Christian Franke <franke@computer.org>
42387
42388 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42389 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42390 This fixes the problem that function keys did not work in grub-emu.
42391
3b8db1a8 423922007-11-18 Christian Franke <franke@computer.org>
42393
42394 * disk/host.c (grub_host_open): Remove attribute unused from
42395 name parameter. Add check for "host". This fixes the problem
42396 that grub-emu does not find partitions.
42397
2e29408d 423982007-11-18 Christian Franke <franke@computer.org>
42399
42400 * util/hostfs.c (is_dir): New function.
42401 (grub_hostfs_dir): Handle missing dirent.d_type case.
42402 (grub_hostfs_read): Add missing fseek().
42403 (grub_hostfs_label): Clear label pointer. This fixes a crash
42404 of grub-emu on "ls (host)".
42405
398cd047 424062007-11-18 Christian Franke <franke@computer.org>
42407
42408 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42409 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42410 to 64 bit boundary by default.
42411
c405c391 424122007-11-18 Bean <bean123ch@gmail.com>
42413
42414 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42415 (hexdump_mod_SOURCES): New variable.
42416 (hexdump_mod_CFLAGS): Likewise.
42417 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42418
c405c391 42419 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42420
42421 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42422
42423 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42424
42425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42426
42427 * include/grub/hexdump.h: New file.
42428
42429 * commands/hexdump.c: New file.
42430
5cced7fd 424312007-11-10 Robert Millan <rmh@aybabtu.com>
42432
42433 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42434 in grub_outb() calls.
42435 (beep_on): Likewise.
42436
8b714eb0 424372007-11-10 Christian Franke <franke@computer.org>
42438
42439 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42440 (grub_menu_run): Likewise.
42441
ce0f1839 424422007-11-10 Robert Millan <rmh@aybabtu.com>
42443
42444 * include/grub/i386/efi/machine.h: New file.
42445 * include/grub/i386/linuxbios/machine.h: Likewise.
42446 * include/grub/i386/pc/machine.h: Likewise.
42447 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42448 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42449
42450 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42451 (serial_hw_io_addr): New variable.
42452 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42453 instead of `(unsigned short *) 0x400'.
42454
270c237d 424552007-11-10 Bean <bean123ch@gmail.com>
42456
42457 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42458
a87783bf 424592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42460
42461 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42462 (vga_mod_SOURCES): Added.
42463 (vga_mod_CFLAGS): Likewise.
42464 (vga_mod_LDFLAGS): Likewise.
42465
42466 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42467 grub_outb() calls.
42468 (set_map_mask): Likewise.
42469 (set_read_map): Likewise.
42470 (set_read_address): Likewise.
42471 (vga_font): Removed variable.
42472 (get_vga_glyph): Removed function.
42473 (invalidate_char): Likewise.
42474 (write_char): Changed to use grub_font_get_glyph() for font
42475 information.
42476 (grub_vga_putchar): Likewise.
42477 (grub_vga_getcharwidth): Likewise.
42478
6433b448 424792007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42480
42481 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42482 flags.
42483 (pxeboot_img_LDFLAGS): Likewise.
42484 (diskboot_img_LDFLAGS): Likewise.
42485 (kernel_img_LDFLAGS): Likewise.
42486
49178511 424872007-11-06 Robert Millan <rmh@aybabtu.com>
42488
42489 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42490 in grub_outb() calls.
42491 (serial_hw_init): Likewise.
42492
53b052de 424932007-11-05 Robert Millan <rmh@aybabtu.com>
42494
42495 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42496 spaces. Skip non-regular files.
42497
5ab33bba 424982007-11-05 Robert Millan <rmh@aybabtu.com>
42499
42500 * kern/disk.c (grub_disk_firmware_fini)
42501 (grub_disk_firmware_is_tainted): New variables.
42502
42503 * include/grub/disk.h (grub_disk_firmware_fini)
42504 (grub_disk_firmware_is_tainted): Likewise.
42505
42506 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42507 (grub_disk_biosdisk_fini): ... to here.
42508 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42509 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42510 is set. Register grub_disk_biosdisk_fini() in
42511 `grub_disk_firmware_fini'.
42512
42513 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42514 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42515 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42516 to finish existing firmware disk interface.
42517
42518 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42519 (ata_mod_SOURCES): New variable.
42520 (ata_mod_CFLAGS): Likewise.
42521 (ata_mod_LDFLAGS): Likewise.
42522
0149ab7c 425232007-11-05 Robert Millan <rmh@aybabtu.com>
42524
42525 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42526 (grub_ata_wait): Reimplement using grub_millisleep().
42527
42528 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42529 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42530
be7ac41e 425312007-11-03 Marco Gerards <marco@gnu.org>
42532
42533 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42534 (CRTC_ADDR_PORT): New macro.
42535 (CRTC_DATA_PORT): Likewise.
42536 (CRTC_CURSOR): Likewise.
42537 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42538 (CRTC_CURSOR_ADDR_LOW): Likewise.
42539 (update_cursor): New function.
42540 (grub_console_real_putchar): Call `update_cursor'.
42541 (grub_console_gotoxy): Likewise.
42542 (grub_console_cls): Set the default color when clearing the
42543 screen.
42544 (grub_console_setcursor): Implemented.
42545
bb06ab2e 425462007-11-03 Marco Gerards <marco@gnu.org>
42547
42548 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42549 become activate.
42550 (grub_ata_pio_write): Likewise.
42551
42552 (grub_atapi_identify): Wait after issuing an ATA command.
42553 (grub_atapi_packet): Likewise.
42554 (grub_ata_identify): Likewise.
42555 (grub_ata_readwrite): Likewise.
42556
cf8f780b 425572007-11-03 Marco Gerards <marco@gnu.org>
42558
42559 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42560 (grub_ata_pio_write): Likewise.
42561 (grub_ata_readwrite): Use `grub_error', instead of
42562 returning `grub_errno'.
42563
ed649e54 425642007-11-03 Marco Gerards <marco@gnu.org>
42565
42566 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42567 grub_ata_pio_write once for every single sector, instead of for
42568 multiple sectors.
42569
ca25d8f0 425702007-10-31 Robert Millan <rmh@aybabtu.com>
42571
42572 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42573
42574 * conf/i386-linuxbios.rmk: New file.
42575
42576 * kern/i386/pc/hardware.c: Likewise.
42577 * term/i386/pc/at_keyboard.c: Likewise.
42578 * term/i386/pc/vga_text.c: Likewise.
42579
42580 * include/grub/i386/linuxbios/boot.h: Likewise.
42581 * include/grub/i386/linuxbios/console.h: Likewise.
42582 * include/grub/i386/linuxbios/init.h: Likewise.
42583 * include/grub/i386/linuxbios/kernel.h: Likewise.
42584 * include/grub/i386/linuxbios/loader.h: Likewise.
42585 * include/grub/i386/linuxbios/memory.h: Likewise.
42586 * include/grub/i386/linuxbios/serial.h: Likewise.
42587 * include/grub/i386/linuxbios/time.h: Likewise.
42588
42589 * kern/i386/linuxbios/init.c: Likewise.
42590 * kern/i386/linuxbios/startup.S: Likewise.
42591 * kern/i386/linuxbios/table.c: Likewise.
42592
e911ecc1 425932007-10-31 Marco Gerards <marco@gnu.org>
42594
42595 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42596 (ata_mod_SOURCES): New variable.
42597 (ata_mod_CFLAGS): Likewise.
42598 (ata_mod_LDFLAGS): Likewise.
42599
42600 * disk/ata.c: New file.
42601
42602 * include/grub/disk.h (grub_disk_dev_id): Add
42603 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42604
7f66d0e0 426052007-10-31 Robert Millan <rmh@aybabtu.com>
42606
42607 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42608 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42609
42610 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42611 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42612
42613 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42614 `<grub/types.h>'.
42615
42616 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42617
5cd7dd46 426182007-10-27 Robert Millan <rmh@aybabtu.com>
42619
3236ca65 42620 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42621
2ebfc90f 426222007-10-22 Robert Millan <rmh@aybabtu.com>
42623
42624 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42625 `"../realmode.S"'.
42626 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42627
73fcb0f3 426282007-10-22 Robert Millan <rmh@aybabtu.com>
42629
42630 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42631 (pkgdata_MODULES): Add `biosdisk.mod'.
42632 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42633 variables.
42634
42635 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42636 (grub_biosdisk_init): Replace with ...
42637 (GRUB_MOD_INIT(biosdisk)): ... this.
42638 (grub_biosdisk_fini): Replace with ...
42639 (GRUB_MOD_FINI(biosdisk)): ... this.
42640
42641 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42642 (grub_machine_init): Remove call to grub_biosdisk_init().
42643 (grub_machine_fini): Remove call to grub_machine_fini().
42644
42645 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42646
3381d274 426472007-10-22 Robert Millan <rmh@aybabtu.com>
42648
42649 * include/grub/time.h: New file.
42650 * include/grub/i386/time.h: Likewise.
42651 * include/grub/powerpc/time.h: Likewise.
42652 * include/grub/sparc64/time.h: Likewise.
42653
42654 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42655 instances to ...
42656 (KERNEL_MACHINE_TIME_HEADER): ... this.
42657 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42658 instances to ...
42659 (KERNEL_MACHINE_TIME_HEADER): ... this.
42660 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42661 instances to ...
42662 (KERNEL_MACHINE_TIME_HEADER): ... this.
42663
42664 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42665 (grub_millisleep): New function.
42666 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42667 (grub_millisleep): New function.
42668 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42669 Remove `grub/machine/time.h' include.
42670 (grub_millisleep): New function.
42671 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42672 Remove `grub/machine/time.h' include.
42673 (grub_millisleep): New function.
42674
42675 * include/grub/misc.h (grub_div_roundup): New function.
42676
42677 * kern/misc.c: Include `<grub/time.h>'.
42678 (grub_millisleep_generic): New function.
42679
42680 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42681 Add `time.h'.
42682 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42683 Add `time.h'.
42684 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42685 `machine/time.h'. Add `time.h'.
42686 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42687
a39a0312 426882007-10-21 Robert Millan <rmh@aybabtu.com>
42689
42690 * include/grub/misc.h (grub_max): New function.
42691
2aad70e2 426922007-10-21 Robert Millan <rmh@aybabtu.com>
42693
42694 * util/misc.c (grub_util_info): Call fflush() before returning.
42695
54b71c4b 426962007-10-20 Robert Millan <rmh@aybabtu.com>
42697
42698 * genmk.rb (Image): Copy `extra_flags' from here ...
42699 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42700
42701 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42702 to `argc' and `args' arguments.
42703
a979f513 427042007-10-17 Robert Millan <rmh@aybabtu.com>
42705
42706 * kern/i386/loader.S: New file.
42707
42708 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42709 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42710 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42711 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42712 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42713 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42714 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42715 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42716 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42717 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42718 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42719 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42720 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42721 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42722
42723 * kern/i386/realmode.S: New file.
42724
42725 * kern/i386/pc/startup.S (protstack): Moved from here ...
42726 * kern/i386/realmode.S (protstack)... to here.
42727 * kern/i386/pc/startup.S (gdt): Moved from here ...
42728 * kern/i386/realmode.S (gdt)... to here.
42729 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42730 * kern/i386/realmode.S (prot_to_real)... to here.
42731
42732 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42733 `kern/i386/realmode.S'.
42734
825fc8fd 427352007-10-17 Robert Millan <rmh@aybabtu.com>
42736
42737 * include/grub/i386/loader.h: New file.
42738
42739 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42740 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42741 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42742 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42743 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42744 * include/grub/i386/loader.h (grub_linux_prot_size)
42745 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42746 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42747 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42748 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42749
42750 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42751
e179b2f4 427522007-10-15 Robert Millan <rmh@aybabtu.com>
42753
42754 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42755 filesystem when dev->disk is unset.
42756 Do probe for filesystem even when dev->disk->has_partitions is set.
42757 In case a filesystem is found, always report it.
42758 In case it isn't, if dev->disk->has_partitions is set, report that
42759 a partition table was found instead of reporting that no filesystem
42760 could be identified.
42761
5db82af6 427622007-10-12 Robert Millan <rmh@aybabtu.com>
42763
42764 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42765 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42766
68f6ac74 42767 * include/grub/types.h (grub_host_to_target16): New macro.
42768 (grub_host_to_target32): Likewise.
42769 (grub_host_to_target64): Likewise.
42770 (grub_target_to_host16): Likewise.
42771 (grub_target_to_host32): Likewise.
42772 (grub_target_to_host64): Likewise.
5db82af6 42773
42774 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42775 Renamed from to ...
42776 (GRUB_MOD_ALIGN): ...this. Update all users.
42777
68f6ac74 42778 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42779 grub_host_to_target32.
42780 Replace grub_be_to_cpu32 with grub_target_to_host32.
42781 (load_modules): Likewise.
42782 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42783 Replace grub_be_to_cpu32 with grub_target_to_host32.
42784 Replace grub_cpu_to_be16 with grub_host_to_target16.
42785 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42786
3cf497cc 427872007-10-12 Robert Millan <rmh@aybabtu.com>
42788
42789 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42790 * util/elf/grub-mkimage.c: ... here.
42791
42792 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42793 `util/powerpc/ieee1275/grub-mkimage.c'.
42794
c8cc3692 427952007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42796
c8cc3692 42797 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42798 and make it easier to figure out.
42799 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42800 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42801 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42802 leave us with less than HEAP_MIN_SIZE total heap.
42803 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42804
5c58b791 428052007-10-03 Robert Millan <rmh@aybabtu.com>
42806
42807 * include/grub/i386/io.h: New file.
42808 * commands/i386/pc/play.c (inb): Removed.
42809 (outb): Removed.
42810 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42811 with grub_outb().
afcd2ef8 42812 * term/i386/pc/serial.c (inb): Removed.
42813 (outb): Removed.
42814 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42815 with grub_outb().
42816 * term/i386/pc/vga.c (inb): Removed.
42817 (outb): Removed.
42818 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42819 with grub_outb().
5c58b791 42820
1a477ed6 428212007-10-02 Robert Millan <rmh@aybabtu.com>
42822
42823 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42825 Reported by Marcin Kurek.
42826
6b5d80fa 428272007-09-07 Robert Millan <rmh@aybabtu.com>
42828
42829 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42830 SmartFirmware version updates (as released by Sven Luther), and avoid
42831 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42832 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42833 known broken.
42834
5618afbf 428352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42836
42837 From Hitoshi Ozeki:
42838 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42839 when merging two regions.
42840
6139dcd9 428412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42842
508e39ee 42843 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42844 * normal/completion.c (grub_normal_do_completion): Likewise.
42845 Reported by Hitoshi Ozeki.
42846
428472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42848
6139dcd9 42849 Do not use devices at boot in chainloading.
f19dbdb7 42850
6139dcd9 42851 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42852 (boot_part_addr): Likewise.
42853 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42854 with BOOT_DRIVE and BOOT_PART_ADDR.
42855 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42856 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42857
38da6516 428582007-08-29 Robert Millan <rmh@aybabtu.com>
42859
42860 Patch from Simon Peter <dn.tlp@gmx.net>:
42861 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42862 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42863 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42864 util/i386/pc/grub-setup.c_DEPENDENCIES.
42865 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42866 util/grub-probe.c_DEPENDENCIES.
42867 * conf/powerpc-ieee1275.rmk: Likewise.
42868
29d0928c 428692007-08-28 Robert Millan <rmh@aybabtu.com>
42870
42871 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42872 to tell grub-mkdevicemap how to name devices.
42873 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42874 feature).
42875
42876 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42877 util/i386/get_disk_name.c.
42878 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42879 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42880 util/ieee1275/get_disk_name.c.
42881
42882 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42883
42884 * DISTLIST: Add util/i386/get_disk_name.c and
42885 util/ieee1275/get_disk_name.c.
42886
42887 * util/grub-mkdevicemap.c: Replace device naming logic with
42888 grub_util_get_disk_name() calls.
42889
5a0d3cca 428902007-08-20 Robert Millan <rmh@aybabtu.com>
42891
42892 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42893 (so that it works for both plural and singular quantities).
42894
8b72db2f 428952007-08-05 Robert Millan <rmh@aybabtu.com>
42896
42897 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42898 so that [xz] isn't taken into account when determining order.
42899
352466bf 429002007-08-02 Marco Gerards <marco@gnu.org>
42901
42902 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42903 `include/multiboot2.h', `include/grub/elfload.h',
42904 `include/multiboot.h', `include/grub/multiboot.h',
42905 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42906 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42907 `kern/elf.c', `loader/multiboot_loader.c',
42908 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42909 `loader/i386/pc/multiboot2.c',
42910 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42911 `util/i386/pc/grub-mkrescue.in'. Remove
42912 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42913 `include/grub/i386/pc/util/biosdisk.h' and
42914 `include/grub/powerpc/ieee1275/multiboot.h'.
42915
8f096014 429162007-08-02 Bean <bean123ch@gmail.com>
42917
42918 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42919 (ntfs_mod_SOURCES): New variable.
42920 (ntfs_mod_CFLAGS): Likewise.
42921 (ntfs_mod_LDFLAGS): Likewise.
42922
42923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42924 (grub_probe_SOURCES): Likewise.
42925 (grub_emu_SOURCES): Likewise.
42926
42927 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42928 (grub_emu_SOURCES): Likewise.
42929
42930 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42931 (grub_emu_SOURCES): Likewise.
f19dbdb7 42932
8f096014 42933 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42934
42935 * fs/ntfs.c: New file.
42936
9959f7db 429372007-08-02 Bean <bean123ch@gmail.com>
42938
42939 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42940
42941 * file.h (grub_file): Likewise.
42942
42943 * fshelp.h (grub_fshelp_read_file): Likewise.
42944
42945 * util/i386/pc/grub-setup.c (setup): Likewise.
42946 (save_first_sector): Likewise.
42947 (save_blocklists): Likewise.
f19dbdb7 42948
9959f7db 42949 * fs/affs.c (grub_affs_read_file): Likewise.
42950
42951 * fs/ext2.c (grub_ext2_read_file): Likewise.
42952
42953 * fs/fat.c (grub_fat_read_data): Likewise.
42954
42955 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42956
42957 * fs/hfs.c (grub_hfs_read_file): Likewise.
42958
42959 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42960
42961 * fs/jfs.c (grub_jfs_read_file): Likewise.
42962
42963 * fs/minix.c (grub_minix_read_file): Likewise.
42964
42965 * fs/sfs.c (grub_sfs_read_file): Likewise.
42966
42967 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42968
9959f7db 42969 * fs/xfs.c (grub_xfs_read_file): Likewise.
42970
42971 * command/blocklist.c (read_blocklist): Likewise.
42972 (print_blocklist): Likewise.
42973
0a203f83 429742007-08-02 Marco Gerards <marco@gnu.org>
42975
42976 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42977 `util/hostfs.c'.
42978
42979 * disk/host.c: New file.
42980
42981 * util/hostfs.c: Likewise.
42982
42983 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42984 return `GRUB_ERR_BAD_FS'.
42985 * fs/sfs.c (grub_sfs_mount): Likewise.
42986 * fs/xfs.c (grub_xfs_mount): Likewise.
42987
42988 * include/grub/disk.h (enum grub_disk_dev_id): Add
42989 `GRUB_DISK_DEVICE_HOST_ID'.
42990
42991 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42992
e5dfe777 429932007-07-24 Jerone Young <jerone@gmail.com>
42994
f19dbdb7 42995 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42996 modules for compilation.
42997 * conf/powerpc-ieee1275.rmk: Likewise.
42998
42999 * include/multiboot.h: Move multiboot definitions to one file. Rename
43000 many definitions to not get grub specific.
43001 * include/multiboot2.h: Create header with multiboot 2 definitions.
43002 * include/grub/multiboot.h: Header for grub specific function
43003 prototypes and definitions.
43004 * include/grub/multiboot2.h: Likewise.
43005 * include/grub/multiboot_loader.h: Likewise.
43006 * include/grub/i386/pc/multiboot.h: Removed.
43007 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43008
43009 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43010 and 2 to allow for one multiboot and module commands.
43011 * loader/multiboot2.c: Add multiboot2 functionality.
43012 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43013 and definition names.
43014 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43015 2 functions.
43016 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43017 ieee1275 specific multiboot2 code.
43018
43019 * kern/i386/pc/startup.S: Change headers and definition names for
43020 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43021
daf0f0ba 430222007-07-22 Robert Millan <rmh@aybabtu.com>
43023
43024 * geninitheader.sh: Process file specified in first parameter rather
43025 than hardcoding grub_modules_init.lst.
fe6b695a 43026 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43027 than hardcoding grub_modules_init.h.
43028
43029 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43030 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43031 grub_probe_init.[ch] and grub_setup_init.[ch].
43032
43033 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43034 grub_modules_init.h with grub_emu_init.h.
43035 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43036 grub_probe_init.[ch] files.
43037 * conf/i386-efi.rmk: Likewise.
43038 * conf/i386-pc.rmk: Likewise.
43039 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43040 grub_setup_init.[ch] files.
43041
43042 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43043 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43044 to initialize modules rather than a list of hardcoded functions.
43045 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43046 grub_init_all() to initialize modules rather than a list of hardcoded
43047 functions.
43048
54cdc1cc 430492007-07-22 Robert Millan <rmh@aybabtu.com>
43050
43051 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43052 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43053
ad0686cc 430542007-07-22 Robert Millan <rmh@aybabtu.com>
43055
43056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43057 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43058 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43059 flag when running on SmartFirmware.
43060 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43061 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43062 was set.
43063
43064 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43065 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43066 rather than decreasing it.
43067
43068 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43069 there's not enough space to do it, fail in the same way as when it
43070 can't be done because there are no partitions.
43071
43072 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43073 when nvsetenv failed.
43074
969c02ec 430752007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43076
43077 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43078 because this rule is automatically generated.
43079 (grub-mkrescue): Removed for the same reason as above.
43080
5a79f472 430812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43082
43083 Migrate to GNU General Public License Version 3.
f19dbdb7 43084
5a79f472 43085 * COPYING: Replaced with the plain text version of GPLv3.
43086
43087 * config.guess: Updated from gnulib.
43088 * config.sub: Likewise.
43089
43090 * geninit.sh: Output a GPLv3 copyright notice.
43091 * geninitheader.sh: Likewise.
43092 * genmodsrc.sh: Likewise.
43093 * gensymlist.sh.in: Likewise.
43094
43095 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43096 * boot/i386/pc/diskboot.S: Likewise.
43097 * boot/i386/pc/pxeboot.S: Likewise.
43098 * commands/blocklist.c: Likewise.
43099 * commands/boot.c: Likewise.
43100 * commands/cat.c: Likewise.
43101 * commands/cmp.c: Likewise.
43102 * commands/configfile.c: Likewise.
43103 * commands/echo.c: Likewise.
43104 * commands/help.c: Likewise.
43105 * commands/ls.c: Likewise.
43106 * commands/search.c: Likewise.
43107 * commands/terminal.c: Likewise.
43108 * commands/test.c: Likewise.
43109 * commands/videotest.c: Likewise.
43110 * commands/i386/cpuid.c: Likewise.
43111 * commands/i386/pc/halt.c: Likewise.
43112 * commands/i386/pc/play.c: Likewise.
43113 * commands/i386/pc/reboot.c: Likewise.
43114 * commands/i386/pc/vbeinfo.c: Likewise.
43115 * commands/i386/pc/vbetest.c: Likewise.
43116 * commands/ieee1275/halt.c: Likewise.
43117 * commands/ieee1275/reboot.c: Likewise.
43118 * commands/ieee1275/suspend.c: Likewise.
43119 * disk/loopback.c: Likewise.
43120 * disk/lvm.c: Likewise.
43121 * disk/raid.c: Likewise.
43122 * disk/efi/efidisk.c: Likewise.
43123 * disk/i386/pc/biosdisk.c: Likewise.
43124 * disk/ieee1275/ofdisk.c: Likewise.
43125 * font/manager.c: Likewise.
43126 * fs/affs.c: Likewise.
43127 * fs/ext2.c: Likewise.
43128 * fs/fat.c: Likewise.
43129 * fs/fshelp.c: Likewise.
43130 * fs/hfs.c: Likewise.
43131 * fs/hfsplus.c: Likewise.
43132 * fs/iso9660.c: Likewise.
43133 * fs/jfs.c: Likewise.
43134 * fs/minix.c: Likewise.
43135 * fs/sfs.c: Likewise.
43136 * fs/ufs.c: Likewise.
43137 * fs/xfs.c: Likewise.
43138 * hello/hello.c: Likewise.
43139 * include/grub/acorn_filecore.h: Likewise.
43140 * include/grub/arg.h: Likewise.
43141 * include/grub/bitmap.h: Likewise.
43142 * include/grub/boot.h: Likewise.
43143 * include/grub/cache.h: Likewise.
43144 * include/grub/device.h: Likewise.
43145 * include/grub/disk.h: Likewise.
43146 * include/grub/dl.h: Likewise.
43147 * include/grub/elfload.h: Likewise.
43148 * include/grub/env.h: Likewise.
43149 * include/grub/err.h: Likewise.
43150 * include/grub/file.h: Likewise.
43151 * include/grub/font.h: Likewise.
43152 * include/grub/fs.h: Likewise.
43153 * include/grub/fshelp.h: Likewise.
43154 * include/grub/gzio.h: Likewise.
43155 * include/grub/hfs.h: Likewise.
43156 * include/grub/kernel.h: Likewise.
43157 * include/grub/loader.h: Likewise.
43158 * include/grub/lvm.h: Likewise.
43159 * include/grub/misc.h: Likewise.
43160 * include/grub/mm.h: Likewise.
43161 * include/grub/net.h: Likewise.
43162 * include/grub/normal.h: Likewise.
43163 * include/grub/parser.h: Likewise.
43164 * include/grub/partition.h: Likewise.
43165 * include/grub/pc_partition.h: Likewise.
43166 * include/grub/raid.h: Likewise.
43167 * include/grub/rescue.h: Likewise.
43168 * include/grub/script.h: Likewise.
43169 * include/grub/setjmp.h: Likewise.
43170 * include/grub/symbol.h: Likewise.
43171 * include/grub/term.h: Likewise.
43172 * include/grub/terminfo.h: Likewise.
43173 * include/grub/tparm.h: Likewise.
43174 * include/grub/types.h: Likewise.
43175 * include/grub/video.h: Likewise.
43176 * include/grub/efi/api.h: Likewise.
43177 * include/grub/efi/chainloader.h: Likewise.
43178 * include/grub/efi/console.h: Likewise.
43179 * include/grub/efi/console_control.h: Likewise.
43180 * include/grub/efi/disk.h: Likewise.
43181 * include/grub/efi/efi.h: Likewise.
43182 * include/grub/efi/pe32.h: Likewise.
43183 * include/grub/efi/time.h: Likewise.
43184 * include/grub/i386/linux.h: Likewise.
43185 * include/grub/i386/setjmp.h: Likewise.
43186 * include/grub/i386/types.h: Likewise.
43187 * include/grub/i386/efi/kernel.h: Likewise.
43188 * include/grub/i386/efi/loader.h: Likewise.
43189 * include/grub/i386/efi/time.h: Likewise.
43190 * include/grub/i386/pc/biosdisk.h: Likewise.
43191 * include/grub/i386/pc/boot.h: Likewise.
43192 * include/grub/i386/pc/chainloader.h: Likewise.
43193 * include/grub/i386/pc/console.h: Likewise.
43194 * include/grub/i386/pc/init.h: Likewise.
43195 * include/grub/i386/pc/kernel.h: Likewise.
43196 * include/grub/i386/pc/loader.h: Likewise.
43197 * include/grub/i386/pc/memory.h: Likewise.
43198 * include/grub/i386/pc/multiboot.h: Likewise.
43199 * include/grub/i386/pc/serial.h: Likewise.
43200 * include/grub/i386/pc/time.h: Likewise.
43201 * include/grub/i386/pc/vbe.h: Likewise.
43202 * include/grub/i386/pc/vbeblit.h: Likewise.
43203 * include/grub/i386/pc/vbefill.h: Likewise.
43204 * include/grub/i386/pc/vbeutil.h: Likewise.
43205 * include/grub/i386/pc/vga.h: Likewise.
43206 * include/grub/ieee1275/ieee1275.h: Likewise.
43207 * include/grub/ieee1275/ofdisk.h: Likewise.
43208 * include/grub/powerpc/libgcc.h: Likewise.
43209 * include/grub/powerpc/setjmp.h: Likewise.
43210 * include/grub/powerpc/types.h: Likewise.
43211 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43212 * include/grub/powerpc/ieee1275/console.h: Likewise.
43213 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43214 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43215 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43216 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43217 * include/grub/powerpc/ieee1275/time.h: Likewise.
43218 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43219 * include/grub/sparc64/libgcc.h: Likewise.
43220 * include/grub/sparc64/setjmp.h: Likewise.
43221 * include/grub/sparc64/types.h: Likewise.
43222 * include/grub/sparc64/ieee1275/console.h: Likewise.
43223 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43224 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43225 * include/grub/sparc64/ieee1275/time.h: Likewise.
43226 * include/grub/util/biosdisk.h: Likewise.
43227 * include/grub/util/getroot.h: Likewise.
43228 * include/grub/util/lvm.h: Likewise.
43229 * include/grub/util/misc.h: Likewise.
43230 * include/grub/util/raid.h: Likewise.
43231 * include/grub/util/resolve.h: Likewise.
43232 * io/gzio.c: Likewise.
43233 * kern/device.c: Likewise.
43234 * kern/disk.c: Likewise.
43235 * kern/dl.c: Likewise.
43236 * kern/elf.c: Likewise.
43237 * kern/env.c: Likewise.
43238 * kern/err.c: Likewise.
43239 * kern/file.c: Likewise.
43240 * kern/fs.c: Likewise.
43241 * kern/loader.c: Likewise.
43242 * kern/main.c: Likewise.
43243 * kern/misc.c: Likewise.
43244 * kern/mm.c: Likewise.
43245 * kern/parser.c: Likewise.
43246 * kern/partition.c: Likewise.
43247 * kern/rescue.c: Likewise.
43248 * kern/term.c: Likewise.
43249 * kern/efi/efi.c: Likewise.
43250 * kern/efi/init.c: Likewise.
43251 * kern/efi/mm.c: Likewise.
43252 * kern/i386/dl.c: Likewise.
43253 * kern/i386/efi/init.c: Likewise.
43254 * kern/i386/efi/startup.S: Likewise.
43255 * kern/i386/pc/init.c: Likewise.
43256 * kern/i386/pc/lzo1x.S: Likewise.
43257 * kern/i386/pc/startup.S: Likewise.
43258 * kern/ieee1275/ieee1275.c: Likewise.
43259 * kern/powerpc/cache.S: Likewise.
43260 * kern/powerpc/dl.c: Likewise.
43261 * kern/powerpc/ieee1275/cmain.c: Likewise.
43262 * kern/powerpc/ieee1275/crt0.S: Likewise.
43263 * kern/powerpc/ieee1275/init.c: Likewise.
43264 * kern/powerpc/ieee1275/openfw.c: Likewise.
43265 * kern/sparc64/cache.S: Likewise.
43266 * kern/sparc64/dl.c: Likewise.
43267 * kern/sparc64/ieee1275/init.c: Likewise.
43268 * kern/sparc64/ieee1275/openfw.c: Likewise.
43269 * loader/efi/chainloader.c: Likewise.
43270 * loader/efi/chainloader_normal.c: Likewise.
43271 * loader/i386/efi/linux.c: Likewise.
43272 * loader/i386/efi/linux_normal.c: Likewise.
43273 * loader/i386/pc/chainloader.c: Likewise.
43274 * loader/i386/pc/chainloader_normal.c: Likewise.
43275 * loader/i386/pc/linux.c: Likewise.
43276 * loader/i386/pc/linux_normal.c: Likewise.
43277 * loader/i386/pc/multiboot.c: Likewise.
43278 * loader/i386/pc/multiboot_normal.c: Likewise.
43279 * loader/powerpc/ieee1275/linux.c: Likewise.
43280 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43281 * normal/arg.c: Likewise.
43282 * normal/cmdline.c: Likewise.
43283 * normal/command.c: Likewise.
43284 * normal/completion.c: Likewise.
43285 * normal/execute.c: Likewise.
43286 * normal/function.c: Likewise.
43287 * normal/lexer.c: Likewise.
43288 * normal/main.c: Likewise.
43289 * normal/menu.c: Likewise.
43290 * normal/menu_entry.c: Likewise.
43291 * normal/misc.c: Likewise.
43292 * normal/parser.y: Likewise.
43293 * normal/script.c: Likewise.
43294 * normal/i386/setjmp.S: Likewise.
43295 * normal/powerpc/setjmp.S: Likewise.
43296 * normal/sparc64/setjmp.S: Likewise.
43297 * partmap/acorn.c: Likewise.
43298 * partmap/amiga.c: Likewise.
43299 * partmap/apple.c: Likewise.
43300 * partmap/gpt.c: Likewise.
43301 * partmap/pc.c: Likewise.
43302 * partmap/sun.c: Likewise.
43303 * term/gfxterm.c: Likewise.
43304 * term/terminfo.c: Likewise.
43305 * term/efi/console.c: Likewise.
43306 * term/i386/pc/console.c: Likewise.
43307 * term/i386/pc/serial.c: Likewise.
43308 * term/i386/pc/vesafb.c: Likewise.
43309 * term/i386/pc/vga.c: Likewise.
43310 * term/ieee1275/ofconsole.c: Likewise.
43311 * util/biosdisk.c: Likewise.
43312 * util/console.c: Likewise.
43313 * util/genmoddep.c: Likewise.
43314 * util/getroot.c: Likewise.
43315 * util/grub-emu.c: Likewise.
43316 * util/grub-mkdevicemap.c: Likewise.
43317 * util/grub-probe.c: Likewise.
43318 * util/lvm.c: Likewise.
43319 * util/misc.c: Likewise.
43320 * util/raid.c: Likewise.
43321 * util/resolve.c: Likewise.
43322 * util/update-grub.in: Likewise.
43323 * util/update-grub_lib.in: Likewise.
43324 * util/grub.d/00_header.in: Likewise.
43325 * util/grub.d/10_hurd.in: Likewise.
43326 * util/grub.d/10_linux.in: Likewise.
43327 * util/i386/efi/grub-install.in: Likewise.
43328 * util/i386/efi/grub-mkimage.c: Likewise.
43329 * util/i386/pc/grub-install.in: Likewise.
43330 * util/i386/pc/grub-mkimage.c: Likewise.
43331 * util/i386/pc/grub-mkrescue.in: Likewise.
43332 * util/i386/pc/grub-setup.c: Likewise.
43333 * util/i386/pc/misc.c: Likewise.
43334 * util/powerpc/ieee1275/grub-install.in: Likewise.
43335 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43336 * util/powerpc/ieee1275/misc.c: Likewise.
43337 * video/bitmap.c: Likewise.
43338 * video/video.c: Likewise.
43339 * video/i386/pc/vbe.c: Likewise.
43340 * video/i386/pc/vbeblit.c: Likewise.
43341 * video/i386/pc/vbefill.c: Likewise.
43342 * video/i386/pc/vbeutil.c: Likewise.
43343 * video/readers/tga.c: Likewise.
43344
3572d015 433452007-07-02 Robert Millan <rmh@aybabtu.com>
43346
43347 * conf/i386-efi.rmk: Replace obsolete reference to
43348 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43349 with util/getroot.c.
43350 * conf/powerpc-ieee1275.rmk: Likewise.
43351 * conf/sparc64-ieee1275.rmk: Likewise.
43352
43353 * util/grub-emu.c (main): Fix unchecked pointer handling.
43354
2c2a681b 433552007-07-02 Robert Millan <rmh@aybabtu.com>
43356
43357 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43358 invocation to fail, in order to support partition-less media.
43359
43360 * util/i386/pc/grub-install.in: Likewise.
43361
43362 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43363 which fs or partmap modules are needed (akin to its sister scripts).
43364
43365 Also use grub-probe to get rid of unportable /proc/mounts check.
43366
43367 Print the same informational message that the other scripts do, before
fe6b695a 43368 exiting.
2c2a681b 43369
6193defe 433702007-06-23 Robert Millan <rmh@aybabtu.com>
43371
fe6b695a 43372 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43373 a font file can be found and, if so, echo the GRUB path to it.
43374
43375 * util/update-grub.in: Handle multiple terminals depending on user
43376 input, platform availability and font file presence. Propagate
43377 variables of our findings to /etc/grub.d/ children.
43378
43379 * util/grub.d/00_header.in: Handle multiple terminals, based on
43380 environment setup by update-grub.
43381
eface1dc 433822007-06-23 Robert Millan <rmh@aybabtu.com>
43383
ba50d28f 43384 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43385
bf697e28 433862007-06-21 Robert Millan <rmh@aybabtu.com>
43387
43388 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43389 indicate end of data section in kernel image.
43390 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43391 GRUB_KERNEL_MACHINE_DATA_END.
43392
43393 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43394 space for it.
43395 * kern/i386/efi/startup.S: Likewise.
43396
43397 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43398 during image generation. Implement --prefix option to override this
43399 patch.
43400 * util/i386/efi/grub-mkimage.c: Likewise.
43401
43402 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43403 code to make path relative to its root into a separate function.
43404
43405 * util/i386/pc/grub-install.in: Use newly provided
43406 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43407 pass the result to grub-install --prefix.
43408
baa574b4 434092007-06-13 Robert Millan <rmh@aybabtu.com>
43410
43411 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43412 DEFAULT_DEVICE_MAP.
43413 * util/grub-emu.c: Use above definitions from misc.h instead of
43414 defining them.
43415 * util/grub-mkdevicemap.c: Likewise.
43416 * util/i386/pc/grub-setup.c: Likewise.
43417 * util/grub-probe.c: Likewise.
43418 (probe): Abort with grub_util_error() when either
43419 grub_guess_root_device or grub_util_get_grub_dev fails.
43420
0215dcbf 434212007-06-12 Robert Millan <rmh@aybabtu.com>
43422
43423 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43424 "pager" assignment.
43425 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43426 "pcdata".
43427 * util/grub-probe.c (probe): Likewise for "drive_name".
43428
8af2ab7b 434292007-06-11 Robert Millan <rmh@aybabtu.com>
43430
43431 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43432 not just the cdrom one.
43433
59d31694 434342007-06-11 Robert Millan <rmh@aybabtu.com>
43435
43436 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43437 Add --pkglibdir=DIR option to override pkglibdir.
43438 Mention --image-type=TYPE in help output.
43439 Fix --grub-mkimage (it was a no-op).
fe6b695a 43440 Abort gracefully when no parameter is given.
59d31694 43441
7ee367e4 434422007-06-11 Robert Millan <rmh@aybabtu.com>
43443
43444 * util/i386/pc/grub-mkrescue.in: New file.
43445 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43446 * Makefile.in: Handle bin_SCRIPTS.
43447
29b0ed46 434482007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43449
43450 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43451 list of video modes.
43452
c0f90770 434532007-06-06 Robert Millan <rmh@aybabtu.com>
43454
43455 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43456 file doesn't exist, or if it is in a filesystem grub can't read.
43457
43458 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43459 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43460 header comment to fit in 80 columns when the variables are resolved.
43461
43462 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43463 could be identified by update-grub. Remove redundant check for
fe6b695a 43464 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43465 handles that).
43466
fb36dc26 434672007-06-04 Robert Millan <rmh@aybabtu.com>
43468
43469 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43470
43471 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43472
43473 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43474
0c68c93e 434752007-06-04 Robert Millan <rmh@aybabtu.com>
43476
43477 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43478
43479 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43480 grub_apple_partition_map_fini.
43481
43482 * util/biosdisk.c
43483 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43484 to access >2 TiB disks).
43485
43486 Print disk->total_sectors with %llu instead of %lu, since this
43487 variable is always 64-bit (prevents wrong disk size from being displayed
43488 on either >2 TiB disk or big-endian CPU).
43489
43490 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43491 into a generic case that supports all (sane) partition maps.
43492
43493 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43494 breaks big-endian.
43495
43496 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43497 and grub_apple_partition_map_fini() after that.
43498
0f23eb74 434992007-06-01 Robert Millan <rmh@aybabtu.com>
43500
43501 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43502
43503 * util/grub.d/00_header.in: Only enable gfxterm when
43504 convert_system_path_to_grub_path() succeeds.
43505
42c71976 435062007-05-20 Robert Millan <rmh@aybabtu.com>
43507
43508 * util/update-grub_lib.in: New file.
43509 * DISTLIST: Add update-grub_lib.in.
43510 * conf/common.rmk: Generate update-grub_lib and install it in
43511 $(lib_DATA).
43512 * Makefile.in: Add install routine for $(lib_DATA).
43513
43514 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43515 function provided by update-grub_lib to support arbitrary paths of
43516 unifont.pff.
43517 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43518 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43519
5beb2291 435202007-05-19 Robert Millan <rmh@aybabtu.com>
43521
43522 * commands/i386/cpuid.c: New module.
43523 * DISTLIST: Add it.
43524 * conf/i386-efi.rmk: Enable cpuid.mod.
43525 * conf/i386-pc.rmk: Likewise.
43526
7262eca1 435272007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43528
43529 * kern/disk.c (grub_disk_read): Check return value of
43530 grub_realloc().
43531
260ba823 435322007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43533
43534 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43535 arrays.
43536 * disk/raid.c (grub_raid_open): Likewise.
43537
1ecb6cf2 435382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43539
43540 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43541 stack instead of on the heap.
43542
43543 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43544 before doing a read on it.
43545
43546 * configure.ac: Only use -fno-stack-protector for the target
43547 environment.
f19dbdb7 43548
21c8cbb1 435492007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43550
43551 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43552 __attribute_ ((unused)) to mode_type argument.
43553
43554 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43555
21c8cbb1 43556 * kern/misc.c (memcmp): Fix prototype.
43557
43558 * include/grub/partition.h [GRUB_UTIL]
43559 (grub_gpt_partition_map_init): Add prototype.
43560 (grub_gpt_partition_map_fini): Likewise.
43561
43562 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43563 at the right place.
43564
43565 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43566 (grub_fat_read_data): Likewise.
43567 (grub_fat_find_dir): Likewise.
43568
43569 * font/manager.c (find_glyph): Make table a const.
43570 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43571
849d55d3 435722007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43573
43574 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43575 code, first search for device in /dev/mapper, then in /dev.
43576 (grub_util_get_grub_dev): New function.
43577 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43578 prototype.
43579 * util/grub-probe.c (probe): Remove check for RAID, call
43580 grub_util_get_grub_dev() instead of
43581 grub_util_biosdisk_get_grub_dev().
43582 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43583 grub_util_biosdisk_get_grub_dev().
43584 * util/i386/pc/grub-setup.c (main): Likewise.
43585
8fff7c2f 435862007-05-16 Robert Millan <rmh@aybabtu.com>
43587
43588 * DISTLIST: Update for the latest changes.
43589 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43590 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43591 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43592 grub/util/biosdisk.h.
43593 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43594 grub/util/biosdisk.h.
43595
48e12b52 435962007-05-16 Robert Millan <rmh@aybabtu.com>
43597
43598 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43599
46b9d128 436002007-05-16 Robert Millan <rmh@aybabtu.com>
43601
43602 * util/i386/efi/grub-install.in: New.
43603 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43604 newly added grub-install.
43605 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43606 include.
43607 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43608 grub/util/biosdisk.h.
43609 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43610 grub/util/biosdisk.h.
43611
2d1a40a9 436122007-05-16 Robert Millan <rmh@aybabtu.com>
43613
43614 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43615 * include/grub/util/biosdisk.h: ... here.
43616 * util/i386/pc/biosdisk.c: Moved to ...
43617 * util/biosdisk.c: ... here.
43618 * util/i386/pc/getroot.c: Moved to ...
43619 * util/getroot.c: ... here.
43620 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43621 * util/grub-mkdevicemap.c: ... here.
43622 * util/i386/pc/grub-probe.c: Moved to ...
43623 * util/grub-probe.c: ... here.
43624
9e26e3bc 436252007-05-15 Robert Millan <rmh@aybabtu.com>
43626
43627 * util/update-grub.in: Remove duplicated line in grub.cfg header
43628 message.
43629
57f96397 436302007-05-13 Robert Millan <rmh@aybabtu.com>
43631
43632 * util/update-grub.in: Fix a few assumptions about the devices holding
43633 /, /boot and /boot/grub being the same.
43634 * util/grub.d/00_header.in: Likewise.
43635 * util/grub.d/10_hurd.in: Likewise.
43636 * util/grub.d/10_linux.in: Likewise.
43637
43638 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43639 patterns. Use that to define the `.old' suffix as older than `'.
43640
43641 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43642
43643 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43644 the grub.cfg header message.
43645
2e610d62 436462007-05-11 Robert Millan <rmh@aybabtu.com>
43647
43648 * util/update-grub.in: Create device.map if it doesn't already exist,
43649 before attempting to run grub-probe.
43650 Check for grub-probe and grub-mkdevicemap with the same code
43651 grub-install is using.
43652 Remove test mode.
43653
3f6a10ef 436542007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43655
43656 * Makefile.in: Add the datarootdir autoconf variable.
43657
02e7b75e 436582007-05-09 Robert Millan <rmh@aybabtu.com>
43659
43660 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43661 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43662
75f396cc 436632007-05-07 Robert Millan <rmh@aybabtu.com>
43664
43665 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43666 determine partition map module.
43667 * util/i386/pc/grub-install.in: Use this feature to decide which
43668 partition module to load, instead of hardcoding pc and gpt.
43669
da65cb36 436702007-05-07 Robert Millan <rmh@aybabtu.com>
43671
43672 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43673 source directory differs from build directory.
43674
b57d6a91 436752007-05-05 Robert Millan <rmh@aybabtu.com>
43676
43677 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43678 initialisation.
43679
509d00f1 436802007-05-05 Robert Millan <rmh@aybabtu.com>
43681
43682 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43683
c48f23ef 436842007-05-05 Robert Millan <rmh@aybabtu.com>
43685
43686 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43687 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43688
20b97658 436892007-05-05 Robert Millan <rmh@aybabtu.com>
43690
43691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43692 (grub_probe_SOURCES): Likewise.
43693 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43694 GPT and initialize dos_part and bsd_part accordingly.
43695 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43696 install_bsd_part.
43697 (main): Activate gpt module for use during partition identification,
43698 and deactivate it afterwards.
43699 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43700 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43701 partition identification, and deactivate it afterwards.
43702
99123174 437032007-05-05 Robert Millan <rmh@aybabtu.com>
43704
43705 * term/i386/pc/console.c (grub_console_fini): Call
43706 grub_term_set_current() before grub_term_unregister().
43707
ebd97f6e 437082007-05-04 Robert Millan <rmh@aybabtu.com>
43709
43710 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43711 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43712 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43713 and update-grub_DATA.
43714 * conf/common.rmk: Build and install update-grub components.
43715 * conf/common.mk: Regenerate.
43716 * util/update-grub.in: New. Core of update-grub.
43717 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43718 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43719 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43720 * util/grub.d/README: New. Document grub.d directory layout.
43721
b06a264d 437222007-05-01 Robert Millan <rmh@aybabtu.com>
43723
43724 * util/grub-emu.c: Move initialization functions
43725 grub_util_biosdisk_init() and grub_init_all() before
43726 grub_util_biosdisk_get_grub_dev(), which relies on them.
43727
41f0050e 437282007-04-19 Robert Millan <rmh@aybabtu.com>
43729
43730 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43731 it is used later.
43732
04582bb3 437332007-04-18 Jerone Young <jerone@gmail.com>
43734
f19dbdb7 43735 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43736 stanza.
43737
08db4632 437382007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43739
08db4632 43740 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43741 continue on and look for device node with real device name.
43742
801b76be 437432007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43744
fe6b695a 43745 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43746 ability.
43747 * Makefile.in: Add autoconf package transformation code.
43748 * util/i386/pc/grub-install.in: Likewise.
43749 * util/powerpc/ieee1275/grub-install.in: Likewise.
43750
6795c4e1 437512007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43752
43753 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43754 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43755 (EXT2_REVISION): Likewise.
43756 (EXT2_INODE_SIZE): Likewise.
43757 (struct grub_ext2_block_group): Added a missing member
43758 "used_dirs".
43759 (grub_ext2_read_inode): Divide by the inode size in a superblock
43760 instead of 128 to obtain INODES_PER_BLOCK.
43761 Use the macro EXT2_INODE_SIZE instead of directly using
43762 SBLOCK->INODE_SIZE.
43763
d70af616 437642007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43765
43766 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43767 superblock instead of the structure size to compute an
43768 offset. This fixes the problem that GRUB could not read a
43769 filesystem when inode size is different from 128-byte.
43770
3b801603 437712007-03-05 Marco Gerards <marco@gnu.org>
43772
43773 * normal/main.c (read_config_file): When "menu" is not set, create
43774 an initial context.
43775
4785bfe4 437762007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43777
43778 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43779 (HEAP_LIMIT): New macro.
43780 (grub_claim_heap): Claim memory up to `heaplimit'.
43781
a0cbb023 437822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43783
43784 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43785 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43786 (_start): Likewise.
43787 (grub_arch_modules_addr): Return address after `_end'.
43788 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43789 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43790 (add_segments): Calculate `_end' from phdr size and location.
43791 (ALIGN_UP): Moved to ...
43792 * include/grub/misc.h: here.
43793 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43794 New macro.
43795 (GRUB_IEEE1275_MODULE_BASE): Removed.
43796
fd7d8eba 437972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43798
43799 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43800 loop boundary.
43801
9b09e6fc 438022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43803
43804 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43805 All users updated.
43806 (grub_elf64_load_hook_t): Likewise.
43807 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43808 debug output.
43809
3ce27299 438102007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43811
43812 * kern/mm.c: Update copyright.
43813 (grub_mm_debug): Correct syntax error.
43814 (grub_mm_dump_free): New function.
43815 (grub_debug_free): Call `grub_free'.
43816 * include/grub/mm.h: Update copyright.
43817 (grub_mm_dump_free): Add declaration.
43818
077d5fee 438192007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43820
43821 * include/grub/ieee1275/ieee1275.h: Update copyright.
43822 * kern/powerpc/ieee1275/init.c: Likewise.
43823 * kern/powerpc/ieee1275/openfw.c: Likewise.
43824
43825 * loader/powerpc/ieee1275/linux.c: Likewise.
43826 * include/grub/elfload.h: Likewise.
43827 * kern/elf.c: Likewise.
43828 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43829 callers.
43830 (grub_elf64_load): Likewise.
43831 (grub_elf32_load_segment): Move to a nested function.
43832 (grub_elf64_load_segment): Likewise.
43833
dc946850 438342007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43835
43836 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43837 prototype.
43838 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43839 (grub_heap_len): Likewise.
43840 (HEAP_SIZE): New macro.
43841 (grub_claim_heap): New function.
43842 (grub_machine_init): Don't claim heap directly. Call
43843 `grub_claim_heap'.
43844 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43845 (grub_available_iterate): New function.
43846
baa2a121 438472007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43848
43849 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43850 * configure.ac: Use it for testing the HOST and TARGET compilers.
43851
4fe9862e 438522006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43853
43854 * Makefile.in (enable_grub_emu): New variable.
43855 * configure.ac (--enable-grub-emu): New option.
43856 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43857 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43858 * conf/i386-pc.rmk: Likewise.
43859 * conf/powerpc-ieee1275.rmk: Likewise.
43860 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43861
a8aa5762 438622006-12-12 Marco Gerards <marco@gnu.org>
43863
43864 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43865
43866 * kern/env.c (grub_env_unset): Don't free the member `value' when
43867 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43868 pointer.
43869
43870 * normal/main.c (current_menu): Removed.
43871 (free_menu): Unset the `menu' environment variable.
43872 (grub_normal_menu_addentry): Make use of the environment variable
43873 `menu', instead of using the global `current_menu'. Allocate
43874 memory for the sourcecode of this entry.
43875 (read_config_file): New argument `nested', changed all callers.
43876 Only in the case of a new context, initialize a new menu. Set the
43877 `menu' environment variable.
43878 (grub_normal_execute): Don't set and unset the environment
43879 variable `menu' here anymore. Only free the menu when leaving the
43880 context.
43881
43882 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43883 leak.
43884
957b3a3e 438852006-12-11 Marco Gerards <marco@gnu.org>
43886
43887 * normal/menu_entry.c (run): Fix off by one bug so the last line
43888 is executed. Move the loader check to outside the loop.
43889
ef875714 438902006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43891
43892 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43893
4e739985 438942006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43895
43896 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43897 the number of sectors. Reported by Andrey Shuvikov
43898 <mr_hyro@yahoo.com>.
f19dbdb7 43899
790707f2 439002006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43901
43902 * kern/disk.c (grub_disk_read): When there is a read error, always
43903 try to read only the necessary data.
f19dbdb7 43904
790707f2 43905 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43906 disk/raid.c.
43907 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43908 prototype.
43909 [GRUB_UTIL] (grub_raid_fini): Likewise.
43910 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43911 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43912 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43913 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43914 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43915 and grub_raid_fini().
f19dbdb7 43916
03e58196 439172006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43918
43919 * include/grub/types.h (__unused): Rename to UNUSED.
43920 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43921 (grub_elf64_size): Likewise.
f19dbdb7 43922
ae4f23bf 439232006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43924
43925 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43926 grub_error_push and grub_error_pop in the error-handling path.
43927 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43928 length.
43929
2166cc83 439302006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43931
43932 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43933 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43935 (kernel_elf_SOURCES): Likewise.
43936 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43937 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43938 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43939 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43940 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43941 (elf_mod_SOURCES): New variable.
43942 (elf_mod_CFLAGS): Likewise.
43943 (elf_mod_LDFLAGS): Likewise.
43944 * include/grub/types.h (__unused): New macro.
43945 * include/grub/elfload.h: New file.
43946 * kern/elf.c: Likewise.
43947 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43948 (ELF32_LOADMASK): New macro.
43949 (ELF64_LOADMASK): Likewise.
43950 (vmlinux): Removed.
43951 (grub_linux_load32): New function.
43952 (grub_linux_load64): Likewise.
43953 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43954 Use grub_elf_t instead of grub_file_t.
43955
a09d5aa5 439562006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43957
43958 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43959 `catch_result' to struct set_color_args.
43960
d976fc51 439612006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43962
43963 * normal/menu.c: Include grub/script.h.
43964 * normal/menu_entry.c: Likewise.
43965 * include/grub/normal.h: Do not include grub/script.h.
43966
67507549 439672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43968
43969 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43970
69203a99 439712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43972
43973 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43974 disk.
43975 (grub_disk_close): Print debug messages when closing a disk.
43976 (grub_disk_read): Print debug messages when disk read fails.
43977 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43978 filesystem type.
43979 * kern/partition.c: Include misc.h.
43980 (grub_partition_iterate): Print debug messages when detecting
43981 partition type.
43982
e2b8278c 439832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43984
43985 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43986 is negative.
43987 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43988
97b2f2ff 439892006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43990
43991 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43992 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43993
6555d655 439942006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43995
43996 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43997 instead of sizeof(lv). Patch by Michael Guntsche.
43998
4d42b77f 439992006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44000
44001 * disk/lvm.c: Rename VGS to VG_LIST.
44002 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44003 (grub_lvm_open): Likewise.
44004 Thanks to Michael Guntsche for finding this bug.
44005
5d74d927 440062006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44007
44008 * configure.ac (AC_INIT): Bumped to 1.95.
44009
a1bb27e4 440102006-10-14 Robert Millan <rmh@aybabtu.com>
44011
44012 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44013 with "/dev/.static/dev/md".
44014
e0994b8b 440152006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44016
44017 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44018 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44019 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44020 DRIVE_NAME are always freed.
44021
44022 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44023 DOS_PART, as a DOS partition is counted from one instead of zero
44024 now. Reported by Robert Millan.
44025
ddd5cee9 440262006-10-14 Robert Millan <rmh@aybabtu.com>
44027
44028 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44029 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44030 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44031 string returned by grub_guess_root_device.
44032 * util/i386/pc/grub-setup.c: Likewise.
44033 * util/i386/pc/grub-probefs.c: Likewise.
44034
44035 * util/i386/pc/grub-probefs.c: Rename to ...
44036 * util/i386/pc/grub-probe.c: ... this.
44037 * DISTLIST: Remove grub-probefs, add grub-probe.
44038 * conf/i386-efi.rmk: Likewise.
44039 * conf/i386-pc.rmk: Likewise.
44040 * util/i386/pc/grub-install.in: Likewise.
44041
44042 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44043 choose which information we want to print.
44044
2b002173 440452006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44046
44047 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44048 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44049 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44050 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44051 video/readers/tga.c and video/i386/pc/vbeutil.c.
44052
440532006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44054
44055 Added support for RAID and LVM.
f19dbdb7 44056
2b002173 44057 * disk/lvm.c: New file.
44058 * disk/raid.c: Likewise.
44059 * include/grub/lvm.h: Likewise.
f19dbdb7 44060 * include/grub/raid.h: Likewise.
2b002173 44061 * include/grub/util/lvm.h: Likewise.
44062 * include/grub/util/raid.h: Likewise.
44063 * util/lvm.c: Likewise.
44064 * util/raid.c: Likewise.
44065
44066 * include/grub/disk.h (grub_disk_dev_id): Add
44067 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44068 (grub_disk_get_size): New prototype.
44069 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44070 returns a partition.
44071 (grub_disk_get_size): New function.
f19dbdb7 44072
2b002173 44073 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44074 verbatim if grub_install_dos_part is -2.
44075
44076 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44077 and LVM devices.
44078
44079 * util/i386/pc/grub-setup.c (setup): New argument
44080 MUST_EMBED. Force embedding of GRUB when the argument is
44081 true. Close FILE before returning.
44082 (main): Add support for RAID and LVM.
f19dbdb7 44083
2b002173 44084 * conf/common.rmk: Add RAID and LVM modules.
44085 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44086 util/lvm.c.
44087 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44088
44089 * kern/misc.c (grub_strstr): New function.
44090 * include/grub/misc.h (grub_strstr): New prototype.
44091
050548d0 440922006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44093
44094 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44095
da849d2d 440962006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44097
44098 * kern/misc.c (grub_strtoull): Guess the base only if not
44099 specified.
44100
97b2f2ff 441012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44102
44103 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44104 PowerMac support.
44105
97b2f2ff 441062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44107
44108 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44109
44110 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44111 Remove `flags' argument. All callers changed.
44112 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44113 (IEEE1275_IHANDLE_INVALID): New variable.
44114 (IEEE1275_CELL_INVALID): New variable.
44115 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44116 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44117 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44118 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44119 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44120 codes from Open Firmware. All callers updated.
44121 (grub_ieee1275_next_property): Directly return Open Firmware return
44122 code.
44123 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44124 Standardize error checking from `grub_ieee1275_get_property'.
44125 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44126 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44127
97b2f2ff 441282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44129
44130 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44131 `instance_to_package_args' to `instance_to_path_args'.
44132
44133 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44134 `grub_ieee1275_chosen'.
44135
44136 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44137 `grub_ieee1275_interpret'.
44138
97b2f2ff 441392006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44140
44141 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44142
97b2f2ff 441432006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44144
44145 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44146 (__cmpdi): Likewise.
44147
44148 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44149 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44150 `grub_ssize_t'.
44151
02bb8acc 44152 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44153
44154 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44155 to type `grub_ssize_t'.
44156 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44157
7f9a8531 441582006-09-22 Marco Gerards <marco@gnu.org>
44159
44160 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44161 newlines.
44162
b5ef1102 441632006-09-22 Marco Gerards <marco@gnu.org>
44164
44165 * commands/echo.c: New file.
44166
44167 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44168
44169 * conf/common.rmk (echo_mod_SOURCES): New variable.
44170 (echo_mod_CFLAGS): Likewise.
44171 (echo_mod_LDFLAGS): Likewise.
44172
2cff3677 441732006-09-22 Marco Gerards <marco@gnu.org>
44174
44175 * normal/main.c (get_line): Malloc memory instead of using
44176 preallocated memory. Removed the arguments `cmdline' and
44177 `max_len'. Updated all callers.
44178
6ba4688b 441792006-09-22 Marco Gerards <marco@gnu.org>
44180
44181 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44182 (normal_mod_DEPENDENCIES): Likewise.
44183
44184 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44185 (normal_mod_DEPENDENCIES): Likewise.
44186
44187 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44188
e02ac02c 441892006-09-22 Johan Rydberg <jrydberg@gnu.org>
44190
44191 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44192 programs.
44193 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44194 (normal_mod_DEPENDENCIES): Likewise.
44195 * conf/i386-pc.mk: Regenerate.
44196 * conf/i386-efi.mk: Likewise
44197 * conf/common.mk: Likewise.
44198 * conf/powerpc-ieee1275.mk: Likewise.
44199 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44200
8d252e44 442012006-09-22 Robert Millan <rmh@aybabtu.com>
44202
44203 Sync with i386 version.
44204 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44205 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44206
209bf7ac 442072006-09-21 Robert Millan <rmh@aybabtu.com>
44208
44209 Import from GRUB Legacy (lib/device.c):
44210 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44211 (init_device_map) [__linux__]: Add support for I2O devices.
44212
6b146090 442132006-09-14 Marco Gerards <marco@gnu.org>
44214
44215 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44216 `-melf_i386'.
44217
e38600a8 442182006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44219
44220 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44221 /boot/grub/*.lst.
78fa1790 44222
2952da5d 44223 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44224
2952da5d 44225 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44226 before adding it to device.map.
44227
01b82a64 442282006-08-15 Johan Rydberg <jrydberg@gnu.org>
44229
fe6b695a 44230 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44231 compiles a file; using the -MD option.
44232 * conf/common.mk: Regenerate.
44233 * conf/i386-pc.mk: Likewise.
44234 * conf/i386-efi.mk: Likewise.
44235 * conf/powerpc-ieee1275.mk: Likewise.
44236 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44237
1064790d 442382006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44239
44240 Move the prototypes of grub_setjmp and grub_longjmp to
44241 cpu/setjmp.h, so that each architecture may specify different
44242 attributes.
f19dbdb7 44243
1064790d 44244 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44245 (grub_longjmp): Likewise.
44246 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44247 (grub_longjmp): Likewise.
44248 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44249 (grub_longjmp): Likewise.
44250
44251 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44252 [!GRUB_UTIL] (grub_longjmp): Removed.
44253
29dda3ed 442542006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44255
44256 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44257 "color!" method does not return any value.
44258
ad2a06ed 442592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44260
44261 * include/grub/bitmap.h: New file.
44262
44263 * include/grub/i386/pc/vbeutil.h: Likewise.
44264
44265 * video/bitmap.c: Likewise.
44266
44267 * video/readers/tga.c: Likewise.
44268
44269 * video/i386/pc/vbeutil.c: Likewise.
44270
44271 * commands/videotest.c: Code cleanup and updated to reflect to new
44272 video API.
44273
44274 * term/gfxterm.c: Likewise.
44275
44276 * video/video.c: Likewise.
44277
44278 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44279 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44280 (bitmap_mod_SOURCES): New entry.
44281 (bitmap_mod_CFLAGS): Likewise.
44282 (bitmap_mod_LDFLAGS): Likewise.
44283 (tga_mod_SOURCES): Likewise.
44284 (tga_mod_CFLAGS): Likewise.
44285 (tga_mod_LDFLAGS): Likewise.
44286
44287 * include/grub/video.h (grub_video_blit_operators): New enum type.
44288 (grub_video_render_target): Changed as forward declaration and moved
44289 actual definition to be video driver specific.
44290 (grub_video_adapter.blit_bitmap): Added blitting operator.
44291 (grub_video_adapter.blit_render_target): Likewise.
44292 (grub_video_blit_bitmap): Likewise.
44293 (grub_video_blit_render_target): Likewise.
44294
44295 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44296 driver specific render target definition.
44297 (grub_video_vbe_map_rgba): Added driver internal helper.
44298 (grub_video_vbe_unmap_color): Updated to use
44299 grub_video_i386_vbeblit_info.
44300 (grub_video_vbe_get_video_ptr): Likewise.
44301
44302 * include/grub/i386/pc/vbeblit.h
44303 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44304 grub_video_i386_vbeblit_info.
44305 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44306 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44307 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44308 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44309 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44310 (grub_video_i386_vbeblit_index_index): Likewise.
44311 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44312 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44313 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44314 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44315 operator.
44316 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44317 operator.
44318
44319 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44320 include/grub/i386/pc/vbeblit.h.
44321
44322 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44323 Updated to use grub_video_i386_vbeblit_info.
44324 (grub_video_i386_vbefill_R8G8B8): Likewise.
44325 (grub_video_i386_vbefill_index): Likewise.
44326 (grub_video_i386_vbefill): Added generic filler.
44327
44328 * video/i386/pc/vbefill.c: Updated to reflect changes on
44329 include/grub/i386/pc/vbefill.h.
44330
44331 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44332 grub_video_i386_vbeblit_info.
44333 (grub_video_vbe_unmap_color): Likewise.
44334 (grub_video_vbe_blit_glyph): Likewise.
44335 (grub_video_vbe_scroll): Likewise.
44336 (grub_video_vbe_draw_pixel): Removed function.
44337 (grub_video_vbe_get_pixel): Likewise.
44338 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44339 updated code to use it.
44340 (common_blitter): Added common blitter for render target and bitmap.
44341 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44342 (grub_video_vbe_blit_render_target): Likewise.
44343
bc8c036d 443442006-07-30 Johan Rydberg <jrydberg@gnu.org>
44345
44346 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44347 is in text mode if there is no console control protocol instance
44348 available.
44349
684a8eff 443502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44351
44352 * include/grub/video.h: Code cleanup.
44353
44354 * include/grub/i386/pc/vbe.h: Likewise.
44355
44356 * video/i386/pc/vbe.c: Likewise.
44357
44358 * video/i386/pc/vbeblit.c: Likewise.
44359
44360 * video/i386/pc/vbefill.c: Likewise.
44361
44362 * video/video.c: Likewise. Also added more comments.
44363
5915059b 443642006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44365
44366 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44367 (struct grub_biosdisk_dap): Likewise.
44368
44369 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44370 linkage settings for all functions.
44371
90ce5d56 443722006-07-12 Marco Gerards <marco@gnu.org>
44373
44374 * configure.ac (--enable-mm-debug): Fix typo.
44375
44376 * genkernsyms.sh.in: Use proper quoting for `CC'.
44377
43e7f879 443782006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44379
44380 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44381 (normal_mod_ASFLAGS): Remove "-m32".
44382
4889bdec 443832006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44384
44385 * util/misc.c: Include config.h.
44386 [!HAVE_MEMALIGN]: Do not include malloc.h.
44387 (grub_memalign): Use posix_memalign, if present. Then, use
44388 memalign, if present. Otherwise, emit an error.
44389
44390 * util/grub-emu.c: Do not include malloc.h.
44391
44392 * include/grub/util/misc.h: Include unistd.h. This is required for
44393 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44394 D. Eades III <hde@foobar-qux.org>.
44395
44396 * configure.ac (AC_GNU_SOURCE): Added.
44397 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44398 type.
44399
fd39d4da 444002006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44401
44402 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44403 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44404
b786f3b5 444052006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44406
44407 * include/grub/types.h (grub_host_addr_t): Rename to
44408 grub_target_addr_t.
44409 (grub_host_off_t): Rename to grub_target_off_t.
44410 (grub_host_size_t): Rename to grub_target_size_t.
44411 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44412 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44413
44414 * include/grub/kernel.h (struct grub_module_header): Change type
44415 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44416 (grub_module_info): Likewise.
f19dbdb7 44417
051988bb 444182006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44419
44420 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44421 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44422 Velazquez <jesus.velazquez@gmail.com>.
44423
deae281b 444242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44425
44426 Count partitions from 1 instead of 0 in the string representation
44427 of partitions. Still use 0-based internally.
f19dbdb7 44428
deae281b 44429 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44430 (sun_partition_map_iterate): Use grub_partition_t instead of
44431 struct grub_partition *. Cast DESC->START_CYLINDER to
44432 grub_uint64_t after converting the endian.
44433 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44434 (sun_partition_map_get_name): Add 1 to P->INDEX.
44435
44436 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44437 PCDATA->DOS_PART.
44438 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44439
44440 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44441 zero instead of one.
44442 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44443 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44444
44445 * partmap/apple.c (apple_partition_map_iterate): Change the type
44446 of POS to unsigned.
44447 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44448 (apple_partition_map_get_name): Add 1 into P->INDEX.
44449
44450 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44451 of POS to unsigned.
44452 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44453 calculate the offset of a partition.
44454 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44455 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44456
44457 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44458 SECTOR to grub_disk_addr_t.
44459 (acorn_partition_map_iterate): Likewise.
44460 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44461 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44462 top.
44463 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44464
44465 * kern/i386/pc/init.c (make_install_device): Add 1 into
44466 GRUB_INSTALL_DOS_PART.
44467
44468 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44469 conditional.
44470
524a1e6a 444712006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44472
44473 Clean up the code to support 64-bit addressing in disks and
44474 files. This change is not enough for filesystems yet.
f19dbdb7 44475
524a1e6a 44476 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44477 type of "start" to grub_uint64_t.
44478 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44479 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44480 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44481 convert addresses.
44482
44483 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44484 to grub_disk_addr_t.
44485
44486 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44487 string.
44488
44489 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44490
44491 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44492 to char *.
44493
44494 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44495
44496 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44497
44498 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44499
44500 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44501 to grub_off_t, to detect an error from grub_file_seek.
44502 (grub_multiboot_load_elf32): Likewise.
44503
44504 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44505 maximum unsigned long value when an overflow is detected.
44506 (grub_strtoull): New function.
44507 (grub_divmod64): Likewise.
44508 (grub_lltoa): use grub_divmod64.
44509
44510 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44511 grub_disk_addr_t.
44512 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44513 the pointer to next character. Use grub_strtoull instead of
44514 grub_strtoul.
44515 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44516 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44517 respectively.
44518
fe6b695a 44519 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44520 return value is signed.
44521 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44522 test if OFFSET is less than zero, as OFFSET is unsigned now.
44523
44524 * kern/disk.c (struct grub_disk_cache): Change the type of
44525 "sector" to grub_disk_addr_t.
44526 (grub_disk_cache_get_index): Change the type of SECTOR to
44527 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44528 unsigned after shifting.
44529 (grub_disk_cache_invalidate): Change the type of SECTOR to
44530 grub_disk_addr_t.
44531 (grub_disk_cache_unlock): Likewise.
44532 (grub_disk_cache_store): Likewise.
44533 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44534 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44535 grub_disk_addr_t and grub_uint64_t, respectively.
44536 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44537 body, as the value of OFFSET is tweaked by
44538 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44539 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44540 respectively.
44541 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44542 body, as the value of OFFSET is tweaked by
44543 grub_disk_check_range. Change the types of LEN and N to
44544 grub_size_t.
44545
44546 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44547 and "saved_offset" to grub_off_t.
44548 (test_header): Cast BUF to char *.
44549 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44550 to char *.
44551 (grub_gzio_read): Change the types of OFFSET and SIZE to
44552 grub_off_t and grub_size_t, respectively.
44553
44554 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44555 Removed.
44556 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44557 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44558 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44559 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44560 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44561
44562 * include/grub/types.h (grub_off_t): Unconditionally set to
44563 grub_uint64_t.
44564 (grub_disk_addr_t): Changed to grub_uint64_t.
44565
44566 * include/grub/partition.h (struct grub_partition): Change the
44567 types of "start", "len" and "offset" to grub_disk_addr_t,
44568 grub_uint64_t and grub_disk_addr_t, respectively.
44569 (grub_partition_get_start): Return grub_disk_addr_t.
44570 (grub_partition_get_len): Return grub_uint64_t.
44571
44572 * include/grub/misc.h (grub_strtoull): New prototype.
44573 (grub_divmod64): Likewise.
44574
44575 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44576 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44577 grub_off_t, respectively.
44578 All callers and references changed.
44579
44580 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44581 grub_size_t in "read".
44582 All callers and references changed.
44583
44584 * include/grub/file.h (struct grub_file): Change the types of
44585 "offset" and "size" to grub_off_t and grub_off_t,
44586 respectively. Change the type of SECTOR to grub_disk_addr_t in
44587 "read_hook".
44588 (grub_file_read): Change the type of LEN to grub_size_t.
44589 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44590 grub_off_t.
44591 (grub_file_size): Return grub_off_t.
44592 (grub_file_tell): Likewise.
44593 All callers and references changed.
44594
44595 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44596 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44597 "write".
44598 (struct grub_disk): Change the type of "total_sectors" to
44599 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44600 "read_hook".
524a1e6a 44601 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44602 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44603 (grub_disk_write): Likewise.
44604 All callers and references changed.
44605
44606 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44607 char * for grub_strncmp to silence gcc.
44608 (grub_iso9660_mount): Likewise.
44609 (grub_iso9660_mount): Likewise.
44610 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44611 return statement.
44612 (grub_iso9660_iterate_dir): Likewise.
44613 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44614
44615 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44616 LEN to grub_disk_addr_t and grub_size_t, respectively.
44617
44618 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44619
44620 * fs/jfs.c (grub_jfs_read_file): Likewise.
44621
44622 * fs/minix.c (grub_jfs_read_file): Likewise.
44623
44624 * fs/sfs.c (grub_jfs_read_file): Likewise.
44625
44626 * fs/ufs.c (grub_jfs_read_file): Likewise.
44627
44628 * fs/xfs.c (grub_jfs_read_file): Likewise.
44629
44630 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44631 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44632 respectively.
44633
44634 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44635 BLKNR to -1 instead of returning GRUB_ERRNO.
44636 (grub_ext2_read_file): Change the types of SECTOR and
44637 LEN to grub_disk_addr_t and grub_size_t, respectively.
44638
44639 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44640 LEN to grub_disk_addr_t and grub_size_t, respectively.
44641
44642 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44643 grub_file_read.
44644
44645 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44646 string. Do not cast SECTOR explicitly.
44647
44648 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44649 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44650 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44651 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44652 over 2TB and LBA mode is not supported, raise an error.
44653 (get_safe_sectors): New function.
44654 (grub_biosdisk_read): Use get_safe_sectors.
44655 (grub_biosdisk_write): Likewise.
44656
44657 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44658 (grub_efidisk_write): Likewise.
44659
44660 * disk/loopback.c (delete_loopback): Cosmetic changes.
44661 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44662 correctly.
44663 (grub_loopback_open): Likewise.
44664 (grub_loopback_read): Likewise. Also, change the type of POS to
44665 grub_off_t, and fix the usage of grub_memset.
44666
44667 * commands/i386/pc/play.c: Include grub/machine/time.h.
44668
44669 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44670 print FILE->SIZE.
44671
44672 * commands/configfile.c: Include grub/env.h.
44673
44674 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44675 GRUB_ERRNO directly instead. Change the type of POS to
44676 grub_off_t. Follow the coding standard.
44677
44678 * commands/blocklist.c: Include grub/partition.h.
44679 (grub_cmd_blocklist): Return an error if the underlying device is
44680 not a disk. Take the starting sector of a partition into account,
44681 if a partition is used.
44682
44683 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44684 a length field.
44685 (lba_mode): Support 64-bit addresses.
44686 (chs_mode): Likewise.
44687 (copy_buffer): Adapted to the new offsets of a length field and a
44688 segment field.
44689 (blocklist_default_start): Allocate 64-bit space.
44690
44691 * boot/i386/pc/boot.S (force_lba): Removed.
44692 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44693 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44694 space.
44695 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44696 is useless.
44697 (lba_mode): Refactored to support a 64-bit address. More size
44698 optimization.
44699 (setup_sectors): Likewise.
44700
53af98ad 447012006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44702
44703 * DISTLIST: Added include/grub/i386/linux.h. Removed
44704 include/grub/i386/pc/linux.h
44705
44706 * configure.ac (AC_INIT): Bumped to 1.94.
44707
44708 * config.guess: Updated from gnulib.
44709 * config.sub: Likewise.
44710 * install-sh: Likewise.
44711 * mkinstalldirs: Likewise.
44712
b4c1940a 447132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44714
44715 * conf/common.rmk (grub_modules_init.lst): Depended on
44716 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44717 MODSRCFILES.
44718
44719 * genmk.rb (PModule::rule): Reverted the previous change.
44720
cfca1cfd 447212006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44722
44723 * conf/common.rmk (grub_modules_init.lst): Depends on
44724 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44725 that the target does not exist before producing.
44726 (grub_modules_init.h): Remove the target before generating.
44727 (grub_emu_init.c): Likewise.
44728
44729 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44730
aa6d7826 447312006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44732
44733 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44734 for the target-specific tests. Make sure that we also have the
44735 up-to-date target variables for those tests.
44736
26c607b9 447372006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44738
44739 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44740 (PModule::rule): Likewise.
44741
0162321a 447422006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44743
44744 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44745 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44746 target-specific flags should be prefixed.
44747 (PModule::rule): Likewise.
44748
6c826348 447492006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44750
44751 * configure.ac (CMP): Check if cmp is available explicitly.
44752
b977bf01 447532006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44754
44755 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44756 (target_cpu): New variable.
44757 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44758
b977bf01 44759 * util/i386/pc/grub-install.in (host_cpu): Removed.
44760 (target_cpu): New variable.
44761 (pkglibdir): Use target_cpu instead of host_cpu.
44762
44763 * util/genmoddep.c: Removed.
f19dbdb7 44764
b977bf01 44765 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44766 instead of GRUB_HOST_SIZEOF_VOID_P.
44767 * kern/dl.c: Likewise.
44768
44769 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44770 ...
44771 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44772 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44773 (GRUB_TARGET_SIZEOF_LONG): ... this.
44774 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44775 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44776 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44777 to ...
44778 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44779 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44780 (GRUB_TARGET_SIZEOF_LONG): ... this.
44781 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44782 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44783 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44784 to ...
44785 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44786 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44787 (GRUB_TARGET_SIZEOF_LONG): ... this.
44788 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44789 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44790
44791 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44792 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44793 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44794 instead of GRUB_HOST_SIZEOF_LONG.
44795 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44796 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44797 GRUB_CPU_WORDS_BIGENDIAN.
44798 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44799 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44800 grub_host_ssize_t.
44801
44802 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44803 (genmoddep_SOURCES): Likewise.
44804 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44805 (genmoddep_SOURCES): Likewise.
44806 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44807 (genmoddep_SOURCES): Likewise.
44808 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44809 Likewise.
44810 (genmoddep_SOURCES): Likewise.
44811
44812 * genmoddep.awk: New file.
44813
44814 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44815 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44816 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44817 (PModule::rule): Likewise.
44818 (Program::rule): Likewise.
44819 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44820 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44821 respectively.
44822
44823 * configure.ac: Rewritten intensively to use host and target
44824 instead of build and host, respectively.
44825
44826 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44827 (host_cpu): Removed.
44828 (target_cpu): New variable.
44829 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44830 (BUILD_CC): Removed.
44831 (BUILD_CFLAGS): Likewise.
44832 (BUILD_CPPFLAGS): Likewise.
44833 (TARGET_CC): New variable.
44834 (TARGET_CFLAGS): Likewise.
44835 (TARGET_CPPFLAGS): Likewise.
44836 (TARGET_LDFLAGS): Likewise.
44837 (AWK): Likewise.
44838 (include): Use target_cpu instead of host_cpu.
44839 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44840
b977bf01 44841 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44842
f09771a1 448432006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44844
44845 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44846 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44847 field 'false' to 'exec_on_false'.
44848 (grub_script_create_cmdif): Renamed argument names to reflect above
44849 changes.
44850
44851 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44852
44853 * normal/script.c (grub_script_create_cmdif): Likewise.
44854
118f4fb3 448552006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44856
44857 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44858 top.
44859 (grub_hfsplus_btree_recptr): Likewise.
44860 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44861 FILEBLOCK both to pass a block number and store next block
44862 number.
44863 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44864 overflow file correctly. Specify errors appropriately, because
44865 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44866 grub_hfsplus_btree_recptr to get the pointer to a found key.
44867 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44868 is found.
44869
44870 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44871 linux.mod.
44872 (_linux_mod_SOURCES): New variable.
44873 (_linux_mod_CFLAGS): Likewise.
44874 (_linux_mod_LDFLAGS): Likewise.
44875 (linux_mod_SOURCES): Likewise.
44876 (linux_mod_CFLAGS): Likewise.
44877 (linux_mod_LDFLAGS): Likewise.
44878
44879 * DISTLIST: Added loader/i386/efi/linux.c,
44880 loader/i386/efi/linux_normal.c and
44881 include/grub/i386/efi/loader.h.
44882
44883 * loader/i386/efi/linux.c: New file.
44884 * loader/i386/efi/linux_normal.c: Likewise.
44885 * include/grub/i386/efi/loader.h: Likewise.
44886
89a7d726 448872006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44888
44889 * commands/blocklist.c: New file.
44890
44891 * DISTLIST: Added commands/blocklist.c.
44892
44893 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44894 color for the background, and a darker color for the foreground.
89a7d726 44895 (grub_console_checkkey): Return READ_KEY.
44896 (grub_console_cls): Set the background to
44897 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44898
44899 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44900
44901 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44902 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44903
44904 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44905 prototype.
44906
44907 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44908 BG. The spec is wrong again.
44909
44910 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44911 prototype.
44912 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44913
44914 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44915 commands/blocklist.c.
44916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44917
89a7d726 44918 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44919 (blocklist_mod_SOURCES): New variable.
44920 (blocklist_mod_CFLAGS): Likewise.
44921 (blocklist_mod_LDFLAGS): Likewise.
44922
75c8f258 449232006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44924
44925 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44926 duplication.
44927 (lba_mode): Use %eax more intensively to reduce the code size.
44928
da2eb181 449292006-05-20 Marco Gerards <marco@gnu.org>
44930
44931 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44932
44933 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44934 for `menuentry'.
44935 (script): Accept leading newlines.
44936 (newlines): New rule to describe 0 or more newlines.
44937 (commands): Accept `command' with trailing newline. Fixed the
44938 order in which arguments were passed to `grub_script_add_cmd'.
44939 Accept commands separated by newlines.
44940 (function): Changed to accept newlines.
44941 (menuentry) Rewritten.
44942
44943 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44944 front of the list, instead of to the end.
44945
577b4050 449462006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44947
44948 * util/i386/pc/grub-install.in (bindir): New variable.
44949 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44950 Shaver <lbgwjl@gmail.com>.
44951
0d6e1189 449522006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44953
44954 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44955 grub/machine/linux.h
44956 * loader/i386/pc/linux.c: Likewise.
44957
44958 * include/grub/i386/pc/linux.h: Moved to ...
44959 * include/grub/i386/linux.h: ... here.
44960
44961 * include/grub/i386/linux.h (struct linux_kernel_params): New
44962 struct.
f19dbdb7 44963
31b86e9f 449642006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44965
44966 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44967 checking.
44968 (grub_video_vbe_blit_glyph): Likewise.
44969 (grub_video_vbe_blit_bitmap): Likewise.
44970 (grub_video_vbe_blit_render_target): Likewise.
44971
83b984de 449722006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44973
44974 * configure.ac (--with-platform): Properly quote the square
44975 brackets.
44976
5f0413bd 449772006-05-08 Marco Gerards <marco@gnu.org>
44978
44979 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44980 this...
44981 (kernel_elf_HEADERS): ...to this. Updated all users.
44982 (grubof_symlist.c): Renamed from this...
44983 (kernel_elf_symlist.c): ...to this. Updated all users.
44984 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44985 (grubof_SOURCES): Renamed from this...
44986 (kernel_elf_SOURCES): ...to this.
44987 (grubof_HEADERS): Renamed from this...
44988 (kernel_elf_HEADERS): ...to this.
44989 (grubof_CFLAGS): Renamed from this...
44990 (kernel_elf_CFLAGS): ...to this.
44991 (grubof_ASFLAGS): Renamed from this...
44992 (kernel_elf_ASFLAGS): ...to this.
44993 (grubof_LDFLAGS): Renamed from this...
44994 (kernel_elf_LDFLAGS): ...to this.
44995
44996 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44997 this...
44998 (kernel_elf_HEADERS): ...to this. Updated all users.
44999 (grubof_symlist.c): Renamed from this...
45000 (kernel_elf_symlist.c): ...to this. Updated all users.
45001 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45002 (grubof_SOURCES): Renamed from this...
45003 (kernel_elf_SOURCES): ...to this.
45004 (grubof_HEADERS): Renamed from this...
45005 (kernel_elf_HEADERS): ...to this.
45006 (grubof_CFLAGS): Renamed from this...
45007 (kernel_elf_CFLAGS): ...to this.
45008 (grubof_ASFLAGS): Renamed from this...
45009 (kernel_elf_ASFLAGS): ...to this.
45010 (grubof_LDFLAGS): Renamed from this...
45011 (kernel_elf_LDFLAGS): ...to this.
45012
45013 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45014 `kernel.elf' instead of `grubof'.
45015
05568c2e 450162006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45017
45018 Add --with-platform to configure. Use pkglibdir instead of
45019 pkgdatadir. This is reported by Roger Leigh.
45020
45021 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45022 (host_vendor): Likewise.
45023 (host_os): Likewise.
45024 (pkgdatadir): Likewise.
45025 (platform): New variable.
45026 (pkglibdir): Likewise.
45027 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45028
05568c2e 45029 * util/i386/pc/grub-install.in (datadir): Removed.
45030 (host_vendor): Likewise.
45031 (host_os): Likewise.
45032 (pkgdatadir): Likewise.
45033 (platform): New variable.
45034 (pkglibdir): Likewise.
45035 Use PKGLIBDIR instead of PKGDATADIR.
45036
45037 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45038 instead of GRUB_DATADIR.
45039 (main): Likewise.
45040 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45041 (main): Likewise.
45042 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45043 (main): Likewise.
45044
45045 * configure.ac (--with-platform): New option.
45046 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45047
45048 * Makefile.in: Include a makefile based on PLATFORM instead of
45049 HOST_VENDOR.
45050 (pkgdatadir): Not appended by the machine type.
45051 (pkglibdir): Appended by the machine type.
45052 (host_vendor): Removed.
45053 (platform): New variable.
45054 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45055 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45056 (uninstall): Likewise.
45057
4e93851c 450582006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45059
45060 Use the environment context in the menu. Remove the commands
45061 "default" and "timeout", and use variables instead.
f19dbdb7 45062
4e93851c 45063 * normal/menu.c: Include grub/env.h.
45064 (print_entry): Cast TITLE to silence gcc.
45065 (get_timeout): New function.
45066 (set_timeout): Likewise.
45067 (get_entry_number): Likewise.
45068 (run_menu): Use a default entry, a fallback entry and a timeout
45069 in the environment variables "default", "fallback" and
45070 "timeout". Also, tweak the default entry if it is not within the
45071 current menu entries.
45072 (grub_menu_run): Use a fallback entry in the environment variable
45073 "fallback".
45074
45075 * normal/main.c (read_config_file): Do not initialize
45076 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45077 NEWMENU->TIMEOUT.
45078 (grub_normal_execute): Use a data slot to store the menu.
45079
45080 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45081 fallback_entry and timeout.
45082 (struct grub_menu_list): Removed.
45083 (grub_menu_list_t): Likewise.
45084 (struct grub_context): Likewise.
45085 (grub_context_t): Likewise.
45086 (grub_context_get): Likewise.
45087 (grub_context_get_current_menu): Likewise.
45088 (grub_context_push_menu): Likewise.
45089 (grub_context_pop_menu): Likewise.
45090 (grub_default_init): Likewise.
45091 (grub_default_fini): Likewise.
45092 (grub_timeout_init): Likewise.
45093 (grub_timeout_fini): Likewise.
45094
45095 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45096 and timeout.mod.
45097 (normal_mod_SOURCES): Removed normal/context.c.
45098
45099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45100 commands/default.c, commands/timeout.c and normal/context.c.
45101 (normal_mod_SOURCES): Removed normal/context.c.
45102
45103 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45104 commands/timeout.c and normal/context.c.
45105 (normal_mod_SOURCES): Removed normal/context.c.
45106
45107 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45108 commands/default.c, commands/timeout.c and normal/context.c.
45109 (normal_mod_SOURCES): Removed normal/context.c.
45110
45111 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45112 timeout.mod.
45113 (default_mod_SOURCES): Removed.
45114 (default_mod_CFLAGS): Likewise.
45115 (default_mod_LDFLAGS): Likewise.
45116 (timeout_mod_SOURCES): Removed.
45117 (timeout_mod_CFLAGS): Likewise.
45118 (timeout_mod_LDFLAGS): Likewise.
45119
45120 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45121 normal/context.c.
45122
45123 * commands/default.c: Removed.
45124 * commands/timeout.c: Likewise.
45125 * normal/context.c: Likewise.
45126
1eb9cc1d 451272006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45128
45129 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45130
385bd9c1 451312006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45132
45133 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45134 "next" to "prev" for readability.
45135 (struct grub_env_sorted_var): New struct.
45136 (grub_env_context): Renamed to ...
45137 (initial_context): ... this.
45138 (grub_env_var_context): Renamed to ...
45139 (current_context): ... this.
45140 (grub_env_find): Look only at CURRENT_CONTEXT.
45141 (grub_env_context_open): Rewritten to copy exported variables from
45142 previous context.
45143 (grub_env_context_close): Rewritten according to the new
45144 scheme. Also, add an assertion to prevent the initial context from
45145 removed.
45146 (grub_env_insert): Removed the code for the sorted list.
45147 (grub_env_remove): Likewise.
45148 (grub_env_export): Simply mark the variable with
45149 GRUB_ENV_VAR_GLOBAL.
45150 (grub_env_set): A cosmetic change for naming consistency.
45151 (grub_env_get): Likewise.
45152 (grub_env_unset): Likewise.
45153 (grub_env_iterate): Rewritten to sort variables within this
45154 function.
45155 (grub_register_variable_hook): Fixed for naming consistency. Call
45156 grub_env_find again, only if NAME is not found at the first time.
45157 (mangle_data_slot_name): New function.
45158 (grub_env_set_data_slot): Likewise.
45159 (grub_env_get_data_slot): Likewise.
45160 (grub_env_unset_data_slot): Likewise.
45161
45162 * include/grub/env.h (grub_env_var_type): New enum.
45163 (GRUB_ENV_VAR_LOCAL): New constant.
45164 (GRUB_ENV_VAR_GLOBAL): Likewise.
45165 (GRUB_ENV_VAR_DATA): Likewise.
45166 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45167 "type".
45168 (grub_env_set): Replace VAR with NAME for consistency.
45169 (grub_register_variable_hook): Likewise.
45170 (grub_env_export): Specify the name of the argument.
45171 (grub_env_set_data_slot): New prototype.
45172 (grub_env_get_data_slot): Likewise.
45173 (grub_env_unset_data_slot): Likewise.
45174
7f362539 451752006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45176
45177 Extend the loader so that GRUB can accept a loader which comes
45178 back to GRUB when a loaded image exits. Also, this change adds
45179 support for a chainloader on EFI.
f19dbdb7 45180
7f362539 45181 * term/efi/console.c: Include grub/misc.h.
45182 (grub_console_checkkey): Display a scan code on the top for
45183 debugging. This will be removed once the EFI port gets stable.
45184 Correct the scan code mapping.
45185
45186 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45187 allocate memory from larger regions, in order to reduce the number
45188 of allocated regions. Otherwise, the MacOSX loader panics.
45189 (filter_memory_map): Avoid less than 1MB for compatibility with
45190 other loaders.
45191 (add_memory_regions): Allocate from the tail of a region, if
45192 possible, to avoid allocating a region near to 1MB, for the MacOSX
45193 loader.
45194
45195 * kern/efi/init.c (grub_efi_set_prefix): Specify
45196 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45197
45198 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45199 argument IMAGE_HANDLE and specify it to get a loaded image.
45200 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45201 grub_efi_get_loaded_image.
fe6b695a 45202 (grub_efi_get_filename): Divide the length by the size of
7f362539 45203 grub_efi_char16_t.
45204 (grub_efi_get_device_path): New function.
45205 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45206 the length by the size of grub_efi_char16_t for a file path device
45207 path node.
45208
45209 * kern/loader.c (grub_loader_noreturn): New variable.
45210 (grub_loader_set): Accept a new argument NORETURN. Set
45211 GRUB_LOADER_NORETURN to NORETURN.
45212 All callers changed.
45213 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45214 grub_machine_fini.
45215
45216 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45217 prototype.
45218 (grub_efi_get_loaded_image): Take an argument to specify an image
45219 handle.
45220
45221 * include/grub/loader.h (grub_loader_set): Added one more argument
45222 NORETURN.
45223
45224 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45225 instead of grub_efi_open_protocol.
45226 (grub_efidisk_get_device_name): Likewise.
45227 (grub_efidisk_close): Print a newline.
45228 (grub_efidisk_get_device_handle): Fixed to use
45229 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45230 GRUB_EFI_DEVICE_PATH_TYPE.
45231
45232 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45233 * kern/efi/efi.c (device_path_guid): ... here.
45234
45235 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45236 chain.mod.
45237 (kernel_mod_HEADERS): Added efi/disk.h.
45238 (_chain_mod_SOURCES): New variable.
45239 (_chain_mod_CFLAGS): Likewise.
45240 (_chain_mod_LDFLAGS): Likewise.
45241 (chain_mod_SOURCES): Likewise.
45242 (chain_mod_CFLAGS): Likewise.
45243 (chain_mod_LDFLAGS): Likewise.
45244
45245 * DISTLIST: Added include/grub/efi/chainloader.h,
45246 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45247
45248 * include/grub/efi/chainloader.h: New file.
45249 * loader/efi/chainloader.c: Likewise.
45250 * loader/efi/chainloader_normal.c: Likewise.
45251
c0111d6e 452522006-04-30 Marco Gerards <marco@gnu.org>
45253
45254 * commands/configfile.c (grub_cmd_source): New function.
45255 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45256 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45257
df5341da 452582006-04-30 Marco Gerards <marco@gnu.org>
45259
45260 * normal/execute.c (grub_script_execute_cmd): Change the return
45261 type to `grub_err_t'. Correctly return the error.
45262 (grub_script_execute_cmdline): In case a command line is not a
45263 command or a function, try to interpret it as an assignment.
45264
f85934bd 452652006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45266
45267 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45268 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45269 skip a node whose name is obviously invalid as UTF-16,
45270 i.e. contains a NUL character. Stop the iteration when the last
45271 directory entry is found. Instead of using the return value of
45272 grub_hfsplus_btree_iterate_node, store the value in RET and use
45273 it, because the iterator can be stopped by the last directory
45274 entry.
45275
8f8a2cf8 452762006-04-30 Marco Gerards <marco@gnu.org>
45277
45278 * include/grub/env.h (grub_env_export): New prototype. Reported
45279 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45280
a27e84ce 452812006-04-30 Marco Gerards <marco@gnu.org>
45282
45283 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45284 size of the extents in a catalog file record.
45285
eaef0553 452862006-04-29 Marco Gerards <marco@gnu.org>
45287
45288 * commands/configfile.c (grub_cmd_configfile): Execute the
45289 configfile within its own context.
45290
45291 * include/grub/env.h (grub_env_context_open): New prototype.
45292 (grub_env_context_close): Likewise.
45293
45294 * kern/env.c (grub_env): Removed.
45295 (grub_env_sorted): Likewise.
45296 (grub_env_context): New variable.
45297 (grub_env_var_context): Likewise.
45298 (grub_env_find): Search both the active context and the global
45299 context.
45300 (grub_env_context_open): New function.
45301 (grub_env_context_close): Likewise.
45302 (grub_env_insert): Likewise.
45303 (grub_env_remove): Likewise.
45304 (grub_env_export): Likewise.
45305 (grub_env_set): Changed to use helper functions to avoid code
45306 duplication.
45307 (grub_env_iterate): Rewritten so both the current context and the
45308 global context are being used.
45309
45310 * normal/command.c (export_command): New function.
45311 (grub_command_init): Register the `export' function.
45312
7b455f4d 453132006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45314
45315 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45316 explicitly to suppress gcc's warnings.
45317 * fs/fat.c (grub_fat_find_dir): Likewise.
45318 (grub_fat_label): Likewise.
45319 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45320 (grub_xfs_mount): Likewise.
45321 (grub_xfs_label): Likewise.
45322 * fs/affs.c (grub_affs_mount): Likewise.
45323 (grub_affs_label): Likewise.
45324 (grub_affs_iterate_dir): Likewise.
45325 * fs/sfs.c (grub_sfs_mount): Likewise.
45326 (grub_sfs_iterate_dir): Likewise.
45327 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45328 * fs/hfs.c (grub_hfs_mount): Likewise.
45329 (grub_hfs_cmp_catkeys): Likewise.
45330 (grub_hfs_find_dir): Likewise.
45331 (grub_hfs_dir): Likewise.
45332 (grub_hfs_label): Likewise.
45333 * fs/jfs.c (grub_jfs_mount): Likewise.
45334 (grub_jfs_opendir): Likewise.
45335 (grub_jfs_getent): Likewise.
45336 (grub_jfs_lookup_symlink): Likewise.
45337 (grub_jfs_label): Likewise.
45338 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45339 (grub_hfsplus_iterate_dir): Likewise.
45340 (grub_hfsplus_btree_iterate_node): Made static.
45341
45342 * util/grub-emu.c (prefix): New variable.
45343 (grub_machine_set_prefix): New function.
45344 (main): Do not set the environment variable "prefix" here. Only
45345 set PREFIX, which is used later by grub_machine_set_prefix.
45346
45347 * include/grub/video.h: Do not include grub/symbol.h.
45348 (grub_video_register): Not exported. This symbol is not defined in
45349 the kernel.
45350 (grub_video_unregister): Likewise.
45351 (grub_video_iterate): Likewise.
45352 (grub_video_setup): Likewise.
45353 (grub_video_restore): Likewise.
45354 (grub_video_get_info): Likewise.
45355 (grub_video_get_blit_format): Likewise.
45356 (grub_video_set_palette): Likewise.
45357 (grub_video_get_palette): Likewise.
45358 (grub_video_set_viewport): Likewise.
45359 (grub_video_get_viewport): Likewise.
45360 (grub_video_map_color): Likewise.
45361 (grub_video_map_rgb): Likewise.
45362 (grub_video_map_rgba): Likewise.
45363 (grub_video_fill_rect): Likewise.
45364 (grub_video_blit_glyph): Likewise.
45365 (grub_video_blit_bitmap): Likewise.
45366 (grub_video_blit_render_target): Likewise.
45367 (grub_video_scroll): Likewise.
45368 (grub_video_swap_buffers): Likewise.
45369 (grub_video_create_render_target): Likewise.
45370 (grub_video_delete_render_target): Likewise.
45371 (grub_video_set_active_render_target): Likewise.
45372
45373 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45374 Undefined.
45375 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45376
45377 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45378 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45379 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45380 instead of $(srcdir)/genkernsyms.sh.
45381
45382 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45383 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45384 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45385 instead of $(srcdir)/genkernsyms.sh.
45386
45387 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45388 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45389 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45390 instead of $(srcdir)/genkernsyms.sh.
45391
45392 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45393 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45394 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45395 instead of $(srcdir)/genkernsyms.sh.
45396
45397 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45398 genkernsyms.sh.
45399
45400 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45401 genkernsyms.sh.
45402 (gensymlist.sh): New target.
45403 (genkernsyms.sh): Likewise.
45404
45405 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45406 genkernsyms.sh.in and gensymlist.sh.in.
45407
45408 * genkernsyms.sh: Removed.
45409 * gensymlist.sh: Likewise.
f19dbdb7 45410
7b455f4d 45411 * genkernsyms.sh.in: New file.
45412 * gensymlist.sh.in: Likewise.
45413
1885bb27 454142006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45415
45416 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45417 clobber "prefix", since we may have already set it manually.
45418
71538dff 454192006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45420
45421 * kern/misc.c (abort): New alias for grub_abort.
45422
2965c7cc 454232006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45424
45425 A new machine-specific function "grub_machine_set_prefix" is
45426 defined. This is called after loading modules, so that a prefix
45427 initialization can use modules. Also, this change adds an
45428 intensive debugging feature for the memory manager via the
45429 configure option "--enable-mm-debug".
f19dbdb7 45430
2965c7cc 45431 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45432 PART.LEN.
45433
45434 * kern/sparc64/ieee1275/init.c (abort): Removed.
45435 (grub_stop): Likewise.
45436 (grub_exit): New function.
45437 (grub_set_prefix): Renamed to ...
45438 (grub_machine_set_prefix): ... this.
45439 (grub_machine_init): Do not call grub_set_prefix.
45440
45441 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45442 (grub_machine_set_prefix): ... this.
45443 (grub_machine_init): Do not call grub_set_prefix.
45444
45445 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45446 (grub_machine_init): Do not set the prefix here.
45447
45448 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45449
45450 * kern/efi/init.c: Include grub/mm.h.
45451 (grub_efi_set_prefix): New function.
45452
45453 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45454 (grub_efi_get_filename): New function.
45455 (grub_print_device_path): Renamed to ...
45456 (grub_efi_print_device_path): ... this.
45457
45458 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45459 [MM_DEBUG] (grub_realloc): Likewise.
45460 [MM_DEBUG] (grub_free): Likewise.
45461 [MM_DEBUG] (grub_memalign): Likewise.
45462 [MM_DEBUG] (grub_mm_debug): New variable.
45463 [MM_DEBUG] (grub_debug_malloc): New function.
45464 [MM_DEBUG] (grub_debug_free): New function.
45465 [MM_DEBUG] (grub_debug_realloc): New function.
45466 [MM_DEBUG] (grub_debug_memalign): New function.
45467
45468 * kern/misc.c (grub_abort): Print a newline to distinguish
45469 the message.
45470
45471 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45472 grub_set_root_dev after loading modules. This is necessary when
45473 setting a prefix depends on modules.
45474
45475 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45476 (grub_efi_print_device_path): ... this.
45477 (grub_efi_get_filename): New prototype.
45478 (grub_efi_set_prefix): Likewise.
45479
45480 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45481 and grub/disk.h.
45482 (grub_efidisk_get_device_handle): New prototype.
45483 (grub_efidisk_get_device_name): Likewise.
45484
45485 * include/grub/mm.h: Include config.h.
45486 (MM_DEBUG): Removed.
45487 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45488 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45489 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45490 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45491 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45492 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45493 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45494 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45495 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45496
45497 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45498
45499 * disk/efi/efidisk.c: Include grub/partition.h.
45500 (iterate_child_devices): New function.
45501 (add_device): First, compare only last device path nodes, so that
45502 devices are sorted by the types.
45503 (grub_efidisk_get_device_handle): New function.
45504 (grub_efidisk_get_device_name): Likewise.
45505
45506 * configure.ac (--enable-mm-debug): New option to enable the
45507 memory manager debugging feature. This makes the binary much
45508 bigger, so is disabled by default.
45509
9cacaa17 455102006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45511
45512 Use grub_abort instead of grub_stop, and grub_exit must be
45513 define in each architecture now. Also, this change adds support
45514 for EFI disks.
f19dbdb7 45515
9cacaa17 45516 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45517 (grub_getkey): New function.
45518 (grub_term_get_current): Likewise.
45519
45520 * util/i386/pc/grub-setup.c: Include grub/term.h.
45521 (grub_getkey): New function.
45522 (grub_term_get_current): Likewise.
45523
45524 * util/misc.c (grub_stop): Renamed to ...
45525 (grub_exit): ... this.
45526
45527 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45528 (grub_exit): ... this.
45529 (grub_machine_init): Use grub_abort instead of abort.
45530 (grub_stop): Removed.
45531
45532 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45533 abort.
45534
45535 * kern/i386/pc/startup.S (grub_exit): New function.
45536 (cold_reboot): New label.
45537
45538 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45539 (grub_efi_init): Call grub_efidisk_init.
45540 (grub_efi_fini): Call grub_efidisk_fini.
45541
45542 * kern/efi/efi.c: Include grub/mm.h.
45543 (grub_efi_console_control_guid): Renamed to ...
45544 (console_control_guid): ... this.
45545 (grub_efi_loaded_image_guid): Renamed to ...
45546 (loaded_image_guid): ... this.
45547 (grub_efi_locate_handle): New function.
45548 (grub_efi_open_protocol): Likewise.
45549 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45550 GRUB_EFI_CONSOLE_CONTROL_GUID.
45551 (grub_efi_exit): Removed.
45552 (grub_stop): Likewise.
45553 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45554 (grub_exit): New function.
45555 (grub_print_device_path): Likewise.
45556
45557 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45558 (grub_enter_rescue_mode): Register "exit".
45559
45560 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45561 (grub_abort): New function.
45562
45563 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45564
45565 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45566
45567 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45568
45569 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45570 (grub_print_device_path): New prototype.
45571 (grub_efi_locate_handle): Likewise.
45572 (grub_efi_open_protocol): Likewise.
45573
45574 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45575 * disk/efi/efidisk.c: Likewise.
45576
45577 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45578
45579 * include/grub/efi/console_control.h
45580 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45581
45582 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45583 last 8 bytes as an array.
45584 (GRUB_EFI_DISK_IO_GUID): New macro.
45585 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45586 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45587 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45588 grub_uint8_t.
45589 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45590 (struct grub_efi_device_path): Rename the member "sub_type" to
45591 "subtype".
45592 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45593 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45594 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45595 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45596 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45597 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45598 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45599 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45600 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45601 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45602 (struct grub_efi_pci_device_path): New structure.
45603 (grub_efi_pci_device_path_t): New type.
45604 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45605 (struct grub_efi_pccard_device_path): New structure.
45606 (grub_efi_pccard_device_path_t): New type.
45607 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45608 (struct grub_efi_memory_mapped_device_path): New structure.
45609 (grub_efi_memory_mapped_device_path_t): New type.
45610 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45611 (struct grub_efi_vendor_device_path): New structure.
45612 (grub_efi_vendor_device_path_t): New type.
45613 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45614 (struct grub_efi_controller_device_path): New structure.
45615 (grub_efi_controller_device_path_t): New type.
45616 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45617 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45618 (struct grub_efi_acpi_device_path): New structure.
45619 (grub_efi_acpi_device_path_t): New type.
45620 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45621 (struct grub_efi_expanded_acpi_device_path): New structure.
45622 (grub_efi_expanded_acpi_device_path_t): New type.
45623 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45624 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45625 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45626 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45627 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45628 (struct grub_efi_atapi_device_path): New structure.
45629 (grub_efi_atapi_device_path_t): New type.
45630 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45631 (struct grub_efi_fibre_channel_device_path): New structure.
45632 (grub_efi_fibre_channel_device_path_t): New type.
45633 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45634 (struct grub_efi_1394_device_path): New structure.
45635 (grub_efi_1394_device_path_t): New type.
45636 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45637 (struct grub_efi_usb_device_path): New structure.
45638 (grub_efi_usb_device_path_t): New type.
45639 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45640 (struct grub_efi_usb_class_device_path): New structure.
45641 (grub_efi_usb_class_device_path_t): New type.
45642 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45643 (struct grub_efi_i2o_device_path): New structure.
45644 (grub_efi_i2o_device_path_t): New type.
45645 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45646 (struct grub_efi_mac_address_device_path): New structure.
45647 (grub_efi_mac_address_device_path_t): New type.
45648 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45649 (struct grub_efi_ipv4_device_path): New structure.
45650 (grub_efi_ipv4_device_path_t): New type.
45651 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45652 (struct grub_efi_ipv6_device_path): New structure.
45653 (grub_efi_ipv6_device_path_t): New type.
45654 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45655 (struct grub_efi_infiniband_device_path): New structure.
45656 (grub_efi_infiniband_device_path_t): New type.
45657 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45658 (struct grub_efi_uart_device_path): New structure.
45659 (grub_efi_uart_device_path_t): New type.
45660 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45661 (struct grub_efi_vendor_messaging_device_path): New structure.
45662 (grub_efi_vendor_messaging_device_path_t): New type.
45663 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45664 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45665 (struct grub_efi_hard_drive_device_path): New structure.
45666 (grub_efi_hard_drive_device_path_t): New type.
45667 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45668 (struct grub_efi_cdrom_device_path): New structure.
45669 (grub_efi_cdrom_device_path_t): New type.
45670 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45671 (struct grub_efi_vendor_media_device_path): New structure.
45672 (grub_efi_vendor_media_device_path_t): New type.
45673 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45674 (struct grub_efi_file_path_device_path): New structure.
45675 (grub_efi_file_path_device_path_t): New type.
45676 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45677 (struct grub_efi_protocol_device_path): New structure.
45678 (grub_efi_protocol_device_path_t): New type.
45679 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45680 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45681 (struct grub_efi_bios_device_path): New structure.
45682 (grub_efi_bios_device_path_t): New type.
45683 (struct grub_efi_disk_io): New structure.
45684 (grub_efi_disk_io_t): New type.
45685 (struct grub_efi_block_io_media): New structure.
45686 (grub_efi_block_io_media_t): New type.
45687 (struct grub_efi_block_io): New structure.
45688 (grub_efi_block_io_t): New type.
45689
45690 * include/grub/misc.h (grub_stop): Removed.
45691 (grub_exit): New prototype.
45692 (grub_abort): Likewise.
45693
45694 * include/grub/disk.h (enum grub_disk_dev_id): Added
45695 GRUB_DISK_DEVICE_EFIDISK_ID.
45696
45697 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45698 disk/efi/efidisk.c.
45699 (kernel_syms.lst): Remove the target if an error occurs.
45700
49986a9f 457012006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45702
45703 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45704 as it was simply too buggy.
45705
970d3b8a 457062006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45707
45708 * kern/misc.c (grub_lltoa): New function.
45709 (grub_vsprintf): Added support for the long long suffix,
45710 i.e. "ll".
45711
ff04ec24 457122006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45713
45714 * Makefile.in (LDFLAGS): Add variable.
45715 (LD): Remove variable.
45716 * configure.ac: Add -m32 to LDFLAGS.
45717 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45718 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45719 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45720 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45721 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45722 variables.
45723 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45724 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45725 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45726
37e5e1a4 457272006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45728
45729 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45730 length for unknown glyph.
45731
c352d8dd 457322006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45733
2eab1c0d 45734 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45735
2eab1c0d 45736 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45737 completely. Accept one more argument DIR. The caller has changed.
45738
45739 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45740
45741 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45742 (grub_efi_loaded_image_guid): New variable.
45743 (grub_efi_get_loaded_image): New function.
45744 (grub_arch_modules_addr): Likewise.
45745
45746 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45747 prototype.
45748
45749 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45750 (struct grub_efi_loaded_image): New structure.
45751 (grub_efi_loaded_image_t): New type.
45752
457532006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45754
c352d8dd 45755 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45756 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45757 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45758
6d01d6b4 457592006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45760
45761 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45762
976a4ea0 457632006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45764
45765 * DISTLIST: Added include/grub/efi/console.h,
45766 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45767 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45768
45769 * include/grub/efi/console.h: New file.
45770 * include/grub/efi/time.h: Likewise.
45771 * include/grub/i386/efi/kernel.h: Likewise.
45772 * kern/efi/init.c: Likewise.
45773 * kern/efi/mm.c: Likewise.
45774 * term/efi/console.c: Likewise.
f19dbdb7 45775
976a4ea0 45776 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45777 (grub_stop): Removed.
45778 (grub_get_rtc): Likewise.
45779 (grub_machine_init): Simply call grub_efi_init.
45780 (grub_machine_fini): Call grub_efi_fini.
45781
45782 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45783 (grub_efi_output_string): Removed.
45784 (grub_efi_stall): New function.
45785 (grub_stop): Likewise.
45786 (grub_get_rtc): Likewise.
45787
45788 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45789 (grub_efi_stall): New prototype.
45790 (grub_efi_allocate_pages): Likewise.
45791 (grub_efi_free_pages): Likewise.
45792 (grub_efi_get_memory_map): Likewise.
45793 (grub_efi_mm_init): Likewise.
45794 (grub_efi_mm_fini): Likewise.
45795 (grub_efi_init): Likewise.
45796 (grub_efi_fini): Likewise.
45797
45798 * include/grub/i386/efi/time.h: Do not include
45799 grub/symbol.h. Include grub/efi/time.h.
45800 (GRUB_TICKS_PER_SECOND): Removed.
45801 (grub_get_rtc): Likewise.
45802
45803 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45804 Added padding. The EFI spec is buggy.
45805 (GRUB_EFI_BLACK): New macro.
45806 (GRUB_EFI_BLUE): Likewise.
45807 (GRUB_EFI_GREEN): Likewise.
45808 (GRUB_EFI_CYAN): Likewise.
45809 (GRUB_EFI_RED): Likewise.
45810 (GRUB_EFI_MAGENTA): Likewise.
45811 (GRUB_EFI_BROWN): Likewise.
45812 (GRUB_EFI_LIGHTGRAY): Likewise.
45813 (GRUB_EFI_BRIGHT): Likewise.
45814 (GRUB_EFI_DARKGRAY): Likewise.
45815 (GRUB_EFI_LIGHTBLUE): Likewise.
45816 (GRUB_EFI_LIGHTGREEN): Likewise.
45817 (GRUB_EFI_LIGHTCYAN): Likewise.
45818 (GRUB_EFI_LIGHTRED): Likewise.
45819 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45820 (GRUB_EFI_YELLOW): Likewise.
45821 (GRUB_EFI_WHITE): Likewise.
45822 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45823 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45824 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45825 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45826 (GRUB_EFI_BACKGROUND_RED): Likewise.
45827 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45828 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45829 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45830 (GRUB_EFI_TEXT_ATTR): Likewise.
45831
45832 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45833 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45834 (kernel_mod_HEADERS): Added efi/time.h.
45835
83709125 458362006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45837
45838 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45839 include/grub/efi/api.h, include/grub/efi/console_control.h,
45840 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45841 include/grub/i386/efi/time.h, kern/efi/efi.c,
45842 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45843 and util/i386/efi/grub-mkimage.c.
45844
45845 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45846
45847 * genmk.rb (PModule#rule): Do not export symbols if
45848 #{prefix}_EXPORTS is set to "no".
45849
45850 * conf/i386-efi.mk: New file.
45851 * conf/i386-efi.rmk: Likewise.
45852 * include/grub/efi/api.h: Likewise.
45853 * include/grub/efi/console_control.h: Likewise.
45854 * include/grub/efi/efi.h: Likewise.
45855 * include/grub/efi/pe32.h: Likewise.
45856 * include/grub/i386/efi/time.h: Likewise.
45857 * kern/efi/efi.c: Likewise.
45858 * kern/i386/efi/init.c: Likewise.
45859 * kern/i386/efi/startup.S: Likewise.
45860 * util/i386/efi/grub-mkimage.c: Likewise.
45861
458622006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45863
45864 * include/grub/script.h: Include <grub/parser.h> and
45865 "grub_script.tab.h".
45866 (struct grub_lexer_param): New struct.
45867 (struct grub_parser_param): Likewise.
45868 (grub_script_create_arglist): Pass the state in an argument.
45869 (grub_script_add_arglist): Likewise.
45870 (grub_script_create_cmdline): Likewise.
45871 (grub_script_create_cmdblock): Likewise.
45872 (grub_script_create_cmdif): Likewise.
45873 (grub_script_create_cmdmenu): Likewise.
45874 (grub_script_add_cmd): Likewise.
45875 (grub_script_arg_add): Likewise.
45876 (grub_script_lexer_ref): Likewise.
45877 (grub_script_lexer_deref): Likewise.
45878 (grub_script_lexer_record_start): Likewise.
45879 (grub_script_lexer_record_stop): Likewise.
45880 (grub_script_mem_record): Likewise.
45881 (grub_script_mem_record_stop): Likewise.
45882 (grub_script_malloc): Likewise.
45883 (grub_script_yylex): Likewise.
45884 (grub_script_yyparse): Likewise.
45885 (grub_script_yyerror): Likewise.
45886 (grub_script_yylex): Likewise.
45887 (grub_script_lexer_init): Return the state.
45888
45889 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45890 (grub_script_lexer_done): Likewise.
45891 (grub_script_lexer_getline): Likewise.
45892 (grub_script_lexer_refs): Likewise.
45893 (script): Likewise.
45894 (newscript): Likewise.
45895 (record): Likewise.
45896 (recording): Likewise.
45897 (recordpos): Likewise.
45898 (recordlen): Likewise.
45899 (grub_script_lexer_init): Return the state instead of setting
45900 global variables.
45901 (grub_script_lexer_ref): Use the newly added argument for state
45902 instead of globals.
45903 (grub_script_lexer_deref): Likewise.
45904 (grub_script_lexer_record_start): Likewise.
45905 (grub_script_lexer_record_stop): Likewise.
45906 (recordchar): Likewise.
45907 (nextchar): Likewise.
45908 (grub_script_yylex2): Likewise.
45909 (grub_script_yylex): Likewise.
45910 (grub_script_yyerror): Likewise.
45911
45912 * normal/parser.y (func_mem): Removed variable.
45913 (menu_entry): Likewise.
45914 (err): Likewise.
45915 (%lex-param): New parser option.
45916 (%parse-param): Likewise.
45917 (script): Always return the AST.
45918 (argument): Pass the state around.
45919 (arguments): Likewise.
45920 (grubcmd): Likewise.
45921 (commands): Likewise.
45922 (function): Likewise.
45923 (menuentry): Likewise.
45924 (if_statement): Likewise.
45925 (if): Likewise.
45926
45927 * normal/script.c (grub_script_memused): Removed variable.
45928 (grub_script_parsed): Likewise.
45929 (grub_script_malloc): Added a state argument. Use that instead of
45930 global variables.
45931 (grub_script_mem_record): Likewise.
45932 (grub_script_mem_record_stop): Likewise.
45933 (grub_script_arg_add): Likewise.
45934 (grub_script_add_arglist): Likewise.
45935 (grub_script_create_cmdline): Likewise.
45936 (grub_script_create_cmdif): Likewise.
45937 (grub_script_create_cmdmenu): Likewise.
45938 (grub_script_add_cmd): Likewise.
45939 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45940
e2a8c904 459412006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45942
45943 * normal/command.c (grub_command_init): Remove the title command.
45944
45945 * normal/lexer.c (grub_script_yylex): Renamed from this...
45946 (grub_script_yylex2): ... to this.
45947 (grub_script_yylex): New function. Temporary
45948 introduced to filter some tokens.
45949 (grub_script_yyerror): Print a newline.
45950
45951 * normal/main.c (read_config_file): Output information about the
45952 lines that contain errors. Wait for a key after all lines have
45953 been processed. Don't return an empty menu.
45954
45955 * normal/parser.y (func_mem): Don't initialize.
45956 (menu_entry): Likewise.
45957 (err): New variable.
45958 (script): Don't return anything when an error was encountered.
45959 (ws, returns): Removed rules.
45960 (argument): Disabled concatenated variable support.
45961 (arguments): Remove explicit separators.
45962 (grubcmd): Likewise.
45963 (function): Likewise.
45964 (menuentry): Likewise.
45965 (if): Likewise.
45966 (commands): Likewise. Add error handling.
45967
45968 * normal/script.c (grub_script_create_cmdline): If
45969 `grub_script_parsed' is 0, assume the parser encountered an error.
45970
c9a86192 459712006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45972
45973 * configure.ac: Add support for EFI. Fix the typo
45974 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45975
70f3b243 459762006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45977
45978 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45979 foreign multibyte characters should be shown correctly.
45980
65f201ad 459812006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45982
45983 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45984 calculation.
45985 (read_config_file): Made it to close file before returning.
45986
b4b93674 459872006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45988
45989 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45990 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45991 video/i386/pc/vbefill.c.
45992
45993 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45994 video/i386/pc/vbefill.c.
45995
45996 * include/grub/video.h (grub_video_blit_format): New enum.
45997 (grub_video_mode_info): Added new member blit_format.
45998 (grub_video_get_blit_format): New function prototype.
45999
46000 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46001 function prototype.
46002 (grub_video_vbe_map_rgb): Likewise.
46003 (grub_video_vbe_unmap_color): Likewise.
46004
46005 * include/grub/i386/pc/vbeblit.h: New file.
46006
46007 * include/grub/i386/pc/vbefill.h: New file.
46008
46009 * video/video.c (grub_video_get_blit_format): New function.
46010 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46011 (grub_video_vbe_map_rgb): Likewise.
46012 (grub_video_vbe_unmap_color): Likewise.
46013
46014 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46015 optimized fills.
46016 (grub_video_vbe_blit_render_target): Changed to use more optimized
46017 blits.
46018 (grub_video_vbe_setup): Added detection for optimized settings.
46019 (grub_video_vbe_create_render_target): Likewise.
46020
46021 * video/i386/pc/vbeblit.c: New file.
46022
46023 * video/i386/pc/vbefill.c: New file.
46024
c2379b9c 460252006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46026
46027 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46028 here...
46029
46030 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46031 parsing to support both hex and dec ranges. If filename was missing
46032 show usage information.
46033
bd0d7896 460342006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46035
46036 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46037 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46038
46039 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46040 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46041 (video_mod_SOURCES): Added.
46042 (video_mod_CFLAGS): Likewise.
46043 (video_mod_LDFLAGS): Likewise.
46044 (gfxterm_mod_SOURCES): Likewise.
46045 (gfxterm_mod_CFLAGS): Likewise.
46046 (gfxterm_mod_LDFLAGS): Likewise.
46047 (videotest_mod_SOURCES): Likewise.
46048 (videotest_mod_CFLAGS): Likewise.
46049 (videotest_mod_LDFLAGS): Likewise.
46050 (vesafb_mod_SOURCES): Removed.
46051 (vesafb_mod_CFLAGS): Likewise.
46052 (vesafb_mod_LDFLAGS): Likewise.
46053 (vga_mod_SOURCES): Likewise.
46054 (vga_mod_CFLAGS): Likewise.
46055 (vga_mod_LDFLAGS): Likewise.
46056
46057 * commands/videotest.c: New file.
46058
46059 * font/manager.c (fill_with_default_glyph): Modified to use
46060 grub_font_glyph.
46061 (grub_font_get_glyph): Likewise.
46062 (fontmanager): Renamed from this...
46063 (font_manager): ... to this.
46064
46065 * include/grub/font.h (grub_font_glyph): Added new structure.
46066 (grub_font_get_glyph): Modified to use grub_font_glyph.
46067
46068 * include/grub/misc.h (grub_abs): Added as inline function.
46069
46070 * include/grub/video.h: New file.
46071
46072 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46073 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46074 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46075 (grub_vbe_get_controller_info): Renamed from this...
46076 (grub_vbe_bios_get_controller_info): ... to this.
46077 (grub_vbe_get_mode_info): Renamed from this...
46078 (grub_vbe_bios_get_mode_info): ... to this.
46079 (grub_vbe_set_mode): Renamed from this...
46080 (grub_vbe_bios_set_mode): ... to this.
46081 (grub_vbe_get_mode): Renamed from this...
46082 (grub_vbe_bios_get_mode): ... to this.
46083 (grub_vbe_set_memory_window): Renamed from this...
46084 (grub_vbe_bios_set_memory_window): ... to this.
46085 (grub_vbe_get_memory_window): Renamed from this...
46086 (grub_vbe_bios_get_memory_window): ... to this.
46087 (grub_vbe_set_scanline_length): Renamed from this...
46088 (grub_vbe_set_scanline_length): ... to this.
46089 (grub_vbe_get_scanline_length): Renamed from this...
46090 (grub_vbe_bios_get_scanline_length): ... to this.
46091 (grub_vbe_set_display_start): Renamed from this...
46092 (grub_vbe_bios_set_display_start): ... to this.
46093 (grub_vbe_get_display_start): Renamed from this...
46094 (grub_vbe_bios_get_display_start): ... to this.
46095 (grub_vbe_set_palette_data): Renamed from this...
46096 (grub_vbe_bios_set_palette_data): ... to this.
46097 (grub_vbe_set_pixel_rgb): Removed.
46098 (grub_vbe_set_pixel_index): Likewise.
46099
46100 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46101 from this...
46102 (grub_vbe_bios_get_controller_info): ... to this.
46103 (grub_vbe_get_mode_info): Renamed from this...
46104 (grub_vbe_bios_get_mode_info): ... to this.
46105 (grub_vbe_set_mode): Renamed from this...
46106 (grub_vbe_bios_set_mode): ... to this.
46107 (grub_vbe_get_mode): Renamed from this...
46108 (grub_vbe_bios_get_mode): ... to this.
46109 (grub_vbe_set_memory_window): Renamed from this...
46110 (grub_vbe_bios_set_memory_window): ... to this.
46111 (grub_vbe_get_memory_window): Renamed from this...
46112 (grub_vbe_bios_get_memory_window): ... to this.
46113 (grub_vbe_set_scanline_length): Renamed from this...
46114 (grub_vbe_set_scanline_length): ... to this.
46115 (grub_vbe_get_scanline_length): Renamed from this...
46116 (grub_vbe_bios_get_scanline_length): ... to this.
46117 (grub_vbe_set_display_start): Renamed from this...
46118 (grub_vbe_bios_set_display_start): ... to this.
46119 (grub_vbe_get_display_start): Renamed from this...
46120 (grub_vbe_bios_get_display_start): ... to this.
46121 (grub_vbe_set_palette_data): Renamed from this...
46122 (grub_vbe_bios_set_palette_data): ... to this.
46123 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46124 getting corrupted after calling it. Added more pushes and pops.
46125 (grub_vbe_bios_set_mode): Likewise.
46126 (grub_vbe_bios_get_mode): Likewise.
46127 (grub_vbe_bios_get_memory_window): Likewise.
46128 (grub_vbe_bios_set_scanline_length): Likewise.
46129 (grub_vbe_bios_get_scanline_length): Likewise.
46130 (grub_vbe_bios_get_display_start): Likewise.
46131 (grub_vbe_bios_set_palette_data): Likewise.
46132
46133 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46134 (cl_insert): Likewise.
46135 (cl_delete): Likewise.
46136
46137 * term/gfxterm.c: New file.
46138
46139 * term/i386/pc/vesafb.c: Removed file.
46140
46141 * video/video.c: New file.
46142
46143 * video/i386/pc/vbe.c (real2pm): Added new function.
46144 (grub_video_vbe_draw_pixel): Likewise.
46145 (grub_video_vbe_get_video_ptr): Likewise.
46146 (grub_video_vbe_get_pixel): Likewise
46147 (grub_video_vbe_init): Likewise.
46148 (grub_video_vbe_fini): Likewise.
46149 (grub_video_vbe_setup): Likewise.
46150 (grub_video_vbe_get_info): Likewise.
46151 (grub_video_vbe_set_palette): Likewise.
46152 (grub_video_vbe_get_palette): Likewise.
46153 (grub_video_vbe_set_viewport): Likewise.
46154 (grub_video_vbe_get_viewport): Likewise.
46155 (grub_video_vbe_map_color): Likewise.
46156 (grub_video_vbe_map_rgb): Likewise.
46157 (grub_video_vbe_map_rgba): Likewise.
46158 (grub_video_vbe_unmap_color): Likewise.
46159 (grub_video_vbe_fill_rect): Likewise.
46160 (grub_video_vbe_blit_glyph): Likewise.
46161 (grub_video_vbe_blit_bitmap): Likewise.
46162 (grub_video_vbe_blit_render_target): Likewise.
46163 (grub_video_vbe_scroll): Likewise.
46164 (grub_video_vbe_swap_buffers): Likewise.
46165 (grub_video_vbe_create_render_target): Likewise.
46166 (grub_video_vbe_delete_render_target): Likewise.
46167 (grub_video_vbe_set_active_render_target): Likewise.
46168 (grub_vbe_set_pixel_rgb): Remove function.
46169 (grub_vbe_set_pixel_index): Likewise.
46170 (index_color_mode): Remove static variable.
46171 (active_mode): Likewise.
46172 (framebuffer): Likewise.
46173 (bytes_per_scan_line): Likewise.
46174 (grub_video_vbe_adapter): Added new static variable.
46175 (framebuffer): Likewise.
46176 (render_target): Likewise.
46177 (initial_mode): Likewise.
46178 (mode_in_use): Likewise.
46179 (mode_list): Likewise.
46180
5f97350b 461812006-03-10 Marco Gerards <marco@gnu.org>
46182
46183 * configure.ac (AC_INIT): Bumped to 1.93.
46184
46185 * DISTLIST: Added `include/grub/hfs.h'.
46186
a3c5c6f8 461872006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46188
46189 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46190 18H, which might help the BIOS falling back to next boot media.
46191
6de53d26 461922006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46193
46194 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46195 Poe Chen <poe.poechen@gmail.com>.
46196
77c4a393 461972006-01-17 Marco Gerards <marco@gnu.org>
46198
46199 * include/grub/normal.h: Include <grub/script.h>.
46200 (grub_command_list): Removed struct.
46201 (grub_command_list_t): Removed type.
46202 (grub_menu_entry): Remove members `num' and `command_list'. Add
46203 members `commands' and `sourcecode'.
46204 * include/grub/script.h: Add inclusion guards.
46205 (grub_script_cmd_menuentry): New struct.
46206 (grub_script_execute_menuentry): New prototype.
46207 (grub_script_lexer_record_start): Likewise.
46208 (grub_script_lexer_record_stop): Likewise.
46209 * normal/execute.c (grub_script_execute_menuentry): New function.
46210 * normal/lexer.c (record, recording, recordpos, recordlen): New
46211 variables.
46212 (grub_script_lexer_record_start): New function.
46213 (grub_script_lexer_record_stop): Likewise.
46214 (recordchar): Likewise.
46215 (nextchar): Likewise.
46216 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46217 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46218 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46219 (current_menu): New variable.
46220 (free_menu): Mainly rewritten.
46221 (grub_normal_menu_addentry): New function.
46222 (read_config_file): Rewritten.
46223 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46224 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46225 the menu entry.
46226 (run): Mainly rewritten.
46227 * normal/parser.y (menu_entry): New variable.
46228 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46229 (menuentry): New rule.
46230 (command): Add `menuentry'.
46231 (if_statement): Allow additional returns before `fi'.
46232 * normal/script.c (grub_script_create_cmdmenu): New function.
46233
144f1f98 462342006-01-03 Marco Gerards <marco@gnu.org>
46235
46236 * INSTALL: GNU Bison is required.
46237 * configure.ac: Rewritten the test to detect Bison.
46238 * Makefile.in (YACC): New variable. Reported by Xun Sun
46239 <xun.sun.cn@gmail.com>.
46240
af4b2d89 462412006-01-03 Marco Gerards <marco@gnu.org>
46242
46243 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46244 the HFS+ filesystem to filesystem blocks.
46245 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46246 GCC warning is silenced.
46247
15643b71 462482006-01-03 Marco Gerards <marco@gnu.org>
46249
46250 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46251 read from disk from big endian to host byte order.
46252
00905879 462532006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46254
46255 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46256 documentation.
46257 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46258 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46259 embedded HFS+ filesystem.
46260 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46261 (grub_hfs_sblock): Move from here...
46262 * include/grub/hfs.h: To here... New file.
46263 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46264 documentation.
46265 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46266 New macros.
46267 (grub_hfsplus_volheader): Change type of member `magic' to
46268 `grub_uint16_t'.
46269 (grub_hfsplus_data): Add new member `embedded_offset'.
46270 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46271 returned block.
46272 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46273 Calculate the offset.
46274
8899bc3e 462752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46276
46277 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46278 Removed.
46279 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46280
ae8c0277 462812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46282
46283 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46284 ENV->NAME is NULL after allocating ENV->VALUE.
46285
07084456 462862005-12-25 Marco Gerards <marco@gnu.org>
46287
46288 * kern/env.c (grub_env_set): Rewritten the error handling code.
46289
4750f5f1 462902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46291
46292 * geninit.sh: Made more robust, and more portable.
46293
50214199 462942005-12-25 Marco Gerards <marco@gnu.org>
46295
46296 Add support for Apple HFS+ filesystems.
f19dbdb7 46297
50214199 46298 * fs/hfsplus.c: New file.
46299
46300 * DISTLIST: Added `fs/hfsplus.c'.
46301
46302 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46303 (hfsplus_mod_SOURCES): New variable.
46304 (hfsplus_mod_CFLAGS): Likewise.
46305 (hfsplus_mod_LDFLAGS): Likewise.
46306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46307 (grub_setup_SOURCES): Likewise.
46308 (grub_mkdevicemap_SOURCES): Likewise.
46309 (grub_emu_SOURCES): Likewise.
46310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46311
46312 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46313
46314 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46315
befaed6c 463162005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46317
46318 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46319 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46320 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46321 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46322 normal/lexer.c, normal/parser.y, normal/script.c, and
46323 partmap/gpt.c.
46324 Removed kern/sparc64/cache.c.
46325
46326 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46327 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46328 grub_emu_init.c.
46329
46330 * configure.ac (AC_INIT): Bumped to 1.92.
46331
6a124103 463322005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46333
46334 * kern/err.c (grub_error_push): Added new function to support error
46335 stacks.
46336 (grub_error_pop): Likewise.
46337 (grub_error_stack_items): New local variable to support error stacks.
46338 (grub_error_stack_pos): Likewise.
46339 (grub_error_stack_assert): Likewise.
46340 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46341 stack depth.
46342 (grub_print_error): Added support to print errors from error stack.
46343
46344 * include/grub/err.h (grub_error_push): Added function prototype.
46345 (grub_error_pop): Likewise.
46346
be973c1b 463472005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46348
46349 * configure.ac: Accept `powerpc64' as host_cpu.
46350 (amd64): Rename to `biarch32'.
46351
46352 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46353 non-cacheline-aligned addresses.
46354
46355 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46356 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46357 if `size' is non-zero.
46358
b04216ab 463592005-12-03 Marco Gerards <mgerards@xs4all.nl>
46360
46361 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46362 and `cd' to make sure the filename is not prefixed with a
46363 directory name.
46364 (pkgdata_MODULES): Add `gpt.mod'.
46365 (gpt_mod_SOURCES): New variable.
46366 (gpt_mod_CFLAGS): Likewise.
46367 (gpt_mod_LDFLAGS): Likewise.
46368
46369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46370
46371 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46372 New macro.
46373
46374 * partmap/gpt.c: New file.
46375
46376 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46377 GPT partition map is detected.
46378
41730ed9 463792005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46380
46381 * commands/i386/pc/play.c: New file.
46382 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46383 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46384 macros.
f19dbdb7 46385
95dc3643 463862005-11-27 Marco Gerards <mgerards@xs4all.nl>
46387
46388 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46389 ((unused))' to silence gcc warning.
46390
1569ec51 463912005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46392
46393 * configure.ac: Correct `AC_PROG_YACC' test.
46394
9abde152 463952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46396
46397 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46398 check before installing files.
46399
44b83271 464002005-11-22 Mike Small <smallm@panix.com>
46401
46402 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46403 number regex so multidigit numbers are recognized correctly.
46404
464052005-11-22 Mike Small <smallm@panix.com>
46406
46407 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46408 debugging message before attempting to claim memory.
46409 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46410 multiple addresses in case of failure.
46411
9c12956b 464122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46413
46414 * term/tparm.c (get_space): Remove empty `if' statement.
46415
46416 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46417
46418 * kern/parser.c (check_varstate): Rename `state' to 's'.
46419
aeaf81d9 464202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46421
46422 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46423 variable definitions to the beginning of each function. Sort stack
46424 variables by size.
46425 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46426 `buf' argument to `char *'.
46427
79bbb63f 464282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46429
46430 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46431 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46432 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46433 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46434 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46435 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46436 configfile.mod, search.mod, gzio.mod and test.mod.
46437 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46438 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46439 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46440 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46441 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46442 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46443 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46444 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46445 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46446 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46447 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46448 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46449 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46450 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46451 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46452 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46453 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46454 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46455 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46456 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46457 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46458 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46459 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46460
46461 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46462 `grep --include'.
46463 (pkgdata_MODULES): Add test.mod.
46464
233b1628 464652005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46466
46467 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46468 appending to variables with "+=".
46469 (PModule): Use full pathname to generate *.lst filenames.
46470
46471 * Makefile.in: Fixed list rules moved from genmk.rb.
46472 (.DELETE_ON_ERROR): New special target.
46473 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46474
46475 * conf/i386-pc.rmk: Include conf/common.mk.
46476 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46477 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46478 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46479 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46480 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46481 configfile.mod, search.mod, gzio.mod and test.mod.
46482 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46483 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46484 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46485 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46486 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46487 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46488 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46489 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46490 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46491 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46492 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46493 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46494 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46495 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46496 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46497 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46498 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46499 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46500 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46501 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46502 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46503 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46504 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46505 here...
46506 * conf/common.rmk: ... to here. New file.
46507
46508 * conf/common.mk: New file.
46509
16f820c8 465102005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46511
46512 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46513 (grub_script.tab.c): ... here.
46514
46515 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46516 (grub_script.tab.c): ... here.
46517
46518 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46519 (grub_script.tab.c): ... here.
46520
46521 * normal/command.c (grub_command_find): Fixed a memory leak of
46522 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46523
63ba1554 465242005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46525
46526 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46527 "@" which marks the start of a comment on ARM.
46528 (VARIABLE): Likewise.
46529
7f67dc13 465302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46531
79bbb63f 46532 Add support for Linux/ADFS partition tables.
7f67dc13 46533
46534 * partmap/acorn.c: New file.
46535
46536 * include/grub/acorn_filecore.h: Likewise.
46537
46538 * DISTLIST: Added `partmap/acorn.c' and
46539 `include/grub/acorn_filecore.h'.
f19dbdb7 46540
7f67dc13 46541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46542 `partmap/acorn.c'.
46543 (pkgdata_MODULES): Add `acorn.mod'.
46544 (acorn_mod_SOURCES): New variable.
46545 (acorn_mod_CFLAGS): Likewise.
46546
46547 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46548 `partmap/acorn.c'.
46549 (pkgdata_MODULES): Add `acorn.mod'.
46550 (acorn_mod_SOURCES): New variable.
46551 (acorn_mod_CFLAGS): Likewise.
46552
46553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46554 (pkgdata_MODULES): Add `acorn.mod'.
46555 (acorn_mod_SOURCES): New variable.
46556 (acorn_mod_CFLAGS): Likewise.
46557 (acorn_mod_LDFLAGS): Likewise.
46558
46559 * include/types.h (grub_disk_addr_t): New typedef.
46560
6d099807 465612005-11-13 Marco Gerards <mgerards@xs4all.nl>
46562
46563 * geninit.sh: New file.
46564
46565 * geninitheader.sh: Likewise.
46566
46567 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46568 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46569 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46570 * commands/configfile.c (grub_configfile_init)
46571 (grub_configfile_fini): Likewise.
46572 * commands/default.c (grub_default_init, grub_default_fini):
46573 Likewise.
46574 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46575 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46576 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46577 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46578 Likewise.
46579 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46580 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46581 Likewise.
46582 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46583 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46584 Likewise.
46585 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46586 Likewise.
fe6b695a 46587 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46588 Likewise.
46589 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46590 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46591 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46592 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46593 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46594 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46595 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46596 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46597 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46598 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46599 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46600 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46601 * partmap/amiga.c (grub_amiga_partition_map_init)
46602 (grub_amiga_partition_map_fini): Likewise.
46603 * partmap/apple.c (grub_apple_partition_map_init)
46604 (grub_apple_partition_map_fini): Likewise.
46605 * partmap/pc.c (grub_pc_partition_map_init)
46606 (grub_pc_partition_map_fini): Likewise.
46607 * partmap/sun.c (grub_sun_partition_map_init,
46608 grub_sun_partition_map_fini): Likewise.
46609 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46610 Likewise.
46611
46612 * util/grub-emu.c: Include <grub_modules_init.h>.
46613 (main): Don't initialize and de-initialize any modules directly,
46614 use `grub_init_all' and `grub_fini_all' instead.
46615
46616 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46617 `grub_vesafb_mod_init'.
46618 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46619 all users.
46620 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46621 `grub_vga_mod_init'. Updated all users.
46622 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46623
6d099807 46624 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46625 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46626 rules.
46627
46628 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46629 Generate a function to initialize the module in utilities.
46630 Updated all callers.
46631 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46632 initialize the module in utilities. Updated all callers.
46633
9046bcf0 466342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46635
46636 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46637 escape sequence and a literal ^L to clear the screen.
46638
46639 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46640 when returning from Open Firmware.
46641
d13ea639 466422005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46643
46644 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46645 (grub_ofconsole_height): Likewise.
46646 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46647 manually insert a '\n'.
46648 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46649 `grub_ofconsole_height'. Return early if these are already set.
46650
a8fcf206 466512005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46652
46653 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46654 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46655 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46656 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46657 and `normal/script.c'.
46658 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46659 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46660 (test_mod_SOURCES): New variable.
46661 (test_mod_CFLAGS): Likewise.
46662 (test_mod_LDFLAGS): Likewise.
46663 (pkgdata_MODULES): Add `test.mod'.
46664 (grub_script.tab.c): New rule.
46665 (grub_script.tab.h): Likewise.
46666
b6b32745 466672005-11-07 Marco Gerards <mgerards@xs4all.nl>
46668
46669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46670 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46671 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46672 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46673 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46674 (test_mod_SOURCES): New variable.
46675 (test_mod_CFLAGS): Likewise.
46676 (pkgdata_MODULES): Add `test.mod'.
46677 (grub_script.tab.c): New rule.
46678 (grub_script.tab.h): Likewise.
46679
daac212a 466802005-11-06 Marco Gerards <mgerards@xs4all.nl>
46681
46682 Add initial scripting support.
46683
46684 * commands/test.c: New file.
46685 * include/grub/script.h: Likewise.
46686 * normal/execute.c: Likewise.
46687 * normal/function.c: Likewise.
46688 * normal/lexer.c: Likewise.
46689 * normal/parser.y: Likewise.
46690 * normal/script.c: Likewise.
46691
46692 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46693
daac212a 46694 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46695 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46696 `normal/function.c' and `normal/script.c'.
46697 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46698 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46699 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46700 variables.
daac212a 46701 (pkgdata_MODULES): Add `test.mod'.
46702 (grub_script.tab.c): New rule.
46703 (grub_script.tab.h): Likewise.
46704
46705 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46706
46707 * include/grub/normal.h (grub_test_init): New prototype.
46708 (grub_test_fini): Likewise.
f19dbdb7 46709
daac212a 46710 * normal/command.c: Include <grub/script.h>.
46711 (grub_command_execute): Rewritten.
f19dbdb7 46712
daac212a 46713 * util/grub-emu.c (main): Call `grub_test_init' and
46714 `grub_test_fini'.
46715
77500b2b 467162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46717
46718 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46719 to 0.
46720 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46721 there are no pending characters.
46722
e45deb9e 467232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46724
46725 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46726 `grub_strndup' to drop device arguments. Replace unnecessary
46727 `grub_strndup' with `grub_strdup'.
46728
4ce32619 467292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46730
46731 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46732 `debug' environment variable has been set.
46733
467342005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46735
4ce32619 46736 * Makefile.in (install-local): Use $(DATA).
46737 (uninstall): Likewise.
46738 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46739 (sbin_UTILITIES): ... to here.
46740 (sbin_SCRIPTS): New variable.
46741 (grub_install_SOURCES): New variable.
46742 * util/powerpc/ieee1275/grub-install.in: New file.
46743 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46744 variable.
46745 (add_segments): Call `grub_util_get_path'.
46746
25fe6f03 467472005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46748
46749 From Timothy Baldwin:
46750 * commands/ls.c (grub_ls_list_files): Close FILE with
46751 grub_file_close.
46752 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46753
04ccf3ec 467542005-10-24 Marco Gerards <mgerards@xs4all.nl>
46755
46756 * include/grub/parser.h: New file.
46757
46758 * kern/parser.c: Likewise.
46759
46760 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46761 (grub_setup_SOURCES): Likewise.
46762 (grub_probefs_SOURCES): Likewise.
46763 (grub_emu_SOURCES): Likewise.
46764 (kernel_img_HEADERS): Add `parser.h'.
46765
46766 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46767 (grub_emu_SOURCES): Add `kern/parser.c'.
46768 (grubof_SOURCES): Likewise.
46769
46770 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46771 (grubof_SOURCES): Add `kern/parser.c'.
46772
46773 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46774
46775 * kern/misc.c (grub_split_cmdline): Removed function.
46776
46777 * kern/rescue.c: Include <grub/parser.h>.
46778 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46779 of `grub_split_cmdline'.
46780
46781 * normal/command.c: Include <grub/parser.h>.
46782 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46783 of `grub_split_cmdline'.
46784
46785 * normal/completion.c: Include <grub/parser.h>.
46786 (cmdline_state): New variable.
46787 (iterate_dir): End the filename with a quote depending on the
46788 command line state.
46789 (get_state): new function.
46790 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46791 split the arguments and determine the current argument. When the
46792 argument string is not quoted, escape all spaces.
46793
6d8f4b0e 467942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46795
46796 * normal/sparc64/setjmp.S: New file.
46797
15cf03ed 467982005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46799
46800 * include/grub/sparc64/libgcc.h: New file.
46801 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46802 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46803 normal/sparc64/setjmp.c.
46804
03e8661a 468052005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46806
46807 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46808 * kern/sparc64/cache.S: New file.
46809 * kern/sparc64/cache.c: Removed.
46810 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46811 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46812 -mtune=ultrasparc.
46813 (COMMON_LDFLAGS): Add -melf64_sparc.
46814 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46815 (grubof_SOURCES): Use cache.S instead of cache.c.
46816 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46817 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46818 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46819 commented though.
46820 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46821 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46822 (linux_mod_CFLAGS): Commented out.
46823 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46824 out because module isn't built.
46825 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46826 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46827 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46828 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46829 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46830 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46831 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46832 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46833 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46834 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46835 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46836 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46837 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46838 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46839
34eeec8a 468402005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46841
46842 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46843 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46844 longer, because HFS should not be used on PC.
46845
708367a3 468462005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46847
46848 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46849 consistently within the loop.
46850
6fa1251a 468512005-10-15 Marco Gerards <mgerards@xs4all.nl>
46852
46853 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46854 directory can not be read.
46855
4801580b 468562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46857
46858 * configure.ac (AC_INIT): Increase the version number to 1.91.
46859
46860 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46861 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46862 term/i386/pc/serial.c.
46863
219ad426 468642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46865
46866 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46867 file size must be permitted.
46868
46869 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46870 between %ah and %al.
46871
688e5699 468722005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46873
46874 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46875 grub_uint64_t.
46876 Call the hook with a NUL-terminated filename.
46877 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46878 grub_cpu_to_be32.
46879
46880 * kern/term.c (cursor_state): New variable.
46881 (grub_term_set_current): Reset the cursor state on a new
46882 terminal.
46883 (grub_setcursor): Rewritten to use CURSOR_STATE.
46884 (grub_getcursor): New function.
46885
46886 * include/grub/term.h (grub_getcursor): New prototype.
46887
46888 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46889 integers on ARM. Reported by Timothy Baldwin
46890 <T.E.Baldwin99@members.leeds.ac.uk>.
46891
bb34586c 468922005-10-11 Marco Gerards <mgerards@xs4all.nl>
46893
46894 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46895 allocated.
46896 (grub_sfs_dir): Likewise.
46897
9a909877 468982005-10-09 Marco Gerards <mgerards@xs4all.nl>
46899
46900 Add support for the SFS filesystem.
46901
46902 * fs/sfs.c: New file.
46903
46904 * DISTLIST: Added `fs/sfs.c'.
46905
46906 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46907 (grub_probefs_SOURCES): Likewise.
46908 (grub_emu_SOURCES): Likewise.
46909 (pkgdata_MODULES): Add `sfs.mod'.
46910 (sfs_mod_SOURCES): New variable.
46911 (sfs_mod_CFLAGS): Likewise.
46912 (sfs_mod_LDFLAGS): Likewise.
46913
46914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46915 (pkgdata_MODULES): Add `sfs.mod'.
46916 (sfs_mod_SOURCES): New variable.
46917 (sfs_mod_CFLAGS): Likewise.
46918
46919 * util/grub-emu.c (main): Call `grub_sfs_init' and
46920 `grub_sfs_fini'.
46921
46922 * include/grub/fs.h (grub_sfs_init): New prototype.
46923 (grub_sfs_fini): Likewise.
46924
57bdbde3 469252005-10-07 Marco Gerards <mgerards@xs4all.nl>
46926
46927 Add support for the AFFS filesystem.
46928
46929 * fs/affs.c: New file.
46930
46931 * DISTLIST: Added `fs/affs.c'.
46932
46933 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46934 (grub_probefs_SOURCES): Likewise.
46935 (grub_emu_SOURCES): Likewise.
46936 (pkgdata_MODULES): Add `affs.mod'.
46937 (affs_mod_SOURCES): New variable.
46938 (affs_mod_CFLAGS): Likewise.
46939 (affs_mod_LDFLAGS): Likewise.
46940
46941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46942 (pkgdata_MODULES): Add `affs.mod'.
46943 (affs_mod_SOURCES): New variable.
46944 (affs_mod_CFLAGS): Likewise.
46945
46946 * util/grub-emu.c (main): Call `grub_affs_init' and
46947 `grub_affs_fini'.
46948
46949 * include/grub/fs.h (grub_affs_init): New prototype.
46950 (grub_affs_fini): Likewise.
46951
047b67e0 469522005-10-01 Marco Gerards <mgerards@xs4all.nl>
46953
46954 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46955
59b8208a 469562005-10-01 Marco Gerards <mgerards@xs4all.nl>
46957
46958 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46959 `-m32' to CFLAGS.
46960
46961 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46962 linking.
f19dbdb7 46963
59b8208a 46964 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46965 (COMMON_LDFLAGS): New variable.
46966 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46967 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46968 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46969 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46970 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46971 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46972 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46973 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46974 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46975 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46976 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46977 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46978 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46979 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46980 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46981 variables.
46982 (normal_mod_ASFLAGS): Add `-m32'.
46983
46984 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46985 (grub_host_size_t, grub_host_ssize_t): New types.
46986 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46987 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46988 `GRUB_HOST_SIZEOF_VOID_P'.
46989
46990 * include/grub/kernel.h (struct grub_module_header): Type of
46991 member offset changed to `grub_host_off_t'. Type of member size
46992 changed to `grub_host_size_t'.
46993 (struct grub_module_info): Type of member offset changed to
46994 `grub_host_off_t'. Type of member size changed to
46995 `grub_host_size_t'.
46996
b4093103 469972005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46998
46999 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47000
b4093103 47001 * kern/i386/pc/startup.S (multiboot_header): New label.
47002 (multiboot_entry): Likewise.
47003 (multiboot_trampoline): Likewise.
47004
47005 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47006 Increased to 0x4A0.
47007
47008 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47009 put parentheses after a question mark.
47010 [!GRUB_UTIL] (my_mod): New variable.
47011
47012 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47013
b2499b29 470142005-09-28 Marco Gerards <mgerards@xs4all.nl>
47015
47016 Adds support for the XFS filesystem. Btrees are not supported
47017 yet.
47018
47019 * fs/xfs.c: New file.
47020
47021 * DISTLIST: Added `fs/xfs.c'.
47022
47023 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47024 (grub_probefs_SOURCES): Likewise.
47025 (grub_emu_SOURCES): Likewise.
47026 (pkgdata_MODULES): Add `xfs.mod'.
47027 (xfs_mod_SOURCES): New variable.
47028 (xfs_mod_CFLAGS): Likewise.
47029
47030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47031 (pkgdata_MODULES): Add `xfs.mod'.
47032 (xfs_mod_SOURCES): New variable.
47033 (xfs_mod_CFLAGS): Likewise.
47034
47035 * util/grub-emu.c (main): Call `grub_xfs_init' and
47036 `grub_xfs_fini'.
47037
47038 * include/grub/fs.h (grub_xfs_init): New prototype.
47039 (grub_xfs_fini): Likewise.
47040
f19dbdb7 47041
83d37a62 470422005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47043
47044 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47045 color modes, allow greater than 16 colors to be configured as
47046 a default palette.
47047
47d2d65e 470482005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47049
47050 * normal/completion.c (complete_arguments): Add the qualifier
47051 const into OPTIONS.
47052
47053 From Omniflux <omniflux+lists@omniflux.com>:
47054 * include/grub/terminfo.h: New file.
47055 * include/grub/tparm.h: Likewise.
47056 * include/grub/i386/pc/serial.h: Likewise.
47057 * term/terminfo.c: Likewise.
47058 * term/tparm.c: Likewise.
47059 * term/i386/pc/serial.c: Likewise.
47060 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47061 serial.mod.
47062 (terminfo_mod_SOURCES): New variable.
47063 (terminfo_mod_CFLAGS): Likewise.
47064 (serial_mod_SOURCES): Likewise.
47065 (serial_mod_CFLAGS): Likewise.
47066
48b671ff 470672005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47068
47069 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47070 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47071 and kern/powerpc/ieee1275/cmain.c, respectively.
47072
47073 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47074 * kern/powerpc/ieee1275/crt0.S: ... here.
47075
47076 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47077 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47078
48b671ff 47079 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47080 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47081 instead of boot/powerpc/ieee1275/crt0.S and
47082 boot/powerpc/ieee1275/cmain.c, respectively.
47083
47084 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47085 sectors. It was not used anyway.
47086
09fc77a7 470872005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47088
47089 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47090 `unused parameter' warning.
47091
003789c7 470922005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47093
47094 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47095 function.
47096 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47097 getcharwidth.
47098
67f44c86 470992005-08-28 Marco Gerards <metgerards@student.han.nl>
47100
47101 * include/grub/normal.h (enum grub_completion_type): Added
47102 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47103
47104 * normal/cmdline.c (print_completion): Handle
47105 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47106 * normal/menu_entry.c (store_completion): Likewise.
47107
47108 * normal/completion.c (complete_arguments): New function.
47109 (grub_normal_do_completion): Call `complete_arguments' when the
47110 current words start with a dash.
47111
0b5abe02 471122005-08-27 Marco Gerards <metgerards@student.han.nl>
47113
47114 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47115 `gzio.mod' instead of `io.mod').
47116
d9864ee1 471172005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47118
47119 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47120 (DISTDIRS): Added io and video.
47121 Rewrite the search routine to make an output consistently.
47122
47123 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47124 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47125 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47126 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47127 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47128 util/powerpc/ieee1275/misc.c.
f19dbdb7 47129
d9864ee1 47130 * include/grub/gzio.h: New file.
47131 * io/gzio.c: Likewise.
f19dbdb7 47132
d9864ee1 47133 * kern/file.c (grub_file_close): Call grub_device_close only if
47134 FILE->DEVICE is not NULL.
47135
47136 * include/grub/mm.h [!NULL] (NULL): New macro.
47137
47138 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47139
47140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47141 (pkgdata_MODULES): Added gzio.mod.
47142 (gzio_mod_SOURCES): New variable.
47143 (gzio_mod_CFLAGS): Likewise.
47144
47145 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47146 (pkgdata_MODULES): Added gzio.mod.
47147 (gzio_mod_SOURCES): New variable.
47148 (gzio_mod_CFLAGS): Likewise.
47149
47150 * commands/cat.c: Include grub/gzio.h.
47151 (grub_cmd_cat): Use grub_gzfile_open instead of
47152 grub_file_open.
f19dbdb7 47153
d9864ee1 47154 * commands/cmp.c: Include grub/gzio.h.
47155 (grub_cmd_cmp): Use grub_gzfile_open instead of
47156 grub_file_open.
47157
47158 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47159 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47160 grub_file_open.
47161 (grub_rescue_cmd_module): Likewise.
47162
fa46f4b5 471632005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47164
47165 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47166 kern/sparc64/ieee1275/init.c because it contains _start.
47167 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47168
e9211b5d 471692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47170
47171 * configure.ac: Add support for sparc64 host with ieee1275
47172 firmware.
47173 * configure: Generated from configure.ac.
47174 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47175 instead of int.
47176 (grub_ofdisk_read): Likewise.
47177 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47178 pointers as (void *) to remove a warning.
47179 (grub_ofdisk_close): Likewise.
47180 (grub_ofdisk_read): Likewise.
47181 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47182 returns, so make it return void to remove a warning.
47183 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47184 Corresponding prototype change.
47185 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47186 values, and cast the pointers as (void *) to remove a warning.
47187 (grub_mm_dump): Likewise.
47188 * conf/sparc64-ieee1275.mk: New file.
47189 * conf/sparc64-ieee1275.rmk: Likewise.
47190 * include/grub/sparc64/setjmp.h: Likewise.
47191 * include/grub/sparc64/types.h: Likewise.
47192 * include/grub/sparc64/ieee1275/console.h: Likewise.
47193 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47194 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47195 * include/grub/sparc64/ieee1275/time.h: Likewise.
47196 * kern/sparc64/cache.c: Likewise.
47197 * kern/sparc64/dl.c: Likewise.
47198 * kern/sparc64/ieee1275/init.c: Likewise.
47199 * kern/sparc64/ieee1275/openfw.c: Likewise.
47200
385c6a92 472012005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47202
47203 * util/console.c (grub_ncurses_putchar): If C is greater than
47204 0x7f, set C to a question mark.
47205 (grub_ncurses_getcharwidth): New function.
47206 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47207 getcharwidth.
47208
47209 * normal/menu.c (print_entry): Made aware of Unicode. First,
47210 convert TITLE to UCS-4, and predict the cursor position by
47211 grub_getcharwidth.
47212
47213 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47214 const to SRC.
47215 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47216
16ccb8b1 472172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47218
47219 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47220 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47221 grub_strcat.
47222
47223 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47224 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47225 grub_strcpy and grub_strlen. Take it into account that a space
47226 character is inserted as a delimiter.
47227
6a85ce79 472282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47229
47230 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47231 invalid magic in the error.
6a85ce79 47232
47233 * commands/search.c: New file.
f19dbdb7 47234
6a85ce79 47235 * util/grub-emu.c (main): Call grub_search_init and
47236 grub_search_fini.
47237
47238 * kern/rescue.c (grub_rescue_print_disks): Removed.
47239 (grub_rescue_print_devices): New function.
47240 (grub_rescue_cmd_ls): Use grub_device_iterate with
47241 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47242 grub_rescue_print_disks.
47243
47244 * kern/partition.c (grub_partition_iterate): Return the result of
47245 PARTMAP->ITERATE instead of GRUB_ERRNO.
47246
47247 * kern/device.c: Include grub/partition.h.
47248 (grub_device_iterate): New function.
47249
47250 * include/grub/partition.h (grub_partition_iterate): Return int
47251 instead of grub_err_t.
47252
47253 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47254 prototype.
47255 [GRUB_UTIL] (grub_search_fini): Likewise.
47256
47257 * include/grub/device.h (grub_device_iterate): New prototype.
47258
47259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47260 commands/search.c.
47261 (pkgdata_MODULES): Added search.mod.
47262 (search_mod_SOURCES): New variable.
47263 (search_mod_CFLAGS): Likewise.
47264
47265 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47266 (pkgdata_MODULES): Added search.mod.
47267 (search_mod_SOURCES): New variable.
47268 (search_mod_CFLAGS): Likewise.
47269
47270 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47271 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47272 All callers changed.
47273
47274 * DISTLIST: Added commands/search.c.
47275
ef095434 472762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47277
47278 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47279 conversion.
47280 (grub_getcharwidth): New function.
47281
47282 * kern/misc.c (grub_utf8_to_ucs4): New function.
47283
47284 * include/grub/term.h (struct grub_term): Added a new member
47285 "getcharwidth".
47286 (grub_getcharwidth): New prototype.
47287
47288 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47289
47290 * term/i386/pc/console.c (map_char): New function. Segregated from
47291 grub_console_putchar.
47292 (grub_console_putchar): Use map_char.
47293 (grub_console_getcharwidth): New function.
47294 (grub_console_term): Specified grub_console_getcharwidth as
47295 getcharwidth.
47296
47297 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47298 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47299
47300 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47301 GRUB_ERRNO.
47302 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47303 on grub_strtoul completely.
47304 (write_char): Declare local variables in the beginning of the
47305 function.
47306 (grub_vesafb_getcharwidth): New function.
47307 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47308 getcharwidth.
47309
1f0a95e4 473102005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47311
47312 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47313 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47314 commands/i386/pc/vbetest.c.
47315
47316 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47317 call grub_vbe_get_controller_info again, because the returned
47318 information is volatile.
47319 (grub_vbe_set_video_mode): Mostly rewritten.
47320 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47321 grub_vbe_status_t correctly.
47322 (grub_vbe_get_video_mode_info): Likewise.
47323 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47324 several if statements.
47325
47326 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47327 * commands/i386/pc/vbeinfo.c: ... this.
47328
47329 * commands/i386/pc/vbe_test.c: Renamed to ...
47330 * commands/i386/pc/vbetest.c: ... this.
47331
47332 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47333 ...
47334 (grub_cmd_vbeinfo): ... this. Save video modes before
47335 iterating. Skip a video mode, if it is not available, not enough
47336 information is given or it is monochrome. Show the memory
47337 model. Leave the interpretation of MODEVAR to grub_strtoul
47338 completely.
47339 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47340 (GRUB_MOD_FINI): Likewise.
47341
47342 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47343 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47344 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47345 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47346 grub_strtoul completely.
47347 (real2pm): Removed.
47348 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47349 (GRUB_MOD_FINI): Likewise.
47350
47351 * normal/misc.c: Include grub/mm.h.
47352
47353 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47354 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47355 (vbe_list_modes_mod_SOURCES): Removed.
47356 (vbe_list_modes_mod_CFLAGS): Likewise.
47357 (vbe_test_mod_SOURCES): Likewise.
47358 (vbe_test_mod_CFLAGS): Likewise.
47359 (vbeinfo_mod_SOURCES): New variable.
47360 (vbeinfo_mod_CFLAGS): Likewise.
47361 (vbetest_mod_SOURCES): Likewise.
47362 (vbetest_mod_CFLAGS): Likewise.
47363
992ffbbe 473642005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47365
47366 * normal/misc.c: New file.
47367
47368 * DISTLIST: Added normal/misc.c.
f19dbdb7 47369
992ffbbe 47370 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47371 DISK to HOOK. Call HOOK with DISK.
47372 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47373 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47374 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47375
47376 * normal/menu_entry.c (struct screen): Added a new member
47377 "completion_shown".
47378 (completion_buffer): New global variable.
47379 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47380 (store_completion): New function.
47381 (complete): Likewise.
47382 (clear_completions): Likewise.
47383 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47384 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47385 a tab, call complete.
47386
47387 * normal/completion.c (disk_dev): Removed.
47388 (print_simple_completion): Likewise.
47389 (print_partition_completion): Likewise.
47390 (print_func): New global variable.
47391 (add_completion): Do not take the arguments WHAT or PRINT any
47392 longer. Added a new argument TYPE. Instead of printing directly,
47393 call PRINT_FUNC if not NULL.
47394 All callers changed.
47395 (complete_device): Use a local variable DEV instead of
47396 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47397 (grub_normal_do_completion): Take a new argument HOOK. Do not
47398 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47399 empty string, return NULL instead.
47400 All callers changed.
47401
47402 * normal/cmdline.c (print_completion): New function.
47403
47404 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47405 to HOOK.
47406 All callers changed.
47407
47408 * kern/disk.c (grub_print_partinfo): Removed.
47409
47410 * include/grub/partition.h (struct grub_partition_map): Add a new
47411 argument DISK into HOOK of ITERATE.
47412 (grub_partition_iterate): Add a new argument DISK to HOOK.
47413
47414 * include/grub/normal.h (enum grub_completion_type): New enum.
47415 (grub_completion_type_t): New type.
47416 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47417 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47418 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47419 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47420 (grub_normal_do_completion): Added a new argument HOOK.
47421 (grub_normal_print_device_info): New prototype.
47422
47423 * include/grub/disk.h (grub_print_partinfo): Removed.
47424
47425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47426 (normal_mod_SOURCES): Likewise.
47427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47428 (normal_mod_SOURCES): Likewise.
47429
47430 * commands/ls.c (grub_ls_list_disks): Use
47431 grub_normal_print_device_info instead of grub_print_partinfo. Free
47432 PNAME.
47433 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47434 duplicating the code.
47435
0bd41162 474362005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47437
47438 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47439 follow GCS more precisely.
47440 * commands/i386/pc/vbe_test.c: Likewise.
47441 * include/grub/i386/pc/vbe.h: Likewise.
47442 * term/i386/pc/vesafb.c: Likewise.
47443 * video/i386/pc/vbe.c: Likewise.
0bd41162 47444
6323696a 474452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47446
47447 * DISTLIST: Added term/i386/pc/vesafb.c
47448 DISTLIST: Added video/i386/pc/vbe.c
47449 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47450 DISTLIST: Added commands/i386/pc/vbe_test.c.
47451 * commands/i386/pc/vbe_list_modes.c: New file.
47452 * commands/i386/pc/vbe_test.c: Likewise.
47453 * term/i386/pc/vesafb.c: Likewise.
47454 * video/i386/pc/vbe.c: Likewise.
47455 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47456 (grub_vbe_probe) Added prototype.
47457 (grub_vbe_set_video_mode) Likewise.
47458 (grub_vbe_get_video_mode) Likewise.
47459 (grub_vbe_get_video_mode_info) Likewise.
47460 (grub_vbe_set_pixel_rgb) Likewise.
47461 (grub_vbe_set_pixel_index) Likewise.
47462 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47463 (pkgdata_MODULES): Added vesafb.mod.
47464 (pkgdata_MODULES): Added vbe_list_modes.mod.
47465 (pkgdata_MODULES): Added vbe_test.mod.
47466 (vbe_mod_SOURCES): Added.
47467 (vbe_mod_CFLAGS): Likewise.
47468 (vesafb_mod_SOURCES): Likewise.
47469 (vesafb_mod_CFLAGS): Likewise.
47470 (vbe_list_modes_mod_SOURCES): Likewise.
47471 (vbe_list_modes_mod_CFLAGS): Likewise.
47472 (vbe_test_mod_SOURCES): Likewise.
47473 (vbe_test_mod_CFLAGS): Likewise.
47474
0a74e62f 474752005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47476
0a74e62f 47477 * normal/command.c (grub_command_execute): If INTERACTIVE is
47478 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47479 CMDLINE. Disable the pager if INTERACTIVE is true.
47480 All callers are changed.
47481
47482 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47483 before reading a config file.
47484 * normal/main.c (read_config_file): Even if a command is not
47485 found, register it if it is within an entry.
47486
47487 * util/grub-emu.c: Include sys/types.h and unistd.h.
47488 (options): Added --hold.
47489 (struct arguments): Added a new member "hold".
47490 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47491 missing.
47492 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47493 cleared by a debugger, if it is not zero.
47494
47495 * include/grub/normal.h (grub_command_execute): Add an argument
47496 INTERACTIVE.
47497
e51f85ae 474982005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47499
47500 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47501
e9c6f39b 475022005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47503
47504 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47505 program with another one, because the old one didn't detect a bug
47506 in gcc-3.4. Always use regparm 2, because the new test is still
47507 not enough for gcc-4.0. Someone must investigate a simple test
47508 case which detects a bug in gcc-4.0.
47509
8de3495c 475102005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47511
47512 * DISTLIST: Added normal/completion.c.
47513
47514 * normal/completion.c: New file.
f19dbdb7 47515
8de3495c 47516 * term/i386/pc/console.c (grub_console_getwh): New function.
47517 (grub_console_term): Assign grub_console_getwh to getwh.
47518
47519 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47520 function is defined in normal/completion.c as
47521 grub_normal_do_completion.
47522 (grub_cmdline_get): Use grub_normal_do_completion instead of
47523 grub_tab_complete.
47524
47525 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47526 returns non-zero, otherwise return 0.
47527 (grub_partition_iterate): First, probe the partition map. Then,
47528 call ITERATE only for this partition map.
47529
47530 * kern/misc.c (grub_strncmp): Rewritten.
47531
47532 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47533 returns non-zero. Otherwise return 0.
47534
47535 * include/grub/partition.h (grub_partition_map_iterate): Return
47536 int instead of void.
47537
47538 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47539
47540 * include/grub/misc.h (grub_strncmp): Change the type of N to
47541 grub_size_t.
47542
47543 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47544 of void.
47545
47546 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47547 unsigned explicitly before comparing it with I.
8de3495c 47548
47549 * kern/main.c (grub_env_write_root): Add the attribute unused into
47550 VAR.
47551
47552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47553 normal/completion.c.
47554 (normal_mod_SOURCES): Likewise.
47555 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47556 (normal_mod_SOURCES): Likewise.
47557
47558 * normal/command.c (grub_iterate_commands): If ITERATE returns
47559 non-zero, return one immediately.
47560
e85e144b 475612005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47562
47563 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47564 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47565 descriptions.
47566 (grub_vbe_get_controller_info): New function.
47567 (grub_vbe_get_mode_info): Likewise.
47568 (grub_vbe_set_mode): Likewise.
47569 (grub_vbe_get_mode): Likewise.
47570 (grub_vbe_set_memory_window): Likewise.
47571 (grub_vbe_get_memory_window): Likewise.
47572 (grub_vbe_set_scanline_length): Likewise.
47573 (grub_vbe_get_scanline_length): Likewise.
47574 (grub_vbe_set_display_start): Likewise.
47575 (grub_vbe_get_display_start): Likewise.
47576 (grub_vbe_set_palette_data): Likewise.
47577 * include/grub/i386/pc/vbe.h: New file.
47578
c46153d2 475792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47580
47581 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47582 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47583 * DISTLIST: Likewise.
47584 * kern/ieee1275/of.c: Moved to ...
47585 * kern/ieee1275/ieee1275.c: ... here.
47586
0cb90c45 475872005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47588
47589 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47590 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47591 Pass 0 as `end' parameter to grub_strtoul().
47592
a19fb360 475932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47594
47595 * include/grub/powerpc/ieee1275/console.h: Do not include
47596 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47597 ifdef.
47598 (grub_console_cur_color): Remove i386-specific prototype.
47599 (grub_console_real_putchar): Likewise.
47600 (grub_console_checkkey): Likewise.
47601 (grub_console_getkey): Likewise.
47602 (grub_console_getxy): Likewise.
47603 (grub_console_gotoxy): Likewise.
47604 (grub_console_cls): Likewise.
47605 (grub_console_setcursor): Likewise.
47606 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47607 Include <grub/machine/console.h>.
47608 * term/ieee1275/ofconsole.c: Likewise.
47609
4ac9bd04 476102005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47611
47612 * Makefile.in (LIBLZO): New variable.
47613
47614 * configure.ac: Check for LZO version 2.
47615
47616 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47617 lzo/lzo1x.h instead of lzo1x.h.
47618
47619 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47620 of -llzo.
47621
47622 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47623 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47624
47625 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47626 copying the data from PARTITION to P.
47627
f4917dfd 476282005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47629
47630 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47631 negative, unload the module.
47632
47633 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47634 map is "pc_partition_map" but not "pc".
47635 (usage): Fix the description. The options are --boot-image and
47636 --core-image but not --boot-file or --core-file.
47637 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47638 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47639 DEFAULT_DIRECTORY.
47640
47641 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47642 --core-file. Specify INSTALL_DEVICE as an argument.
47643
47644 * util/console.c: Include config.h.
47645 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47646 [HAVE_NCURSES_H]: Include ncurses.h.
47647 [HAVE_CURSES_H]: Include curses.h.
47648 [!A_NORMAL] (A_NORMAL): Defined as zero.
47649 [!A_STANDOUT] (A_STANDOUT): Likewise.
47650
47651 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47652 -lncurses.
47653 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47654
47655 * configure.ac: Check for curses libraries and headers.
47656
47657 * Makefile.in (LIBCURSES): New variable.
47658
47659 * genmk.rb (Script::rule): Set the executable bits.
47660
47661 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47662 name of the PC partition map is "pc_partition_map" but not "pc".
47663
0e143073 476642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47665
47666 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47667 (modules): Likewise.
47668 (usage): Added descriptions for --modules and --grub-probefs.
47669 Handle --modules and --grub-probefs. Save the arguments in MODULES
47670 and GRUB_PROBEFS, respectively.
47671 Auto-detect a filesystem module against GRUBDIR. If the result is
47672 empty and modules are not specified explicitly, abort the
47673 installation. Add the result to MODULES.
47674
47675 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47676 disk/powerpc/ieee1275/ofdisk.c,
47677 include/grub/powerpc/ieee1275/init.h and
47678 term/powerpc/ieee1275/ofconsole.c.
47679 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47680 term/ieee1275/ofconsole.c.
47681
47682 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47683
47684 * COPYING: Upgraded to the latest version. Only the address of the
47685 FSF office has changed.
f19dbdb7 47686
efd6e6d5 476872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47688
47689 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47690 kern/ieee1275.c with kern/ieee1275/of.c.
47691
47692 * kern/ieee1275.c: Moved to ...
47693 * kern/ieee1275/of.c: ... here.
47694
8ceafda2 476952005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47696
47697 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47698 readability.
8ceafda2 47699
47700 * config.guess: Updated to the latest version from gnulib.
47701 * config.sub: Likewise.
47702 * install.sh: Likewise.
47703 * mkinstalldirs: Likewise.
47704
47705 * include/grub/console.h: Removed. This file is arch-specific. Do
47706 not put this in include/grub.
47707
47708 * include/grub/i386/pc/console.h: Resurrected.
47709
47710 * util/console.c: Include grub/machine/console.h instead of
47711 grub/console.h.
47712 * util/grub-emu.c: Likewise.
47713
267f6cd9 477142005-08-04 Marco Gerards <metgerards@student.han.nl>
47715
47716 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47717 hardcoded value.
f19dbdb7 47718
267f6cd9 47719 From Vincent Pelletier <subdino2004@yahoo.fr>
47720 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47721 Redefined to use grub_getwh.
47722 (grub_term): New member named getwh.
47723 (grub_getwh): New prototype.
47724 * kern/term.c (grub_getwh): New function.
47725 * term/i386/pc/console.c (grub_console_getwh): New function.
47726 (grub_console_term): New member `getwh'.
47727 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47728 (grub_vga_term): New member `getwh'.
0b5abe02 47729 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47730 grub_ssize_t.
47731 (grub_ofconsole_getw): New function.
47732 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47733 (grub_ofconsole_term): New field named getwh and new initial
47734 value.
47735
3be7266d 477362005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47737
47738 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47739 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47740 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47741 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47742 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47743 of <grub/machine/ieee1275.h>.
47744 * commands/ieee1275/reboot.c: Likewise.
47745 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47746 * kern/ieee1275.c: ... to here. All users updated. Change all
47747 parameter structs to use new type `grub_ieee1275_cell_t'.
47748 * term/powerpc/ieee1275/ofconsole.c: Move ...
47749 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47750 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47751 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47752 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47753 to return int.
47754 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47755 Remove unused prototypes. All users updated.
47756 * include/grub/powerpc/ieee1275/console.h: Removed.
47757 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47758 `grub_ieee1275_cell_t'.
47759 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47760 Cast comparisons with -1 to the correct type.
47761 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47762 type to match `grub_ieee1275_entry_fn'.
47763
8b5f3938 477642005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47765
47766 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47767
47768 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47769 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47770 partmap/sun.c.
47771 (grub_probefs_SOURCES): New variable.
47772
47773 * util/i386/pc/grub-probefs.c: New file.
47774
47775 * util/i386/pc/grub-setup.c (main): Call
47776 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47777 grub_hfs_init and grub_jfs_init to initialize the system. Call
47778 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47779 grub_pc_partition_map_fini to finish the system.
47780
ea409713 477812005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47782
47783 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47784 function.
47785 (grub_multiboot_load_elf32): Likewise.
47786 (grub_multiboot_is_elf64): Likewise.
47787 (grub_multiboot_load_elf64): Likewise.
47788 (grub_multiboot_load_elf): Likewise.
47789 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47790 an ELF32 or ELF64 file.
47791 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47792
47793 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47794 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47795 NULL before calling FS->LABEL.
47796 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47797 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47798 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47799 before calling FS->LABEL.
47800
141a288b 478012005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47802
47803 * util/i386/pc/grub-install.in (datadir): New variable.
47804 (libdir): Removed.
47805 (pkgdatadir): New variable.
47806 (pkglibdir): Removed.
47807
0d5f8a54 478082005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47809
47810 * DISTLIST: Added util/i386/pc/grub-install.in.
47811
47812 * util/i386/pc/grub-install.in: New file.
47813
47814 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47815 (grub_install_SOURCES): Likewise.
47816
47817 * genmk.rb: Added support for scripts.
47818 (Script): New class.
47819 (scripts): New variable.
47820
47821 * Makefile.in (install-local): Install sbin_SCRIPTS by
47822 INSTALL_SCRIPT.
47823 (uninstall): Remove sbin_SCRIPTS.
47824
47825 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47826 device, try to get a GRUB device by
47827 grub_util_biosdisk_get_grub_dev.
47828 Free DEST_DEV.
47829
47830 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47831 description for --device-map.
47832
5f968e1e 478332005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47834
47835 Change the semantics of variable hooks. They now return strings
47836 instead of error values.
f19dbdb7 47837
5f968e1e 47838 * util/i386/pc/grub-setup.c: Include grub/env.h.
47839 (setup): Use grub_device_set_root instead of grub_env_set.
47840
47841 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47842 grub_env_get instead of grub_device_set_root and
47843 grub_device_get_root, respectively.
47844
47845 * kern/main.c (grub_env_write_root): New function.
47846 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47847 grub_env_set instead of grub_device_set_root.
47848
47849 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47850 many variables.
47851 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47852 rather than calling ENV->WRITE_HOOK afterwards.
47853 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47854 passing a pointer of a pointer.
47855 (grub_register_variable_hook): Change the types of "read_hook" and
47856 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47857 respectively.
47858 Allocate the default empty string on the heap, because this string
47859 may be freed later.
47860
47861 * kern/device.c: Include grub/env.h.
47862 (grub_device_set_root): Removed.
47863 (grub_device_get_root): Likewise.
47864 (grub_device_open): Use grub_env_get instead of
47865 grub_device_get_root.
47866
47867 * include/grub/env.h (grub_env_read_hook_t): New type.
47868 (grub_env_write_hook_t): Likewise.
47869 (grub_env_var): Change the types of "read_hook" and "write_hook"
47870 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47871 (grub_register_variable_hook): Likewise.
47872
47873 * include/grub/device.h (grub_device_set_root): Removed.
47874 (grub_device_set_root): Likewise.
47875
47876 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47877 make sure that DIRNAME terminates with '/', so that
47878 grub_fat_find_dir will fail if PATH is not a directory.
47879
47880 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47881 from DIRNAME.
47882 Use the qualifier auto for print_files and print_files_long.
47883 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47884 as a regular file.
47885 Put a newline only if there is no error.
47886 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47887 used.
47888
896f0afd 478892005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47890
47891 * kern/partition.c (grub_partition_probe): Initialize PART to
47892 NULL. Otherwise, when no partition map is registered, this returns
47893 a garbage.
47894
b28b81b2 478952005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47896
47897 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47898 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47899 valid.
47900
5f3607e0 479012005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47902
47903 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47904 information on each device, if it does not have partitions. Print
47905 "Device" instead of "Disk", because this function is not specific
47906 to disk devices.
47907
47908 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47909 static to ensure that it is put on the memory rather than a
47910 register.
47911
502c87e8 479122005-07-17 Yoshinori Okuji <okuji@enbug.org>
47913
47914 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47915 (grub_cat_init): Likewise.
47916 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47917 (options): Likewise.
47918 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47919 (grub_configfile_init): Likewise.
47920 * font/manager.c (GRUB_MOD_INIT): Likewise.
47921 * commands/help.c (GRUB_MOD_INIT): Likewise.
47922 (grub_help_init): Likewise.
47923 * normal/command.c (grub_command_init): Likewise.
47924 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47925 * disk/loopback.c (grub_loop_init): Likewise.
47926 (GRUB_MOD_INIT): Likewise.
47927 * commands/ls.c (grub_ls_init): Likewise.
47928 (GRUB_MOD_INIT): Likewise.
47929 (options): Likewise.
47930 * commands/boot.c (grub_boot_init): Likewise.
47931 (GRUB_MOD_INIT): Likewise.
47932 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47933 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47934 (GRUB_MOD_INIT): Likewise.
47935 * commands/cmp.c (grub_cmp_init): Likewise.
47936 (GRUB_MOD_INIT): Likewise.
47937
47938 * normal/arg.c: Use <> instead of "" to include header files.
47939 (SHORT_ARG_HELP): New macro.
47940 (SHORT_ARG_USAGE): Likewise.
47941 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47942 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47943 descriptions.
47944 (find_short): Check if C is 'h' or 'u' explicitly.
47945 (grub_arg_show_help): Use space characters instead of tabs. Treat
47946 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47947 are shown with --help and --usage only if they are not used for
47948 the command itself.
47949 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47950 'h' and 'u'.
47951
47952 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47953 const into "longarg". Change the type of "shortarg" to int.
47954
f806d18e 479552005-07-17 Yoshinori Okuji <okuji@enbug.org>
47956
47957 * boot/i386/pc/boot.S (boot_drive_check): New label.
47958
47959 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47960 macro.
47961
47962 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47963 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47964
e293232b 479652005-07-17 Yoshinori Okuji <okuji@enbug.org>
47966
47967 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47968 When turning off Gate A20, skip the check and return immediately,
47969 because this is not fatal usually.
47970
ebedfd00 479712005-07-17 Yoshinori Okuji <okuji@enbug.org>
47972
47973 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47974 be 0x7C00 instead of 0x8000.
47975
47976 * boot/i386/pc/pxeboot.S: Rewritten.
47977
47978 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47979 EXT_C.
47980 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47981 result.
47982
654fc59f 479832005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47984
47985 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47986 robustness. This routine now supports a BIOS call and System
47987 Control Port A to modify the gate A20.
47988
47989 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47990 Increased to 0x440.
47991
09f9923f 479922005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47993
47994 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47995 device path and resulting ihandle.
47996 (grub_ofdisk_close): dprintf the ihandle being closed.
47997 (grub_ofdisk_read): dprintf function parameters.
47998 * kern/mm.c (grub_mm_init_region): Likewise.
47999 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48000 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48001 size, and boot arguments.
48002 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48003 before loading into memory.
48004 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48005 before loading into memory.
48006
7ef504d8 480072005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48008
48009 * kern/mm.c: Added much documentation.
48010 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48011 8, set to 5 instead of 8.
48012
e0f050c2 480132005-07-10 Yoshinori Okuji <okuji@enbug.org>
48014
48015 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48016
48017 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48018 (grub_mkdevicemap_SOURCES): New variable.
48019
48020 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48021 lib/device.c of GRUB Legacy.
48022
7224189a 480232005-07-10 Yoshinori Okuji <okuji@enbug.org>
48024
48025 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48026 instead of PATH is NULL.
48027
68c864eb 480282005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48029
48030 * commands/cmp.c (BUFFER_SIZE): New macro.
48031 (grub_cmd_cmp): Close the right file at the right time. Compare
48032 only data just read. Don't report files of different size as
48033 identical. Dynamically allocate buffers. Move variable
48034 declarations at the beginning of function.
48035
e6f3e614 480362005-07-09 Yoshinori Okuji <okuji@enbug.org>
48037
48038 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48039 reverse.
48040
f8f1559a 480412004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48042
48043 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48044 when backspace is pressed at beginning of line.
48045
39c9d41d 480462005-07-03 Yoshinori Okuji <okuji@enbug.org>
48047
48048 * DISTLIST: Added genfslist.sh.
48049
48050 * normal/main.c (fs_module_list): New variable.
48051 (autoload_fs_module): New function.
48052 (read_fs_list): Likewise.
48053 (grub_normal_execute): Call read_fs_list.
48054
48055 * kern/fs.c (grub_fs_autoload_hook): New variable.
48056 (grub_fs_probe): Added support for auto-loading.
48057
48058 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48059 (grub_fs_module_list_t): New type.
48060
48061 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48062 (grub_fs_autoload_hook): New prototype.
48063
48064 * genfslist.sh: New file.
f19dbdb7 48065
39c9d41d 48066 * genmk.rb: Added a rule to generate a filesystem list.
48067
121c1d83 480682005-06-30 Marco Gerards <metgerards@student.han.nl>
48069
48070 * configure.ac: Fix the test for cross-compiling.
48071
48072 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48073 define GRUB_UTIL anymore.
48074
48075 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48076 so this function works on other systems than just big endian.
48077 (load_modules): Likewise.
48078 (add_segments): Likewise.
48079
e75d76e1 480802005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48081
48082 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48083 contains `l' modifier, get a long from va_arg().
48084
50b5a0a7 480852005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48086
48087 * kern/mm.c (grub_free): If the next free block which is being
48088 merged is the first free block, set the first block to the block
48089 being freed.
48090 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48091
89371b20 480922005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48093
48094 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48095 `grub_ieee1275_chosen'.
48096
168d6e58 480972005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48098
48099 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48100 (grub_ieee1275_chosen): New variable.
48101 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48102 `chosen'.
48103 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48104 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48105 Rename first argument to `phandle' for consistency.
48106 (grub_ieee1275_get_property_length): Likewise.
48107 (grub_ieee1275_next_property): Likewise. Change type of first argument
48108 to grub_ieee1275_phandle_t.
48109 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48110 Move export next to declaration.
48111 (grub_ieee1275_chosen): New variable.
48112 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48113 Correct cosmetic typo.
48114 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48115 `grub_ieee1275_chosen'.
48116 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48117 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48118 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48119 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48120 `grub_ieee1275_chosen'.
48121
ca5baa3f 481222005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48123
48124 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48125 /chosen/bootargs.
48126 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48127 /chosen/bootargs as "variable=value" pairs.
48128
708b345f 481292005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48130
48131 * include/grub/misc.h (grub_dprintf): New macro.
48132 (grub_real_dprintf): New prototype.
48133 (grub_strword): Likewise.
48134 (grub_iswordseparator): Likewise.
48135 * kern/misc.c (grub_real_dprintf): New function.
48136 (grub_strword): Likewise.
48137 (grub_iswordseparator): Likewise.
48138
f4c5e67c 481392005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48140
48141 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48142 (roundup): Remove macro.
48143 (grub_ieee1275_flags): Make static.
48144 (grub_ieee1275_realmode): Remove.
48145 (grub_ieee1275_test_flag): New function.
48146 (grub_ieee1275_set_flag): Likewise.
48147 (find_options): Rename to `grub_ieee1275_find_options'; update
48148 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48149 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48150 (cmain): New prototype.
48151 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48152 `grub_ieee1275_flags' directly.
48153 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48154 machine/biosdisk.h.
48155 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48156 Don't include grub/machine/init.h.
48157 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48158 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48159 Remove prototype.
48160 (grub_ieee1275_realmode): Likewise.
48161 (grub_ieee1275_flag): New enum.
48162 (grub_ieee1275_test_flag): New prototype.
48163 (grub_ieee1275_set_flag): New prototype.
48164 * include/grub/powerpc/ieee1275/init.h: Remove file.
48165 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48166 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48167 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48168 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48169 comment.
48170 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48171 `grub_ieee1275_test_flag'.
48172 (grub_ieee1275_encode_devname): Likewise.
48173
ed16607e 481742005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48175
48176 * include/grub/powerpc/ieee1275/ieee1275.h
48177 (grub_ieee1275_encode_devname): New prototype.
48178 (grub_ieee1275_get_filename): Likewise.
48179 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48180 function.
48181 (grub_set_prefix): Likewise.
48182 (grub_machine_init): Call grub_set_prefix.
48183 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48184 (grub_parse_type): New enum.
48185 (grub_ieee1275_get_devargs): New function.
48186 (grub_ieee1275_get_devname): Likewise.
48187 (grub_ieee1275_parse_args): Likewise.
48188 (grub_ieee1275_get_filename): Likewise.
48189 (grub_ieee1275_encode_devname): Likewise.
48190
be369920 481912005-03-30 Marco Gerards <metgerards@student.han.nl>
48192
48193 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48194 `grub_loader_unset'.
48195
a5ce3a4a 481962005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48197
48198 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48199 instead of grub_ieee1275_interpret.
48200 (grub_halt_init): New function.
48201 (grub_halt_fini): Likewise.
48202 (GRUB_MOD_INIT): Correct message grammar.
48203 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48204 instead of grub_ieee1275_interpret.
48205 (grub_reboot_init): New function.
48206 (grub_reboot_fini): Likewise.
48207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48208 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48209 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48210 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48211 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48212 function.
48213 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48214 Add prototype.
48215 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48216 prototype.
48217 (grub_halt): Likewise.
48218 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48219 (cmain): Remove __attribute__((unused)).
48220 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48221 (grub_heap_len): Likewise.
48222 (grub_machine_fini): New function.
48223 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48224 (grub_halt): Likewise.
48225 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48226 function.
48227 * util/powerpc/ieee1275/misc.c: New file.
48228
0058f771 482292005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48230
48231 * DISTLIST: New file.
48232 * gendistlist.sh: Likewise.
f19dbdb7 48233
0058f771 48234 * Makefile.in (COMMON_DISTFILES): Removed.
48235 (BOOT_DISTFILES): Likewise.
48236 (CONF_DISTFILES): Likewise.
48237 (DISK_DISTFILES): Likewise.
48238 (FS_DISTFILES): Likewise.
48239 (INCLUDE_DISTFILES): Likewise.
48240 (KERN_DISTFILES): Likewise.
48241 (LOADER_DISTFILES): Likewise.
48242 (TERM_DISTFILES): Likewise.
48243 (UTIL_DISTFILES): Likewise.
48244 (DISTFILES): Likewise.
48245 (uninstall): Uninstall files in $(pkgdata_DATA).
48246 (DISTLIST): New target.
48247 (distdir): Use the contents of the file DISTLIST to get a list of
48248 distributed files.
48249
46b3b8a5 482502005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48251
48252 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48253 descriptor. This is ported from GRUB Legacy.
48254
48255 * gencmdlist.sh: Added an extra semicolon to make it work with
48256 old sed versions. Reported by Robert Bihlmeyer
48257 <robbe@orcus.priv.at>.
48258
5822ff87 482592005-03-08 Yoshinori Okuji <okuji@enbug.org>
48260
48261 Automatic loading of commands is supported.
f19dbdb7 48262
5822ff87 48263 * normal/main.c (read_command_list): New function.
48264 (grub_normal_execute): Call read_command_list.
48265
48266 * normal/command.c (grub_register_command): Return zero or CMD.
48267 Allocate CMD->NAME from the heap.
48268 Initialize CMD->MODULE_NAME to zero.
48269 Find the same name as well. If the same command is found and it is
48270 a dummy command, overwrite members. If it is not a dummy command,
48271 return zero.
48272 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48273 (grub_command_find): If a dummy command is found, load a module
48274 and retry to find a command only once.
48275
48276 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48277 make sure that each command is loaded.
48278
48279 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48280 macro.
48281 (struct grub_command): Remove const from the member `name'.
48282 Add a new member `module_name'.
48283 (grub_register_command): Return grub_command_t.
48284
48285 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48286 sure that each command is loaded.
48287
48288 * genmk.rb (PModule::rule): Specify a module name without the
48289 suffix ".mod" to gencmdlist.sh.
48290
7b1f4b57 482912005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48292
48293 * gencmdlist.sh: New file.
f19dbdb7 48294
7b1f4b57 48295 * genmk.rb (PModule::rule): Generate a rule for a command list.
48296 Clean command.lst.
48297 Generate command.lst from $(COMMANDFILES).
48298
48299 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48300 (DATA): Added $(pkgdata_DATA).
48301 (install-local): Install files in $(pkgdata_DATA).
48302
062aaf39 483032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48304
48305 * term/i386/pc/vga.c (debug_command): Removed.
48306 (GRUB_MOD_INIT): Do not register the command "debug".
48307
48308 From Hollis Blanchard:
48309 * commands/configfile.c: New file.
48310 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48311 commands/configfile.c.
48312 (pkgdata_MODULES): Added configfile.mod.
48313 (configfile_mod_SOURCES): New variable.
48314 (configfile_mod_CFLAGS): Likewise.
48315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48316 commands/configfile.c.
48317 (pkgdata_MODULES): Added configfile.mod.
48318 (configfile_mod_SOURCES): New variable.
48319 (configfile_mod_CFLAGS): Likewise.
48320 * util/grub-emu.c (main): Call grub_configfile_init and
48321 grub_configfile_fini.
48322 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48323 prototype.
48324 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48325
cee01aa6 483262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48327
48328 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48329 address.
48330
48331 * commands/help.c (grub_cmd_help): Do not print newlines after
48332 the last command in print_command_help.
48333
93f3a1d8 483342005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48335
48336 * commands/default.h: New file.
48337 * commands/timeout.h: Likewise.
48338 * normal/context.c: Likewise.
f19dbdb7 48339
93f3a1d8 48340 * util/misc.c: Do not include sys/times.h.
48341 Include sys/time.h and grub/machine/time.h.
48342 (grub_get_rtc): Rewritten with gettimeofday.
48343
48344 * util/grub-emu.c (main): Call grub_default_init and
48345 grub_timeout_init before grub_normal_init, and call
48346 grub_timeout_fini and grub_default_fini after grub_main.
48347
48348 * util/console.c (grub_ncurses_checkkey): Return the read
48349 character or -1.
48350
48351 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48352 timeouts.
48353
48354 * normal/main.c (read_config_file): Push MENU. If this fails,
48355 print an error and wait for a user input.
48356 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48357 If a menu is empty or an error occurs, pop MENU.
48358 (grub_normal_execute): Pop and free MENU after grub_menu_run
48359 returns.
48360
48361 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48362
48363 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48364 include time.h.
48365 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48366 without GRUB_UTIL.
48367 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48368 time.h.
48369 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48370 without GRUB_UTIL.
48371
48372 * include/grub/normal.h (struct grub_menu_list): New struct.
48373 (grub_menu_list_t): New type.
48374 (struct grub_context): New struct.
48375 (grub_context_t): New type.
48376 (grub_register_command): Got rid of EXPORT_FUNC.
48377 (grub_unregister_command): Likewise.
48378 (grub_context_get): New prototype.
48379 (grub_context_get_current_menu): Likewise.
48380 (grub_context_push_menu): Likewise.
48381 (grub_context_pop_menu): Likewise.
48382 [GRUB_UTIL] (grub_default_init): Likewise.
48383 [GRUB_UTIL] (grub_default_fini): Likewise.
48384 [GRUB_UTIL] (grub_timeout_init): Likewise.
48385 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48386
48387 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48388 commands/timeout.c and normal/context.c.
48389 (pkgdata_MODULES): Added default.mod and timeout.mod.
48390 (normal_mod_SOURCES): Added normal/context.c.
48391 (default_mod_SOURCES): New variable.
48392 (default_mod_CFLAGS): Likewise.
48393 (timeout_mod_SOURCES): Likewise.
48394 (timeout_mod_CFLAGS): Likewise.
48395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48396 conf/i386-pc.rmk.
48397 (pkgdata_MODULES): Added default.mod and timeout.mod.
48398 (normal_mod_SOURCES): Added normal/context.c.
48399 (default_mod_SOURCES): New variable.
48400 (default_mod_CFLAGS): Likewise.
48401 (timeout_mod_SOURCES): Likewise.
48402 (timeout_mod_CFLAGS): Likewise.
48403
48404 * Makefile.in (all-local): Added $(MKFILES).
48405
4ed2e1dd 484062005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48407
48408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48409 (grub_emu_SOURCES): Likewise.
48410 (pkgdata_MODULES): Add `sun.mod'.
48411 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48413 `partmap/sun.c'.
48414 (pkgdata_MODULES): Add `sun.mod'.
48415 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48416 * include/grub/partition.h (grub_sun_partition_map_init): New
48417 prototype.
48418 (grub_sun_partition_map_fini): Likewise.
48419 * partmap/sun.c: New file.
48420 * util/grub-emu.c (main): Initialize and de-initialize the sun
48421 partitionmap support.
48422
4d4e372e 484232005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48424
48425 This implements an Emacs-like menu entry editor.
f19dbdb7 48426
4d4e372e 48427 * normal/menu_entry.c: New file.
f19dbdb7 48428
4d4e372e 48429 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48430 characters to ASCII.
48431 (saved_char): New variable.
48432 (grub_ncurses_checkkey): Rewritten completely.
48433 (grub_ncurses_getkey): Likewise.
48434 (grub_ncurses_init): Call raw instead of cbreak.
48435
48436 * normal/menu.c (print_entry): Do not put a space.
48437 (init_page): Renamed to ...
48438 (grub_menu_init_page): ... this. All callers changed.
48439 (edit_menu_entry): Removed.
48440 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48441
48442 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48443
48444 * kern/misc.c (grub_vprintf): Call grub_refresh.
48445
48446 * normal/menu.c (DISP_LEFT): Renamed to ...
48447 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48448 * normal/menu.c (DISP_UP): Renamed to ...
48449 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48450 * normal/menu.c (DISP_RIGHT): Renamed to ...
48451 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48452 * normal/menu.c (DISP_DOWN): Renamed to ...
48453 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48454 * normal/menu.c (DISP_HLINE): Renamed to ...
48455 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48456 * normal/menu.c (DISP_VLINE): Renamed to ...
48457 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48458 * normal/menu.c (DISP_UL): Renamed to ...
48459 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48460 * normal/menu.c (DISP_UR): Renamed to ...
48461 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48462 * normal/menu.c (DISP_LL): Renamed to ...
48463 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48464 * normal/menu.c (DISP_LR): Renamed to ...
48465 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48466 * normal/menu.c (TERM_WIDTH): Renamed to ...
48467 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48468 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48469 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48470 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48471 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48472 * normal/menu.c (TERM_MARGIN): Renamed to ...
48473 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48474 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48475 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48476 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48477 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48478 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48479 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48480 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48481 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48482 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48483 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48484 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48485 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48486 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48487 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48488 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48489 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48490 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48491 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48492 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48493 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48494 All callers changed.
48495
48496 * include/grub/normal.h: New prototype.
48497
48498 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48499 normal/menu_entry.c.
48500 (normal_mod_SOURCES): Likewise.
48501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48502 (normal_mod_SOURCES): Likewise.
48503
e6b92c8a 485042005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48505
48506 * include/grub/normal.h (grub_halt_init): New prototype.
48507 (grub_halt_fini): Likewise.
48508 (grub_reboot_init): Likewise.
48509 (grub_reboot_fini): Likewise.
48510
48511 * util/grub-emu.c: Include signal.h.
48512 (main_env): New global variable.
48513 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48514 catch C-c.
48515 (grub_machine_fini): New function.
48516 (main): Call grub_halt_init and grub_reboot_init before
48517 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48518 Call setjmp with MAIN_ENV to go back afterwards.
48519 Call grub_machine_fini right before return.
48520
48521 * include/grub/util/misc.h: Include setjmp.h.
48522 (main_env): New prototype.
48523
48524 * include/grub/kernel.h (grub_machine_fini): New prototype.
48525 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48526 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48527
48528 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48529 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48530 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48531
e6b92c8a 48532 * util/i386/pc/misc.c: New file.
f19dbdb7 48533
e6b92c8a 48534 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48535 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48536 commands/i386/pc/reboot.c.
48537
c642636f 485382005-02-14 Guillem Jover <guillem@hadrons.org>
48539
48540 * include/grub/dl.h (grub_dl_check_header): New prototype.
48541 (grub_arch_dl_check_header): Change return type to grub_err_t,
48542 remove size parameter and export function. Update all callers.
48543 * kern/dl.c (grub_dl_check_header): New function.
48544 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48545 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48546 are inside the core.
48547 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48548 independent ELF header checks.
48549 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48550 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48551 `grub_dl_check_header' instead of explicit checks. Check for the
48552 ELF type.
48553 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48554 `grub_dl_check_header' instead of explicit checks. Remove arch
48555 specific ELF header checks.
48556
e6b92c8a 48557 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48558 argument SIZE.
48559
5eabe94b 485602005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48561
48562 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48563 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48564
1b14a681 485652005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48566
48567 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48568 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48569 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48570 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48571 * partmap/amiga.c (amiga_partition_map_iterate): Return
48572 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48573 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48574
aca108aa 485752005-02-01 Guillem Jover <guillem@hadrons.org>
48576
48577 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48578 help info.
48579
c9f9c556 485802005-01-31 Marco Gerards <metgerards@student.han.nl>
48581
48582 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48583 Removed prototype.
48584 (grub_rescue_cmd_linux): New prototype.
48585 (grub_rescue_cmd_initrd): Likewise.
48586 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48587 `bi_rec'.
48588 (grub_linux_release_mem): Release the memory for the initrd.
48589 (grub_load_linux): Renamed from this...
48590 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48591 Changed `entry' not to be static. Loop over memory regions to
48592 find another one when the default fails.
48593 (grub_rescue_cmd_initrd): New function.
48594 (grub_linux_init): Remove function.
48595 (grub_linux_fini): Likewise.
48596 (GRUB_MOD_INIT): Register `initrd'.
48597 (GRUB_MOD_FINI): Unregister `initrd'.
48598 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48599 Function removed.
48600 (grub_linux_normal_fini): Likewise.
48601 (GRUB_MOD_INIT): Register `initrd'.
48602 (GRUB_MOD_FINI): Unregister `initrd'.
48603
990cf3aa 486042005-01-31 Marco Gerards <metgerards@student.han.nl>
48605
48606 * commands/help.c: New file.
48607 * normal/arg.c (show_help): Renamed to...
48608 (grub_arg_show_help): ... this.
48609 * commands/i386/pc/halt.c: New file.
48610 * commands/i386/pc/reboot.c: Likewise.
48611 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48612 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48613 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48614 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48615 variables.
48616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48617 `commands/help.c'.
48618 (pkgdata_MODULES): Add `help.mod'.
48619 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48620 * grub/i386/pc/init.h (grub_reboot): New prototype.
48621 (grub_halt): Likewise.
48622 * include/grub/normal.h (grub_arg_show_help): New prototype.
48623 (grub_help_init): Likewise.
48624 (grub_help_fini): Likewise.
48625 * util/grub-emu.c (main): Initialize and deinitialize the help
48626 command.
48627
48628 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48629
48630 * normal/command.c (grub_command_init): Fixed the description of
48631 the `set' and `unset' commands.
48632
486332005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48634
48635 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48636 function.
48637 * commands/ieee1275/halt.c: New file.
48638 * commands/ieee1275/reboot.c: Likewise.
48639 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48640 `__attribute__ ((unused))'. Some GCS related fixed.
48641 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48642 (grub_suspend_fini): Likewise.
48643 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48644 and `halt.mod'.
48645 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48646 (halt_mod_CFLAGS): New variables.
48647 * include/grub/powerpc/ieee1275/ieee1275.h
48648 (grub_ieee1275_interpret): New prototype.
48649
1ab09cc7 486502005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48651
48652 * include/grub/misc.h (memmove): New prototype.
48653 (memcpy): Likewise.
48654
8b8cbdb2 486552005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48656
48657 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48658 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48659
e3741a27 486602005-01-22 Marco Gerards <metgerards@student.han.nl>
48661
48662 * kern/misc.c (grub_strndup): Function rewritten.
48663
776bd780 486642005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48665
48666 * normal/menu.c (TERM_WIDTH): Macro redefined.
48667 (TERM_TOP_BORDER_Y): Likewise.
48668 (draw_border): Replaced while-loop by a for-loop. Make the number
48669 of lines consistent with the number of lines displayed in
48670 print_entries. Added a margin below the rectangle.
48671 (print_entry): Make the entry fit in the rectangle.
48672 (print_entries): Display the scroll arrows next to the right
48673 border.
48674
78026bce 486752005-01-21 Marco Gerards <metgerards@student.han.nl>
48676
48677 * fs/minix.c (grub_minix_find_file): Reserve more space for
48678 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48679 `grub_strncpy' to copy `path' into it.
48680
67bbaf0f 486812005-01-21 Marco Gerards <metgerards@student.han.nl>
48682
48683 Add the loopback device, a device via which files can be accessed
48684 as devices.
f19dbdb7 48685
67bbaf0f 48686 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48687 (pkgdata_MODULES): Add loopback.mod.
48688 (loopback_mod_SOURCES): New variable.
48689 (loopback_mod_CFLAGS): Likewise.
48690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48691 `disk/loopback.c'.
48692 (pkgdata_MODULES): Add loopback.mod.
48693 (loopback_mod_SOURCES): New variable.
48694 (loopback_mod_CFLAGS): Likewise.
48695 * disk/loopback.c: new file.
48696 * include/grub/normal.h (grub_loop_init): New prototype.
48697 (grub_loop_fini): New prototype.
48698 * util/grub-emu.c (main): Initialize and de-initialize loopback
48699 support.
48700 * include/grub/disk.h (grub_disk_dev_id): Add
48701 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48702
6f1c18bd 487032005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48704
48705 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48706 function.
48707 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48708 (suspend_mod_SOURCES): New variable.
48709 (suspend_mod_CFLAGS): Likewise.
48710 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48711 New prototype.
48712 * commands/ieee1275/suspend.c: New file.
48713
b38551da 487142005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48715
48716 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48717 ((unused))' to `__attribute__ ((used))'.
b38551da 48718 (GRUB_MOD_FINI): Likewise.
48719 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48720 * genmk.rb (PModule): Assign space to common symbols when linking
48721 modules.
48722
777aff39 487232005-01-20 Marco Gerards <metgerards@student.han.nl>
48724
48725 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48726 `unsigned' arguments to `grub_size_t'.
48727 (grub_malloc): Likewise.
48728 (grub_realloc): Likewise.
48729 (grub_memalign): Likewise.
48730 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48731 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48732 * util/misc.c (grub_malloc): Likewise.
48733 (grub_realloc): Likewise.
48734 * kern/mm.c (get_header_from_pointer): Change the casts to
48735 `unsigned' into a cast to `grub_size_t'.
48736
48737 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48738 point to `currnode' when `currnode' is changed.
48739
48740 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48741 Schottelius <nico-linux@schottelius.org>.
48742
d0ff18e1 487432005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48746 (note_path): Remove variable.
48747 (GRUB_IEEE1275_NOTE_NAME): New macro.
48748 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48749 (grub_ieee1275_note_hdr): New structure.
48750 (grub_ieee1275_note_desc): Likewise.
48751 (grub_ieee1275_note): Likewise.
48752 (load_note): Remove `dir' argument. All callers updated. Remove
48753 `note_img' and `path'. Do not load a file from `note_path'.
48754 Initialize a struct grub_ieee1275_note and write that to `out'.
48755 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48756
4ca7004c 487572005-01-05 Marco Gerards <metgerards@student.han.nl>
48758
48759 * util/misc.c (grub_util_read_image): Revert last change. It
48760 called `grub_util_read_at', which seeks from the beginning of the
48761 file.
48762
0b412211 487632005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48764
48765 * TODO: Add note about endianness in grub-mkimage.
48766 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48767 section.
48768 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48769 (grub_mkimage_SOURCES): New target.
48770 * include/grub/kernel.h (grub_start_addr): Remove variable.
48771 (grub_end_addr): Likewise.
48772 (grub_total_module_size): Likewise.
48773 (grub_kernel_image_size): Likewise.
48774 (GRUB_MODULE_MAGIC): New constant.
48775 (grub_module_info): New structure.
48776 (grub_arch_modules_addr): New prototype.
48777 (grub_get_end_addr): Remove prototype.
48778 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48779 * include/grub/powerpc/ieee1275/kernel.h: New file.
48780 * include/grub/util/misc.h (grub_util_get_fp_size): New
48781 prototype.
48782 (grub_util_read_at): Likewise.
48783 (grub_util_write_image_at): Likewise.
48784 * kern/main.c (grub_get_end_addr): Remove function.
48785 (grub_load_modules): Call grub_arch_modules_addr instead of using
48786 grub_end_addr. Look for a grub_module_info struct in memory. Use
48787 the grub_module_info fields instead of calling grub_get_end_addr
48788 as loop conditions. Move grub_add_unused_region code here.
48789 (grub_add_unused_region): Remove function.
48790 * kern/i386/pc/init.c: Include grub/cache.h.
48791 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48792 one call to add_mem_region.
48793 (grub_arch_modules_addr): New function.
48794 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48795 (grub_total_module_size): Likewise.
48796 Include grub/machine/kernel.h.
48797 (grub_arch_modules_addr): New function.
48798 * util/grub-emu.c (grub_end_addr): Remove variable.
48799 (grub_total_module_size): Likewise.
48800 (grub_arch_modules_addr): New function.
48801 * util/misc.c: Include unistd.h.
48802 (grub_util_get_fp_size): New function.
48803 (grub_util_read_at): Likewise.
48804 (grub_util_write_image_at): Likewise.
48805 (grub_util_read_image): Call grub_util_read_at.
48806 (grub_util_write_image): Call grub_util_write_image_at.
48807 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48808 additional memory in kernel_img for a struct grub_module_info.
48809 Fill in that grub_module_info.
48810 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48811
458786f8 488122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48813
48814 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48815 New function.
48816 * include/grub/powerpc/ieee1275/ieee1275.h
48817 (grub_ieee1275_milliseconds): New prototype.
48818 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48819 Change to 1000.
48820 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48821 grub_ieee1275_milliseconds.
48822
ac507d1b 488232005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48824
48825 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48826 variable.
48827 (find_options): New function.
48828 (cmain): Call find_options.
48829 * include/grub/powerpc/ieee1275/ieee1275.h
48830 (grub_ieee1275_realmode): New extern variable.
48831 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48832 grub_map if grub_ieee1275_realmode is false.
48833
6b8fd1c4 488342004-12-29 Marco Gerards <metgerards@student.han.nl>
48835
48836 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48837 lines are inserted and make it work like readline. Reported by
48838 Vincent Pelletier <subdino2004@yahoo.fr>.
48839
8514a1e0 488402004-12-28 Marco Gerards <metgerards@student.han.nl>
48841
48842 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48843
48844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48845 `kern/powerpc/cache.S'.
48846
924b6140 488472004-12-27 Marco Gerards <metgerards@student.han.nl>
48848
48849 * genmk.rb: Handle the `Program' class in the main loop. Written
48850 by Johan Rydberg <jrydberg@gnu.org>.
48851 (Program): New class.
48852 (programs): New variable.
48853 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48854 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48855 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48856 (help_arch): Function removed.
48857 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48858 `powerpc/libgcc.h' and `loader.h'.
48859 (pkgdata_PROGRAMS): New variable.
48860 (sbin_UTILITIES): Variable removed.
48861 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48862 (grubof_SOURCES): Variable re-defined so it only includes the
48863 core functionality.
48864 (grubof_CFLAGS): Remove `-DGRUBOF'.
48865 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48866 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48867 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48868 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48869 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48870 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48871 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48872 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48873 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48874 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48875 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48876 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48877 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48878 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48879 (pc_mod_CFLAGS): New variables.
48880 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48881 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48882 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48883 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48884 Moved from here...
48885 * include/grub/i386/pc/init.h (grub_os_area_addr)
48886 (rub_os_area_size): ... to here.
48887 * include/grub/powerpc/ieee1275/ieee1275.h
48888 (grub_ieee1275_entry_fn): Export symbol.
48889 * include/grub/powerpc/ieee1275/init.h: New file.
48890 * include/grub/powerpc/libgcc.h: Likewise.
48891 * include/grub/cache.h: Likewise.
48892 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48893 <hollis@penguinppc.org>.
48894 * kern/dl.c: Include <grub/cache.h>.
48895 (grub_dl_flush_cache): New function.
48896 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48897 for this module.
48898 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48899 (grub_console_init): Removed prototypes.
48900 (grub_machine_init): Don't initialize the modules anymore.
48901 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48902 static.
48903 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48904 Macro undef removed.
48905 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48906 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48907 relocation `R_PPC_REL32'. Return an error when the relocation is
48908 unknown.
48909 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48910 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48911 * util/misc.c (grub_arch_sync_caches): Likewise.
48912
e4b47e0c 489132004-12-19 Marco Gerards <metgerards@student.han.nl>
48914
48915 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48916 `symlist.c', add `grubof_symlist.c'.
48917 (symlist.c): Variable removed.
48918 (grubof_HEADERS): Variable added.
48919 (grubof_symlist.c): New target.
48920 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48921 `kernel_img_HEADERS'.
48922 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48923 * kern/powerpc/dl.c: New file.
48924 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48925 Function removed.
48926 (grub_arch_dl_relocate_symbols): Likewise.
48927 (grub_register_exported_symbols): Likewise.
48928
4ceb3636 489292004-12-13 Marco Gerards <metgerards@student.han.nl>
48930
48931 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48932 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48933 to fail instead. Reported by Vincent Pelletier
48934 <subdino2004@yahoo.fr>.
48935
48936 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48937 it is not allocated. Reported by Vincent Pelletier
48938 <subdino2004@yahoo.fr>.
48939
48940 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48941 output so the output looks better.
f19dbdb7 48942
3f1578fe 489432004-12-04 Marco Gerards <metgerards@student.han.nl>
48944
48945 Modulize the partition map support and add support for the amiga
48946 partition map.
f19dbdb7 48947
3f1578fe 48948 * commands/ls.c: Include <grub/partition.h> instead of
48949 <grub/machine/partition.h>.
48950 * kern/disk.c: Likewise.
48951 * kern/rescue.c: Likewise.
48952 * loader/i386/pc/chainloader.c: Likewise.
48953 * normal/cmdline.c: Likewise.
48954 * kern/powerpc/ieee1275/init.c: Likewise.
48955 (grub_machine_init): Call `grub_pc_partition_map_init',
48956 `grub_amiga_partition_map_init' and
48957 `grub_apple_partition_map_init'.
48958 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48959 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48960 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48961 `partition.h' and `pc_partition.h'.
48962 (grub_setup_SOURCES): Remove
48963 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48964 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48965 (grub_emu_SOURCES): Likewise.
48966 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48967 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48968 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48970 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48971 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48972 (grubof_SOURCES): Likewise.
48973 * disk/i386/pc/partition.c: File removed.
48974 * disk/powerpc/ieee1275/partition.c: Likewise.
48975 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48976 * include/grub/i386/pc/partition.h: Likewise.
48977 * kern/partition.c: New file.
48978 * partmap/amiga.c: Likewise.
48979 * partmap/apple.c: Likewise.
48980 * partmap/pc.c: Likewise.
48981 * include/grub/partition.h: Likewise..
48982 * include/grub/pc_partition.h: Likewise.
48983 * util/grub-emu.c: Include <grub/partition.h> instead of
48984 <grub/machine/partition.h>.
48985 (main): Call `grub_pc_partition_map_init',
48986 `grub_amiga_partition_map_init' and
48987 `grub_apple_partition_map_init' and deinitialize afterwards.
48988 * util/i386/pc/biosdisk.c: Include `#include
48989 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48990 `<grub/machine/partition.h>'.
48991 * util/i386/pc/grub-setup.c: Likewise.
48992 * util/i386/pc/biosdisk.c: Likewise.
48993 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48994 partition information in case of a PC partition.
48995 * util/i386/pc/grub-setup.c: Include `#include
48996 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48997 `<grub/machine/partition.h>'.
48998 (setup): Only access the PC specific partition information in case
48999 of a PC partition.
49000
0ef4ced9 490012004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49002
0ef4ced9 49003 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49004 (grub_longjmp): Likewise.
49005 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49006 20.
49007 * normal/powerpc/setjmp.S: New file.
49008 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49009 `normal/powerpc/setjmp.S'.
49010 (grubof_CFLAGS): Add `-DGRUBOF'.
49011 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49012 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49013
19950e29 490142004-11-16 Marco Gerards <metgerards@student.han.nl>
49015
49016 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49017 property named `name'. Correctly handle the error returned by
49018 `grub_ieee1275_finddevice' if a device can not be opened.
49019
a2fea427 490202004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49021
49022 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49023 `actual' for negativity.
49024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49025 kern/fshelp.c.
49026
41ea0ea3 490272004-11-01 Marco Gerards <metgerards@student.han.nl>
49028
49029 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49030 (PAGE_OFFSET): New macro.
49031 (CRTC_ADDR_PORT): Likewise.
49032 (CRTC_DATA_PORT): Likewise.
49033 (START_ADDR_HIGH_REGISTER): Likewise.
49034 (START_ADDR_LOW_REGISTER): Likewise.
49035 (GRAPHICS_ADDR_PORT): Likewise.
49036 (GRAPHICS_DATA_PORT): Likewise.
49037 (READ_MAP_REGISTER): Likewise.
49038 (INPUT_STATUS1_REGISTER): Likewise.
49039 (INPUT_STATUS1_VERTR_BIT): Likewise.
49040 (page): New variable.
49041 (wait_vretrace): New function.
49042 (set_read_map): Likewise.
49043 (set_start_address): Likewise.
49044 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49045 the right page.
49046 (check_vga_mem): Take the page into account.
49047 (write_char): Likewise.
49048 (write_cursor): Likewise.
49049 (scroll_up): Likewise. Copy the page to the page that is not
49050 shown and switch between both pages.
49051 (grub_vga_putchar): Fix off by one error.
49052 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49053 account.
49054
ad0bd20b 490552004-11-01 Marco Gerards <metgerards@student.han.nl>
49056
49057 Add support for iso9660 (including rockridge).
f19dbdb7 49058
ad0bd20b 49059 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49060 (iso9660_mod_SOURCES): New variable.
49061 (iso9660_mod_CFLAGS): Likewise.
49062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49063 * include/grub/fs.h (grub_iso9660_init): New prototype.
49064 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49065 * fs/iso9660.c: New file.
49066
49067 * include/grub/misc.h (grub_strncat): New prototype.
49068 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49069
ad0bd20b 49070 * fs/hfs.c (grub_hfs_mount): Translate the error
49071 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49072 * fs/jfs.c (grub_jfs_mount): Likewise.
49073 * fs/ufs.c (grub_ufs_mount): Likewise.
49074
a5477a59 490752004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49076
49077 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49078 which initialized BAT registers.
49079 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49080 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49081 Move from here...
49082 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49083 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49084 ... to here.
49085 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49086 (grub_mapclaim): Likewise.
49087 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49088 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49089 hand.
49090
9304c1f8 490912004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49092
49093 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49094 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49095 -ffreestanding and -msoft-float.
49096
86f4ae25 490972004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49098
49099 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49100 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49101 set in grub_ieee1275_flags.
49102
38912228 491032004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49104
49105 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49106 prototype.
49107 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49108 grub_console_init first.
49109 Change the memory range used for grub_ieee1275_claim and
49110 grub_mm_init_region.
49111 Print an error message if the claim fails.
49112 Include <grub/misc.h>.
49113
d1923dc8 491142004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49115
49116 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49117 Call grub_children_iterate for device nodes of type `scsi',
49118 `ide', or `ata'.
49119 (grub_ofdisk_open): Remove manual device alias resolution.
49120 Fix memory leak when device cannot be opened.
f19dbdb7 49121 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49122 (grub_children_iterate): New prototype.
49123 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49124 New function.
49125 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49126 Return -1 if args.size was -1.
49127
4512e4f3 491282004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49129
49130 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49131 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49132 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49133 Open Firmware's memory for it; claim memory from _start to _end.
49134 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49135 (_end): New extern.
49136 (_start): Zero BSS from __bss_start to _end.
49137 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49138 New extern.
49139 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49140
4d61feb0 491412004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49142
ad0bd20b 49143 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49144 -1 if args.base was -1.
4d61feb0 49145
026fa2f9 491462004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49147
49148 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49149 escape sequence instead of a literal ^L. Also call
49150 grub_ofconsole_gotoxy.
49151
9f2220ef 491522004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49153
49154 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49155 void * arguments to grub_addr_t. All callers updated. Also make
49156 the `result' argument optional.
49157 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49158 All callers updated.
49159
8a572cd7 491602004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49161
49162 * commands/ls.c (grub_ls_list_files): Use the string following the
49163 initial ')', if present, as the filesystem path.
49164 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49165
49166 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49167
18aa81f2 491682004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49169
49170 Make the source code of the menu interface more readable.
f19dbdb7 49171
18aa81f2 49172 * normal/menu.c: Include grub/mm.h.
49173 (TERM_WIDTH): New macro.
49174 (TERM_HEIGHT): Likewise.
49175 (TERM_INFO_HEIGHT): Likewise.
49176 (TERM_MARGIN): Likewise.
49177 (TERM_SCROLL_WIDTH): Likewise.
49178 (TERM_TOP_BORDER_Y): Likewise.
49179 (TERM_LEFT_BORDER_X): Likewise.
49180 (TERM_BORDER_WIDTH): Likewise.
49181 (TERM_MESSAGE_HEIGHT): Likewise.
49182 (TERM_BORDER_HEIGHT): Likewise.
49183 (TERM_NUM_ENTRIES): Likewise.
49184 (TERM_FIRST_ENTRY_Y): Likewise.
49185 (TERM_ENTRY_WIDTH): Likewise.
49186 (TERM_CURSOR_X): Likewise.
49187 (draw_border): Use macros instead of magic numbers.
49188 (print_entry): Likewise.
49189 (print_entries): Likewise.
49190 (run_menu): Likewise. Also, handle the key 'e'.
49191 (run_menu_entry): Ignore empty command lines.
49192 (print_message): Added a new argument EDIT. If EDIT is true,
49193 print a different message.
49194 (init_page): Likewise.
49195 (edit_menu_entry): New function. Not implemented yet.
49196
b47efe30 491972004-09-17 Marco Gerards <metgerards@student.han.nl>
49198
49199 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49200 can be loaded from normal mode.
f19dbdb7 49201
b47efe30 49202 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49203 `multiboot.mod'.
49204 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49205 (multiboot_mod_CFLAGS): New variables.
49206 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49207 * loader/i386/pc/multiboot_normal.c: Likewise.
49208
b47efe30 49209 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49210 attribute `unused'.
f19dbdb7 49211
b47efe30 49212 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49213 `fdiro' to read the mode information from instead of `diro'.
49214
49215 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49216 looking up a symlink.
49217
49218 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49219 macro.
49220 * normal/command.c (grub_command_execute): Don't parse the
49221 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49222 flags of the command.
49223
49224 * normal/menu.c (grub_menu_run): Fix typo.
49225
da75ac71 492262004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49227
49228 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49229
49230 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49231 `y + 1' instead of `y - 1'.
49232
49233 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49234
062b24c2 492352004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49236
49237 From Hollis Blanchard <hollis@penguinppc.org>:
49238 * kern/misc.c (memmove): New alias for grub_memmove.
49239 (memcmp): New alias for grub_memcmp.
49240 (memset): New alias for grub_memset.
f19dbdb7 49241 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49242 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49243 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49244 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49245
8ddad845 492462004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49247
49248 Added normal mode command `chainloader' as module chain.mod, which
49249 depends on normal.mod and _chain.mod.
f19dbdb7 49250
8ddad845 49251 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49252 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49253 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49254 Deleted prototype.
49255 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49256 but arguments parsing moved to ...
49257 (grub_chainloader_cmd): ... here. New function.
49258 * include/grub/i386/pc/chainloader.h: New file.
49259 * loader/i386/pc/chainloader_normal.c: Likewise.
49260
2c1f4ce3 492612004-09-11 Marco Gerards <metgerards@student.han.nl>
49262
49263 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49264 (grub_mkimage_LDFLAGS): Likewise.
49265 (grub_emu_SOURCES): Likewise.
49266 (kernel_img_HEADERS): Added fshelp.h.
49267 * fs/ext2.c: Include <grub/fshelp.h>.
49268 (FILETYPE_REG): New macro.
49269 (FILETYPE_INO_REG): Likewise.
49270 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49271 Changed all users.
49272 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49273 all users.
49274 (grub_fshelp_node): New struct.
49275 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49276 to a pointer.
49277 (grub_ext2_get_file_block): Removed function.
49278 (grub_ext2_read_block): New function.
49279 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49280 This function was written.
49281 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49282 (grub_ext2_find_file): Removed function.
49283 (grub_ext2_read_symlink): New function.
49284 (grub_ext2_iterate_dir): Likewise.
49285 (grub_ext2_open): Rewritten.
49286 (grub_ext2_dir): Rewritten.
49287 * include/grub/fshelp.h: New file.
49288 * fs/fshelp.c: Likewise.
49289
3c52136a 492902004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49291
49292 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49293 (print_message): Add a missing newline.
49294 (run_menu): Added timeout support.
49295 (run_menu_entry): New local function.
49296 (grub_menu_run): Added support for booting.
49297
49298 * kern/loader.c (grub_loader_is_loaded): New function.
49299
49300 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49301 (grub_get_rtc): Exported.
49302
49303 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49304 (grub_get_rtc): Exported.
49305
49306 * include/grub/normal.h (struct grub_command_list): Remove
49307 constant from the member `command'.
49308
49309 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49310
49311 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49312
49313 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49314
aa033560 493152004-08-28 Marco Gerards <metgerards@student.han.nl>
49316
49317 Add support for the JFS filesystem.
49318
49319 * fs/jfs.c: New file.
49320 * include/grub/fs.h (grub_jfs_init): New prototype.
49321 (grub_jfs_fini): New prototype.
49322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49323 (grub_emu_SOURCES): Likewise.
49324 (pkgdata_MODULES): Add jfs.mod.
49325 (jfs_mod_SOURCES): New variable.
49326 (jfs_mod_CFLAGS): Likewise.
49327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49328 (grubof_SOURCES): Likewise.
49329 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49330
49331 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49332 endian to the host endian.
49333 (grub_fat_utf16_to_utf8): Move function from there...
49334 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49335 the endianness of the source string anymore.
aa033560 49336 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49337
94bc45af 493382004-08-24 Marco Gerards <metgerards@student.han.nl>
49339
49340 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49341 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49342 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49343 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49344
94bc45af 49345 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49346 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49347 for `node_found' and `it_dir'.
49348 (grub_hfs_dir): Add prototype for `dir_hook'.
49349
49350 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49351 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49352 and `indir32' to silence a gcc warning.
49353
49354 * include/grub/fs.h (grub_hfs_init): New prototype.
49355 (grub_hfs_fini): Likewise.
f19dbdb7 49356
49357
97543f08 493582004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49359
49360 Each disk device has its own id now. This is useful to make use
49361 of multiple disk devices.
f19dbdb7 49362
97543f08 49363 * include/grub/disk.h (grub_disk_dev_id): New enum.
49364 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49365 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49366
49367 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49368 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49369
49370 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49371 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49372
49373 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49374 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49375
49376 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49377 "id" which is used by the cache manager.
49378
49379 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49380 of just "GRUB".
49381
64372eb4 493822004-08-18 Marco Gerards <metgerards@student.han.nl>
49383
49384 * fs/hfs.c: New file.
49385 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49386 (grub_emu_SOURCES): Likewise.
49387 (pkgdata_MODULES): Add hfs.mod.
49388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49389 (grubof_SOURCES): Likewise.
49390 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49391
49392 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49393 * kern/misc.c (grub_strncasecmp): Add function.
49394
cc61b58f 493952004-08-14 Marco Gerards <metgerards@student.han.nl>
49396
49397 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49398 with parentheses.
49399
49400 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49401 (grub_ext2_dir): In case the directory entry type is unknown, read
49402 it from the inode.
49403
0ef123f6 494042004-08-02 Peter Bruin <pjbruin@dds.nl>
49405
49406 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49407 grub_load_linux instead of grub_rescue_cmd_linux as second
49408 argument of grub_rescue_register_command.
49409
49410 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49411
a447c5df 494122004-07-27 Marco Gerards <metgerards@student.han.nl>
49413
49414 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49415 function.
49416 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49417 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49418 `loader/powerpc/ieee1275/linux.c',
49419 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49420 * include/grub/powerpc/ieee1275/ieee1275.h
49421 (grub_ieee1275_release): New prototype.
49422 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49423 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49424 normal, boot, linux and linux_normal.
49425 * loader/powerpc/ieee1275/linux.c: New file.
49426 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49427
5a9e3546 494282004-07-12 Marco Gerards <metgerards@student.han.nl>
49429
49430 * normal/arg.c (grub_arg_parse): Correct error handling after
49431 reallocating the argumentlist (check if `argl' is not null instead
49432 of checking if `args' is not null).
49433 * kern/mm.c (grub_realloc): Return the same pointer when using the
49434 same region, instead of returning the header address.
49435
e15199cb 494362004-07-11 Marco Gerards <metgerards@student.han.nl>
49437
49438 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49439 one block instead of two when looking for the initial partition.
49440 (grub_partition_probe): Initialize the local variable `p' with 0.
49441 Use base 10 for the grub_strtoul call.
49442 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49443 need for one local variable.
49444 (grub_strtoul): Don't add the new value to `num', instead of that
49445 just assign it.
49446
020616c2 494472004-07-11 Marco Gerards <metgerards@student.han.nl>
49448
49449 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49450 (pxeboot_img_SOURCES): New variable.
49451 (pxeboot_img_ASFLAGS): Likewise.
49452 (pxeboot_img_LDFLAGS): Likewise.
49453 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49454 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49455 <lode_leroy@hotmail.com>.
49456
6c51eb64 494572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49458
49459 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49460 there was no input.
49461
cfb12aff 494622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49463
49464 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49465 the history buffer logic.
49466
6eabba74 494672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49468
49469 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49470 (FILETYPE_INO_SYMLINK): New macros.
49471 (grub_ext2_find_file): Check if the node is a directory using the
49472 inode stat information instead of using the filetype in the
49473 dirent. Exclude the first character of an absolute symlink.
49474 (grub_ext2_dir): Mask out the filetype part of the mode member of
49475 the inode.
49476
66e19ef8 494772004-05-24 Marco Gerards <metgerards@student.han.nl>
49478
49479 Add support for UFS version 1 and 2. Add support for the minix
49480 filesystem version 1 and 2, both the variants with 14 and 30 long
49481 filenames.
f19dbdb7 49482
66e19ef8 49483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49484 fs/minix.c.
49485 (grub_emu_SOURCES): Likewise.
49486 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49487 (ufs_mod_SOURCES): New variable.
49488 (ufs_mod_CFLAGS): Likewise.
49489 (minix_mod_SOURCES): Likewise.
49490 (minix_mod_CFLAGS): Likewise.
49491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49492 fs/minix.c.
49493 (grubof_SOURCES): Likewise.
49494 * fs/ufs.c: New file.
49495 * fs/minix.c: New file.
49496 * include/grub/fs.h (grub_ufs_init): New prototype.
49497 (grub_ufs_fini): Likewise.
49498 (grub_minix_init): Likewise.
49499 (grub_minix_fini): Likewise.
49500 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49501 minix fs.
49502
cc2e748a 495032004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49504
49505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49506 commands/ls.c, commands/terminal.c, commands/boot.c,
49507 commands/cmp.c and commands/cat.c.
49508 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49509
49510 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49511 "env.h"
49512
4b13b216 495132004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49514
49515 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49516 and grub_, respectively. Because the conversion is trivial and
49517 mechanical, I omit the details here. Please refer to the CVS
49518 if you need more information.
49519
6a142551 495202004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49521
49522 * include/pupa: Renamed to ...
49523 * include/grub: ... this.
49524 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49525 * util/i386/pc/grub-mkimage.c: ... this.
49526 * util/i386/pc/pupa-setup.c: Renamed to ...
49527 * util/i386/pc/grub-setup.c: ... this.
49528 * util/pupa-emu.c: Renamed to ...
49529 * util/grub-emu.c: ... this.
49530
e56cdf21 495312004-03-29 Marco Gerards <metgerards@student.han.nl>
49532
49533 Add support for the newworld apple macintosh (PPC). This has been
49534 tested on the powerbook 2000 only. It only adds support for
49535 generic ieee1275 functions, console and disk support. This should
49536 be easy to port to other architectures with support for Open
49537 Firmware.
f19dbdb7 49538
e56cdf21 49539 * configure.ac: Accept the powerpc as host_cpu. In the case of
49540 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49541 specific tests are only executed while building for the i386.
49542 Inverse test for crosscompile.
49543 * genmk.rb (Utility): Allow assembler files.
49544 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49545 * conf/powerpc-ieee1275.rmk: New file.
49546 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49547 * disk/powerpc/ieee1275/partition.c: Likewise.
49548 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49549 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49550 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49551 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49552 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49553 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49554 * include/pupa/powerpc/ieee1275/loader.h
49555 * include/pupa/powerpc/setjmp.h: Likewise.
49556 * include/pupa/powerpc/types.h: Likewise.
49557 * kern/powerpc/ieee1275/init.c: Likewise.
49558 * kern/powerpc/ieee1275/openfw.c: Likewise.
49559 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49560
49561 These files were written by Johan Rydberg
49562 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49563
e56cdf21 49564 * boot/powerpc/ieee1275/cmain.c: New file.
49565 * boot/powerpc/ieee1275/crt0.S: Likewise.
49566 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49567 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49568
8c8cc205 495692004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49570
49571 * Makefile.in: Update copyright.
49572 * genmodsrc.sh: Likewise.
49573 * gensymlist.sh: Likewise.
49574 * term/i386/pc/vga.c: Indent correctly.
49575
49576 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49577 bugreporting address.
49578 * util/i386/pc/pupa-setup.c (usage): Likewise,
49579 (main): Call pupa_ext2_init and pupa_ext2_fini.
49580
f19dbdb7 49581 * fs/fat.c (log2): Renamed to ...
8c8cc205 49582 (fat_log2): ... this.
49583 All callers changed.
49584 * kern/misc.c (memcpy): Alias to pupa_memmove.
49585 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49586 lvalue cast.
49587 * util/console.c (pupa_ncurses_fini): Return 0.
49588
49589 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49590 Move fail label here.
49591 [__GNU__]: Don't warn when using stat.
49592 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49593 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49594 long int. Use strtol instead of strtoul.
f19dbdb7 49595
db1771cf 495962004-03-14 Marco Gerards <metgerards@student.han.nl>
49597
49598 * commands/boot.c: New file.
49599 * commands/cat.c: Likewise.
49600 * commands/cmp.c: Likewise.
49601 * commands/ls.c: Likewise.
49602 * commands/terminal.c: Likewise.
49603 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49604 (pupa_register_command): Changed interface to match the new
49605 argument parser.
49606 (pupa_command_execute): Changed (almost rewritten) so it uses
49607 pupa_split_command. Added support for setting variables using the
49608 syntax `foo=bar'.
49609 (rescue_command): Changed to work with the new argument parser.
49610 (terminal_command): Moved from here to commands/terminal.c.
49611 (set_command): New function.
49612 (unset_command): New function.
49613 (insmod_command): New function.
49614 (rmmod_command): New function.
49615 (lsmod_command): New function.
49616 (pupa_command_init): Don't initialize the command terminal
49617 anymore. Initialize the commands set, unset, insmod, rmmod and
49618 lsmod.
49619 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49620 (kernel_img_HEADERS): Add arg.h and env.h.
49621 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49622 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49623 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49624 normal/arg.c.
49625 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49626 terminal.mod.
49627 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49628 (boot_mod_SOURCES): New variable.
49629 (terminal_mod_SOURCES): Likewise.
49630 (ls_mod_SOURCES): Likewise.
49631 (cmp_mod_SOURCES): Likewise.
49632 (cat_mod_SOURCES): Likewise.
49633
49634 * normal/arg.c: New file.
49635 * kern/env.c: Likewise.
49636 * include/pupa/arg.h: Likewise.
49637 * include/pupa/env.h: Likewise.
49638 * font/manager.c (font_command): Changed to match argument parsing
49639 interface changes.
49640 (PUPA_MOD_INIT): Likewise.
49641 * hello/hello.c (pupa_cmd_hello): Likewise.
49642 (PUPA_MOD_INIT): Likewise.
49643 * include/pupa/disk.h: Include <pupa/device.h>.
49644 (pupa_print_partinfo): New prototype.
49645 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49646 (pupa_dl_get_prefix): Likewise.
49647 * include/pupa/misc.h: Include <pupa/err.h>.
49648 (pupa_isgraph): New prototype.
49649 (pupa_isdigit): Likewise.
49650 (pupa_split_cmdline): Likewise.
49651 * include/pupa/normal.h: Include <pupa/arg.h>.
49652 (pupa_command): Changed the prototype of the member `func' to
49653 match the argument parsing interface. Added member `options'.
49654 (pupa_register_command): Updated to match function.
49655 (pupa_arg_parse): New prototype.
49656 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49657 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49658 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49659 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49660 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49661 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49662 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49663 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49664 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49665 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49666 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49667 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49668 * kern/disk.c: Include <pupa/file.h>.
49669 (pupa_print_partinfo): New function.
49670 * kern/dl.c: Include <pupa/env.h>.
49671 (pupa_dl_dir): Variable removed.
49672 (pupa_dl_load): Use the environment variable `prefix' instead of
49673 the variable pupa_dl_dir.
49674 (pupa_dl_set_prefix): Function removed.
49675 (pupa_dl_get_prefix): Likewise.
49676 * kern/i386/pc/init.c: Include <pupa/env.h>.
49677 (pupa_machine_init): Use the environment variable `prefix' instead of
49678 using pupa_dl_set_prefix to set the prefix.
49679 * kern/main.c: Include <pupa/env.h>.
49680 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49681 using pupa_dl_get_prefix to get the prefix.
49682 * kern/misc.c: Include <pupa/env.h>.
49683 (pupa_isdigit): New function.
49684 (pupa_isgraph): Likewise.
49685 (pupa_ftoa): Likewise.
49686 (pupa_vsprintf): Added support for printing values of the type
49687 `double'. Make it possible to format variable output when using
49688 formatting like `%1.2%f'.
49689 (pupa_split_cmdline): New function.
49690 * kern/rescue.c: Include <pupa/env.h>.
49691 (next_word): Removed function.
49692 (pupa_rescue_cmd_prefix): Likewise.
49693 (pupa_rescue_cmd_set): New function.
49694 (pupa_rescue_cmd_unset): New function.
49695 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49696 split the command line instead of splitting it here. Added
49697 support for setting variables using the syntax `foo=bar'. Don't
49698 initialize the prefix command anymore. Initialized the set and
49699 unset commands.
49700 * normal/cmdline.c: Include <pupa/env.h>.
49701 (pupa_tab_complete): Added prototypes for print_simple_completion,
49702 print_partition_completion, add_completion, iterate_commands,
49703 iterate_dev, iterate_part and iterate_dir. Moved code to print
49704 partition information from here to kern/disk.c.
fe6b695a 49705 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49706 * normal/main.c: Include <pupa/env.h>.
49707 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49708 instead of using pupa_dl_get_prefix to get the prefix.
49709 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49710 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49711 warning.
49712 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49713 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49714 ((unused))' to silence a gcc warning.
49715 (pupa_vga_setcolor): Likewise.
49716 (debug_command): Changed to match argument parsing
49717 interface changes.
49718 * util/pupa-emu.c: Include <pupa/env.h>.
49719 (options): Added 0's for unused fields to silence a gcc warning.
49720 (argp): Likewise.
49721 (main): Use the environment variable `prefix' instead of using
49722 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49723 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49724 and terminal.
49725
49726 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49727 * util/misc.c: Include <malloc.h>.
49728 (pupa_malloc): Rewritten so errors are correctly reported.
49729 (pupa_realloc): Likewise.
49730 (pupa_memalign): Likewise.
49731 (pupa_mm_init_region): Declare unused variables with
49732 `__attribute__ ((unused))' to silence a gcc warning.
49733 * normal/i386/setjmp.S: Remove tab at the end of the file to
49734 silence a gcc warning.
49735 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49736 variables with `__attribute__ ((unused))' to silence a gcc
49737 warning.
49738 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49739 local variable i unsigned to silence a gcc warning.
49740
49741 * kern/term.c: Include <pupa/misc.h>.
49742 (pupa_more_lines): New variable.
49743 (pupa_more): Likewise.
49744 (pupa_putcode): When the pager is active pause at the end of every
49745 screen.
49746 (pupa_set_more): New function.
49747 * include/pupa/term.h (pupa_set_more): New prototype.
49748
49749
3b1139cb 497502004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49751
49752 Now this project is GRUB 2 rather than PUPA. The location of
49753 the CVS repository was moved to GRUB's.
f19dbdb7 49754
3b1139cb 49755 * configure.ac: Use bug-grub as the reporting address.
49756 Use GRUB instead of PUPA.
49757 Change the version number to 1.90.
49758
8367695c 497592004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49760
49761 * genkernsyms.sh: Updated copyright information.
49762 * genmk.rb: Likewise.
49763 * genmodsrc.sh: Likewise.
49764 * gensymlist.sh: Likewise.
49765 * boot/i386/pc/boot.S: Likewise.
49766 * boot/i386/pc/diskboot.S: Likewise.
49767 * disk/i386/pc/biosdisk.c: Likewise.
49768 * disk/i386/pc/partition.c: Likewise.
49769 * font/manager.c: Likewise.
49770 * fs/ext2.c: Likewise.
49771 * fs/fat.c: Likewise.
49772 * include/pupa/boot.h: Likewise.
49773 * include/pupa/device.h: Likewise.
49774 * include/pupa/disk.h: Likewise.
49775 * include/pupa/dl.h: Likewise.
49776 * include/pupa/elf.h: Likewise.
49777 * include/pupa/err.h: Likewise.
49778 * include/pupa/file.h: Likewise.
49779 * include/pupa/font.h: Likewise.
49780 * include/pupa/fs.h: Likewise.
49781 * include/pupa/kernel.h: Likewise.
49782 * include/pupa/loader.h: Likewise.
49783 * include/pupa/misc.h: Likewise.
49784 * include/pupa/mm.h: Likewise.
49785 * include/pupa/net.h: Likewise.
49786 * include/pupa/normal.h: Likewise.
49787 * include/pupa/rescue.h: Likewise.
49788 * include/pupa/setjmp.h: Likewise.
49789 * include/pupa/symbol.h: Likewise.
49790 * include/pupa/term.h: Likewise.
49791 * include/pupa/types.h: Likewise.
49792 * include/pupa/i386/setjmp.h: Likewise.
49793 * include/pupa/i386/types.h: Likewise.
49794 * include/pupa/i386/pc/biosdisk.h: Likewise.
49795 * include/pupa/i386/pc/boot.h: Likewise.
49796 * include/pupa/i386/pc/console.h: Likewise.
49797 * include/pupa/i386/pc/init.h: Likewise.
49798 * include/pupa/i386/pc/kernel.h: Likewise.
49799 * include/pupa/i386/pc/linux.h: Likewise.
49800 * include/pupa/i386/pc/loader.h: Likewise.
49801 * include/pupa/i386/pc/memory.h: Likewise.
49802 * include/pupa/i386/pc/multiboot.h: Likewise.
49803 * include/pupa/i386/pc/partition.h: Likewise.
49804 * include/pupa/i386/pc/time.h: Likewise.
49805 * include/pupa/i386/pc/vga.h: Likewise.
49806 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49807 * include/pupa/util/getroot.h: Likewise.
49808 * include/pupa/util/misc.h: Likewise.
49809 * include/pupa/util/resolve.h: Likewise.
49810 * kern/device.c: Likewise.
49811 * kern/disk.c: Likewise.
49812 * kern/dl.c: Likewise.
49813 * kern/err.c: Likewise.
49814 * kern/file.c: Likewise.
49815 * kern/fs.c: Likewise.
49816 * kern/loader.c: Likewise.
49817 * kern/main.c: Likewise.
49818 * kern/misc.c: Likewise.
49819 * kern/mm.c: Likewise.
49820 * kern/rescue.c: Likewise.
49821 * kern/term.c: Likewise.
49822 * kern/i386/dl.c: Likewise.
49823 * kern/i386/pc/init.c: Likewise.
49824 * kern/i386/pc/lzo1x.S: Likewise.
49825 * kern/i386/pc/startup.S: Likewise.
49826 * loader/i386/pc/chainloader.c: Likewise.
49827 * loader/i386/pc/linux.c: Likewise.
49828 * loader/i386/pc/multiboot.c: Likewise.
49829 * normal/cmdline.c: Likewise.
49830 * normal/command.c: Likewise.
49831 * normal/main.c: Likewise.
49832 * normal/menu.c: Likewise.
49833 * normal/i386/setjmp.S: Likewise.
49834 * term/i386/pc/console.c: Likewise.
49835 * term/i386/pc/vga.c: Likewise.
49836 * util/console.c: Likewise.
49837 * util/genmoddep.c: Likewise.
49838 * util/misc.c: Likewise.
49839 * util/pupa-emu.c: Likewise.
49840 * util/resolve.c: Likewise.
49841 * util/unifont2pff.rb: Likewise.
49842 * util/i386/pc/biosdisk.c: Likewise.
49843 * util/i386/pc/getroot.c: Likewise.
49844 * util/i386/pc/pupa-mkimage.c: Likewise.
49845 * util/i386/pc/pupa-setup.c: Likewise.
49846
e6eced71 498472004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49848
49849 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49850 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49851 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49852 reading and reset it after reading.
49853 (pupa_ext2_close): Return PUPA_ERR_NONE.
49854
49855 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49856 Correct value.
49857 (struct linux_kernel_header): Add kernel_version and
49858 initrd_addr_max.
49859 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49860 pupa_file_read succeeds.
49861 (pupa_rescue_cmd_initrd): Implement.
49862
5aded270 498632003-12-03 Marco Gerards <metgerards@student.han.nl>
49864
49865 * fs/ext2.c (pupa_ext2_label): New function.
49866 (pupa_ext2_fs): Added label.
49867 * fs/fat.c (pupa_fat_label): New function.
49868 (pupa_fat_fs): Added label.
49869 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49870
49871 * kern/misc.c (pupa_strndup): New function.
49872 * include/pupa/misc.h (pupa_strndup): New prototype.
49873
49874 * include/pupa/normal.h: Include <pupa/err.h>.
49875 (pupa_set_history): New prototype.
49876 (pupa_iterate_commands): New prototype.
49877 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49878 <pupa/disk.h>, <pupa/file.h>.
49879 (hist_size): New variable.
49880 (hist_lines): Likewise.
49881 (hist_end): Likewise.
49882 (hist_used): Likewise.
49883 (pupa_set_history): New function.
49884 (pupa_history_get): Likewise.
49885 (pupa_history_add): Likewise.
49886 (pupa_history_replace): Likewise.
49887 (pupa_tab_complete): Likewise.
49888 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49889 completion shows partitionnames while completing partitions, this
49890 feature was suggested by Jeff Bailey.
49891 * normal/command.c (pupa_iterate_commands): New function.
49892 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49893 (pupa_normal_init): Initialize history buffer.
49894 (PUPA_MOD_INIT): Likewise.
49895 (pupa_normal_fini): Free the history buffer.
49896 (PUPA_MOD_FINI): Likewise.
49897
49898 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49899 key.
49900
49901 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49902 * configure.ac [i386]: Check for regparam bug.
49903 (NESTED_FUNC_ATTR) [! i386]: Defined.
49904
1f7315a3 499052003-11-17 Marco Gerards <metgerards@student.han.nl>
49906
49907 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49908 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49909 (pupa_emu_SOURCES): New variable.
49910 (pupa_emu_LDFLAGS): Likewise.
49911 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49912 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49913 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49914 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49915 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49916 (pupa_jmp_buf): New typedef.
49917 (pupa_setjmp) [PUPA_UTIL]: New macro.
49918 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49919 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49920 (pupa_refresh): New prototype.
49921 * include/pupa/util/getroot.h: New file.
49922 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49923 it.
49924 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49925 (pupa_rescue_cmd_cat): Likewise.
49926 (pupa_rescue_cmd_ls): Likewise.
49927 (pupa_rescue_cmd_testload): Likewise.
49928 (pupa_rescue_cmd_lsmod): Likewise.
49929 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49930 * normal/menu.c (run_menu): Likewise.
49931 * kern/term.c (pupa_cls): Likewise.
49932 (pupa_refresh): New function.
49933 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49934 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49935 * util/console.c: New file.
f19dbdb7 49936
1f7315a3 49937 * util/i386/pc/getroot.c: New file.
49938 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49939 (pupa_putchar): New function.
49940 (pupa_refresh): Likewise.
49941 (xgetcwd): Function moved to ...
49942 (strip_extra_slashes): Likewise.
49943 (get_prefix): Likewise.
f19dbdb7 49944 * util/i386/pc/getroot.c: ... here.
1f7315a3 49945 (find_root_device): Function moved and renamed to...
49946 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49947 Changed all callers.
49948 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49949 and renamed to...
49950 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49951 Changed all callers.
49952 * util/misc.c (pupa_memalign): New function.
49953 (pupa_mm_init_region): Likewise.
49954 (pupa_register_exported_symbols): Likewise.
49955 (pupa_putchar): Function removed.
49956 * util/pupa-emu.c: New file.
49957
9a5c1ade 499582003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49959
49960 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49961 (_multiboot_mod_SOURCES): New variable.
49962 (_multiboot_mod_CFLAGS): Likewise.
49963 * loader/i386/pc/multiboot.c: New file.
49964 * include/pupa/i386/pc/multiboot.h: Likewise.
49965 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49966 (pupa_multiboot_real_boot): New function.
49967 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49968 (pupa_multiboot_real_boot): New prototype.
49969 (pupa_rescue_cmd_multiboot): Likewise
49970 (pupa_rescue_cmd_module): Likewise.
49971
49972 * kern/loader.c (pupa_loader_set): Continue when
49973 pupa_loader_unload_func() fails.
49974 (pupa_loader_unset): New function.
49975 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49976
49977 * kern/misc.c (pupa_stpcpy): New function.
49978 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49979
8e72a9c0 499802003-11-12 Marco Gerards <metgerards@student.han.nl>
49981
49982 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49983 for available extensions.
49984
49985 * include/pupa/i386/pc/time.h: New file.
49986 * kern/disk.c: Include <pupa/machine/time.h>.
49987 (PUPA_CACHE_TIMEOUT): New macro.
49988 (pupa_last_time): New variable.
49989 (pupa_disk_open): Flush the cache when there was a timeout.
49990 (pupa_disk_close): Reset the timer.
49991 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49992 pupa_currticks.
49993 * util/misc.c: Include <sys/times.h>
49994 (pupa_get_rtc): New function.
49995
c4adbd32 499962003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49997
49998 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49999 as blocks.
50000 (pupa_ext2_get_file_block): Use blocks member.
50001
50002 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50003 first block. Return -1 instead of pupa_errno on error.
50004
bfd30f06 500052003-10-27 Marco Gerards <metgerards@student.han.nl>
50006
50007 * README: In the pupa-mkimage example use _chain instead of chain
50008 and ext2 instead of fat.
50009 * TODO: Replace ext2fs with jfs as an example. Add an item for
50010 adding journal playback for ext2fs.
50011 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50012 (pkgdata_MODULES): Added ext2.mod.
50013 (ext2_mod_SOURCES): New variable.
50014 (ext2_mod_CFLAGS): Likewise.
50015 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50016 * include/pupa/misc.h (pupa_strncpy): New prototype.
50017 (pupa_strcat): Likewise.
50018 (pupa_strncmp): Likewise.
50019 * kern/misc.c (pupa_strcat): Enable function.
50020 (pupa_strncpy): New function.
50021 (pupa_strncmp): Likewise.
50022 * fs/ext2.c: New file.
f19dbdb7 50023
bfd30f06 50024 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50025 when the read failed before retrying.
50026 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50027 (_FILE_OFFSET_BITS): Likewise.
50028 * configure.ac: Added AC_SYS_LARGEFILE.
50029
98d15063 500302003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50031
50032 * genmk.rb (PModule#rule): Make sure to get only symbol names
50033 from the output of nm.
59cad637 50034 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50035
18d9c7cd 500362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50037
50038 I forgot to check in these changes for a long time. This adds
50039 incomplete support for VGA console, and this is still very
50040 buggy. Also, a lot of consideration is required for I18N,
50041 UNICODE, and VGA font issues. Therefore, assume that this is
50042 such that "better than nothing".
f19dbdb7 50043
18d9c7cd 50044 * font/manager.c: New file.
50045 * include/pupa/font.h: Likewise.
50046 * include/pupa/i386/pc/vga.h: Likewise.
50047 * term/i386/pc/vga.c: Likewise.
50048 * util/unifont2pff.rb: Likewise.
50049
50050 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50051 (pkgdata_MODULES): Added vga.mod and font.mod.
50052 (vga_mod_SOURCES): New variables.
50053 (vga_mod_CFLAGS): Likewise.
50054 (font_mod_SOURCES): Likewise.
50055 (font_mod_CFLAGS): Likewise.
50056
50057 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50058
50059 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50060 (struct pupa_term): Added init and fini.
18d9c7cd 50061 Changed the argument of putchar to pupa_uint32_t.
50062
50063 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50064 (pupa_console_real_putchar): New prototype.
50065 (pupa_console_putchar): Removed.
50066 (pupa_console_checkkey): Exported.
50067 (pupa_console_getkey): Likewise.
50068
50069 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50070 characters.
50071
50072 * kern/term.c (pupa_term_set_current): Rewritten.
50073 (pupa_putchar): Likewise.
50074 (pupa_putcode): New function.
50075
50076 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50077 (pupa_console_real_putchar): ... this.
50078 (pupa_vga_set_mode): New function.
50079 (pupa_vga_get_font): Likewise.
50080
50081 * normal/command.c: Include pupa/term.h.
50082 (terminal_command): New function.
50083 (pupa_command_init): Register the command "terminal".
50084
50085 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50086 (DISP_UP): Likewise.
50087 (DISP_RIGHT): Likewise.
50088 (DISP_DOWN): Likewise.
50089 (DISP_HLINE): Likewise.
50090 (DISP_VLINE): Likewise.
50091 (DISP_UL): Likewise.
50092 (DISP_UR): Likewise.
50093 (DISP_LL): Likewise.
50094 (DISP_LR): Likewise.
50095
50096 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50097
977329f5 500982003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50099
50100 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50101 FIX. Reverse the path_list.
50102
50103 * include/pupa/normal.h: Export pupa_register_command and
50104 pupa_unregister_command.
50105
50106 * hello/hello.c (pupa_cmd_hello): New module.
50107 * conf/i386-pc.rmk: Added hello.mod.
50108
1f5ab428 501092003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50110
50111 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50112
1f5ab428 50113 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50114 (compress_kernel): New variable.
50115 (generate_image): Heavily modified to support compressing a
50116 large part of the core image.
50117
50118 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50119 leak.
50120 (pupa_util_load_image): New function.
50121
50122 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50123 (pupa_compressed_size): New variable.
50124 (codestart): Enable Gate A20 here.
50125 Decompress the compressed part of the core image.
50126 Rearrange the code to put functions and variables which are
50127 required for initialization in the non-compressed part.
50128 Include lzo1x.S.
50129
50130 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50131 here.
50132
50133 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50134
f19dbdb7 50135 * include/pupa/i386/pc/kernel.h
1f5ab428 50136 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50137 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50138 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50139 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50140 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50141
50142 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50143
50144 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50145 (Utility#rule): Likewise.
50146
50147 * configure.ac: Check if LZO is available.
50148
ce5bf700 501492003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50150
50151 * include/pupa/normal.h: New file.
50152 * include/pupa/setjmp.h: Likewise.
50153 * include/pupa/i386/setjmp.h: Likewise.
50154 * normal/cmdline.c: Likewise.
50155 * normal/command.c: Likewise.
50156 * normal/main.c: Likewise.
50157 * normal/menu.c: Likewise.
50158 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50159
ce5bf700 50160 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50161 (pupa_rescue_cmd_initrd): Likewise.
50162
50163 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50164 Likewise.
50165
50166 * kern/i386/pc/startup.S (translation_table): New variable.
50167 (translate_keycode): New function.
50168 (pupa_console_getkey): Call translate_keycode.
50169
50170 * kern/rescue.c (attempt_normal_mode): New function.
50171 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50172 it failed, print a message.
50173
50174 * kern/mm.c (pupa_real_malloc): Print more information when a
50175 free magic is broken.
50176 (pupa_free): If the first free header is not free actually, set
50177 it to P.
50178
50179 * kern/main.c (pupa_load_normal_mode): Just load the module
50180 "normal".
50181 (pupa_main): Don't print the message
50182 "Entering into rescue mode..." here.
50183
50184 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50185 Declared.
50186 (pupa_rescue_cmd_initrd): Likewise.
50187 (pupa_rescue_cmd_initrd): Likewise.
50188
50189 * include/pupa/symbol.h (FUNCTION): Specify the type.
50190 (VARIABLE): Likewise.
50191
50192 * include/pupa/err.h (pupa_err_t): Added
50193 PUPA_ERR_UNKNOWN_COMMAND.
50194
50195 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50196 (pupa_dl_get_prefix): Likewise.
50197
50198 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50199 Added _chain.mod and _linux.mod instead of chain.mod and
50200 linux.mod.
50201 (chain_mod_SOURCES): Renamed to ...
50202 (_chain_mod_SOURCES): ... this.
50203 (chain_mod_CFLAGS): Renamed to ...
50204 (_chain_mod_CFLAGS): ... this.
50205 (linux_mod_SOURCES): Renamed to ...
50206 (_linux_mod_SOURCES): ... this.
50207 (linux_mod_CFLAGS): Renamed to ...
50208 (_linux_mod_CFLAGS): ... this.
50209 (normal_mod_SOURCES): New variable.
50210 (normal_mod_CFLAGS): Likewise.
50211 (normal_mod_ASFLAGS): Likewise.
50212
502132003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50214
50215 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50216 possible.
50217
fe6b695a 50218 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50219 recursively.
50220 (pupa_dl_unref): Unrefer depending modules recursively.
50221 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50222 a module is unloaded before one depending on that module is
50223 unloaded.
50224 (pupa_dl_unload): Unload depending modules explicitly,
50225 if possible.
50226
c04da074 502272003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50228
50229 * include/pupa/i386/pc/linux.h: New file.
50230 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50231
c04da074 50232 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50233 Removed.
50234 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50235 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50236 of PUPA_CHAINLOADER_BOOT_SECTOR.
50237
50238 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50239 (pupa_linux_prot_size): New variable.
50240 (pupa_linux_tmp_addr): Likewise.
50241 (pupa_linux_real_addr): Likewise.
50242 (pupa_linux_boot_zimage): New function.
50243 (pupa_linux_boot_bzimage): Likewise.
50244
50245 * kern/i386/pc/init.c (struct mem_region): New structure.
50246 (MAX_REGIONS): New macro.
50247 (mem_regions): New variable.
50248 (num_regions): Likewise.
50249 (pupa_os_area_addr): Likewise.
50250 (pupa_os_area_size): Likewise.
50251 (pupa_lower_mem): Likewise.
50252 (pupa_upper_mem): Likewise.
50253 (add_mem_region): New function.
50254 (compact_mem_regions): Likewise.
50255 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50256 the size of the conventional memory and that of so-called upper
50257 memory (before the first memory hole).
50258 Instead of adding each found region to free memory, use
50259 add_mem_region and add them after removing overlaps.
50260 Also, add only 1/4 of the upper memory to free memory. The rest
50261 is used for loading OS images. Maybe this is ad hoc, but this
50262 makes it much easier to relocate OS images when booting.
50263
50264 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50265 (pupa_enter_rescue_mode): Don't register initrd and module.
50266
50267 * kern/mm.c: Include pupa/dl.h.
50268
50269 * kern/main.c: Include pupa/file.h and pupa/device.h.
50270
50271 * kern/loader.c (pupa_loader_load_module_func): Removed.
50272 (pupa_loader_load_module): Likewise.
50273
50274 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50275 ``.o''.
50276
50277 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50278 (pupa_linux_tmp_addr): Likewise.
50279 (pupa_linux_real_addr): Likewise.
50280 (pupa_linux_boot_zimage): Likewise.
50281 (pupa_linux_boot_bzimage): Likewise.
50282
50283 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50284 (pupa_upper_mem): Likewise.
50285 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50286 module is too dangerous.
50287
50288 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50289 (pupa_os_area_size): Likewise.
50290 (pupa_loader_set): Remove the first argument. Loader doesn't
50291 manage modules or initrd any longer.
50292 (pupa_loader_load_module): Removed.
50293
50294 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50295 (linux_mod_SOURCES): New variable.
50296 (linux_mod_CFLAGS): Likewise.
50297
a13f9237 502982003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50299
50300 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50301 the length of a blocklist correctly.
50302
50303 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50304 Use ioctl only if the OS file is a block device.
50305 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50306 not very useful for normal files.
50307
50308 * kern/main.c (pupa_set_root_dev): New function.
50309 (pupa_load_normal_mode): Likewise.
50310 (pupa_main): Call those above.
50311
50312 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50313 pupa_uint16_t.
50314
50315 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50316
a5ffe966 503172003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50318
50319 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50320 (setup): Configure the installed partition information and the
50321 dl prefix.
50322
50323 * loader/i386/pc/chainloader.c (my_mod): New variable.
50324 (pupa_chainloader_unload): New function.
50325 (pupa_rescue_cmd_chainloader): Refer itself.
50326 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50327
50328 * kern/i386/pc/startup.S (install_partition): Removed.
50329 (version_string): Likewise.
50330 (config_file): Likewise.
50331 (pupa_install_dos_part): New variable.
50332 (pupa_install_bsd_part): Likewise.
50333 (pupa_prefix): Likewise.
50334 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50335
50336 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50337 and pupa/misc.h.
50338 (make_install_device): New function.
50339 (pupa_machine_init): Set the dl prefix.
50340
50341 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50342 (buf): Renamed to ...
50343 (linebuf): ... this.
50344 (pupa_rescue_cmd_prefix): New function.
50345 (pupa_rescue_cmd_insmod): Likewise.
50346 (pupa_rescue_cmd_rmmod): Likewise.
50347 (pupa_rescue_cmd_lsmod): Likewise.
50348 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50349 rmmod and lsmod.
50350
50351 * kern/mm.c (pupa_memalign): If failed even after invalidating
50352 disk caches, unload unneeded modules and retry.
50353
50354 * kern/misc.c (pupa_memmove): New function.
50355 (pupa_memcpy): Removed.
50356 (pupa_strcpy): New function.
50357 (pupa_itoa): Made static.
50358
50359 * kern/dl.c (pupa_dl_iterate): New function.
50360 (pupa_dl_ref): Likewise.
50361 (pupa_dl_unref): Likewise.
50362 (pupa_dl_unload): Return if succeeded or not.
50363 (pupa_dl_unload_unneeded): New function.
50364 (pupa_dl_unload_all): Likewise.
50365 (pupa_dl_init): Renamed to ...
50366 (pupa_dl_set_prefix): ... this.
50367 (pupa_dl_get_prefix): New function.
50368
50369 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50370 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50371 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50372 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50373 (pupa_install_dos_part): Declared.
50374 (pupa_install_bsd_part): Likewise.
50375 (pupa_prefix): Likewise.
50376 (pupa_boot_drive): Likewise.
50377
50378 * include/pupa/types.h: Fix a typo.
50379
50380 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50381 pupa_memmove.
50382 (pupa_memmove): Declared.
50383 (pupa_strcpy): Likewise.
50384
50385 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50386 pupa_mod_init takes one argument, its own module.
50387 (pupa_dl_unload_unneeded): Declared.
50388 (pupa_dl_unload_all): Likewise.
50389 (pupa_dl_ref): Likewise.
50390 (pupa_dl_unref): Likewise.
50391 (pupa_dl_iterate): Likewise.
50392 (pupa_dl_init): Renamed to ...
50393 (pupa_dl_set_prefix): ... this.
50394 (pupa_dl_get_prefix): Declared.
50395
50396 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50397 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50398 unloaded.
50399 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50400 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50401
50402 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50403 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50404
012d7999 504052003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50406
50407 * util/i386/pc/pupa-setup.c (setup): Define the internal
50408 function find_first_partition_start at the top level, because GCC
50409 3.0.x cannot compile internal functions in deeper scopes
50410 correctly.
50411 (find_root_device): Use lstat instead of stat.
50412 Don't follow symbolic links.
50413 Fix the path-constructing code.
50414
50415 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50416 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50417 by a BLKGETSIZE ioctl first, because block devices don't fill
50418 the member st_mode of the structure stat on Linux.
50419 [__linux__] (linux_find_partition): Use a temporary buffer
50420 REAL_DEV for the working space. Copy it to DEV before returning.
50421 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50422 buffer cache consistent.
50423 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50424 strncmp. The previous value was merely wrong.
50425 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50426
50427 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50428 FAT size is 12. The previous value was merely wrong.
50429
50430 * kern/main.c (pupa_main): Don't split the starting message from
50431 newlines.
50432
50433 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50434 LF, because BIOS goes crazy about character attributes in this
50435 case.
50436
1cc73a62 504372003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50438
50439 * include/i386/pc/util/biosdisk.h: New file.
50440 * util/i386/pc/biosdisk.c: Likewise.
50441 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50442
1cc73a62 50443 * Makefile.in (INCLUDE_DISTFILES): Added
50444 include/pupa/i386/pc/util/biosdisk.h.
50445 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50446 directory util/i386/pc.
50447 (install-local): Added a rule for sbin_UTILITIES.
50448 (uninstall): Likewise.
50449
50450 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50451
50452 * util/misc.c (xrealloc): New function.
50453 (pupa_malloc): Likewise.
50454 (pupa_free): Likewise.
50455 (pupa_realloc): Likewise.
50456 (pupa_stop): Likewise.
50457 (pupa_putchar): Likewise.
50458
50459 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50460
50461 * include/pupa/util/misc.h (xrealloc): Declared.
50462
50463 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50464 macro.
50465 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50466 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50467
50468 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50469 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50470
50471 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50472 way should be implemented.
50473 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50474
50475 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50476 the size of NAME for safety.
50477 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50478 0x88.
50479
50480 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50481 (pupa_setup_SOURCES): Likewise.
50482
50483 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50484
08b70fe8 504852002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50486
50487 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50488 bunch of pushl's from pusha, because this destroys the return
50489 value.
50490
62ddcc8f 504912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50492
50493 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50494 This means that any missing prototypes could be fatal. Also, you
50495 must take care when writing assembly code. See the comments at
50496 the beginning of startup.S, for more details.
f19dbdb7 50497
62ddcc8f 50498 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50499 compilation mechanism.
50500 (pupa_chainloader_real_boot): Likewise.
50501 (pupa_biosdisk_rw_int13_extensions): Likewise.
50502 (pupa_biosdisk_rw_standard): Likewise.
50503 (pupa_biosdisk_check_int13_extensions): Likewise.
50504 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50505 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50506 (pupa_get_memsize): Likewise.
50507 (pupa_get_mmap_entry): Likewise.
50508 (pupa_console_putchar): Likewise.
50509 (pupa_console_setcursor): Likewise.
50510 (pupa_getrtsecs): Use pushl instead of push.
50511
50512 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50513 memory instead of the stack for a mmap entry, because some
50514 BIOSes may ignore the maximum size and overflow.
50515
50516 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50517
50518 * genmk.rb (PModule#rule): Compile automatically generated
50519 sources with module-specific CFLAGS as well as other sources.
50520
9962ed99 505212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50522
50523 * configure.ac: Check ld.
50524 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50525 respectively, before checking endianness and sizes.
50526
50527 * Makefile.in (LD): New variable.
f19dbdb7 50528
abdfc3c5 505292002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50530
50531 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50532
6a161fa9 505332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50534
50535 * Changelog: New file.
50536