]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
[grub2.git] / ChangeLog
CommitLineData
a5b0365a
VS
12013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
5
29072e99
VS
62013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
9
f8772ea7
VS
102013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * util/misc.c: Remove leftover inclusion of malloc.h.
13
a1a315e7
VS
142013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * include/grub/setjmp.h: Remove leftover GRUBOF.
17
cef86fef
VS
182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * util/raid.c: Fold into ...
21 * util/getroot_linux.c: ... here. Make all functions static.
22
c4cf25ee
VS
232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
26 macros to GRUB ones.
27
53a5f5c2
VT
282013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
29
30 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
31 occasional bug. If there are too many boot entries or too low
32 scrollbar height then we need to use another formula to calculate
33 the position and size of the scrollbar thumb.
34
de300af2
VS
352013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
36
c4cf25ee 37 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 38
c5827364
VT
392013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
40
41 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
42 * docs/grub.texi: Likewise.
43
dd2ed8b0
VT
442013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
45
46 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
47 viewport.
48
7286c384
VT
492013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
50
ffdfc1f3
VT
51 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
52 minimal width calculations.
7286c384 53
ea547e14
VS
542013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * docs/grub.texi: Update note on colors on emu console.
57
b726be76
VS
582013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
61 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
62 it's FS and not GRUB limitation.
63
a5f6ade6
VS
642013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
67
3b0f3aa2
VS
682013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
71
1db38304
ST
722013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
73
74 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
75 kernels by version order.
76
fb295fc0
VS
772013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
80
47345010
VS
812013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Add AROS hostdisk and getroot routines.
84
bf25f879
VS
852013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
86
87 Make cryptodisk and diskfilter probe data retrievable programmatically
88 and not just printable.
89
24ca4512
VS
902013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
91
92 Split random retrieving code into separate files.
93
c7c177f0
VS
942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
97 R_ARM_V4BX.
98
d71b45ae
VS
992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
102 condition.
103 * grub-core/tests/fake_input.c: Likewise.
104 * grub-core/tests/cmdline_cat_test.c: Likewise.
105
e44b9a83
VS
1062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/video/capture.c: Do not do finalization when .fini
109 is called as there is explicit capture_end.
110
4fa60739
VS
1112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
114 changing windows to avoid crash.
115
17c8bc37
VS
1162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
119
9d4d7977
VS
1202013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * po/exclude.pot: Add several strings to exclude.
123
0caa407c
VS
1242013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
127
9ae393da
VS
1282013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * autogen.sh: Add ./util/grub-gen-widthspec.c and
131 ./util/grub-gen-asciih.c to exclude list.
132
498d5033
VS
1332013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
136 and don't mark error strings for translation.
137
7d93298f
VS
1382013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
141 properly in case of missing block size.
142
b2cae20c
VS
1432013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/lib/arm/setjmp.S: Add missing license section.
146
3896d6b4
VS
1472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * po/swiss.sed: Add replacement for key names and for term computer.
150
ebc1da55
VT
1512013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
152
153 * grub-core/gfxmenu/theme_loader.c: New global options for the
154 theme background image handling. desktop-image-scale-method,
155 desktop-image-h-align, desktop-image-v-align.
156 * grub-core/gfxmenu/view.c: Likewise.
157 * include/gfxmenu_view.h: Likewise.
158 * include/bitmap_scale.h: Proportional scale functions introduced.
159 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
160 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
161 cases of unexpected input variables for scale functions.
162 * docs/grub.texi: Updated documentation for new options.
163
c5739143
VS
1642013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
167
be74aeb3
VT
1682013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
169
170 * grub-core/tests/checksums.h: Corrected due to changes in
171 bilinear interpolation function.
172
d999ac72
VT
1732013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
174
175 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
176 to eliminate artefacts in bilinear interpolation.
177
2b131610
VS
1782013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/video/readers/tga.c: Support paletted tga.
181
de6e5ff8
VS
1822013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
185 incorrect cbcr setting when in color mode.
186
fa31ee9c
VS
1872013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/video/readers/png.c: Support paletted images and clean up
190 greyscale support.
191
e84f8188
VS
1922013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
195 usage of wrong table which resulted in mishandling of 4-byte
196 sequences.
197
1982013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
199
200 * grub-core/term/terminfo.c: Add Home and End key sequences.
201
d72bff09
VS
2022013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/video/readers/png.c (grub_png_decode_image_header):
205 Fix formula for computing total number of bytes.
206
29648c5d
VS
2072013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
210 image processing, fix big-endian and support grayscale.
211
4a876492
VS
2122013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
215 Correctly will with maximum transparency when using index color.
216
3ccf16df
VS
2172013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/video/readers/png.c: Support grayscale
220
2212013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
222
223 * grub-core/video/readers/jpeg.c: Support grayscale.
224
3ccf16df 2252013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
226
227 * grub-core/commands/loadenv.c: Support skipping signature check
228 and variable names filtering.
229
30b7f58f
VS
2302013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
233 * grub-core/kern/emu/hostfs.c: Likewise.
234 * util/getroot_unix.c: Likewise.
235
bab7b1eb
VS
2362013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
239 Migrate all explicit defines to this new one.
240
43b1c99d
VS
2412013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
244 grub_util_fd_strerror when using grub_util_fd_*.
245 (grub_util_fd_open_device): Likewise.
246 (grub_util_biosdisk_read): Likewise.
247 (grub_util_biosdisk_write): Likewise.
248 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
249 (grub_util_fd_strerror): Likewise.
250 (grub_util_fd_sync): Likewise.
251 (grub_util_fd_close): Likewise.
252 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
253 (grub_util_fd_close): Likewise.
254 (grub_util_fd_strerror): Likewise.
255 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
256 function proto rather than macro.
257 (grub_util_fd_sync): Likewise.
258 (grub_util_fd_open): Likewise.
259 (grub_util_fd_strerror): New proto.
260
e8fd80bc
VS
2612013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
264 platforms on which it doesn't work.
265
bf645fda
VS
2662013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
269 stat immediately to where it's used.
270
5177ba14
VS
2712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * util/getroot.c (grub_util_check_block_device): Move to ...
274 * util/getroot_unix.c (grub_util_check_block_device): ... here.
275 * util/getroot.c (grub_util_check_char_device): Move to ...
276 * util/getroot_unix.c (grub_util_check_char_device): ... here.
277
9db826e1
VS
2782013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
281 disk closing logic.
282
49120085
AB
2832013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
284
285 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
286
b3328b68
AB
2872013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
288
289 * docs/grub.texi (File name syntax): Document ZFS filenames
290 (/volume@snapshot/...).
291
3fff48ab
VS
2922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
295 Always return full path. Fixes a problem with mkrelpath.
296
39cfdaa9
PFS
2972013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
298
299 * util/grub-install.in: Add GPT PReP support.
300 * util/grub-probe.c (probe): Support GPT partition type.
301 (main): Support -t gpt_parttype.
302
7c680e1f 3032013-09-23 Aleš Nesrsta <starous@volny.cz>
304
305 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
306
890bdabe
MM
3072013-09-23 Massimo Maggi <me@massimo-maggi.eu>
308
309 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
310
9c262ff9
TH
3112013-09-23 Tim Hardeck <thardeck>
312
313 * util/grub.d/10_hurd.in: Filter out character for the class.
314 * util/grub.d/10_kfreebsd.in: Likewise.
315 * util/grub.d/10_linux.in: Likewise.
316 * util/grub.d/20_linux_xen.in: Likewise.
317
d755342a
MC
3182013-09-23 Melki Christian <Christian.melki@saabgroup.com>
319
320 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
321 "changed".
322
68b77707
JT
3232013-09-23 Josh Triplett <josh@joshtriplett.org>
324
325 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
326 boot partition.
327
efa68bfa
VS
3282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
331 doesn't use posix_wrap. Keep literal -fno-builtin however.
332
d9104204
VS
3332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
336
c248781a 3372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3382013-09-23 neil
339
5830df88 340 * configure.ac: Do not enable -Wmissing-noreturn as its
341 usefulness is limited and creates problems on some OS notably with
342 code generated by bison.
343
3442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3452013-09-23 neil
346
347 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 348 supported by all gcc and when it is, it's already enabled by -Wall.
349
621bed69
VS
3502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
353 desactivated use of EDID at all.
354
71764dc8 3552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3562013-09-23 neil
357
358 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
359 video if no text is available.
360
affce7d4 3612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
3622013-09-23 neil
363
364 * configure.ac: Substitute TARGET_RANLIB.
365
3662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3672013-09-23 neil
affce7d4
VS
368
369 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
370
371 Based on patches from AROS.
372
0e8daad0 3732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 3742013-09-23 neil
0e8daad0
VS
375
376 * grub-core/Makefile.am: Override STRIP and RANLIB.
377 * configure.ac: compute TARGET_RANLIB.
378 * INSTALL: Document TARGET_RANLIB
379
380 Based on patches from AROS.
381
3f7d9c82
VS
3822013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
385 that floppies are unpartitioned.
386
bca8873a
VS
3872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
390 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
391
3922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
395 less nice but more portable.
396 * grub-core/lib/posix_wrap/wchar.h: Likewise.
397
a47a78be
VS
3982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
401 for cheat_fd.
402 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
403 functions.
404 (grub_cryptodisk_cheat_insert): Likewise.
405 (grub_cryptodisk_close): Likewise.
406
e85a5d5c
VS
4072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
410 Use windows path for DEFAULT_DIRECTORY.
411
dad9fa6b
VS
4122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
415 difference was likely just gcc version, not anything mingw-related.
416
7e518ca8
VS
4172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Use Winapi on both cygwin and mingw32 to share more code between both.
420
d68d0157
AB
4212013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
422
423 * util/grub-install.in: Add --grub-editenv option.
424 * util/grub-install_header (grub_compress_file): Explicitly check for
425 plain file to avoid cp error.
426
775b284d
AB
4272013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
428
429 * docs/grub.texi (Device syntax): Document new LVM UUID based device
430 names; fix LVM driver name (lvm, not lv).
431 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
432 names.
433
3ff4063d
VS
4342013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
437 files rather than one file with loads of #if's.
438 * util/getroot.c: Likewise.
439
287faafe
VS
4402013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
443
d1983764
VS
4442013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
447 GNU/Hurd to the list of checked PRNG.
448
15ce95c4
VS
4492013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * configure.ac: On FreeBSD use -melf_*_fbsd format.
452
207862dd 4532013-09-21 Ales Nesrsta <starous@volny.cz>
454
7c680e1f 455 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 456
63653cfd
VS
4572013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
460 * grub-core/disk/lvm.c: Add LVM UUIDs.
461 * util/getroot.c: Use LVM UUIDs whenever possible.
462
f5d3e7ef
AB
4632013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
464
465 * docs/grub.texi (Networking commands): Add documentation for
466 network related commands.
467
53c6b7d6
VS
4682013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * util/getroot.c (grub_util_open_dm): Check major rather than the name
471 to determine if device is handled by devmapper.
472 (convert_system_partition_to_system_disk): Likewise.
473 (get_dm_uuid): Don't check explicitly if device is mapped, it's
474 already done in grub_util_open_dm.
475
e70d6736
LL
4762013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
477
478 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
479 Clean up stack manipulation (sync_caches_armv*)
480
90379808
VS
4812013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * util/lvm.c: Remove since unused. Remove remaining references.
484
386701a8
VS
4852013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Handle the case of partitioned LVM properly.
488
489 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
490 Stop on meeting LVM, mpath or DMRAID.
491 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
492 (read_device_map): Likewise.
493 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
494 device is full disk rather than erroring out on LVM and similar cases.
495
53070787
VS
4962013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
499
1bc783bd
VS
5002013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
503 4K before the end.
504 Reported by: Leif Lindholm
505
436ad5c3
PW
5062013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5072013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
510 codes.
511
607319c9
CW
5122013-09-18 Colin Watson <cjwatson@ubuntu.com>
513
514 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
515 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
516
d404d154
DR
5172013-09-18 Douglas Ray <dougray@cpan.org>
518
519 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
520 as secure.
521
28851ef6
AN
5222013-09-18 Aleš Nesrsta <starous@volny.cz>
523
524 * docs/grub.texi: Fix broken link.
525
897c3bc6
MC
5262013-09-18 Melki Christian <Christian.melki@saabgroup.com>
527
528 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
529 to break endless loop.
530
f1630459
VS
5312013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * util/grub-fstest.c: Fix several printf formats.
534 * util/grub-mkimage.c: Likewise.
535 * util/grub-mkimagexx.c: Likewise.
536 * util/grub-script-check.c: Likewise.
537
64463dfd
VS
5382013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
541 error.
542
48972495
VS
5432013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
546
5dd5e64b
VS
5472013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
550 removed in current versions cygwin_conv_*.
551
1c1f31e5
VS
5522013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * configure.ac: Disable efiemu runtime on cygwin.
555
c546a259
VS
5562013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
559 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
560
81690478
VS
5612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
564 error message.
565
6b87c10a
VS
5662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
569 windows variant.
570 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
571 data.
572
8f0baaac
VS
5732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
576 when on x86 and not cygwin.
577 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
578 -Wl,-melf_x86_64.
579
b224c266
VS
5802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * configure.ac: Set CPP to build one when checkoing for freetype for
583 build.
584
506b336b
VS
5852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
588 [!GRUB_BUILD]: Remove has_argument.
589
8c8c87b7
VS
5902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
593 Replace with a dummy.
594
7dc5ca13
VS
5952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * configure.ac: Don't change host_os from mingw to cygwin.
598
c3302aa5
VS
5992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * configure.ac: Change target_os from windows to cygwin.
602
7b780018
VS
6032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
604
605 Handle grub-pe2elf and grub-mkfont for cases when build != host.
606
607 * Makefile.am (build-grub-mkfont): Don't include gnulib.
608 (build-grub-gen-asciih): Likewise.
609 (build-grub-gen-widthspec): Likewise.
610 * Makefile.util.def (grub-pe2elf): Remove.
611 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
612 * configure.ac: Separate tests for build.
613 Move ./build-grub-pe2elf to grub-core.
614 Fix typo.
615 * grub-core/Makefile.am (build-grub-pe2elf): New target.
616 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
617 defined.
618 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
619 constants.
620 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
621 * util/grub-pe2elf.c: Simplify not to rely on getopt.
622 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
623
984cfd8a
VS
6242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
627 mingw32 as well based on grub_util_get_disk_size.
628 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
629 grub_util_get_fd_size.
630 (sync): Removed.
631 (fsync): Moved to ...
632 * grub-core/kern/emu/misc.c (fsync): ... here.
633
f82d79c9
VS
6342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * include/grub/mm.h (grub_extend_alloc): Remove.
637 * grub-core/loader/i386/pc/plan9.c: Use own version of
638 grub_extend_alloc with appropriate types.
639
fd7dd66d
VS
6402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
643
43ffba7c
VS
6442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/getroot.c: Include sys/wait.h only when we need waitpid.
647
3c7eac44
VS
6482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Fix dependencies on cygwin.
651
652 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
653 dependencies when used and defined.
654 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
655
bdb5ba47
VS
6562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
659 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
660
ed7fbf43
VS
6612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
664 implementation available to cause compile-time rather than runtime
665 error.
666
fc46e9fc
VS
6672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * util/grub-fstest.c: Don't check for symlinks on windows.
670
7f68269a
VS
6712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * INSTALL: Mention unavailability of man pages when cross-compiling.
674
8ed358e0
VS
6752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
678 and gcry_log_bug.
679 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
680
fc97214f
VS
6812013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * INSTALL: Document cross-compilation.
684 * acinclude.m4: Determine whether nm support -P and --defined-only.
685 * configure.ac: Add TARGET_ to all variables pertaining to target
686 that don't have it yet.
687 * gentpl.py: Likewise.
688 * grub-core/Makefile.am: Likewise.
689 * grub-core/genmod.sh.in: Likewise.
690 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
691 as well.
692
ca1fb563
IB
6932013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
694
695 * configure.ac: Remove -Wempty-body. It's not essential and needs
696 recent gcc.
697
0031b229
IB
6982013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
699
700 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
701 * util/getroot.c: Likewise.
702
54ea2f44
VS
7032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/disk/ahci.c: Add needed explicit cast.
706 * grub-core/lib/backtrace.c: Likewise.
707 * grub-core/net/ip.c: Likewise.
708 * grub-core/net/tcp.c: Likewise.
709 * grub-core/net/udp.c: Likewise.
710
3c601f8c
VS
7112013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
714
1d679dda
VS
7152013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * util/import_gcry.py: Add final newline in visibility.h.
718
00c28dd9
VS
7192013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * conf/Makefile.common: Fix typo.
722
32af299a
VS
7232013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
726
e733cf52
VS
7272013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * Makefile.am (widthspec.h): Fix typo.
730 * util/grub-gen-widthspec.c: Likewise.
731
c6b066f2
VS
7322013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
733
734 Move ascii.h and widthspec.h generation to a separate build-time-only
735 tool.
736
ad1fe3f9 7372013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
738
739 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
740 Always fill bootdisk info and improve check for NetBSD disklabel.
741
92a52dd4
VS
7422013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * conf/Makefile.extra-dist: Add util/bin2h.c.
745 Reported by: floppym.
746
b2e9d276
VS
7472013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
750
7b966834
VS
7512013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * configure.ac: Disable unifont and starfield if no freetype was found.
754
d5c1eef1
VS
7552013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
758 on NetBSD and OpenBSD.
759
66345b50 7602013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
761
762 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
763
66345b50 7642013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
765
766 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
767 reduced. Inheritant options are processed during the theme loading.
768
66345b50 7692013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
770
771 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
772
369508b3
AS
7732013-08-14 Avik Sil <aviksil@in.ibm.com>
774
775 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
776
7772013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
778
779 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
780 using qemu.
781
6f27a3f6
PFS
7822013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
783
784 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
785 remove-potcdate.sed.
786
c6ed362a
AB
7872013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
788
789 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
790 unused attribute from pull argument.
791
5e7d9464
AB
7922013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
793
794 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
795 memory leak.
796
dea55e2a
AB
7972013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
798
799 * util/getroot.c (pull_lvm_by_command): add --separator option
800 to vgs call to disable padding of output to 10 characters.
801
f0b94ded
VS
8022013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
805 here ...
806 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
807 here.
808
b828fb5d
VS
8092013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
812 length.
813
7c9d0c39
VS
8142013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Fix handling of build-time grub-bin2h and grub-mkfont when doing
817 full Canadian cross. Tested with build=x86_64, host=arm,
818 target=ppc-ieee1275.
819
816719c8
VS
8202013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * configure.ac: Error if no $BUILD_CC could be found.
823 Reported by: DevHC.
824
2af2353b
VS
8252013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
828 i386-multiboot.
829
797abd0a
VS
8302013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
833 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
834
36e87d25
CW
8352013-08-13 Colin Watson <cjwatson@ubuntu.com>
836
837 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
838 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
839 falling back to the partition device, otherwise a later call to this
840 function may fail spuriously.
841 Reported by Axel Beckert. Fixes Debian bug #708614.
842
273349fe
GS
8432013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
844
845 * autogen.sh: Replace find -not by the POSIX-compliant find !.
846
418f86c6
GS
8472013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
848
849 Prevent shadowing of stdlib's devname(3) on BSD.
850
851 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
852 and devlast to diskname and disklast, respectively.
853
c137aea0
CW
8542013-08-11 Colin Watson <cjwatson@ubuntu.com>
855
856 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
857
272dc8df 8582013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
859
860 * docs/grub.texi: Introduce terminal window position options:
861 terminal-left: terminal window's left position
862 terminal-top: terminal window's top position
863 terminal-width: terminal window's width
864 terminal-height: terminal window's height
865 terminal-border: terminal window's border width
866 * grub-core/gfxmenu/theme-loader.c: Likewise.
867 * include/grub/gfxmenu_view.h: Likewise.
868 * po/exlude.pot: Likewise.
869 * grub-core/gfxmenu/view.c: Likewise.
870 Also updated minimal window size.
871 Also terminal_sanity_check function has been introduced.
272dc8df
VT
872 * grub-core/tests/checksums.h: Update (terminal window height
873 is adjusted now for low resolution screen)
b4743461 874
748a4533
VS
8752013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
878 position).
879
fca5f944
VS
8802013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * po/exclude.pot: Add few recent exceptions.
883
4f47d809
VS
8842013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * tests/grub_func_test.in: Add unicode.pf2.
887
a62ae90c
VS
8882013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
891 standard rather than noral color, in line with other terminals.
892
4ed41392
VS
8932013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
896 analysis.
897
3719fbc5
VS
8982013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/loader/arm/linux.c: Change printf to dprintf.
901
459b1d91
VS
9022013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
905 inappropriate printf.
906
f4e1ab9d
AB
9072013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
908
909 * .bzrignore: Remove grub-core/lib/dtc-grub,
910 grub-core/Makefile.libfdt.def
911 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
912
fa471bfa
VS
9132013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * include/grub/video.h (grub_video_register): Keep double-linked as
916 well as single-linked invariants.
917 Reported by: qwertial.
918
d65be02b
VS
9192013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/commands/nativedisk.c (get_uuid): Handle
922 GRUB_DISK_DEVICE_UBOOTDISK_ID.
923
ba8bc620
VT
9242013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
925
926 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
927 maximum of NW, N, NE heights instead of N's height and maximum of
928 NW, W, SW widths instead of W's width. (So the box will be always
929 correctly drawn)
930
4f0ad029
GS
9312013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
932
933 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
934 Fix misuse of variable count.
935
43d53b72
LL
9362013-07-18 Leif Lindholm <leif.lindholm@arm.com>
9372013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
9382013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 939
43d53b72
LL
940 New ports to arm-uboot and arm-efi.
941 Mostly by Leif Lindholm with some additions from
942 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 943
88f8d146
VS
9442013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
947 and not before.
948 Reported by: Leon Drugi.
949
3f42504c
VS
9502013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
953 Reported by: Paulo Flabiano Smorigo.
954
d110499b
VT
9552013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
956
957 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
958
a8674ad3
VT
9592013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
960
961 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
962
286fe4b3
VS
9632013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
966
1bd57aa3
VS
9672013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
970
7a87d69f
AB
9712013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
972
973 * grub-core/net/bootp.c: Export net_* variables.
974 * grub-core/net/net.c: Likewise.
975
b2182299
VS
9762013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
979
795b3dc0
VS
9802013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
983
68714c43
VS
9842013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
987
af211bab
VS
9882013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
991
0036f02d
MM
9922013-07-14 Massimo Maggi <me@massimo-maggi.eu>
993
994 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
995 <= 0.
996
6d0ddff3
MM
9972013-07-14 Massimo Maggi <me@massimo-maggi.eu>
998
999 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1000 functions.
1001
038016f4
MM
10022013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1003
1004 * grub-core/fs/zfs/zfs_lz4.c: New file.
1005 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1006
776bdce2
MM
10072013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1008
1009 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1010
c71dbd40
MM
10112013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1012
1013 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1014 (check_pool_label): Likewise.
1015 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1016
10172013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1018
1019 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1020
8e67b50f
AB
10212013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1022
1023 * docs/grub.texi (Commands): Document postition parameters
1024 for menuentry command.
1025
f5ae3717
AB
10262013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1027
1028 * util/grub-mknetdir.in: Remove stray line from help output.
1029
9c28da2a
VS
10302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Remove early sm712 init as there is no reason for it (the "watchdog"
1033 effect was due to wrong GPIO map).
1034
139072b8
VS
10352013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/commands/pcidump.c: Remove static variables.
1038
c6a61bda
VS
10392013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1042
51369614
VS
10432013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * configure.ac: Move delimiter after the infos.
1046
efa8640a
VS
10472013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1050
6f80a7b2
VS
10512013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1054 not filling whole 8x16 space.
1055
a2371e19
VS
10562013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1059
64fce2d8
VS
10602013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * configure.ac: Indicate which liblzma is used if any.
1063
eb272d84
PW
10642013-06-21 Paul Wise <pabs3@bonedaddy.net>
10652013-06-21 Craig Sanders <savannah@taz.net.au>
1066
1067 * util/grub-reboot.in: Document submenu usage.
1068
a9e5abee
CW
10692013-06-25 Colin Watson <cjwatson@ubuntu.com>
1070
1071 * .bzrignore: Update with a number of new test-related files.
1072
e639c204
CW
10732013-06-25 Colin Watson <cjwatson@ubuntu.com>
1074
1075 * util/grub-script-check.c: Fail on scripts containing no
1076 commands, to guard against corrupted grub-mkconfig setups that
1077 produce no useful output.
1078 * tests/grub_script_no_commands.in: New test.
1079 * Makefile.util.def (grub_script_no_commands): Add.
1080 Reported by Hans Putter. Fixes Debian bug #713886.
1081
a4c89b17
AB
10822013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1083
1084 * grub-core/disk/diskfilter.c: Forgot to remove comment
1085 from previous commit.
1086
5b06b53c
AB
10872013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1088
1089 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1090 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1091
702da5c9
AB
10922013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1093
1094 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1095
aa62a5b7
AB
10962013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1097
1098 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1099 rescan diskfilter devices until nothing new is found.
1100
4aa237c8
VS
11012013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1104
93d8479b
VS
11052013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Don't try to detect cbfs on *-emu.
1108
837222cc
VS
11092013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1112
99c971af
VS
11132013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Add support for processed coreboot payload chainloading.
1116
e6930a45
VS
11172013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 Enable coreboot information commands even when not loaded as
1120 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1121
5027af38
VS
11222013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Support for cbfs. Also factor out the part which is common
1125 for all archives to a separate module. This splits tar from cpio
1126 as they are very different but keeps cpio, cpio_be, odc and newc
1127 together since they're very similar.
1128
a5b55c4b
DM
11292013-06-15 David Michael <fedora.dm0@gmail.com>
1130
1131 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1132 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1133
0301a8b3
VS
11342013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * tests/grub_script_eval.in: Really add the eval test.
1137
3d84cb17
VS
11382013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 Move flavour-specific parts out of common cpio.c file and
1141 rename remaining to cpio_common.c
1142
593e430c
AB
11432013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1144
1145 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1146 off new function grub_script_execute_new_scope. Change callers to use
1147 either of them as appropriate.
1148 * grub-core/commands/eval.c: New command eval.
1149 * docs/grub.texi (Commands): Document it.
1150
63c29849
AB
11512013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1152
1153 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1154 to fetch values when listing.
1155
cc284112
AB
11562013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1157
1158 Fix make dist on non-pc.
1159
11602013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1161
1162 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1163 without a device name.
1164
69544d1e
VS
11652013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 Remove enable_executable_check as it's not needed anymore.
1168 Reported by: dougray.
1169
96dbe648
VS
11702013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1173 ambigouos RAID before discovering RAIDs on top of it.
1174 Reported by: bodom.
1175
ccfc0bdb
VS
11762013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 Fix typo (failback vs fallback).
1179
f2587088
AB
11802013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1181
1182 * util/grub.d/30_os-prober.in: Add support for probing EFI
1183 System Partition (as of os-prober 1.58).
1184
cec5cf0c
VS
11852013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * configure.ac: Add yet another path to unifont. For parabola.
1188
e40b4596
JT
11892013-05-30 Josh Triplett <josh@joshtriplett.org>
1190
1191 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1192 handling to copy the killed characters to the kill buffer as
1193 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1194 stored as char. Eliminates UCS4 truncation and corruption
1195 observed when killing characters with Ctrl-u and yanking them
1196 back with Ctrl-y.
1197
fc4c4fdd
VS
11982013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Detach optional parts of gfxterm and integrate in with coreboot init.
1201
6570b205
VS
12022013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 Move blit and fill dispatcher to appropriate files to decrease export
1205 and relocation overhead.
1206
b8323067
VS
12072013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1210 functions.
1211
3cc1878f
VS
12122013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/Makefile.am: Fix compilation problem with some
1215 automake versions.
1216
4b80e43c
VS
12172013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1220
57e0c20c
VS
12212013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1224 automake versions.
1225
4fd42c53
VS
12262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1229 SSDT.
1230
1e908b34
RS
12312013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1232
1233 * grub-core/partmap/dfly.c: New partition map.
1234
1359e474
VS
12352013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1238 checking.
1239 Reported by: Francesco Lavra.
1240
17806392
AB
12412013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1242
1243 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1244 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1245 false conditions.
1246 * conf/Makefile.common: define dist_grubconf_DATA
1247
cdce14fa
VS
12482013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 Progressively skip menu elements on small terminals rather
1251 than crashing.
1252
c8d6cc3c
VS
12532013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1256 to avoid losing last column.
1257
a73b31ce
VS
12582013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * po/exclude.pot: Add missing string "%C".
1261
1202c764
VS
12622013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1265 after the test.
1266
50268344
VS
12672013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * util/grub-install.in: Gettextize "Not found" message.
1270
62b15edf
VS
12712013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Fix distfiles list.
1274 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1275
12762013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1277
1278 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1279 present.
1280 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1281
709ad61b
VS
12822013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1285
d128901a
VS
12862013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1289 attribute since structure is not necessarily aligned.
1290
34b22f5c
AB
12912013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1292
1293 * docs/grub.texi (Device syntax): Clarify description of network
1294 drives.
1295
0f7e980b
VS
12962013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1299 for vasprintf presence.
1300
30b03dc2
VS
13012013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * util/grub-install.in: Handle efibootmgr presence check.
1304 Reported by: Leif Lindholm.
1305
0dc11c08
VS
13062013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1309 new strings to translate.
1310
f8024c3f
VS
13112013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1314 yet another string (pun intended) to translate.
1315
b4c1da62
VS
13162013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * po/POTFILES-shell.in: Autogenerate it.
1319
0ef7478b
VS
13202013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1323
8200fa15
VS
13242013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1327 misnomer.
1328
091945b2
AB
13292013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1330
1331 * docs/grub.texi (Network): Add description of net_default_interface,
1332 net_default_ip and net_default_mac. Rewrite variables description
1333 to emphasize that they are per-interface.
1334
0e7b2e32
VS
13352013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 New test: cmdline and cat.
1338
16f7c8f6
VS
13392013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/commands/cat.c: Show UTF-8 characters.
1342
3e912fda
VS
13432013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * conf/Makefile.common: Poison float and double on non-emu.
1346
ee0220bc
VS
13472013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * configure.ac: Don't disable extended registers on emu.
1350
89e0240c
VS
13512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * configure.ac: Don't use extended registers on x86_64.
1354 Reported by: Peter Jones.
1355
e56d9637
VS
13562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/term/efi/console.c: Fix compile error.
1359
8098f655
VS
13602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Compressed HFS+ support.
1363
16940e07
VS
13642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1367 pixel".
1368
c5dbc13d
VS
13692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 Menu color test.
1372
011f8ae8
VS
13732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/tests/setjmp_test.c: New test.
1376
2aa072d7
VS
13772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 New variables 'net_default_*' to determine MAC/IP of default interface.
1380
43fe02cb
VS
13812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * tests/gettext_strings_test.in: A test to check for strings not
1384 marked for translation.
1385
bed06142
VS
13862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * autogen.sh: Exclude unused libgcrypt files from translation.
1389
fb2666b5
VS
13902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 Simplify few strings.
1393
d22840ec
VS
13942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Mark few forgotten strings for translation.
1397
e34092fd
VS
13982013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1401 rather than printf.
1402
47cf82b4
VS
14032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1406 rather than printf.
1407 * grub-core/video/readers/tga.c: Likewise.
1408
1eed0e6e
VS
14092013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * tests/priority_queue_unit_test.cc: New test.
1412
c5b7697b
VS
14132013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1416 than printf.
1417
5945c2f8
AB
14182013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1419
1420 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1421 variable for one time boot menu entry.
1422
fa292343
B
14232013-05-05 Bean <bean123ch@gmail.com>
1424
1425 * grub-core/commands/testspeed.c: New command testspeed.
1426
310d4214
VS
14272013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 Factor-out human-size printing.
1430
85002bf3
VS
14312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 Agglomerate more mallocs to speed-up gfxterm.
1434
22b06e96
VS
14352013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Speed-up gfxterm by slightly agglomerating mallocs.
1438
b7c036bc
VS
14392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 More video checks.
1442
92323d1f
VS
14432013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Speed-up gfxterm by saving intermediate results in index+alpha
1446 format.
1447
0fb356a3
VS
14482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1451 test.
1452
44dea3f9
VS
14532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1456 line of timeout as it may contain the rest of long line.
1457
14af86e4
VS
14582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/normal/main.c: Fix freed memory dereference.
1461
03f7c8c3
VS
14622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Fix several memory leaks.
1465
c686014c
VS
14662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1469
0788a695
VS
14702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1473
daf01d61
VS
14742013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 Fix test -a and -o precedence.
1477 Reported by: adrian15.
1478
82ae74d7
VS
14792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1482
8cec7bd4
AB
14832013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1484
1485 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1486 and add it as source to functional_test module.
1487
aa73d688
VS
14882013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1491
c104b6f9
VS
14922013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 New series of tests for gfxterm and gfxmenu.
1495
7391c4d5
VS
14962013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1499 the theme path relative to $prefix/themes.
1500
cff50118
VS
15012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1504 Fix order bug.
1505 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1506
7c332bdc
VS
15072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1510 descriptor.
1511
a4f9a5ff
VS
15122013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1515 grub_gfxmenu_timeout_notifications.
1516 (grub_gfxmenu_view_destroy): Likewise.
1517
b5a2114d
VS
15182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1521
a8905e8a
VS
15222013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Several fixes to ieee1275 and big-endian video.
1525
813c1622
VS
15262013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 Add missing exports on mips.
1529
3f3e7326
VS
15302013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1533 if no unifont is found.
1534 Restore original keyboard.
1535
095accd1
VS
15362013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1539 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1540
50361660
VS
15412013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 First automated video test (running videotest and comparing results)
1544
cd0f6eec
VS
15452013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1548 instead of 2 to have full RGB/CMY test pattern.
1549
3f9634e5
VS
15502013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Add few more tests.
1553
583e5b64
VS
15542013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1557 ARCS. All users updated.
1558
aa7bcb99
VS
15592013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1562
95ef1a54
VS
15632013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1566
46546fc5
VS
15672013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1570 Reported by: qwertial.
1571
3476e0ef
VT
15722013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1573
1574 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1575 with syntax "XXX deg"/"XXX °".
1576
96f33fed
VS
15772013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Make PCI init in i386-qemu port more robust.
1580
15812013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1582
1583 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1584 cached view is reused.
1585 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1586 open boot menus.
1587
c53b4e67
VS
15882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 Unify more code in grub-install_header.
1591
f7457fb2
VS
15922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 Add few new tests.
1595
e2f27a8c
VS
15962013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 Enforce disabling of firmware disk drivers when native drivers kick in.
1599
ef9d8cd5
VS
16002013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/commands/nativedisk.c: Customize the list of modules on
1603 platform. Don't try to search for disks already using native drivers.
1604
f7bf6c31
VS
16052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1608 platforms.
1609
bdc4add8
VS
16102013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1613 handling of variables containing backslash.
1614
e9e46c9a
VS
16152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1618 dereference.
1619 Reported by: qwertial.
1620
0e90dee8
VS
16212013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1624
e0aacf24
VS
16252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1628 dereference.
1629 Reported by: qwertial.
1630
3c0003c3
VS
16312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1634
adb7d667
VS
16352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1638
7cd0df84
VS
16392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 New command `nativedisk'.
1642
02adbb93
VS
16432013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1646 * grub-core/loader/i386/bsd.c: Likewise.
1647
9fb0fd4f
VS
16482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1651
bd69257a
VS
16522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1655 grub_get_unaligned16 rather than shifts.
1656
178c2764
VS
16572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/kern/file.c: Use const char * rather than casting to
1660 non-const.
1661
eadfad24
VS
16622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/commands/probe.c: Add missing grub_device_close.
1665
9f73ebd4
VS
16662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * INSTALL: Document linguas.sh.
1669
965fa829
VS
16702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 Remove POTFILES.in and regenerate it in autogen.sh.
1673
d417ddc4
VS
16742013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 Move --directory/--override-directorry to grub-install_header and unify.
1677
f97ec546
VS
16782013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/term/morse.c: Macroify dih and dah.
1681
b2d7470c
PFS
16822013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1683
1684 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1685
141e2a78
VS
16862013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/term/ns8250.c: Systematically probe ports by writing
1689 to SR before using them.
1690
1dd70ebd
PFS
16912013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1692
1693 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1694 disks.
1695 (check_sas): Get sas_adress info.
1696
c796a107
VS
16972013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1700 ports.
1701
43168646
LD
17022013-04-27 Leon Drugi <eyak>
1703
1704 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1705 BSS clearing.
1706
e7b8fd08
VS
17072013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 Core compression test.
1710
17f9fd29
VS
17112013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 Implement grub_machine_get_bootlocation for ARC.
1714
dc2a6c8b
VS
17152013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 Improve AHCI detection and command issuing.
1718
f25a2ba6
VS
17192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 Fix pseries test.
1722
a6393224
VS
17232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 Make 'make check' work on emu.
1726
db99fbe8
VS
17272013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 Replace libcurses with our own vt100 handling for the ease of testing
1730 and decreasing prerequisites.
1731
b24ca7cd
VS
17322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1735
63314aa4
VS
17362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1739 compile when not needed.
1740
c1b00fff
VS
17412013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * tests/pseries_test.in: New test.
1744
f93e89ef
VS
17452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Add test to check that different boot mediums work.
1748
c4b456d3
VS
17492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1752 ofw limited ISO support.
1753
5fe67f39
VS
17542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * configure.ac: Fix loongson conditional.
1757
7f63a64f
VS
17582013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 Enable mipsel-arc.
1761
b04b5990
VS
17622013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 Add serial on ARC platform.
1765
88d2f302
VS
17662013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1769 commit.
1770
86eb23bc
VS
17712013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * tests/partmap_test.in: Add missing double semicolon.
1774
eec3bb75
VS
17752013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * util/grub-mkrescue.in: Fix loongson filename.
1778
e0810df3
VS
17792013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * util/grub-mkrescue.in: Move all files that don't have a location
1782 set in stone under /boot/grub. Use ISO hard links rather than copies
1783 to save some space.
1784
65a6b30b
VS
17852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1788 bogus SLOF values.
1789
6aff0107
VS
17902013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Make check work on mips-arc.
1793
5e013e56
VS
17942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * util/grub-mkrescue.in: Alias sashARCS as sash.
1797
d1989e2e
VS
17982013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1801 it's serial.
1802
1a25e72c
VS
18032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * util/grub-install.in: Fix target fo qemu_mips.
1806 Fix extension on EFI.
1807
a59a9826
VS
18082013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1811 in front of chosen entry to mark it even if highlighting is lost.
1812
1a40f80c
VS
18132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1816 gfxpayload=keep if cbfb is active.
1817
e343549c
VS
18182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1821
45fbd9a2
VS
18222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Add missing video ids to coreboot and ieee1275 video.
1825
ab1440bd
VS
18262013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * util/grub-mkrescue.in: Add mips-arc support.
1829
cdeb8324
VS
18302013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1833
8528c879
VS
18342013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Move mips-arc link address. Previous link address was chosen
1837 in belief that RAM on SGI platforms grows down while in fact it
1838 grows up from an unusual base.
1839
17fca573
VS
18402013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1843 Fix a type which prevented CD-ROM and floppy boot.
1844
d178788e
VS
18452013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 Support coreboot framebuffer.
1848
1849 * grub-core/video/i386/coreboot/cbfb.c: New file.
1850
fe4c3e7e
VS
18512013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1854 detecting too small regions.
1855
ec2dd179
VS
18562013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1859
872dac83
VS
18602013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1863 Remove dprintf.
1864 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1865
90ec4b7f
VS
18662013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1869 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1870 * grub-core/loader/powerpc/ieee1275/linux.c
1871 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1872
f32555dd
VS
18732013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1876 Look for /boot-rom as well as /rom/boot-rom.
1877
38649799
VS
18782013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1881 handling when creating text_layer failed.
1882 * grub-core/video/video.c (grub_video_create_render_target):
1883 Set result to 0 on error.
1884 (grub_video_delete_render_target): Do not dereference NULL.
1885
aeace7f7
VS
18862013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1889 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1890 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1891 (grub_linux_load64): Mask out 2 high bits.
1892
4eafa175
AB
18932013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1894
1895 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1896 more place.
1897
daaa64bd
VS
18982013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 Add support for pseries and other bootinfo machines to grub-mkrescue.
1901
1902 Tested by: Paulo Flabiano Smorigo.
1903
d0d2daa6
VS
19042013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * util/grub-mkrescue.in: Add GPT for EFI boot.
1907
b193e100
VS
19082013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1911 It improves performance in qemu.
1912
a0f8f3ac
VS
19132013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * build-aux/snippet: Add missing gnulib files.
1916
284df0e2
AB
19172013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1918
1919 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1920
740201f3
AB
19212013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1922
1923 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1924
a7e03923
PJ
19252013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19262013-04-15 Peter Jones <pjones@redhat.com>
1927
1928 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1929 sectors.
1930 Based on patch by Peter Jones.
1931
25fc51a8
VS
19322013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 Fix DMRAID partition handling.
1935
88017d47
VS
19362013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * tests/grub_cmd_date.in: Skip on sparc64.
1939
fa7d914e
VS
19402013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1943 firmware error messages.
1944
cbe57a48
VS
19452013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1948 source and destination differ.
1949
21aecce0
VS
19502013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1953 detection.
1954
25092d29
VS
19552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1958 match config-util.h to avoid warnings and increase compatibility.
1959
79451522 19602013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 19612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1962
1963 Add option to compress files on install/image creation.
1964
78b7d77b
VS
19652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * docs/grub-dev.texi: Rearrange menu to match the section order.
1968 Reported by: Bryan Hundven.
1969
cc2fa5ec
VS
19702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1973
b49fe879
VS
19742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Move GRUB out of system area when using xorriso 1.2.9 or later.
1977
5351da81
VS
19782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * tests/grub_cmd_date.in: Add missing exit 1.
1981
c9d586ea
VS
19822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * tests/partmap_test.in: Skip on sparc64.
1985
3f729741
VS
19862013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 Support grub-shell on sparc64.
1989
8ca86b3a
VS
19902013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 Support mkrescue on sparc64.
1993
aa1af9bb
VS
19942013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1997 Needed on OpenBIOS due to incomplete device tree.
1998
ac4fea79
VS
19992013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2002 would be otherwise excluded.
2003
20042013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2005
2006 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2007 Inline name defines used only once.
2008
fe22b071
VS
20092013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 Fix memory leaks in ofnet.
2012 Reported by: Francesco Lavra.
2013
9d21381b
VS
20142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * docs/man/grub-glue-efi.h2m: Add missing file.
2017
07aec23c
VS
20182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2021
67ab8353
VS
20222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 Better support Apple Intel Macs on CD.
2025
ba44ca6d
VS
20262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Replace stpcpy with grub_stpcpy in tools.
2029
bbdd6305
VS
20302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 Handle Japanese special keys.
2033 Reported by: Hiroyuki YAMAMORI.
2034 Codes supplied by: Hiroyuki YAMAMORI.
2035
8573d302
VS
20362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * util/grub-mkimage.c: Document memdisk implying --prefix.
2039
d70dbab7
VS
20402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2043 much we can do about it anyway.
2044
51a4c3e3
AN
20452013-04-12 Aleš Nesrsta <starous@volny.cz>
2046
2047 Fix handling of split transfers.
2048
92c8f58d
VS
20492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/net/http.c: Fix bad free.
2052
b7d17a49
VS
20532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2056 than buffer size.
2057
a3d566d4
VS
20582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2061
a936af56
VS
20622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * tests/util/grub-shell.in: Fix it on powerpc.
2065
51212234
VS
20662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 Turn off QEMU ACPI-way since new releases don't have shutdown port
2069 anymore.
2070
a21eec9e
VS
20712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * docs/grub.texi: Update coreboot status info.
2074
e3734b84
VS
20752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * tests/grub_cmd_date.in: New test for datetime.
2078
f9d40055
VS
20792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * tests/partmap_test.in: Fix missing qemudisk setting.
2082
dbc56d8f
VS
20832013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 Support i386-ieee1275 grub-mkrescue and make check on it.
2086
a79b8a15
VS
20872013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2090 feature for it.
2091
48f39bb4
VS
20922013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2095 GRUB_CMDLINE_XEN_DEFAULT.
2096 Reported by: Marc Warne (GigaTux) <gigatux>
2097
053cfcdd
VS
20982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Import new gnulib.
2101
93cd84df
VS
21022013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Use ACPI shutdown intests as traditional port was removed.
2105
f4b1fa4f
AB
21062013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2107
2108 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2109 distinction.
2110
49818a59
VS
21112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2114 Fix few warining messages and leaks while on it.
2115
9277a306
AB
21162013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2117
2118 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2119 links under grub-core/lib/libgcrypt-grub/mpi.
2120
d5e2a158
VS
21212013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 Fix ia64-efi image generation on big-endian machines. Deduplicate
2124 some code while on it.
2125 Reported by: Leif Lindholm.
2126
18866643
AB
21272013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2128
2129 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2130 as extra_dist.
2131
ca53deb8
AB
21322013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2133
2134 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2135
d4c4b8e1
BH
21362013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2137
2138 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2139 texinfo-5.1.
2140
47043f95
VS
21412013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/normal/term.c: Few more fixes for menu entry editor
2144 rendering.
2145 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2146
a3216068
VS
21472013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/normal/term.c: Few more fixes for menu entry editor
2150 rendering.
2151 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2152
21026747
AB
21532013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2154
2155 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2156 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2157
59624ca8
AB
21582013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2159
2160 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2161 instead of hardcoding grub.mo.
2162
1f44478c
FN
21632013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2164
2165 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2166
eeada7b1
VS
21672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2170 grub-core/disk/geli.c.
2171
132867de
VS
21722013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * util/grub-mkfont.c: Prefer enum to #define.
2175
de73de17
VS
21762013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2179
1865baa7
VS
21802013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2183
ce7d92a9
VS
21842013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2187
52eab656
VS
21882013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2191
98b23b95
VS
21922013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * include/grub/bsdlabel.h: Use enums.
2195
0467a5dd
VS
21962013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 Move GRUB_CHAR_BIT to types.h.
2199
16cc9f03
AB
22002013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2201
2202 * docs/grub.texi: Document more user commands.
2203
3152aecb
AB
22042013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2205
2206 * docs/grub.texi: Document menuentry --id option.
2207
c506fc30
FL
22082013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2209
2210 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2211
aa428238
VS
22122013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 Unify file copying setup across different install scripts. Add
2215 options for performing partial install.
2216
efe0cdda
PJ
22172013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22182013-04-04 Peter Jones <pjones@redhat.com>
2219
2220 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2221
f75835bd
VS
22222013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Use TSC as a possible time source on i386-ieee1275.
2225
2cd5ce6c
VS
22262013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2229 Init err.
2230
c9625630
VS
22312013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * util/grub-setup.c (setup): Handle some corner cases.
2234
be008941
VS
22352013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2238
1a78d573
VS
22392013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/commands/verify.c: Save verified file to avoid it being
2242 tampered with after verification was done.
2243
db8ff59f
VS
22442013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2247 reported width by one to compensate for curesor algorithm problem.
2248
91bf46b1
VS
22492013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 Fix screen corruption in menu entry editor and simplify the code
2252 flow while on it.
2253
a7b1d693
AB
22542013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2255
2256 * util/grub-mount.c (fuse_init): Return error if fuse_main
2257 failed.
2258
31df9ad8
FL
22592013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2260
2261 * include/grub/elf.h: Add missing ARM relocation codes and fix
2262 existing ones.
2263
07f392eb
VT
22642013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2265
2266 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2267
9efd73ec 22682013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
22692013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2272 into account when calculating radius.
2273
22742013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2275
2276 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2277
4985ddaa
VT
22782013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2279
2280 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2281
8c3635ff
RS
22822013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2283
2284 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2285 missing closing bracket.
2286
74a35e69
RS
22872013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2288
2289 * INSTALL: Mention xorriso requirement.
2290
40f1c000
AB
22912013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2292
2293 * grub-core/commands/verify.c: Fix hash algorithms values for
2294 the first three hashes - they start with 1, not with 0.
2295
e75fdee4
VS
22962013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2299 Try terminating EFI services several times due to quirks in some
2300 implementations.
2301
33028f4c
CW
23022013-03-26 Colin Watson <cjwatson@ubuntu.com>
2303
2304 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2305 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2306 BankField extended opcodes.
2307 (get_sleep_type): Add minimal scope handling (just enough to
2308 handle setting the scope to the root path).
2309 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2310 * include/grub/acpi.h: Add enumeration values for Event, Device,
2311 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2312
33871a10
VT
23132013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2314
2315 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2316 memory leak.
2317
8990963a
VS
23182013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/disk/ahci.c: Give more time for AHCI request.
2321
daae8f9e
VS
23222013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2325 command.
2326
6a7fb94b
VS
23272013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 Replace the region at 0 from coreboot tables to available in BSD
2330 memory map.
2331
ff99babd
VS
23322013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2335 non-BIOS platforms.
2336
30d6b1b2
VS
23372013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2340 platforms.
2341
6ccd0b31
VS
23422013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2345 handling of multi-device filesystems.
2346
23c9cc04
VS
23472013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2350 platforms.
2351
ce50dbd7
VS
23522013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 Add new 'proc' filesystem framework and put luks_script into it.
2355
d975e8d5
VS
23562013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2359 and qemu.
2360
e73ba5e8
VS
23612013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2364
92750e4c
VS
23652013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Add ability to generate newc additions on runtime.
2368
0ec45a68
VS
23692013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2372 description.
2373
320abd43
VS
23742013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * po/POTFILES.in: Regenerate.
2377
d7a6506e
VS
23782013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/commands/verify.c (hashes): Add several hashes
2381 from the spec.
2382
8fe05def
VS
23832013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Slight improve in USB-related boot-time checkpoints.
2386
524e2766
VS
23872013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/commands/boottime.c: Fix copyright header.
2390
cc19857a
VS
23912013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2394 coreboot tables content. Support for cbmemc.
2395
ef8810e9
VS
23962013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 Fix a conflict between ports structures with 2 controllers of
2399 same kind.
2400
e9dabdfa
VS
24012013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * include/grub/boottime.h: Add missing file.
2404
f6df57d2
VS
24052013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 Initialize USB ports in parallel to speed-up boot.
2408
d745dda7
VS
24092013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Fix USB devices not being detected when requested
2412 due to delayed attach.
2413
e5a2dd7b
VS
24142013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2415
e744219b
VS
2416 Implement boot time analysis framework.
2417
24182013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2421 descriptor to just receive it as argument rather than endpoint
2422 address.
2423
5dd6f587
VS
24242013-03-19 Aleš Nesrsta <starous@volny.cz>
2425
2426 Better estimate the maximum USB transfer size.
2427
2f1071d5
VS
24282013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Resend a packet if we got the wrong buffer in status.
2431
46ecfc49
VS
24322013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2435 multiplication rather than division.
2436
ea811130
VS
24372013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2440 than divisions.
2441
d2789cf0
VS
24422013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2445 operations to have intended shifts and not divisions.
2446
a9c94590
VS
24472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2450 intended shifts rather than division.
2451
84cfe81b
VS
24522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2455 computation for some years before epoch. Avode confusing division
2456 while on it.
2457
21344ef6
VS
24582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/video/i386/pc/vbe.c
2461 (grub_video_vbe_print_adapter_specific_info): Replace division by
2462 shifts.
2463
3f2b4d1a
VS
24642013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 Adjust types in gdb module to have intended unsigned shifts rather than
2467 signed divisions.
2468
3dac5878
VS
24692013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2472 maximum size is 4G - 1 on hfs
2473
5341c0fb
VS
24742013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2477
fc3ff2a2
VS
24782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2481 function.
2482
81455e8e
AB
24832013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2484
2485 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2486 causing gcc error with gcc 4.7.1.
2487
efd4f117
NZ
24882013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2489
2490 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2491 dereference null pointer. While the code is technically correct, gcc
2492 may eliminate a null check if pointer is already dereferenced.
2493
e11645f4
NZ
24942013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2495
2496 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2497 OOM check.
2498 * grub-core/normal/term.c (read_terminal_list): Likewise.
2499
77468368
VS
25002013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Lift up core size limits on some platforms. Fix potential memory
2503 corruption with big core on small memory systems. Document remaining
2504 limits.
2505
f6b58fe5
VS
25062013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2509 gotoxy to 0,0.
2510
19ce697d
VS
25112013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Remove all trampoline support. Add -Wtrampolines when
2514 present. Remove symbols used for trampolines to make
2515 link fail if trampolines are present.
2516
73b5d90f
VS
25172013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2520 append out of its parent.
2521
cb758e96
VS
25222013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2525 parent.
2526
3188131f
VS
25272013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2530 all vars to a macro. All users updated.
2531
e42b2514
VS
25322013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2535 i386-ieee1275.
2536
83e1a1a1
VS
25372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2540
1d5a880f
VS
25412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2544
6e4146c4
VS
25452013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Move to more hookless approach in IEEE1275 devices handling.
2548
99fcda8a
VS
25492013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/kern/term.c (grub_term_normal_color),
2552 (grub_term_highlight_color): Add back lost defaults.
2553
73bf57e2
VS
25542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Make elfload not use hooks. Opt for flags and iterators instead.
2557
7f8c105f
VS
25582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2561 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2562
396d4091
VS
25632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2566
25672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2570 hook pass-through parameter. All users updated and unnested.
2571
74a27421
VS
25722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2575 out of its parent.
2576
b46d4213
VS
25772013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/fs/hfs.c: Remove nested functions.
2580
e114c3cc
VS
25812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2584 the context through.
2585 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2586
f9b7d780
VS
25872013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * util/grub-editenv.c (list_variables): Move print_var out of its
2590 parent.
2591
ca9c2608
VS
25922013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2595 function.
2596
5d983f5f
VS
25972013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/gentrigtables.c: Make tables const.
2600
3056d3e7
VS
26012013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Remove nested functions from videoinfo iterators.
2604
e2303774
VS
26052013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2608 for 64-bit platforms.
2609
f42e3a2f
VS
26102013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2613 a FOR_CHILDREN macro.
2614
be174e5e
VS
26152013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2618 platform from firmware path.
2619
0789b672
VS
26202013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 Enable linux16 on non-BIOS systems for i.a. memtest.
2623
2624 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2625 correctly.
2626 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2627
005a9c32
VS
26282013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2631 Fix end of table condition.
2632
ff2b3cd9
VS
26332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2636 out of its parent.
2637
4fc40ff8
VS
26382013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/fs/jfs.c: Remove nested functions.
2641
be42d97a
VS
26422013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/fs/minix.c: Remove nested functions.
2645
99373ce4
VS
26462013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/fs/iso9660.c: Remove nested functions.
2649
5aec2afe
VS
26502013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2653 of parent function.
2654
6c69e691
VS
26552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * util/grub-fstest.c: Remove nested functions.
2658
43c91882
VS
26592013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/loader/machoXX.c: Remove nested functions.
2662
4eb8b756
CW
26632013-02-27 Colin Watson <cjwatson@ubuntu.com>
2664
2665 Remove nested functions from disk and file read hooks.
2666
2667 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2668 (struct grub_disk): Add read_hook_data member.
2669 * include/grub/file.h (struct grub_file): Likewise.
2670 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2671 argument.
2672
2673 Update all callers.
2674
df6da5a5
AB
26752012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2676
2677 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2678 Fix off by one error in enumerating extended partitions.
2679
21aecde5
AB
26802013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2681
2682 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2683 memory leak if device name is not found.
2684
f1a19118
AB
26852013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2686
2687 * grub-core/normal/menu_entry.c (update_screen): remove
2688 unused variable `off' which caused scroll down arrow to be always shown.
2689
958bfd20
AB
26902013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2691
2692 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2693 access to unallocated memory.
2694
b7b78edb
AB
26952013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2696
2697 * Makefile.util.def: Add partmap/msdos.c to common library.
2698 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2699 * grub-core/disk/ldm.c: Check for existence of
2700 GRUB_PC_PARTITION_TYPE_LDM.
2701
28d468d6
VS
27022013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2705 sizes and display sector size.
2706
d55ffb02
VS
27072013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 Implement new command cmosdump.
2710
b5ea6ce0
VS
27112013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2712
2713 Support Openfirmware disks with non-512B sectors.
2714
2715 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2716 size of the disk.
2717 * (grub_ofdisk_get_block_size): New function.
2718 * (grub_ofdisk_prepare): Use the correct block size.
2719 * (grub_ofdisk_read): Likewise.
2720 * (grub_ofdisk_write): Likewise.
2721 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2722 New proto.
2723
cc0e476f
VS
27242013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2727
c5dbdc33
VS
27282013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2731 on first error.
2732
3f078c0f
VS
27332013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2736 freeing it.
2737
66a93674
VS
27382013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Implement USBDebug (full USB stack variant).
2741
c9f0c134
VS
27422013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2745 unless they have unexpected values.
2746
cfe1288b
VS
27472013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2750 grub_print_error.
2751
e42b9969
VS
27522013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2755 zero-out of port structure.
2756
cf94fd62
VS
27572013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2760 of extended attributes.
2761
f81ef4b5
AB
27622013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2763
2764 * util/grub-install.in: change misleading comment about
2765 device.map creation
2766
af18fdb4
VS
27672013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2770 when menu highlight color isn't set.
2771
08bcec50
M
27722013-01-27 C. Masloch <pushbx@38.de>
2773
2774 Improve FreeDOS direct loading support compatibility.
2775
2776 * include/grub/i386/relocator.h (grub_relocator16_state):
2777 New member ebp.
2778 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2779 variable.
2780 (grub_relocator16_boot): Handle %ebp.
2781 * grub-core/lib/i386/relocator16.S: Likewise.
2782 * grub-core/loader/i386/pc/freedos.c:
2783 Load BPB to pass kernel which partition to load from.
2784 Check that kernel file is not too large.
2785 Set register dl to BIOS unit number as well.
2786
7782b8a6
CW
27872013-01-22 Colin Watson <cjwatson@ubuntu.com>
2788
2789 * util/grub-reboot.in (usage): Document the need for
2790 GRUB_DEFAULT=saved.
2791 * util/grub-set-default.in (usage): Likewise.
2792 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2793
e661c180
VS
27942013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2797 than defining WORDS_BIGENDIAN manually.
2798
1c22ca9a
VS
27992013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2802 invariants.
2803
d44892fe
CW
28042013-01-21 Colin Watson <cjwatson@ubuntu.com>
2805
2806 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2807 nested.
2808 (blit_comb: add_device_width): Likewise.
2809
5fdbaed1
CW
28102013-01-21 Colin Watson <cjwatson@ubuntu.com>
2811
2812 Remove nested functions from USB iterators.
2813
2814 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2815 (grub_usb_controller_iterate_hook_t): Likewise.
2816 (grub_usb_iterate): Add hook_data argument.
2817 (grub_usb_controller_iterate): Likewise.
2818 (struct grub_usb_controller_dev.iterate): Likewise.
2819
2820 Update all implementations and callers.
2821
4250985a
VS
28222013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2825 margin when not needed.
2826
7d8848f3
VS
28272013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2828
bc136973 2829 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2830
28312013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2832
bc136973
VS
2833 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2834 asterisk.
7d8848f3 2835
ed12a003
CW
28362013-01-21 Colin Watson <cjwatson@ubuntu.com>
2837
2838 Fix powerpc and sparc64 build failures caused by un-nesting memory
2839 map iterators.
2840
6a0db449
CW
28412013-01-21 Colin Watson <cjwatson@ubuntu.com>
2842
2843 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2844 parameter declarations.
2845
ccd86b21
VS
28462013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2849
822b726b
VS
28502013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 Improve spkmomdem reliability by adding a separator between bytes.
2853
115c2cc1
CW
28542013-01-21 Colin Watson <cjwatson@ubuntu.com>
2855
2856 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2857 an Acer registration utility with several sightings in the wild.
2858 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2859
fc524edf
CW
28602013-01-21 Colin Watson <cjwatson@ubuntu.com>
2861
2862 Remove nested functions from filesystem directory iterators.
2863
2864 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2865 (struct grub_fs.dir): Add hook_data argument.
2866
2867 Update all implementations and callers.
2868
53d3e4e3
CW
28692013-01-21 Colin Watson <cjwatson@ubuntu.com>
2870
2871 * docs/grub.texi (Multi-boot manual config): Fix typo for
2872 "recommended".
2873
c821711f
LL
28742013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2875
2876 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2877 until after its use in generate_image.
2878
6a0debbd
CW
28792013-01-20 Colin Watson <cjwatson@ubuntu.com>
2880
2881 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2882 initrd size to addr_min, since the initrd will be allocated after
2883 this address.
2884
f41e08db
AB
28852013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2886
2887 * conf/Makefile.common: Fix autogen rules to pass definition
2888 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2889
77529e0f
LL
28902013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2891
2892 * include/grub/elf.h: Update ARM definitions based on binutils.
2893
b879aa7b
VS
28942013-01-20 Aleš Nesrsta <starous@volny.cz>
2895
2896 Split long USB transfers into short ones.
2897
8eb8284d
AB
28982013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2899
2900 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2901 is interrupted by ESC.
2902
08dad2dc
VS
29032013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * util/grub-script-check.c (main): Uniform the error message.
2906
6c724b85
CW
29072013-01-20 Colin Watson <cjwatson@ubuntu.com>
2908
2909 Remove nested functions from ELF iterators.
2910
25239370
CW
29112013-01-20 Colin Watson <cjwatson@ubuntu.com>
2912
2913 Remove nested functions from device iterators.
2914
2915 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2916 (grub_arc_iterate_devs): Add hook_data argument.
2917 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2918 (struct grub_ata_dev.iterate): Add hook_data argument.
2919 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2920 (grub_device_iterate): Add hook_data argument.
2921 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2922 (struct grub_disk_dev.iterate): Add hook_data argument.
2923 (grub_disk_dev_iterate): Likewise.
2924 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2925 Likewise.
2926 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2927 Likewise.
2928 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2929 type.
2930 (struct grub_partition_map.iterate): Add hook_data argument.
2931 (grub_partition_iterate): Likewise.
2932 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2933 (struct grub_scsi_dev.iterate): Add hook_data argument.
2934
2935 Update all callers.
2936
6c0314d6
CW
29372013-01-20 Colin Watson <cjwatson@ubuntu.com>
2938
2939 Fix typos for "developer" and "development".
2940
600dc5f1
VS
29412013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 Add license header to spkmodem-recv.c.
2944
17334a6b
VS
29452013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Rewrite spkmodem to use PIT for timing. Double the speed.
2948
7d462559
VS
29492013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Add new command pcidump.
2952
b78d6c32
VS
29532013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 New terminal outputs using serial: morse and spkmodem.
2956
34f71cb8
VS
29572013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 Improve bidi handling in entry editor.
2960
4542e71b
VS
29612013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2964 argument to prevent name collision.
2965
09fd6d82
CW
29662013-01-15 Colin Watson <cjwatson@ubuntu.com>
2967
2968 Remove nested functions from script reading and parsing.
2969
2970 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2971 getline_data argument, passed to getline.
2972 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2973 getline_data argument, passed to grub_parser_split_cmdline.
2974 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2975 lexerstate->getline_data to lexerstate->getline.
2976 (grub_script_lexer_init): Add getline_data argument, saved in
2977 lexerstate->getline_data.
2978 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2979 argument, passed to grub_script_parse.
2980 * grub-core/script/script.c (grub_script_parse): Add getline_data
2981 argument, passed to grub_script_lexer_init.
2982 * include/grub/parser.h (grub_parser_split_cmdline): Update
2983 prototype. Update all callers to pass appropriate getline data.
2984 (struct grub_parser.parse_line): Likewise.
2985 (grub_rescue_parse_line): Likewise.
2986 * include/grub/reader.h (grub_reader_getline_t): Add void *
2987 argument.
2988 * include/grub/script_sh.h (struct grub_lexer_param): Add
2989 getline_data member.
2990 (grub_script_parse): Update prototype. Update all callers to pass
2991 appropriate getline data.
2992 (grub_script_lexer_init): Likewise.
2993 (grub_normal_parse_line): Likewise.
2994
2995 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2996 data argument.
2997 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2998 static instead of nested. Rename to ...
2999 (grub_parser_execute_getline): ... this.
3000 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3001 data argument.
3002 * grub-core/normal/main.c (read_config_file: getline): Make static
3003 instead of nested. Rename to ...
3004 (read_config_file_getline): ... this.
3005 (grub_normal_read_line): Add unused data argument.
3006 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3007 getline): Make static instead of nested. Rename to ...
3008 (grub_script_execute_sourcecode_getline): ... this.
3009 * util/grub-script-check.c (main: get_config_line): Make static
3010 instead of nested.
3011
d0d4b8a0
CW
30122013-01-15 Colin Watson <cjwatson@ubuntu.com>
3013
3014 Remove nested functions from memory map iterators.
3015
3016 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3017 argument, passed to hook.
3018 * grub-core/kern/i386/coreboot/mmap.c
3019 (grub_linuxbios_table_iterate): Likewise.
3020 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3021 instead of nested.
3022 (grub_machine_mmap_iterate): Add hook_data argument.
3023 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3024 Add hook_data argument, passed to hook.
3025 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3026 Likewise.
3027 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3028 Likewise.
3029 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3030 Likewise.
3031 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3032 Likewise.
3033 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3034 Likewise.
3035 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3036 Likewise.
3037 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3038 (grub_machine_mmap_iterate): Likewise.
3039 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3040 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3041 prototype.
3042 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3043 Remove NESTED_FUNC_ATTR from here and from all users.
3044 (grub_mmap_iterate): Update prototype.
3045 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3046 pass appropriate hook data.
3047 (grub_machine_mmap_iterate): Likewise.
3048
3049 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3050 static instead of nested.
3051 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3052 Rename to ...
3053 (lsmmap_hook): ... this.
3054 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3055 Likewise.
3056 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3057 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3058 heap_init): Likewise.
3059 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3060 Rename to ...
3061 (mmap_iterate_hook): ... this.
3062 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3063 Likewise.
3064 * grub-core/lib/ieee1275/relocator.c
3065 (grub_relocator_firmware_get_max_events: count): Likewise.
3066 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3067 to ...
3068 (grub_relocator_firmware_fill_events_iter): ... this.
3069 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3070 hook): Likewise. Rename to ...
3071 (grub_relocator_alloc_chunk_align_iter): ... this.
3072 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3073 Rename to ...
3074 (generate_e820_mmap_iter): ... this.
3075 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3076 Rename to ...
3077 (count_hook): ... this.
3078 (grub_linux_boot: hook): Likewise. Rename to ...
3079 (grub_linux_boot_mmap_find): ... this.
3080 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3081 (grub_linux_boot_mmap_fill): ... this.
3082 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3083 hook): Likewise. Rename to ...
3084 (grub_fill_multiboot_mmap_iter): ... this.
3085 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3086 hook): Likewise. Rename to ...
3087 (count_hook): ... this.
3088 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3089 hook): Likewise. Rename to ...
3090 (grub_fill_multiboot_mmap_iter): ... this.
3091 * grub-core/loader/powerpc/ieee1275/linux.c
3092 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3093 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3094 Likewise. Rename to ...
3095 (alloc_phys_choose): ... this.
3096 (determine_phys_base: get_physbase): Likewise.
3097 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3098 find_hook): Likewise.
3099 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3100 (malloc_hook: count_hook): Likewise.
3101 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3102 Likewise. Rename to ...
3103 (lower_hook): ... this.
3104 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3105 (upper_hook): ... this.
3106 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3107 (post64_hook): ... this.
3108 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3109 Likewise. Rename to ...
3110 (lower_hook): ... this.
3111 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3112 (upper_hook): ... this.
3113 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3114 (grub_mmap_iterate: fill_hook): Likewise.
3115 (fill_mask): Pass addr and mask within a single struct.
3116 (grub_cmd_badram: hook): Make static instead of nested. Rename
3117 to ...
3118 (badram_iter): ... this.
3119 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3120 (cutmem_iter): ... this.
3121
22099030
VS
31222013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3125 delimit path in strings using quotes.
3126 * util/getroot.c (grub_guess_root_devices): Likewise.
3127 (grub_make_system_path_relative_to_its_root): Likewise.
3128 * util/grub-probe.c (probe): Likewise.
3129 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3130 (xrealpath): Likewise.
3131
4a9950ec
VS
31322013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 Fix compilation with older compilers.
3135
3136 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3137 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3138 declarations.
3139 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3140 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3141 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3142 identifier with b.
3143 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3144 * include/grub/crypto.h: Add type defines.
3145 * util/import_gcrypth.sed: Remove duplicate type defines.
3146
adcc6020
VS
31472013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 New command list_trusted.
3150
3151 * grub-core/commands/verify.c (grub_cmd_list): New function.
3152
a4528937
CW
31532013-01-13 Colin Watson <cjwatson@ubuntu.com>
3154
3155 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3156 info message.
3157
ca3a7446
CW
31582013-01-13 Colin Watson <cjwatson@ubuntu.com>
3159
3160 Remove nested functions from PCI iterators.
3161
3162 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3163 passed to hook. Update all callers to pass appropriate hook data.
3164 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3165 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3166 Remove NESTED_FUNC_ATTR from here and from all users.
3167 (grub_pci_iterate): Update prototype.
3168 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3169 instead of nested. Rename to ...
3170 (grub_cs5536_find_iter): ... this.
3171 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3172 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3173 Likewise.
3174 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3175 Likewise.
3176 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3177 Likewise.
3178 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3179 Likewise.
3180 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3181 * grub-core/video/radeon_fuloong2e.c
3182 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3183 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3184 find_card): Likewise.
3185 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3186 Likewise.
3187
f8e98fee
VS
31882013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/commands/verify.c: Mark messages for translating.
3191
055b36b6
VS
31922013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3195 fatal.
3196
f7ff879b
VS
31972013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3200 fatal.
3201
32022013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3203
3204 * autogen.sh: Do not try to delete nonexistant files.
3205 * util/import_gcrypth.sed: Add some missing header removals.
3206
01323d49
CW
32072013-01-12 Colin Watson <cjwatson@ubuntu.com>
3208
3209 Clean up dangling references to grub-setup.
3210 Fixes Ubuntu bug #1082045.
3211
3212 * docs/grub.texi (Images): Refer generally to grub-install rather
3213 than directly to grub-setup.
3214 (Installing GRUB using grub-install): Remove direct reference to
3215 grub-setup.
3216 (Device map) Likewise.
3217 (Invoking grub-install): Likewise.
3218 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3219 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3220 * util/grub-install.in (usage): Likewise.
3221
3222 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3223 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3224 grub-setup.
3225 * configure.ac: Remove grub_setup output variable.
3226
3227 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3228 to grub-bios-setup.
3229 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3230 grub-setup to grub-sparc64-setup.
3231
5e3b8dcb
VS
32322013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 Import gcrypt public-key cryptography and implement signature checking.
3235
535714bd
VS
32362013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/fs/ntfs.c: Ue more appropriate types.
3239 * grub-core/fs/ntfscomp.c: Likewise.
3240 * include/grub/ntfs.h: Likewise.
3241
3e4f3566
VS
32422013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Support Apple FAT binaries on non-Apple platforms.
3245
3246 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3247 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3248 Likewise.
3249 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3250 Apple FAT binaries.
3251
4dedb13f
VS
32522013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3255 sector devices.
3256
f8861eaf
CW
32572013-01-07 Colin Watson <cjwatson@ubuntu.com>
3258
3259 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3260 explicitly zeroing elements.
3261 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3262 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3263 of elements in a structure already allocated using grub_zalloc.
3264 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3265
86065b0a
CW
32662013-01-07 Colin Watson <cjwatson@ubuntu.com>
3267
3268 * docs/grub.texi (grub_cpu): New subsection.
3269 (grub_platform): Likewise.
3270
c6f1e92f
VS
32712013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3274
f797ec85
VS
32752013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3278 divisions.
3279
033d0b4b
VS
32802013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3283 * grub-core/fs/ntfscomp.c: Likewise.
3284 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3285 (grub_ntfs_comp): Likewise.
3286
21d1b9a0
VS
32872013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3290 Rename to ...
3291 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3292 of groups_per_block. All users updated.
3293
10ca8645
VS
32942013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3297 grub_error properly.
3298 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3299 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3300
a4c3ed4c
VS
33012013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3304 always in /boot/zfs.
3305 Reported by: Yuta Satoh.
3306
0b716507
YS
33072013-01-03 Yuta Satoh <nigoro>
3308
3309 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3310 ${grub_probe}
3311
00c05e22
VS
33122013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * configure.ac: Extend -Wno-trampolines to host.
3315
dadddb76
VS
33162013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3319 entry->len = 0.
3320
54ce53ca
CW
33212013-01-03 Colin Watson <cjwatson@ubuntu.com>
3322
3323 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3324 (Invoking grub-script-check): Likewise.
3325
8912efca
CW
33262013-01-03 Colin Watson <cjwatson@ubuntu.com>
3327
3328 * docs/grub.texi (Invoking grub-mount): New section.
3329 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3330
c3fc8394
CW
33312013-01-02 Colin Watson <cjwatson@ubuntu.com>
3332
3333 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3334 test failures, so that a failing unit test correctly causes 'make
3335 check' to fail.
3336
45d26abb
CW
33372013-01-02 Colin Watson <cjwatson@ubuntu.com>
3338
3339 Fix failing printf test.
3340
3341 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3342 '$' in the correct order when collecting type information.
3343
971dd2c6
CW
33442013-01-02 Colin Watson <cjwatson@ubuntu.com>
3345
3346 * docs/grub.texi (configfile): Explain environment variable
3347 handling.
3348 (source): New section.
3349 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3350
5c67ea6c
CW
33512012-12-31 Colin Watson <cjwatson@ubuntu.com>
3352
3353 Remove several trivially-unnecessary uses of nested functions.
3354
3355 * grub-core/commands/i386/pc/sendkey.c
3356 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3357 instead of nested.
3358 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3359 Rename to ...
3360 (legacy_file_getline): ... this.
3361 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3362 Likewise.
3363 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3364 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3365 to ...
3366 (probe_dummy_iter): ... this.
3367 * grub-core/kern/i386/coreboot/mmap.c
3368 (grub_linuxbios_table_iterate: check_signature): Likewise.
3369 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3370 check_varstate): Likewise. Mark inline.
3371 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3372 an additional parameter.
3373 (find_long: fnd_long): Likewise. Pass two additional parameters.
3374 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3375 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3376 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3377 Likewise. Rename to ...
3378 (grub_cmos_find_port_iter): ... this.
3379 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3380 Rename to ...
3381 (find_rtc_iter): ... this.
3382
3383 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3384 function directly into the function body, since it is only called
3385 once.
3386
33a68ac6
CW
33872012-12-30 Colin Watson <cjwatson@ubuntu.com>
3388
3389 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3390 __attribute__ ((unused)).
3391 * grub-core/video/bochs.c (find_card): Likewise.
3392 * grub-core/video/cirrus.c (find_card): Likewise.
3393 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3394 * grub-core/video/sis315pro.c (find_card): Likewise.
3395 * grub-core/video/sm712.c (find_card): Likewise.
3396
608b647a
CW
33972012-12-28 Colin Watson <cjwatson@ubuntu.com>
3398
3399 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3400 Fixes Savannah bug #37821.
3401
fd49ceb3
CW
34022012-12-28 Colin Watson <cjwatson@ubuntu.com>
3403
3404 Apply program name transformations at build-time rather than at
3405 run-time. Fixes Debian bug #696465.
3406
3407 * acinclude.m4 (grub_TRANSFORM): New macro.
3408 * configure.ac: Create output variables with transformed names for
3409 most programs.
3410 * util/bash-completion.d/grub-completion.bash.in: Use
3411 pre-transformed variables for program names.
3412 * util/grub-install.in: Likewise.
3413 * util/grub-kbdcomp.in: Likewise.
3414 * util/grub-mkconfig.in: Likewise.
3415 * util/grub-mkconfig_lib.in: Likewise.
3416 * util/grub-mknetdir.in: Likewise.
3417 * util/grub-mkrescue.in: Likewise.
3418 * util/grub-mkstandalone.in: Likewise.
3419 * util/grub-reboot.in: Likewise.
3420 * util/grub-set-default.in: Likewise.
3421 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3422 * tests/util/grub-shell-tester.in: Remove unused assignment.
3423 * tests/util/grub-shell.in: Likewise.
3424 * util/grub.d/00_header.in: Likewise.
3425
7024b3c0
CW
34262012-12-28 Colin Watson <cjwatson@ubuntu.com>
3427
3428 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3429
3430 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3431 HAVE_RAW_DECL_GETS.
3432 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3433
e3501b13
VS
34342012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3437 Reported by: Eriks Latosheks <foresterlv>.
3438
b40c88a9
VS
34392012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * docs/grub.texi (Network): Update instructions on generating netboot
3442 image.
3443
ce96d01c
VS
34442012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3447 around device name if necessarry.
3448
0f596201
PFS
34492012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3450
3451 * util/grub-install.in: Follow the symbolic link parameter added
3452 to the file command.
3453
600d5bdb
AB
34542012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3455
3456 * util/grub-install.in: Remove stale TODO.
3457
64ebd2f4
PFS
34582012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3459
3460 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3461 dynamic allocation for the bootpath buffer.
3462
74b2fe3e
DTB
34632012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3464
3465 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3466 window too small.
3467
969b804f
VS
34682012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3471 argument rather than font name. All users updated.
3472 (grub_gfxterm_set_window): Likewise.
3473
b9f5ebd6
VT
34742012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3475
3476 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3477 from working.
3478
258f43b7
VS
34792012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * util/getroot.c (convert_system_partition_to_system_disk): Support
3482 nbd disks.
3483
cc1ce5f9
VS
34842012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3487 infinite loop on corrupted FS.
3488
e77a16ca
VS
34892012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Fix big-endian mtime.
3492
3493 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3494 together sec and usec.
3495 (grub_ufs_dir): Use correct byteswapping for UFS time.
3496
d9c48c7b
VS
34972012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 Support big-endian UFS1.
3500
3501 * Makefile.util.def (libgrubmods): Add ufs_be.c
3502 * grub-core/Makefile.core.def (ufs1_be): New module.
3503 * grub-core/fs/ufs_be.c: New file.
3504 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3505 the file.
3506
2f9f40ba
LL
35072012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3508
3509 * include/grub/types.h: Fix functionality unaffecting typo in
3510 GRUB_TARGET_WORDSIZE conditional macro.
3511
48ff0889
PFS
35122012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3513
3514 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3515
03711240
GS
35162012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3517
3518 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3519 that /netbsd appears first (when it exists).
3520
a31b11bd
CJ
35212012-10-12 Christoph Junghans <ottxor@gentoo.org>
3522
3523 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3524 Fixes Savannah bug #37558.
3525
e8a5d5d4
CW
35262012-10-12 Colin Watson <cjwatson@ubuntu.com>
3527
3528 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3529 description of extract_entries_configfile.
3530
35312012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3532
3533 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3534 preferred_address.
3535 (grub_cmd_linux): Likewise.
3536 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3537 preferred_lifetime. Update all users.
3538
288c757d
CW
35392012-09-26 Colin Watson <cjwatson@ubuntu.com>
3540
3541 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3542 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3543
0d35da3f
CW
35442012-09-26 Colin Watson <cjwatson@ubuntu.com>
3545
3546 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3547 errors from grub-probe to /dev/null, not stdout.
3548
b78c3127
VS
35492012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3552 sector 1.
3553
473959f0
CW
35542012-09-24 Colin Watson <cjwatson@ubuntu.com>
3555
3556 * util/grub-install.in: Make the error message if $source_dir
3557 doesn't exist more useful.
3558
794c8c33
CW
35592012-09-22 Colin Watson <cjwatson@ubuntu.com>
3560
3561 Fix grub-emu build on FreeBSD.
3562
3563 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3564 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3565 headers on Linux.
3566 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3567 implementation is currently Linux-specific.
3568 * util/getroot.c (exec_pipe): Define only on Linux or when either
3569 libzfs or libnvpair is unavailable.
3570 (find_root_devices_from_poolname): Remove unused path variable.
3571
86d08fdb
CW
35722012-09-19 Colin Watson <cjwatson@ubuntu.com>
3573
3574 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3575 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3576 should fit before end == 63.
3577
735abf54
CW
35782012-09-19 Colin Watson <cjwatson@ubuntu.com>
3579
3580 * util/grub-setup.c (write_rootdev): Remove unused core_img
3581 parameter. Update all callers.
3582 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3583 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3584 GRUB_SETUP_BIOS.
3585
140acd3c
VS
35862012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3589 (grub_add_tab): New function.
3590 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3591 * util/grub.d/10_illumos.in: Likewise.
3592 * util/grub.d/10_kfreebsd.in: Likewise.
3593 * util/grub.d/10_linux.in: Likewise.
3594 * util/grub.d/10_netbsd.in: Likewise.
3595 * util/grub.d/10_windows.in: Likewise.
3596 * util/grub.d/10_xnu.in: Likewise.
3597 * util/grub.d/20_linux_xen.in: Likewise.
3598 * util/grub.d/30_os-prober.in: Likewise.
3599
7ddffdad
VS
36002012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3603 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3604 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3605 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3606 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3607 ieee1275-nocursor.
3608 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3609 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3610
4e092454
VS
36112012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3614 le-conversion.
3615 Reported by: BURETTE, Bernard.
3616
735abf54 36172012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3618
3619 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3620 from comment.
3621
dfd39dbd
CW
36222012-09-14 Colin Watson <cjwatson@ubuntu.com>
3623
3624 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3625 IEEE1275 machines. Fixes powerpc-emu compilation.
3626 * include/grub/terminfo.h: Likewise.
3627
3bfa763c
VS
36282012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3631 a const pointer.
3632 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3633 const pointer.
3634 (efiemu_set_variable): Make vendor_guid a const pointer.
3635
250e475b
VS
36362012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 Don't require grub-mkconfig_lib to generate manpages for programs.
3639
3640 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3641 dependencies, don't add grub-mkconfig_lib.
3642 (program): Pass empty adddeps.
3643 (script): Pass grub-mkconfig_lib as adddeps.
3644
592fd0e4
VS
36452012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3648 * util/getroot.c (grub_find_device): Likewise.
3649 (get_mdadm_uuid): Likewise.
3650 (grub_util_is_imsm): Likewise.
3651 (grub_util_pull_device): Likewise.
3652 * util/grub-probe.c (probe): Likewise.
3653
801a3027
BG
36542012-09-10 Benoit Gschwind <gschwind>
3655
3656 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3657 (devs): Add devpath_8.
3658
c5052c81
PJ
36592012-09-08 Peter Jones <pjones@redhat.com>
3660
3661 * grub-core/Makefile.core.def (efifwsetup): New module.
3662 * grub-core/commands/efi/efifwsetup.c: New file.
3663 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3664 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3665 New define.
3666 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3667
8e832f71
JS
36682012-09-05 Jiri Slaby <jslaby@suse.cz>
3669
3670 * configure.ac: Add SuSe path.
3671
f0f55752
CW
36722012-09-05 Colin Watson <cjwatson@ubuntu.com>
3673
3674 * NEWS: Fix typo.
3675
ecadc4c2
CW
36762012-09-05 Colin Watson <cjwatson@ubuntu.com>
3677
3678 * util/import_gcry.py: Sort cipher_files, to make build system
3679 generation more deterministic.
3680
64498f25
VS
36812012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3684 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3685 (grub_set_datetime): Likewise.
3686
9cc836a2
VS
36872012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3690 warnings.
3691
bcfcea01
VS
36922012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3695
a4099485
VS
36962012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3699
265c162a
CW
37002012-09-04 Colin Watson <cjwatson@ubuntu.com>
3701
3702 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3703 required for checkouts from bzr, but it may be useful for users or
3704 distributors wishing to update translations against a tarball
3705 distribution, and it can be helpful for the tarball to be a superset
3706 of what's in bzr.
3707
3d171e95
CW
37082012-09-04 Colin Watson <cjwatson@ubuntu.com>
3709
3710 * Makefile.am (EXTRA_DIST): Add
3711 grub-core/tests/boot/linux.init-mips.S,
3712 grub-core/tests/boot/linux.init-ppc.S, and
3713 grub-core/tests/boot/linux-ppc.cfg.
3714
f2c2503e
CW
37152012-09-04 Colin Watson <cjwatson@ubuntu.com>
3716
3717 * grub-core/mmap/mips/loongson: Remove empty directory.
3718
37192012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3720
3721 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3722 gone.
3723
ab2163d5
CW
37242012-09-04 Colin Watson <cjwatson@ubuntu.com>
3725
3726 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3727 grub-sparc64-setup.
3728
ce938140
GS
37292012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3730
3731 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3732
529f58a5
GS
37332012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3734
3735 * po/POTFILES.in: Regenerated.
3736
16cf79e9
GS
37372012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3738
3739 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3740 (NetBSD): New subsection.
3741
39b27f1e 37422012-07-22 Ales Nesrsta <starous@volny.cz>
3743
3744 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3745 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3746
a885261b
VS
37472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3750 * util/grub.d/10_hurd.in: Add missing quoting.
3751 * util/grub.d/10_illumos.in: Likewise.
3752 * util/grub.d/10_kfreebsd.in: Likewise.
3753 * util/grub.d/10_linux.in: Likewise.
3754 * util/grub.d/20_linux_xen.in: Likewise.
3755
7bd29c01
VS
37562012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 New command `lsefi'.
3759
3760 * grub-core/Makefile.core.def (lsefi): New module.
3761 * grub-core/commands/efi/lsefi.c: New file.
3762 * include/grub/efi/api.h: Add more GUIDs.
3763
ac625d8f
VS
37642012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3767 (grub_bsd_elf32_hook): Likewise.
3768 (grub_bsd_elf64_size_hook): Likewise.
3769 (grub_bsd_elf64_hook): Likewise.
3770 (grub_bsd_load_elf): Likewise.
3771
e73bb801
VS
37722012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3775 if hash function is unavailable.
3776 (dec_stream_header): Likewise.
3777
e81db8b5
VS
37782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3781 filter state.
3782
d187a1c3
VS
37832012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Fix coreboot compilation.
3786
3787 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3788 (grub_vga_text_init_real): ... this.
3789 (grub_vga_text_fini): Rename to ...
3790 (grub_vga_text_fini_real): ... this.
3791
91a05f64
VS
37922012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3795
6af96df7
VS
37962012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/lib/legacy_parse.c: Support clear and testload.
3799
4d569e12
VS
38002012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3803
073b57bb
VS
38042012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3807
a706f4cc
VS
38082012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/net/tftp.c (ack): Fix endianness problem.
3811 (tftp_receive): Likewise.
3812 Reported by: Michael Davidsaver.
3813
e7850aa9
VS
38142012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3817
38182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3821 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3822 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3823
35692881
VS
38242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3827 efi_mmap_size.
3828 Reported by: Stuart Hayes.
3829
c35fc5bd
VS
38302012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3833
3834 * grub-core/Makefile.core.def (mda_text): New module.
3835 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3836 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3837 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3838 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3839 here.
3840 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3841 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3842 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3843 here.
3844 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3845 to ..
3846 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3847 ... here
3848 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3849 here.
3850 * grub-core/term/i386/vga_common.c: Removed.
3851 * include/grub/i386/vga_common.h: Likewise.
3852 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3853 (grub_vga_cr_bw_read): Likewise.
3854 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3855 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3856 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3857 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3858 grub_vga_cr_read/grub_vga_cr_write.
3859 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3860
5f91f701
VS
38612012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * configure.ac: Bump version to 2.00.
3864 * grub-core/normal/main.c (features): Add feature_200_final.
3865
0c4f85f6
VS
38662012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
38672012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3868
3869 * NEWS: Fix unclarity and language mistakes.
3870
f923ad22
VS
38712012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3874 additional size to 3 pages.
3875 Reported by: Stuart Hayes.
3876
d22029ba
VS
38772012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * NEWS: Add 2.00 entry.
3880
58eee08f
VS
38812012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3884 put explicit "/" for empty path.
3885 (wildcard_expand): Improve dprintf.
3886
c59bdff7
VS
38872012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3890 it's equal to currnode. This can happen with "" symlink.
3891
5e6a440a
YB
38922012-06-27 Yves Blusseau <blusseau@zetam.org>
3893
3894 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3895 echo shell command by printf command.
3896
73a68bcb
VS
38972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3900 the value returned by firmware is the maximal position, not diumension.
3901 (grub_terminfo_output_state): Use a more sane fallback.
3902
392a603b
VS
39032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3906
42d0867f
VS
39072012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3910 frequency to 150 MHz.
3911
489509f4
VS
39122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Apple fixes.
3915
3916 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3917 __APPLE_
3918 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3919 definition.
3920 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3921
9f3fc883
VS
39222012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Handle slash in HFS label.
3925
3926 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3927 (grub_hfs_dir): Tanslate slash.
3928 (grub_hfs_label): Don't translate slash.
3929
54853fd7
VS
39302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3933 network protocol listing since it introduces problematic dependency on
3934 net module.
3935
4dc02ddf
VS
39362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3939
c50c867d
VS
39402012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 Init video early on yeeloong to avoid being rebooted by watchdog.
3943
3944 * grub-core/Makefile.am (gensm712): New target.
3945 (sm712_start.S): Likewise.
3946 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3947 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3948 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3949 description.
3950 * include/grub/vga.h: Move registry definitions to...
3951 * include/grub/vgaregs.h: ... here.
3952
5f92c8a1
VS
39532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3956 signedness.
3957
e9e6f111
VS
39582012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3961 platforms with firmware disk drivers in the core.
3962
754ad9eb
VS
39632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3966 informative verbose message.
3967 (read_lv): Handle 64-bit segment size.
3968
315654c2
VS
39692012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3972
fb022c79
VS
39732012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3976 character but still remove trainling spaces.
3977 (grub_fat_label): Ignore archive flag.
3978
8645f72c
VS
39792012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3982 cast between linux_kernel_header and linux_kernel_params.
3983
36498496
VS
39842012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3987 type for size.
3988 (grub_raid6_recover_func_t): Likewise.
3989 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3990 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3991
0b5ea6b8
VS
39922012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3995
650cfcfe
GS
39962012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3997
3998 Fix overflow.
3999
4000 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4001 [__NetBSD__]: Add explicit cast before bitshift.
4002
8a4d6a44
VS
40032012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * configure.ac: Bump to 2.00~rc1.
4006
2fb97ed3
VS
40072012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4010 half of $a0.
4011
1fa097dc
VS
40122012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
40132012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4014
4015 * docs/grub.texi: Fix search syntax.
4016 (Multi-boot manual config): Put msdos rather than GPT example.
4017 Grammar corrections.
4018
c890ba78
VS
40192012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4022
0f92dca7
VS
40232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4026
3988c4a0
VS
40272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4030 message on double free. Put the value of magic in case of mismatch.
4031
9e86d4c5
VS
40322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 Speed-up video on yeeloong.
4035
4036 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4037 add cached_ptr.
4038 (grub_video_sm712_video_fini): Unmap cached_ptr.
4039 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4040 (grub_video_sm712_set_active_render_target): Removed.
4041 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4042 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4043 sync caches.
4044
ed24c312
VS
40452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Avoid flushing the same line multiple times on loongson.
4048
4049 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4050 Step in 32 bytes and not 1 byte.
4051 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4052 Likewise.
4053
d1718e7d
VS
40542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4057 subvolumes.
4058
982f1909
VS
40592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Implement flow control for http.
4062
4063 * grub-core/net/http.c (parse_line): Handle response 206.
4064 (http_receive): Stall if too many packets are in the queue.
4065 (http_establish): Fix range header.
4066 (http_seek): Fix double free.
4067 (http_close): Likewise.
4068 (http_packets_pulled): New function.
4069 (grub_http_protocol): Set http_seek
4070 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4071 (ack_real): Set window depending on i_stall.
4072 (grub_net_send_tcp_packet): Likewise.
4073 (grub_net_tcp_stall): New function.
4074 (grub_net_tcp_unstall): Likewise.
4075 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4076 (grub_net_tcp_unstall): Likewise.
4077
bd407d6e
VS
40782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4081
c7564b8e
VS
40822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4085
a3706162
VS
40862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * tests/util/grub-shell.in: Fix a typo.
4089
b27069e0
VS
40902012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 Implement flow control for tftp.
4093
4094 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4095 packets but stop only if stop condition is satisfied.
4096 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4097 `stall' instead of `eof' as stop condition.
4098 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4099 (http_err): Likewise.
4100 * grub-core/net/tftp.c (ack): Replace the first argument with data
4101 instead of socket.
4102 (tftp_receive): Stall if too many packets are in wait queue.
4103 (tftp_packets_pulled): New function.
4104 (grub_tftp_protocol): Set packets_pulled.
4105 * include/grub/net.h (grub_net_packets): New field count.
4106 (grub_net_put_packet): Increment count.
4107 (grub_net_remove_packet): Likewise.
4108 (grub_net_app_protocol): New field `packets_pulled'.
4109 (grub_net): New field `stall'.
4110
6b9cfac6
VS
41112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4114 sync part to handle them.
4115
f35abd81
VS
41162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4119 * grub-core/net/drivers/ieee1275/ofnet.c
4120 (grub_ieee1275_net_config_real): Likewise.
4121
0e7ec820
VS
41222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4125 the direct route for server/gateway.
4126
9d611a31
VS
41272012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4130 IP address to server name since we may not hame the DNS.
4131
418f45ab
VS
41322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4135 freeing random buffer on failure.
4136 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4137
44a0efc1
VS
41382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4141
531e2241
VS
41422012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4145 reserved bytes.
4146 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4147 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4148 Handle malloc error correctly.
4149
cde393c9
VS
41502012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4153 blocks.
4154
538478d0
VS
41552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4158 increment.
4159
9b55efe0
VS
41602012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4163 none is explicitly specified.
4164
9eb832c3
VS
41652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4168 while reallocating.
4169
d6b7c7c9
VS
41702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 Respect netmask from bootp/dhcp.
4173
4174 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4175 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4176 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4177 into ...
4178 (grub_net_add_ipv4_local): ... this.
4179 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4180 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4181 (grub_net_add_ipv4_local): New proto.
4182
67caf9eb
VS
41832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4186 determining EFI memory map size.
4187
43657558
VS
41882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4191
eb6d0dd3
VS
41922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4195 when looking for partition separator.
4196
31230544
VS
41972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4200 Escape commas.
4201
918a2517
VS
42022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 Restructure FAT driver to avoid hook in label reading as it hits a
4205 GCC bug.
4206
4207 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4208 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4209 (grub_fat_iterate_dir): Split into ...
4210 (grub_fat_iterate_init): ... this, ...
4211 (grub_fat_iterate_fini): ... this, ...
4212 (grub_fat_iterate_dir_next): ... and this. All users updated.
4213
9f1d654e
VS
42142012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4217 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4218 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4219 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4220 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4221 New fields last_key and last_key_time.
4222 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4223 extended key-esc into extended key-extended key.
4224
52f0f643
VS
42252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 Avoid unnecessary memcpy of whole video buffer.
4228
4229 * grub-core/video/fb/video_fb.c (dirty): New struct.
4230 (framebuffer): Add members current_dirty and previous_dirty.
4231 (dirty): New function.
4232 (grub_video_fb_fill_rect): Update dirty.
4233 (common_blitter): Likewise.
4234 (grub_video_fb_scroll): Likewise.
4235 (doublebuf_blit_update_screen): Copy only dirty part.
4236 (doublebuf_pageflipping_update_screen): Likewise.
4237 (grub_video_fb_doublebuf_blit_init): Init dirty.
4238 (doublebuf_pageflipping_init): Likewise.
4239 (grub_video_fb_setup): Likewise.
4240
e169a180
VS
42412012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4244 poll rate.
4245
48556879
VS
42462012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Fix wildcard regexp dot and other special characters handling.
4249 Reported by: Robert Mabee.
4250
4251 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4252 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4253 (split_path): Trigger expansion on '?'.
4254 (unescape): New function.
4255 (wildcard_expand): Unescape parts copied without globbing.
4256 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4257 (grub_script_arglist_to_argv): Don't unescape expansions.
4258
0494408e
VS
42592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * include/grub/net.h (grub_net_card): New member txbufsize.
4262 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4263 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4264 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4265 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4266 txbufsize.
4267 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4268 compatible property to check for macs. Set
4269 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4270 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4271 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4272 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4273 (send_card_buffer): Use txbuf.
4274 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4275 nested function out of the parent while on it.
4276
cc35fe8f
VS
42772012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4280 presence check.
4281 (grub_ieee1275_net_config_real): Fix config pointer.
4282
970a0a09
VS
42832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4286 filename parsing to non-block devices.
4287
3e19bf87
VS
42882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4291
c62d1a0c
VS
42922012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4295 All users updated.
4296
ef76bec3
VS
42972012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4300 UUID search command even if hints probing failed.
4301
43022012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4303
4304 * po/POTFILES.in: Regenerated.
4305
70aaf305
VS
43062012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Speed-up video on fuloong.
4309
4310 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4311 New function.
4312 (grub_pci_device_unmap_range): Handle non-cached address.
4313 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4314 add direct_ptr.
4315 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4316 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4317 (grub_video_sis315pro_set_active_render_target): Removed.
4318 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4319 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4320 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4321 sync caches.
4322 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4323 New proto.
4324
10400f0b
VS
43252012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * docs/grub.texi (Multi-boot manual config): New section.
4328
ba67e2c6
VS
43292012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 Avoid slow read-back from VRAM.
4332
4333 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4334 Move from here ...
4335 * grub-core/video/fb/video_fb.c
4336 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4337 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4338 (front_target): Remove front_target. Add pages.
4339 (grub_video_fb_init): Skip setting front_pages.
4340 (grub_video_fb_fini): Likewise.
4341 (doublebuf_blit_update_screen): Use pages.
4342 (grub_video_fb_doublebuf_blit_init): Likewise.
4343 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4344 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4345 (grub_video_fb_setup): Prefer doublebuffing.
4346
377c98cb
VS
43472012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4350 gzio.
4351
eac49cff
VS
43522012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 Add loongson tests.
4355
4356 * tests/util/grub-shell.in: Handle loongson.
4357 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4358 drivers.
4359 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4360 Reboot instead of shutdown if REBOOT is defined.
4361
0321415e
VS
43622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4365 sized ports since unlike on real hardware qemu supports only 32-bit
4366 regs.
4367
3f2bdd8f
VS
43682012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4371 * util/grub-mkrescue.in: Handle loongson.
4372
29a049c9
VS
43732012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4376 Set is_part appropriately.
4377 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4378 names. Canonicalize partition without full disk.
4379
4abde346
VS
43802012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 Revert usb-quiesce since it's wrong.
4383
4384 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4385 (grub_ofdisk_init): Don't do quiesce.
4386
61f1d93b
VS
43872012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4390 PowerMac workaround to Xserves as well.
4391 Information supplied by: Benjamin Herrenschmidt.
4392
a09eb541
VS
43932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 Don't assume that beginning address is also the entry point on ppc.
4396
4397 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4398 (grub_linux_boot): Use linux_entry.
4399 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4400 (grub_linux_load64): Likewise.
4401
505b3c9b
VS
44022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4405
cbe0b4ef
VS
44062012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4409 needlessly lose the console.
4410
3006e981
VS
44112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4414 space.
4415
4e5a96b0
VS
44162012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4417
7da036bb
VS
4418 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4419 than current grub_get_rtc() not implemented when booted with
4420 coreboot without TSC.
4421
4422 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4423 Add machine/time.h to kernel headers on loongson.
4424 * grub-core/Makefile.core.def (kernel): Remove
4425 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4426 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4427 (grub_get_rtc): Likewise.
4428 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4429 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4430 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4431 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4432 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4433 rather than installing known non-working time source.
4434 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4435 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4436 * include/grub/time.h: Don't include machine/time.h.
4437 * include/grub/efi/time.h: Removed.
4438 * include/grub/i386/efi/time.h: Likewise.
4439 * include/grub/i386/ieee1275/time.h: Likewise.
4440 * include/grub/powerpc/ieee1275/time.h: Likewise.
4441 * include/grub/sparc64/ieee1275/time.h: Likewise.
4442 * include/grub/x86_64/efi/time.h: Likewise.
4443
44442012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4447
4448 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4449 value.
4450 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4451 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4452 with dotless variants when any combining above is present.
4453
5561c22d
VS
44542012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4457 text and not binary.
4458
96f7e60e
VS
44592012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Stop polling as soon as we have the packet we were waiting for.
4462
4463 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4464 All users updated.
4465 * grub-core/net/arp.c (have_pending): New var.
4466 (pending_req): Likewise.
4467 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4468 stop indicator.
4469 (grub_net_arp_receive): Set have_pending.
4470 * grub-core/net/dns.c (recv_data): New field stop.
4471 (recv_hook): Set stop.
4472 (grub_net_dns_lookup): Init stop and use as stop condition.
4473 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4474 condition.
4475 * grub-core/net/net.c (grub_net_poll_cards): New argument
4476 stop_condition. Stop when it goes true.
4477 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4478 indicator.
4479 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4480
3e747239
VS
44812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 Keep TX and RX buffers on EFI rather than always allocate new ones.
4484
4485 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4486 card. All users updated.
4487 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4488 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4489 (get_card_packet): Likewise.
4490 (grub_efinet_findcards): Init new fields.
4491
f695e99a
VS
44922012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4495 compilation error on sparc64.
4496
9e5e66d1
VS
44972012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 Use ITC on IA64 rather than broken routine based on daytime.
4500
4501 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4502 ia64.
4503 (grub_get_rtc) [__ia64__]: Likewise.
4504 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4505 (get_itc): New function.
4506 (grub_rtc_get_time_ms): Likewise.
4507 (grub_machine_init): Calibrate ITC.
4508 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4509 Keep only on non-ia64. Don't export since it's broken and used only
4510 if TSC is unavailable.
4511
a1767404
VS
45122012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4515 even if it's used.
4516 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4517 Skip if parent is unused.
4518
34b2bced
VS
45192012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4522
5e619f40
VS
45232012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Fix wildcard escaping.
4526
4527 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4528 * grub-core/script/execute.c (wildcard_escape): .. to here.
4529 Don't escape dot.
4530 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4531 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4532 Don't escape dot.
4533 * grub-core/script/execute.c (gettext_append): Always escape.
4534 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4535 * grub-core/script/yylex.l: Don't cut away the escaping.
4536 * tests/grub_script_echo1.in: Add tests with wildcard.
4537
c8ca5855
VS
45382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4541 (ftdi_hw_configure): Likewise.
4542 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4543 define.
4544 (real_config): Handle 1.5 stop bits.
4545 (pl2303_hw_configure): Likewise.
4546
7183452c
VS
45472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * Makefile.am: Add ppc linux bootcheck.
4550 * grub-core/tests/boot/linux-ppc.cfg: New file.
4551 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4552
f57c84cd
VS
45532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * tests/grub_script_expansion.in: Skip network protocols.
4556
ecfc6207
VS
45572012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4560
8d03d284
VS
45612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4564 --rom-directory.
4565 Add -graft-points.
4566
61c42af0
VS
45672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 ESCC serial driver for conducting sautomated tests in qemu.
4570 Not tested on real hardware.
4571
4572 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4573 * grub-core/term/ieee1275/escc.c: New file.
4574 * grub-core/Makefile.core.def (escc): New module.
4575
08fd1291
VS
45762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4579 invalid on error.
4580 (serial_hw_fetch): Don't read invalid handle.
4581 (serial_hw_put): Don't write into invalid handle.
4582
08dafeea
VS
45832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Add a 1.5 stop bits value.
4586
4587 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4588 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4589 GRUB_SERIAL_STOP_BITS_1_5.
4590
9068fdcf
VS
45912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4594 value rather than let it uninited.
4595
f4d5820f
VS
45962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/commands/wildcard.c (+check_file): New function.
4599 (wildcard_expand): Don't expand to non-existing files, expand with
4600 suffix and not attempt to expand if not needed.
4601
3d2de9a7
VS
46022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4605 out of partitions containing other partitions.
4606
c5c81ff9
VS
46072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4610 on some qemu versions with GRUB.
4611
4612 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4613 define.
4614 (grub_openbsd_bootarg_pcibios): New struct.
4615 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4616 Add PCIINFO.
4617
08a14e0b
VS
46182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * tests/util/grub-shell.in: Trim firmware output on EFI.
4621
cede3ca3
VS
46222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4625 and coreboot since it's already in kernel.
4626
558d3a60
VS
46272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4630 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4631 to here. New return value start. All users updated.
4632 Recursively scan linear mappings.
4633 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4634 proto.
4635 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4636 Use grub_util_get_dm_node_linear_info.
4637 * util/getroot.c (convert_system_partition_to_system_disk): Use
4638 grub_util_info rather than grub_dprintf.
4639 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4640
60fde14d
VS
46412012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4644
4645 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4646 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4647
24bd8838
VS
46482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * include/grub/types.h (grub_set_unaligned64): New function.
4651 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4652 (setup): Likewise.
4653
7bc06a49
VS
46542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4657 (grub_ofdisk_fini): Quiesce USB devices.
4658
49cea015
VS
46592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4662 caches.
4663
8dcbe03b
VS
46642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4667
5b258735
VS
46682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/disk/pata.c (grub_pata_pio_read)
4671 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4672 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4673
37ba07eb
VS
46742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Extend automated tests to qemu-mips.
4677
4678 * Makefile.am: reorganise tests and enable qemu-mips.
4679 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4680 * grub-core/tests/boot/linux.init-mips.S: New file.
4681 * tests/partmap_test.in: Handle ata0 disks.
4682 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4683 non-pc i386.
4684
070038f8
VS
46852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4688 ia64.
4689 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4690 quotes while on it.
4691
004be2cd
VS
46922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4695 (grub_halt): Likewise.
4696 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4697
b1622487
VS
46982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/term/serial.c (grub_serial_register)
4701 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4702 the behaviour in line with x86 platforms.
4703
b7b4ab33
VS
47042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4707 (grub_ata_strncpy): Likewise.
4708 (grub_ata_identify): Add missing byteswaps.
4709
5e3535ae
VS
47102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4713 byte-swap.
4714 (screen_read_char): Likewise.
4715 (grub_vga_text_cls): Likewise.
4716
c21b17e6
VS
47172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4720 filenames.
4721 (make_file_path): Likewise.
4722
bf293dec
VS
47232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4726 machines.
4727 Tested by: Paulo Flabiano Smorigo.
4728 Crucial information about API supplied by: Coleen <Last name unknown>.
4729 Reviewed by: Coleen <Last name unknown>.
4730
81f6ef0e
VS
47312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/grub-mkimage.c: Disable -Wcast-align.
4734
7284143a
VS
47352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4738 as they are fatal.
4739
b99f3e00
VS
47402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4743
944f752d
VS
47442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * util/grub-probe.c (escape_of_path): Fix double free.
4747
6cce6f38
VS
47482012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/commands/videoinfo.c (hook): Show pitch.
4751
1e1eb50e
VS
47522012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4755
1c715b5a
VS
47562012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4759 (probe): Add ieee1275 to OFW devices.
4760
007ae52d
VS
47612012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4764
4557a36d
VS
47652012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Handle IBM OFW path.
4768
4769 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4770 available.
4771 (of_path_of_scsi): Handle vdevice.
4772
efbeefe9
VS
47732012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4776 Allocate in multiples of 16 to avoid adding a few bytes free region the
4777 windows bugs upon.
4778
15a940bb
VS
47792012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4782 Allocate in multiples of 16 to avoid adding a few bytes free region the
4783 windows bugs upon.
4784 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4785
6e5efd60
VS
47862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4789 resolutions.
4790 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4791 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4792
0d3d137e
IS
47932012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4794
4795 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4796
45dbe300
VS
47972012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4800 resulted in \\ at the end of the line.
4801
6d8db947
VS
48022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4805 (grub_parser_cmdline_state): Likewise.
4806 (grub_parser_split_cmdline): Likewise.
4807
de89d338
VS
48082012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4811 /dev/root and /dev/dm-*.
4812
00d41dee
VS
48132012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4816 fix partially stale display.
4817
f95d1f11
VS
48182012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4821 substraction.
4822
6297e197
VS
48232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4826 Fix MBR remapping workaround.
4827 (grub_util_biosdisk_read) [__linux__]: Likewise.
4828
8a7ecad3
VS
48292012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4832
2b34f944
VS
48332012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * configure.ac: Bump to beta6.
4836
684aef11
CW
48372012-05-31 Christer Weinigel <christer@weinigel.se>
4838
4839 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4840
05b0bb91
VS
48412012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4844 (grub_cmd_linux): Likewise.
4845
bda36bfa
CW
48462012-05-31 Christer Weinigel <christer@weinigel.se>
4847
4848 Fix EHCI low-speed.
4849
4850 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4851 (GRUB_EHCI_MULT_TWO): Likewise.
4852 (GRUB_EHCI_MULT_THREE): Likewise.
4853 (GRUB_EHCI_CMASK_MASK): New enum value.
4854 (GRUB_EHCI_SMASK_MASK): Likewise.
4855 (GRUB_EHCI_CMASK_OFF): Likewise.
4856 (GRUB_EHCI_SMASK_OFF): Likewise.
4857 (grub_ehci_pci_iter): Enable periodic schedule.
4858 (grub_ehci_parse_notrun): Likewise.
4859 (grub_ehci_restore_hw): Likewise.
4860 (grub_ehci_setup_qh): Set flags for low speed transfers.
4861 (grub_ehci_find_qh): Use periodic list for low speed.
4862 (grub_ehci_setup_transfer): Check periodic queue as well.
4863 (grub_ehci_check_transfer): Likewise.
4864 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4865
e12bcb1c
PFS
48662012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4867
4868 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4869 parameter is used.
4870
bcc75fb3
PJ
48712012-05-31 Peter Jones <pjones@redhat.com>
4872
4873 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4874 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4875 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4876
f19cb95e
VS
48772012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4880 uninited variable. Allocate at least setup_sects.
4881
a4e5ca80
VS
48822012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 Fix handling of EFI with big memory maps.
4885
4886 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4887 (real_mode_mem): Likewise.
4888 (real_mode_target): Likewise.
4889 (real_mode_pages): Likewise.
4890 (prot_mode_pages): Likewise.
4891 (linux_params): New var.
4892 (linux_cmdline): Likewise.
4893 (free_pages): Don't set real mode variables.
4894 (allocate_pages): Don't allocate real mode memory.
4895 (grub_e820_add_region): Remove the limit.
4896 (grub_linux_boot): Allocate and copy real mode memory.
4897 (grub_linux_unload): Free linux_cmdline.
4898 (grub_cmd_linux): Use temporary storage for parameters.
4899 (grub_cmd_initrd): Likewise.
4900 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4901 (linux_kernel_params): Make it 1K big.
4902
ddb73558
VS
49032012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * Makefile.util.def: Remove -Wno-format.
4906 * grub-core/Makefile.core.def: Likewise.
4907
1c4afb60
VS
49082012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * tests/cmp_unit_test.c: Add missing failure message.
4911 * tests/example_unit_test.c: Likewise.
4912 * tests/printf_unit_test.c: Likewise.
4913
941e3a6d
VS
49142012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4917 relaxation of protective MBR requirements.
4918
b105df76
VS
49192012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * configure.ac: Add condition for COND_HOST_XNU.
4922 * Makefile.util.def (10_xnu): New script.
4923 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4924
84e1569e
VS
49252012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4928 objconv bug.
4929
130c0f77
VS
49302012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4933 Binary on other platforms stays identical.
4934
6fd0b143
VS
49352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4938 Apple.
4939
0af1751d
VS
49402012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4943
176d5f7d
VS
49442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4947 rather than defining size_t ourselves to avoid conflict.
4948
7de5e20a
VS
49492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4952 initialisation to avoid __bzero reference.
4953
f7143efe
VS
49542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4957 version.
4958 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4959 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4960 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4961 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4962 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4963
e6ad0555
VS
49642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4967 * grub-core/kern/misc.c: Likewise.
4968 * grub-core/loader/i386/xnu.c: Likewise.
4969 * include/grub/i386/tsc.h: Likewise.
4970 * include/grub/symbol.h: Likewise.
4971
4a5a3c4a
VS
49722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4975 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4976 on older compiler.
4977
037f6d90
VS
49782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4981 Implement Apple flavour.
4982 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4983
f7194551
VS
49842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4987 (memmove) [__APPLE__]: Likewise.
4988 (memcpy) [__APPLE__]: Likewise.
4989 (memset) [__APPLE__]: Likewise.
4990 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4991 (memmove) [__APPLE__]: Likewise.
4992 (memcpy) [__APPLE__]: Likewise.
4993 (memset) [__APPLE__]: Likewise.
4994
85a730ca
VS
49952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4998 dependency discard.
4999
40e80b94
VS
50002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/normal/main.c (read_config_file): Provide config_file and
5003 config_directory.
5004 * util/grub.d/41_custom.in: Use config_directoy when available.
5005
9da59c32
VS
50062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5009 (grub_bfs_dir): Likewise.
5010
2787ae53
PJ
50112012-05-27 Peter Jones <pjones@redhat.com>
5012
5013 The old code gives arguments to a printf function which can't work
5014 correctly, and the compiler complains.
5015
5016 * grub-core/tests/example_functional_test.c (example_test): Add
5017 missing text.
5018 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5019 * include/grub/test.h (grub_test_assert_helper): New declaration.
5020 (grub_test_assert): Use grub_test_assert_helper.
5021
526ef13d
VS
50222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5025 (exfctest): ... this to avoid overlong filenames.
5026 All users updated.
5027
20dd511c
VS
50282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 Handle "." and ".." on squashfs.
5031
5032 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5033 Make inode numbers into stack.
5034 (grub_squash_read_symlink): Use stack.
5035 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5036 (make_root_node): Fill stack.
5037 (grub_squash_open): Use stack.
5038
1d80c62a
VS
50392012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5042 freeing.
5043
d336f652
VS
50442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5047 stderr on test calls.
5048
8b43f587
VS
50492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5052
80a3dc3f
VS
50532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5056
47e297d4
VS
50572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5060 "..".
5061
df042ccb
VS
50622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5065 (grub_hfsplus_iterate_dir): Add "." and "..".
5066
fc977f48
VS
50672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5070 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5071
f3250e5f
VS
50722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5075 (find_path): Handle "." and "..".
5076
fd8ed4c5
VS
50772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5080 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5081 (grub_affs_iterate_dir): Handle hardlinks.
5082
4ce776d2
MG
50832012-05-26 Matthew Garrett <mjg@redhat.com>
5084
5085 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5086 (grub_efi_console_fini): Likewise.
5087 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5088 (grub_video_gop_fill_mode_info): Rename to ...
5089 (grub_video_gop_fill_real_mode_info): ... this.
5090 (grub_video_gop_fill_mode_info): New function.
5091 (grub_video_gop_setup): Setup double framebuffer.
5092 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5093 Free offscreen.
5094 (grub_video_gop_swap_buffers): Copy framebuffer.
5095 (grub_video_gop_fini): Free offscreen buffer.
5096 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5097 New enum.
5098 (grub_efi_gop_blt_pixel): New struct.
5099
683031ba
VS
51002012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * gentpl.py: Remove error disabling for objconv.
5103
c2deb798
VS
51042012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * configure.ac: Remove -Wunitialized as it's not available on older
5107 compilers.
5108
51092012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5110
5111 Fix extent overflow comparator.
5112
5113 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5114 (grub_hfsplus_read_block): Set type.
5115 (grub_hfsplus_cmp_extkey): Compare type.
5116
d6b1fd36
VS
51172012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5120
0a9aa0f6
VS
51212012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5124 than 0.
5125
8360e159
VS
51262012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5129 (dejavu_bold_14.pf2): New target.
5130
501b9e4b
VS
51312012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * configure.ac: Fix djvu font detection.
5134
7026b0e2
VS
51352012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5138 ext* instead of ext2.
5139
c2a51ade
VS
51402012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5143 name with \0.
5144
8f803a5d
JU
51452012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5146
5147 * docs/grub-dev.texi: Remove dot from .png.
5148
13c6353f
VS
51492012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5152 protective entry in any slot.
5153 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5154 if protective entry is found in any slot.
5155
5156 Protective entry in non-first slot make no sense but is a widespread
5157 brain damage.
5158
4cf6be1b
VS
51592012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5162
937d1c44
VS
51632012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5166 with old reiserfs.
5167 (grub_reiserfs_open): Don't free root.
5168
021d90ec
VS
51692012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5172 after freeing for safety.
5173
967b2b64
VS
51742012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5177 Reported by: Jordan Uggla.
5178
34274d02
JU
51792012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5180
967b2b64
VS
5181 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5182 actual implementation. Specifically, clarify that the grub menu will
5183 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5184 passed.
34274d02 5185
dcaaae9d
BH
51862012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5187
5188 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5189 of r0.
5190
7086ad52
VS
51912012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 Remove unjustified hard dependency of normal.mod on gfxterm.
5194
5195 * include/grub/term.h (grub_term_output): New member fullscreen.
5196 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5197 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5198 (grub_gfxterm): Set .fullscreen.
5199 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5200 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5201
37ed2c9b
VS
52022012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5205 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5206 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5207
a4469c88
VS
52082012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5211
4e461486
VS
52122012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5215 a bad FS.
5216
aa78f5c4
VS
52172012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5220 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5221
197626b5
VS
52222012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5225 (grub_jfs_mount): Fill caseins.
5226 (grub_jfs_find_file): Respect caseins.
5227
8ad3f28c
VS
52282012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5231 through UTF-16.
5232
0c6c324e
VS
52332012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5236 New argument origpath. All users updated.
5237
c6666ba6
VS
52382012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5241 (read_attr): Ensure that we read start of possibly compressed block.
5242
e28e5fe5
VS
52432012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5246 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5247 All users updated.
5248
5fc23ab2
VS
52492012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5252 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5253 (dejavu.pf2): Replace with ...
5254 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5255 this.
5256
79dbc21c
VS
52572012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * util/grub.d/20_linux_xen.in: Add missing line.
5260
d2fcfb0c
VS
52612012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5264 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5265 (grub_utf16_to_utf8): Likewise.
5266
5560e9d6
VS
52672012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5270 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5271 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5272 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5274 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5275
52762012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5277
5278 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5279 a bad FS.
5280
5560e9d6 52812012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5282
5283 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5284 (grub_udf_read_symlink): Handle read_string failure.
5285
5eae3175
VS
52862012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5289 comment.
5290
c1ad82db
VS
52912012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 Fix handling of UDF symlinks.
5294
5295 * grub-core/fs/udf.c (read_string): New argument outbuf.
5296 All users updated.
5297 (grub_ufs_read_symlink): Rename to ...
5298 (grub_udf_read_symlink): ... this. All users updated.
5299 Handle symlinks with more than one component.
5300
33eca6e0
VS
53012012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5304 symlinks. Replace leading colon with a slash.
5305
57f4a70b
VS
53062012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5309 filename.
5310
38c8ee20
VS
53112012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5314 match in inner node.
5315
2e57f28f
VS
53162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5319 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5320 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5321 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5322 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5323 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5324 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5325 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5326 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5327
fe8c2f11
VS
53282012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Use grub-probe and not cmp to check that disk is empty.
5331
5332 * util/grub-install.in: Use grub-probe for zero-check.
5333 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5334 (probe): Handle PRINT_ZERO_CHECK.
5335 (argp_parser): Handle -t zero_check.
5336
53372012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5338
5339 Flush block cache on adding disk to device map.
5340
5341 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5342 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5343 adding.
5344 (read_device_map): Likewise.
5345 (open_device): Flush on opening.
5346
690434e8
VS
53472012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5350 (handle_symlink): Fix off-by-one error.
5351 Canonicalize the target.
5352 (grub_cpio_dir): Canonicalize the name.
5353 Fix memory leak.
5354 Set directory.
5355 (grub_cpio_open): Canonicalize the name.
5356
742d2be6
VS
53572012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5360 handling.
5361
3244fe96
VS
53622012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5365 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5366
8aeb1837
VS
53672012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5370 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5371 All users updated.
8aeb1837 5372
9133fd05
VS
53732012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5376 counterpart.
5377
6d521c5b
VS
53782012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Fix UFS1 big file support.
5381
5382 * grub-core/fs/ufs.c (INODE): Removed.
5383 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5384 64-bit.
5385 (INODE_MODE): Simplify.
5386 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5387 (grub_ufs_lookup_symlink): Don't use INODE.
5388
21b82e17
VS
53892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5392
5393 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5394 (grub_minix_data): Replace log_block_size with block_size.
5395 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5396 (grub_minix_mount): Fill block_size.
5397
53982012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5399
5400 * configure.ac: Bump to beta5.
5401
f417ed04
VS
54022012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Fix wrapped HFS+ handling.
5405
5406 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5407 blocks_start. All users updated.
5408 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5409 wrapping offset.
5410 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5411
607d282b
VS
54122012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 Fix long symlinks on reiserfs.
5415
5416 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5417 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5418 (grub_reiserfs_iterate_dir): Save size for non-directories.
5419 (grub_reiserfs_open): Don't reread stat block as we already know the
5420 size.
5421 (grub_reiserfs_read): Split into...
5422 (grub_reiserfs_read_real): ... and ...
5423 (grub_reiserfs_read): ...this.
5424
ae16024d
VS
54252012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 Fix non-indexed JFS.
5428
5429 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5430 (grub_jfs_data): New field namecomponentlen.
5431 (grub_jfs_mount): Fill namecomponentlen.
5432 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5433
eea1e26e
VS
54342012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5437 * tests/grub_script_echo1.in: Add tests.
5438
df760f77
VS
54392012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * util/grub-install.in: Ignore empty devicetree directory.
5442
5efb817d
B
54432012-05-08 Bean <bean123ch@gmail.com>
5444
5445 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5446 All users updated.
5447 (free_rsm): Free header as well.
5448 (free_old_fragments): Fix memory leak.
5449 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5450 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5451 (destroy_pq): Likewise.
5452 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5453
668ea6d2
VS
54542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5457 resulting hash as a precaution.
5458
1739b1fe
VS
54592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5462 '_' in variable names.
5463 * grub-core/net/net.c (grub_net_network_level_interface_register):
5464 Likewise.
5465
6ae485aa
VS
54662012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Fix AFFS with non-512B blocks.
5469
5470 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5471 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5472 (grub_affs_data): Replace blocksize with log_blocksize.
5473 (grub_affs_read_block): Fix non-512B blocks.
5474 (grub_affs_read_symlink): Likewise.
5475 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5476 (grub_affs_read): Fix non-512B blocks.
5477 (grub_affs_label): Likewise.
5478 (grub_affs_mtime): Likewise.
5479 (grub_affs_mount): Fix block detection routine.
5480
d20fab84
VS
54812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 Add filesystem mtime to AFFS.
5484
5485 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5486 (aftime2ctime): New function.
5487 (grub_affs_dir): Use aftime2ctime.
5488 (grub_affs_label): Fix return value.
5489 (grub_affs_mtime): New function.
5490 (grub_affs_fs): Add mtime.
5491
e87b10f5
VS
54922012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5495 UTF-8.
5496
7dceec9b
VS
54972012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5500 UTF-8.
5501
2f48221f
VS
55022012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5505
dacd85cf
VS
55062012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5509 flags.
5510 (FLAGS_CASE_SENSITIVE): New enum value.
5511 (cache_entry): New struct.
5512 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5513 cache_size and cache.
5514 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5515 Add log_blocksize and fshelp_flags.
5516 (grub_sfs_read_extent): Handle non-512 blocks.
5517 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5518 (grub_sfs_read_file): Handle non-512 blocks.
5519 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5520 fshelp_flags.
5521 (grub_sfs_read_symlink): Handle non-512 blocks.
5522 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5523 (grub_sfs_dir): Free cache.
5524 (grub_sfs_close): Likewise.
5525
24e9a854
VS
55262012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5529 filesystems.
5530
62ace64d
VS
55312012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5534
83b2e89c
VS
55352012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5538
75ccaea3
VS
55392012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5542 (grub_sfs_read_extent): Likewise.
5543 (grub_sfs_read_block): Likewise.
5544 (grub_sfs_mount): Likewise.
5545 (grub_sfs_iterate_dir): Likewise.
5546 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5547 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5548
1b8463f2
VS
55492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Fix errors on compressed NTFS with 512B clusters.
5552
5553 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5554 types.
5555 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5556 not 0.
5557 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5558 Relax check for inline extents.
5559 (ntfscomp): Return correct -1 on error and not 0.
5560
4f8e368f
VS
55612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * util/grub-install.in: Fix handling of prefix containing spaces.
5564
6f5d5ee8
VS
55652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5568 (grub_squash_read_data): Fix offset byte-swapping.
5569
ce41ab7a
VS
55702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5573 per common usage and preffered in several parts of code.
5574 (grub_memcmp): Likewise.
5575 (grub_strncmp): Likewise.
5576 * include/grub/misc.h (grub_strcasecmp): Likewise.
5577 (grub_strncasecmp): Likewise.
5578 * Makefile.util.def (cmp_test): New test.
5579 (grub_script_strcmp): Likewise.
5580 * tests/cmp_unit_test.c: New file.
5581 * tests/grub_script_strcmp.in: Likewise.
5582 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5583
49717bf4
VS
55842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * include/grub/pci.h: Move enums into no-asm part.
5587
0a308f64
VS
55882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5591
1796965f
ST
55922012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5593
5594 * util/getroot.c (find_hurd_root_device): Try to make error message
5595 and comments to translators clearer.
5596
4e9b2819
VS
55972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5600
076aeb50
VS
56012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5604 btrfs.
5605
19424d94
VS
56062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * docs/grub.cfg: Update.
5609
ebb73076
VS
56102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * docs/grub.texi (PXE): Remove not present variables.
5613
9a1b669c
VS
56142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/net/net.c (defserver_set_env): New function.
5617 (defserver_get_env): Likewise.
5618 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5619
d38bf7d3
VS
56202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5623 entries.
5624
56252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5626
5627 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5628 * grub-core/kern/emu/hostdisk.c: Likewise.
5629
e5e4ca48
ST
56302012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5631
5632 Handle hurd userspace partitions.
5633
5634 * util/getroot.c (find_hurd_root_device): New function.
5635 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5636
56bb5dd5
VS
56372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5640 names.
5641 Reported by: Bastian Blank.
5642
9e8bc27a
VS
56432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5646 crossing page boundary.
5647
aa01499d
VS
56482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Fix B-tree search in BFS, especially in presence of non-ASCII
5651 characters.
5652
5653 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5654 (find_in_b_tree): Use standard bsearch + btree algorithm.
5655
57006035
VS
56562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5659 and so on.
5660
9d34bb85
MG
56612012-05-03 Matthew Garrett <mjg@redhat.com>
56622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 Suspend broadcom cards in order to stop their DMA.
5665
5666 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5667 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5668 (pci): Don't build on x86 EFI.
5669 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5670 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5671 New function.
5672 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5673 stop_broadcom if running on EFI.
5674 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5675 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5676 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5677 (grub_pci_find_capability): New proto.
5678
01aab997
VS
56792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * docs/grub.texi: Remove dot from the extension as it apparently
5682 doesn't work with some makeinfo versions.
5683
fbd8dca6
VS
56842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5687 with GRUB expectance.
5688
dab797f4
VS
56892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5692
1516bfb4
VS
56932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5696 zero after directory block since last entry may be not 0-terminated if
5697 it ends on block boundary. Use continue instead of if spanning whole
5698 loop.
5699
a3a0eace
VS
57002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Support 4K sectors UDF inline files.
5703
5704 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5705 (grub_udf_extended_file_entry): Likewise.
5706 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5707 All users updated.
5708 (get_fshelp_size): New function.
5709 (grub_udf_read_icb): Read whole block.
5710 (grub_udf_iterate_dir): Likewise.
5711 (grub_udf_dir): Likewise.
5712 (grub_udf_open): Likewise.
5713
c82f16c1
VS
57142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5717
59fd2aac
VS
57182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5721 inline symlinks in addition to workaround.
5722
3b4afb4d
VS
57232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5726
f45c794a
VS
57272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5730
f25cecbd
VS
57312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5734
bb9a34e8
VS
57352012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 Fix reiserfs big seek times.
5738
5739 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5740 exact. All users updated.
5741 (grub_reiserfs_read): Use nearest btree search for seeking.
5742 Fix return value on error.
5743
dc478aea
VS
57442012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5747 entries.
5748 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5749 * docs/grub.texi: Update menuentry description.
5750
8db10f47
VS
57512012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5754 crash when embedding onto filesystem.
5755
bcb288ed
VS
57562012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5759 name.
5760
a626fdd7
VS
57612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5764
b2f68477
VS
57652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5768 commit.
5769
ba15b2af
B
57702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
57712012-05-01 Bean <bean123ch@gmail.com>
5772
5773 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5774
a188012e
VS
57752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5778 Special behaviour for len = 0 to read whole file isn't used anywhere and
5779 can cause buffer ovewrflows in several places.
5780
f0a53ed2
VS
57812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5784
5ed554f0
VS
57852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Handle RAIDZ on non-512B sectors.
5788
5789 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5790 max_children_ashift.
5791 (fill_vdev_info_real): Fill max_children_ashift.
5792 (read_device): Use max_children_ashift.
5793
ddc58357
VS
57942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5797
e3282399
VS
57982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5801 disk names.
5802 * docs/grub.texi: Update device.map parts.
5803
ee618bd4
VS
58042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 Don't scan into non-diskfilter devices having diskfilter names.
5807
5808 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5809 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5810 handling.
5811 (scan_disk_hook): New function.
5812
bdf88864
B
58132012-04-29 Bean <bean123ch@gmail.com>
5814
5815 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5816 allocation.
5817
32745f51
MK
58182012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5819
5820 * configure.ac: Detect starfield theme font path
5821 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5822
bc95c8c0
VS
58232012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5826 geometry on serial consoles.
5827
147fbcab
VS
58282012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5831 because of network consoles.
5832
0f42c889
VS
58332012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5836 handling.
5837
4a3594c9
VS
58382012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5841 falls on Q syndrom.
5842
5cb53879
VS
58432012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5846 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5847
b282dfe5
VS
58482012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5851 Allocate at lest 8192 for temporary buffer as required for lzo.
5852
daa59f47
VS
58532012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5856 to cluster_bits, since it's already added in.
5857 (grub_fat_read_data): Likewise.
5858
986748ce
VS
58592012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5862 as long as cluster size is multiple of 512 bytes.
5863
a20f6ad0
VS
58642012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * util/grub-mkrescue.in: Fix locale directory.
5867
385f9abb
VS
58682012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/kern/emu/hostdisk.c (map): Make static.
5871
1c557d30
B
58722012-04-23 Bean <bean123ch@gmail.com>
5873
5874 * util/grub-fstest.c (fstest): Add missing break.
5875
524b5d3a
ST
58762012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5877
5878 Fix hurd build.
5879
5880 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5881 not define nr variable.
fe4824e9 5882 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5883 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5884 grub_find_device): Do not define.
524b5d3a 5885
9a06490c
VS
58862012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Fix kfreebsd compile and behaviour.
5889
5890 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5891 format-security.
5892 * util/getroot.c: Fix wait.h include.
5893 (grub_guess_root_devices): Error if grub_find_device fails.
5894 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5895 (grub_util_get_dev_abstraction): Likewise.
5896 (grub_util_pull_device): Likewise.
5897 (grub_util_get_grub_dev): Likewise.
5898 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5899
48143d96
VS
59002012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Fix and unify wholedisk detection.
5903
5904 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5905 is_part. All users updated.
5906 (device_is_wholedisk): Removed.
5907 (grub_util_biosdisk_get_grub_dev): Use is_part.
5908
ebbd24f3
VS
59092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5912 mode.
5913
56f7aa1e
VS
59142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * configure.ac: Bump to beta4.
5917
9c815e01
VS
59182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5921 --fs-uuid --set UUID syntax.
5922
59e2651a
VS
59232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5926 disunification.
5927
54e03cfc
VS
59282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5931
81092a75
MK
59322012-04-18 Mads Kiilerich <mads@kiilerich.com>
5933
5934 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5935
f8315e14
MG
59362012-04-18 Mike Gilbert <floppym@gentoo.org>
5937
5938 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5939
1501ac21
B
59402012-04-18 Bean <bean123ch@gmail.com>
5941
5942 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5943 place.
5944
cb7f944e
VS
59452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5948 users updated.
5949 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5950 corresponding to GRUB partitions.
5951 (grub_util_biosdisk_write): Likewise.
5952
b72d44a1
VS
59532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Scan mdraid before LVM.
5956
5957 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5958 (grub_diskfilter_register_front): ... this.
5959 (grub_diskfilter_register_back): New function.
5960 All users of grub_diskfilter_register updated.
5961
33d918b8
VS
59622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * util/grub-install.in: Fix an automatic target detection bug.
5965
c6ca973d
VS
59662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * util/grub-install.in: New option --efi-directory.
5969
b41be562
VS
59702012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5973 boot services if we have no other choice.
5974
59752012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5978 document it.
5979 * tests/util/grub-shell.in: Update to --directory.
5980
e0595a73
VS
59812012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5984
4ed80652
VS
59852012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5988 (grub_minix_read_file): Likewise.
5989 (grub_minix_read_inode): Likewise.
5990 (grub_minix_find_file): Likewise.
5991 (grub_minix_dir): Likewise.
5992
56008077
VS
59932012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * util/grub-setup.c (setup): Fix partition handling and blocklist
5996 check.
5997
ee520775
VS
59982012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6001 redundant buggy overlap check.
6002
16fc9293
VS
60032012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6006 and grub-mknetdir.
6007
9bab65c4
VS
60082012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6011 kh.loadflags on pre-2.00 kernels.
6012
3c491b47
VS
60132012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Terminate UNDI and PXE before launching the payload to avoid problems
6016 with DMA.
6017
6018 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6019 (grub_loader_flags): ... this. All users updated.
6020 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6021 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6022 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6023 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6024 function.
6025 (grub_pxe_restore): Likewise.
6026 (fini_hnd): New var.
6027 (GRUB_MOD_INIT): Register shutdown hook.
6028 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6029 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6030 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6031 (grub_loader_set): Rename second argument to flags.
6032
851ffada
VS
60332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6036 written bytes.
6037 (grub_get_num_of_utf8_bytes): New function.
6038 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6039 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6040 executing it.
6041 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6042 (grub_ucs4_to_utf8): Change return type.
6043
491c57a8
VS
60442012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6047 warning.
851ffada
VS
6048 * grub-core/fs/bfs.c (hop_level): Likewise.
6049 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6050
756773df
VS
60512012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/lib/adler32.c: Recode due to license unclearness.
6054
fd556a96
VS
60552012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6058 (test_header): Likewise.
6059
9f9d3f69
VS
60602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Fix --help formatting.
6063
6064 * util/grub-mkconfig_lib.in (print_option_help): New function.
6065 (grub_fmt): Likewise.
6066 * util/grub-install.in: Use print_option_help and grub_fmt.
6067 * util/grub-kbdcomp.in: Likewise.
6068 * util/grub-mkconfig.in: Likewise.
6069 * util/grub-mknetdir.in: Likewise.
6070 * util/grub-mkrescue.in: Likewise.
6071 * util/grub-mkstandalone.in: Likewise.
6072 * util/grub-reboot.in: Likewise.
6073 * util/grub-set-default.in: Likewise.
6074 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6075
561ec77e
VS
60762012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * linguas.sh: Remove autogenerated *.po.
6079
7ec2b021
VS
60802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * po/README: Move language fetcing to ...
6083 * linguas.sh: ... here.
6084 * po/README: Point to linguas.sh.
6085
a88f3270
VS
60862012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * po/README: Exclude ko.po due to disclaimer problems.
6089
d61357ce
VS
60902012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6093 len = 0.
6094 (grub_gettext_translate_real): Handle 0th string.
6095 (grub_gettext_translate): Ensure that "" isn't translated.
6096
505e41dc
VS
60972012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6100 TRANSLATORS comment.
6101 (grub_diskfilter_print_partmap): Propagate changing of error into
6102 warning.
6103
e44092db
VS
61042012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6107 to uint64_t to prevent overflow.
6108 (grub_diskfilter_lv): Increase start_extent and extent_count
6109 to uint64_t to prevent overflow.
6110
9b83956a
VS
61112012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * configure.ac: Increase version.
6114
da0d5b3f
VS
61152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6118
6119 * po/Rules-translit: New file.
6120 * po/arabic.sed: Likewise.
6121 * po/cyrillic.sed: Likewise.
6122 * po/greek.sed: Likewise.
6123 * po/hebrew.sed: Likewise.
6124 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6125 * po/Makefile.in.in: Add extra_dist4.
6126
ac66b453
VS
61272012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6130
6131 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6132 modify names. Introduce MODE_BIGENDIAN.
6133 * grub-core/fs/minix_be.c: New file.
6134 * grub-core/fs/minix2_be.c: Likewise
6135 * grub-core/fs/minix3_be.c: Likewise.
6136 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6137 minix3_be.
6138 * grub-core/Makefile.core.def (minix_be): New module.
6139 (minix2_be): Likewise.
6140 (minix3_be): Likewise.
6141
61422012-04-01 Felix <email@hamburg.de>
6143
6144 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6145 (devs): Add MBP 2011.
6146
0a2d5a82
VS
61472012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6150
d1625889
VS
61512012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/normal/cmdline.c (print_completion): New field
6154 prompt_len.
6155 (grub_cmdline_get): Handle width properly.
6156
6d36a236
VS
61572012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6160
9576977e
VS
61612012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6164 after 29th of February.
9576977e 6165
d73ff15d
VS
61662012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Fix exfat endianness handling.
6169
6170 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6171 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6172 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6173 Byte-swap utf16 when necessary.
6174 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6175
bbb39a45
AB
61762012-03-31 Anton Blanchard <anton@samba.org>
61772012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 Fix btrfs endianness handling.
6180
6181 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6182 (lower_bound): Make root uint64_t. Use root in le.
6183 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6184 (find_path): Fix template key init.
6185 (grub_btrfs_dir): Fix mtime byteswap.
6186 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6187
354e0af7
VS
61882012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6191 recursion_depth. Break infinite resursions. All users updated.
6192
4e75f21c
VS
61932012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6196 after free.
6197 Reported by: Peter Jones.
6198
25581802
AB
61992012-03-31 Anton Blanchard <anton@samba.org>
6200
6201 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6202 8 bit values.
6203
08fbf92e
VS
62042012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * util/grub-install.in: Fix nvram call for PreP.
6207
5d1182a6
VS
62082012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6211 the error when some elements are missing into a warning.
6212
3f8cdd90
VS
62132012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6216
51006716
CW
62172012-03-28 Colin Watson <cjwatson@ubuntu.com>
6218
6219 * docs/grub.texi (Invoking grub-probe): New section.
6220 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6221
e1bd676b
VS
62222012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Fix tab and wide character handling in editor and menu.
6225
6226 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6227 agglomerate control characters with combining marks.
6228 (bidi_line_wrap): Allow break on tab.
6229 (grub_unicode_get_comb_start): New function.
6230 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6231 and tab correctly.
6232 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6233 with a space.
6234 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6235 fixed_tab_size. All users updated.
6236 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6237 (grub_term_getcharwidth): Handle \t.
6238 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6239 and copy.
6240
22e6a774
VS
62412012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Handle big-endian mdraid.
6244
6245 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6246 * grub-core/Makefile.core.def (mdraid09_be): New module.
6247 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6248 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6249 * grub-core/disk/mdraid_linux_be.c: New file.
6250
3c0eae66
VS
62512012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6254
b6cf74c9
VS
62552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6258 missing quotes which caused confusion among translators.
6259
83c93b9c
VS
62602012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * util/grub-mkconfig_lib.in: Fix typo.
6263
ac6fd218
VS
62642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6267 spaces.
6268 * tests/grub_script_leading_whitespace.in: New file.
6269 * Makefile.util.def (grub_script_leading_whitespace): New test.
6270
ba287dd8
VS
62712012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6274 to work.
6275
d2d58d0a
VS
62762012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6279 starts with control character.
6280
0382d9bb
VS
62812012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6284 overflow.
6285 (grub_gdb_outbuf): Likewise.
6286
d83ff9f9
VS
62872012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6290 zero terminator. Fixes a crash.
6291
2282da4a
VS
62922012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6295 beyond 4 GiB.
6296 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6297 images independently of preffered adderss field.
6298
0ae4f0bd
VS
62992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6302 * grub-core/commands/regexp.c: Likewise.
6303 * grub-core/loader/i386/linux.c: Likewise.
6304 * grub-core/partmap/msdos.c: Likewise.
6305 * grub-core/script/execute.c: Likewise.
6306 * grub-core/term/gfxterm.c: Likewise.
6307
546fbe9b
VS
63082012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Add variable parsing in $"..." and fix several mismatches with bash.
6311
6312 * Makefile.util.def (grub_script_gettext): New test.
6313 * grub-core/script/execute.c (parse_string): New function.
6314 (gettext_append): Likewise.
6315 (grub_script_arglist_to_argv): Use gettext_append.
6316 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6317 * tests/grub_script_gettext.in: New file.
6318
9fdb2d7b
VS
63192012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Fix handling of leading spaces in scripts.
6322
6323 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6324 spaces.
6325 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6326 other than skipping \r. All users updated.
6327 * tests/grub_script_echo1.in: Add space-related tests.
6328 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6329
1a1ac4f6
VS
63302012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6333
b63d89b6
VS
63342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * configure.ac: Bump up the version to beta2.
6337
17f38c0f
VS
63382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Fix gettext reload bugs (e.g. inability to disable gettext
6341 once enabled).
6342
6343 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6344 main_context and secondary_context. All functions updated.
6345 (grub_gettext_translate): Rename to ...
6346 (grub_gettext_translate_real): ... this. Return NULL on failed
6347 translate.
6348 (grub_gettext_translate): Handle secondary context.
6349 (grub_gettext_delete_list): Close file and zero-out the context.
6350 (grub_mofile_open): Don't call grub_gettext_delete_list.
6351 Don't close file.
6352 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6353 if locale="" to avoid pointless error message.
6354 (grub_gettext_env_write_lang): Update lang even if load fails.
6355 Handle secondary context.
6356 (grub_gettext_reread_prefix): New function.
6357 (read_main): Likewise.
6358 (read_secondary): Likewise.
6359 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6360 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6361 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6362 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6363
8e56f870
VS
63642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * configure.ac: Decrease warning level to avoid spurious warnings and
6367 to be able to compile with GCC 4.2.
6368 * Makefile.util.def: Remove -Wno-error=logical-op.
6369
82f6d455
WB
63702012-03-10 William Bittner <william.bittner@gmail.com>
6371
6372 * util/import_unicode.py: Add missing brackets around string for
6373 python 3 support.
6374
1ecd61a4
VS
63752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 Fix efi chainloader on network root.
6378
6379 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6380 network devices.
6381 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6382 New function.
6383
14361ee8
VS
63842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6387 unused show_text member.
6388 * docs/grub.texi: Document "text" property.
6389
922aabf3
VS
63902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6393 in dprintf.
6394
ec316771
VS
63952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 Fix IMSM handling on Fedora.
6398
6399 * util/getroot.c (grub_util_is_imsm): New function.
6400 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6401
0f021838
VS
64022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * Makefile.am: Strip gold section.
6405 * conf/Makefile.common: Likewise.
6406 * gentpl.py: Likewise.
6407 * grub-core/Makefile.core.def: Likewise.
6408 * grub-core/genmod.sh.in: Likewise.
6409
1039c8eb
VS
64102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6413 * util/grub.d/20_linux_xen.in: Likewise.
6414 Based on Debian patch.
6415
6dd412cd
VS
64162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * util/grub.d/10_linux.in: Fix syntax error resulting in
6419 Richard Laager's patch.
6420 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6421
3fd8bae5
VS
64222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6425 dependencies.
6426
7eea1671
RL
64272012-03-10 Richard Laager <rlaager@wiktel.com>
6428
6429 * util/grub.d/10_linux.in: Fix ZFS root passing.
6430
e8e0566b
VS
64312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6434 * grub-core/commands/xnu_uuid.c: Likewise.
6435 * grub-core/loader/efi/appleloader.c: Likewise.
6436 * grub-core/script/execute.c: Likewise.
6437 * grub-core/script/main.c: Likewise.
6438 * util/grub-mkfont.c: Likewise.
6439
1acc5b1f
VS
64402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * util/grub-mkfont.c (options): Use more appropriate "select" that
6443 "set" for face index.
6444
35d70620
VS
64452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * util/grub-editenv.c (options): Gettextize command summaries.
6448
c9eb96b5
VS
64492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6452 "out of memory" error messagge.
6453
1f493136
VS
64542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6457 of diskfilter for diskfilter on diskfilter support.
6458
6d790129
VS
64592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6462
005f46c9
VS
64632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6466 themes/starfield.
6467
c8f778a0
VS
64682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6471
de1e64eb
VS
64722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6475
c6d54211
VS
64762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6479 of error message.
6480
dd390777
VS
64812012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6484
5fd1c522
VS
64852012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6488 message.
c6d54211 6489 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6490
fae01f6c
VS
64912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6494 Gettextize.
6495 * util/grub-mount.c (options): Likewise.
6496
292fdaff
VS
64972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6500 gettextize.
6501 * grub-core/commands/search_wrap.c (options): Likewise.
6502
ecdbae77
VS
65032012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6506
52bfedfa
VS
65072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6510 size calculation.
6511 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6512 none is known.
6513
55b20e58
VS
65142012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6517 "temporary" since it's used in identifier and is limited in space.
6518
fda9d101
VS
65192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * po/POTFILES.in: Regenerate. Include *.h since they contain
6522 translatable strings as well.
6523
6a0295e2
VS
65242012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6527 byte-swap on big-endian.
6528 Reported by: Lennart Sorensen
6529
807fb77c
VS
65302012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6533 (allocate_pages): Improve dprintf.
6534 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6535 code32_start. Fill code32_start and kernel_alignment in params.
6536 (grub_cmd_initrd): Use prot_init_space.
6537
61ac50ba
VS
65382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6541
abdd26dd
VS
65422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * util/grub-install.in: Add missing dot at the end of sentence.
6545
6e69da9c
VS
65462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6549 * grub-core/commands/videotest.c: Likewise.
6550 * grub-core/loader/i386/linux.c: Likewise.
6551
4a929343
VS
65522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6555 sentence.
6556 Reported by: Milo Casagrande.
6557
bb51c6c6
VS
65582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6561 * grub-core/commands/gptsync.c: Likewise.
6562 * grub-core/commands/hashsum.c: Likewise.
6563 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6564 * grub-core/commands/legacycfg.c: Likewise.
6565 * grub-core/io/gzio.c: Likewise.
6566 * grub-core/net/net.c: Likewise.
6567 * grub-core/term/gfxterm.c: Likewise.
6568 * grub-core/term/terminfo.c: Likewise.
6569 * grub-core/tests/test_blockarg.c: Likewise.
6570 * grub-core/video/video.c: Likewise.
6571 * util/grub-install.in: Likewise.
6572 * util/grub-mkfont.c: Likewise.
6573
b2b149cb
VS
65742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6577
c7c080ad
VS
65782012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6581 Reported by: David Prévot.
c7c080ad 6582
f2e243c0
VS
65832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6586 description.
6587
09963c76
VS
65882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * util/grub-script-check.c (main): Fix a syntax error message which was
6591 unclear.
6592
a50514a8
VS
65932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6596
4650daec
VS
65972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6600 messages.
6601
66022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6603
6604 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6605 without argument.
6606 * util/grub-mount.c (options): Likewise.
6607
bbc5a342
VS
66082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6611
ef292a87
VS
66122012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/net/http.c: Add TRANSLATORS comments.
6615 * grub-core/normal/cmdline.c: Likewise.
6616 * grub-core/normal/misc.c: Likewise.
6617 * grub-core/partmap/msdos.c: Likewise.
6618 * grub-core/parttool/msdospart.c: Likewise.
6619 * grub-core/script/execute.c: Likewise.
6620 * grub-core/script/main.c: Likewise.
6621 * grub-core/term/terminfo.c: Likewise.
6622 * grub-core/video/bitmap.c: Likewise.
6623 * util/grub-install.in: Likewise.
6624 * util/grub-mkimage.c: Likewise.
6625 * util/grub-mklayout.c: Likewise.
6626 * util/grub-setup.c: Likewise.
6627
0fc19bd0
VS
66282012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6631 with similar messages in grub-fstest.
6632
d95862ef
VS
66332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * util/grub-install.in: Unify "option requires an argument" message
6636 with similar messages in other files.
6637 * util/grub-mkconfig.in: Likewise.
6638
b7308f90
VS
66392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * util/grub-set-default.in: Replace printf with gettext_printf (the
6642 string in in question is already translated from grub-reboot)
6643
559dc587
VS
66442012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * configure.ac: Bump up the version to beta1.
6647
1a11761f
VS
66482012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6651 case when min_align = 0.
6652
24539abd
VS
66532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6656 and fix a case when line_start overflows.
6657
32bd735b
VS
66582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * util/grub-reboot.in (usage): Mention id posibility.
6661 * util/grub-set-default.in (usage): Likewise.
6662
1a2fd1e6
VS
66632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6666 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6667 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6668 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6669 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6670 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6671 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6672
90eeab76
VS
66732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/commands/menuentry.c (options): Remove
6676 GRUB_ARG_OPTION_REPEATABLE.
6677 Reported by: Andreas Vogel
6678
5ad1be82
AV
66792012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6680
6681 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6682
cb055286
HE
66832012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6684
6685 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6686 error.
6687
93b1cd79
VS
66882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 Use sort -V by the idea of Georgi Georgiev.
6691
6692 * util/grub-mkconfig_lib.in (version_sort): New function.
6693 (version_test_numeric): Use version_sort.
6694
0cdc126c
VS
66952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 Use submenus in grub-mkconfig.
6698
6699 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6700 * util/grub-mkconfig_lib.in (grub_quote): New function.
6701 (gettext_printf): Use gettext and not gettext_quoted to fix several
6702 messages.
6703 * util/grub.d/10_hurd.in: Use submenus.
6704 * util/grub.d/10_kfreebsd.in: Likewise.
6705 * util/grub.d/10_linux.in: Likewise.
6706 * util/grub.d/10_netbsd.in: Likewise.
6707 * util/grub.d/20_linux_xen.in: Likewise.
6708 * util/grub.d/30_os-prober.in: Likewise.
6709 * util/grub.d/10_illumos.in: Add missing quoting.
6710 * util/grub.d/10_windows.in: Likewise.
6711
d9bef9bc
VS
67122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Fix menu title instability bug.
6715
6716 * grub-core/commands/menuentry.c (options): New option --id.
6717 (grub_normal_add_menu_entry): New argument id. All users updated.
6718 (grub_cmd_menuentry): Handle --id.
6719 (grub_menu_init): Accept unknown arguments.
6720 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6721 feature_menuentry_options.
6722 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6723 saved_entry.
6724 (get_entry_number): Match with id as well.
6725 * include/grub/menu.h (grub_menu_entry): New member id.
6726 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6727 * util/grub.d/00_header.in: Define menuentry_id_option.
6728 * util/grub.d/10_hurd.in: Define id.
6729 * util/grub.d/10_illumos.in: Likewise.
6730 * util/grub.d/10_kfreebsd.in: Likewise.
6731 * util/grub.d/10_linux.in: Likewise.
6732 * util/grub.d/10_netbsd.in: Likewise.
6733 * util/grub.d/10_windows.in: Likewise.
6734 * util/grub.d/20_linux_xen.in: Likewise.
6735 * util/grub.d/30_os-prober.in: Likewise.
6736
67372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6738
6739 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6740 "scope" with "body".
6741
7c8d0ce7
VS
67422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6745 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6746 prot_size and prot_file_size.
6747
49de079b
VS
67482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6751 All users updated. If easily=1 require raid-5/-6 to be full.
6752 (is_node_readable): Likewise.
6753 (scan_devices): Scan incomplete but readable LVs at the end.
6754 (grub_diskfilter_memberlist): Pull missing devices.
6755 (insert_array): Skip scanning until device is complete or scan is
6756 done otherwise.
6757 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6758 check.
6759 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6760 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6761
aff05d45
MG
67622012-03-03 Matthew Garrett <mjg@redhat.com>
67632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Avoid EFI boot services when loading Linux.
6766
6767 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6768 avoid_efi_bootservices. All users updated.
6769 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6770 argument avoid_efi_bootservices. All users updated.
6771 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6772 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6773 align, min_align, relocatable, prefered_address. All users updated.
6774 Allocate avoiding boot services if kernel is relocatable.
6775 (grub_cmd_linux): Check if kernel is relocatable.
6776 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6777 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6778 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6779 avoid_efi_boot_services.
6780 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6781 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6782 (linux_kernel_params): Likewise.
6783
3935dde2
MG
67842012-03-03 Matthew Garrett <mjg@redhat.com>
67852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 Use EDID on EFI.
6788
6789 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6790 datasize_out.
6791 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6792 modes. Set gop_handle.
6793 (grub_video_gop_get_edid): New function.
6794 (grub_gop_get_preferred_mode): Likewise.
6795 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6796 (grub_video_efi_gop_adapter): Set .get_edid.
6797 * include/grub/efi/edid.h: New file.
6798 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6799
32107ec0
VS
68002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * util/grub-install.in: Load efivars unconditionally.
6803
e70a2c50
VS
68042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * po/Rules-piglatin: Change suffix from .po-update-en to
6807 .po-update-en-piglatin.
6808
8f9cace1
VS
68092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 Add a pig farm.
6812
6813 * po/piglatin.sed: New file.
6814 * po/en@piglatin.header: Likewise.
6815 * po/Rules-piglatin: Likewise.
6816 * po/README: Add en@piglatin to autogenerated languages.
6817
8f95d002
VS
68182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6821 "Command for ...".
6822 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6823 "Check" since we don't check anything.
6824 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6825 is 64-bit one.
6826 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6827 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6828 (grub_md_sha512_real): Likewise.
6829
805a8dcc
VS
68302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/commands/gptsync.c: Fix typographic quoting.
6833 * grub-core/commands/ieee1275/suspend.c: Likewise.
6834 * grub-core/commands/parttool.c: Likewise.
6835 * grub-core/commands/search_wrap.c: Likewise.
6836 * grub-core/commands/videoinfo.c: Likewise.
6837 * grub-core/gfxmenu/gui_label.c: Likewise.
6838 * grub-core/hello/hello.c: Likewise.
6839 * grub-core/kern/emu/main.c: Likewise.
6840 * grub-core/net/net.c: Likewise.
6841 * grub-core/normal/menu.c: Likewise.
6842 * grub-core/normal/menu_text.c: Likewise.
6843 * grub-core/normal/misc.c: Likewise.
6844 * util/grub-editenv.c: Likewise.
6845 * util/grub-install.in: Likewise.
6846 * util/grub-kbdcomp.in: Likewise.
6847 * util/grub-mkconfig.in: Likewise.
6848 * util/grub-mknetdir.in: Likewise.
6849 * util/grub-mkrescue.in: Likewise.
6850 * util/grub-mkstandalone.in: Likewise.
6851 * util/grub-reboot.in: Likewise.
6852 * util/grub-set-default.in: Likewise.
6853 * util/grub-setup.c: Likewise.
6854 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6855
40211ab8
VS
68562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6859 * grub-core/commands/keystatus.c: Likewise.
6860 * grub-core/commands/loadenv.c: Likewise.
6861 * grub-core/commands/probe.c: Likewise.
6862 * grub-core/commands/regexp.c: Likewise.
6863 * grub-core/commands/true.c: Likewise.
6864 * grub-core/commands/videoinfo.c: Likewise.
6865 * grub-core/disk/cryptodisk.c: Likewise.
6866 * grub-core/disk/ldm.c: Likewise.
6867 * grub-core/disk/loopback.c: Likewise.
6868 * grub-core/disk/luks.c: Likewise.
6869 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6870 * grub-core/kern/disk.c: Likewise.
6871 * grub-core/kern/emu/hostdisk.c: Likewise.
6872
0c7d99c7
VS
68732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6876 * util/grub-install.in: Add missing quote in the comment.
6877
e7d2559b
VS
68782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6881 * grub-core/commands/lsmmap.c: Likewise.
6882 * grub-core/commands/minicmd.c: Likewise.
6883 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6884 * grub-core/commands/regexp.c: Likewise.
6885 * grub-core/gdb/gdb.c: Likewise.
6886 * grub-core/term/gfxterm.c: Likewise.
6887 * util/grub-mkconfig.in: Likewise.
6888 * util/grub-mkfont.c: Likewise.
6889 * util/grub-mklayout.c: Likewise.
6890 * util/grub-mknetdir.in: Likewise.
6891 * util/grub-mkrescue.in: Likewise.
6892 * util/grub.d/30_os-prober.in: Likewise.
6893
49ce9e50
VS
68942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6897 with "Direct color" and "Packed" with "Packed pixel".
6898 (grub_cmd_videoinfo): Simplify legend.
6899
e4b791fa
VS
69002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6903 absolutely unclear error message.
6904
fd1265cb
VS
69052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * util/grub-mkstandalone.in: Remove confusing leftover print.
6908
8822a8a0
VS
69092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6912 comments.
6913 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6914 (GRUB_MOD_INIT): Likewise.
6915 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6916 VGA mode.
6917 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6918 comments.
6919 * util/grub-install.in (usage): Likewise.
6920 Spell ID in whole letters.
6921 Add missing ending dot.
6922 Quote variables.
6923 * util/grub-reboot.in: Fix capitalisation.
6924 * util/grub-set-default.in: Likewise.
6925
937fd0cc
VS
69262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6929 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6930 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6931 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6932 Disable -Werror for -Wdeprecated-declarations.
6933 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6934 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6935 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6936 (grub_util_get_grub_dev): Make luks handling dependent on
6937 HAVE_DEVICE_MAPPER and not __linux__.
6938 (get_win32_path): Fix format security.
6939 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6940 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6941 Don't try grub_find_zpool_from_dir.
6942 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6943 #ifdef-out paresdir.
6944
1bab1ae3
VS
69452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * util/grub-pe2elf.c (usage): Add missing noreturn.
6948 (write_section_data): Rename name to shname to avoid shadowing.
6949 (write_symbol_table): Rename name to symname to avoid shadowing.
6950 Fix write_reloc_section call.
6951
ef023e42
VS
69522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6955 to ensure that it's after the last byte of .text.
6956
48afcb75
VS
69572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * util/ieee1275/ofpath.c (my_isdigit): New function.
6960 (trailing_digits): Use my_isdigit.
6961 (strip_trailing_digits): Likewise.
6962
88d51eff
VS
69632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6966 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6967
17edc2ba
VS
69682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/kern/i386/pc/startup.S: Define __start.
6971
ad5518d7
VS
69722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6975 strip already transforms he format.
6976
9e95e1bf
VS
69772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6980
9cc3ee5c
VS
69812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * util/grub-install.in: Add missing gettext init.
6984 * util/grub-kbdcomp.in: Likewise.
6985 * util/grub-mkconfig.in: Likewise.
6986 * util/grub-mknetdir.in: Likewise.
6987 * util/grub-mkrescue.in: Likewise.
6988 * util/grub-mkstandalone.in: Likewise.
6989 * util/grub-reboot.in: Likewise.
6990 * util/grub-set-default.in: Likewise.
6991 * util/grub.d/00_header.in: Likewise.
6992 * util/grub.d/10_hurd.in: Likewise.
6993 * util/grub.d/10_windows.in: Likewise.
6994 * util/grub.d/30_os-prober.in: Likewise.
6995 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6996
49e08a06
VS
69972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * po/Rules-swiss: Fix header comment.
7000
3809cb41
AV
70012012-02-29 Andreas Vogel <anvoit>
7002
7003 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7004 resulted in leak of arguments.
7005
fa6ec573
VS
70062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7009 reed_solomon_size const definition instead of computing it since
7010 Apple assembler doesn't support the later.
7011
22899b9c
VS
70122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * gentpl.py (kernel): Rewrite Apple part.
7015
a132afc3
VS
70162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7019
9d742bd4
VS
70202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7023 ELF section gap.
7024 (load_image): Likewise.
7025
f04a9a21
VS
70262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * configure.ac: Fix a typo in previous commit.
7029
46cf439c
VS
70302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Don't add -Wl,-N on Apple platform.
7033
7034 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7035 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7036
c4c48c54
VS
70372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/Makefile.core.def (lzma_decompress): Use
7040 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7041
31a12124
VS
70422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/genmod.sh.in: Rewrite the Apple part.
7045
4f3aa1af
VS
70462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7049 comparison.
7050
7bd8b0c7
VS
70512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * acinclude.m4 (grub_CHECK_PIC): New test.
7054 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7055
97304d7c
VS
70562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7059 to avoid the warning.
7060
fb883812
VS
70612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7064 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7065 after. All users updated.
7066
a121c964
VS
70672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Use the common size routine in hostfs so we can read disks as well.
7070
7071 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7072 (grub_util_get_fd_size): ... this. Return size in bytes.
7073 All users updated.
7074 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7075 grub_util_get_fd_size.
7076
c66d6410
VS
70772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7080 Add blocksize retrieval.
7081
dfc8aeb0
VS
70822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * configure.ac: Restore CFLAGS after efiemu check.
7085
403e25a5
VS
70862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7089 Apple bug.
7090
382775d1
VS
70912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7094
6fd4e6e4
VS
70952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7098 (grub_cmd_halt): Likewise.
7099
bea359d6
VS
71002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7103 for local arithmetics.
7104 Break %sp init into 2 instructions.
7105 Add 0 byte at the end.
7106
32eb6ee1
VS
71072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7110 before loops.
7111
e8377389
VS
71122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7115 for context.
7116
8cb17de7
VS
71172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/disk/ldm.c (make_vg): Init part.name.
7120 (grub_ldm_detect): Silence spurious warning.
7121 (grub_util_is_ldm): Likewise.
7122
595717e6
VS
71232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7126 sane value to avoid a spurious warning.
7127
c4b7e588
VS
71282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7131 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7132
59824957
VS
71332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7136 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7137
70115b99
VS
71382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7141 hardcoding the relevant info.
7142
56733740
VS
71432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7146 missing const qualifiers.
7147 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7148
43481481
VS
71492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * util/getroot.c [__APPLE__]: Add missing includes.
7152 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7153
3cb38f01
VS
71542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7157
d9dbf11e
VS
71582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7161 avoid conflicts.
7162
0c42a45d
VS
71632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7166
46c34eb0
VS
71672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7170 and grub_file_close call.
7171
99ce1597
VS
71722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 Add LZSS Mach-O support (needed for new xnu kernelcache).
7175
7176 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7177 * grub-core/loader/lzss.c: New file.
7178 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7179 on Mach-O open failure.
7180 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7181 Don't free cmdsXX in uncompressedXX is set.
7182 (grub_macho_file): Init new fields.
7183 New argument is_64bit. All users updated.
7184 Handle compressed. Error out if no suitable architecture is found.
7185 Don't close file.
7186 (grub_macho_open): New argument is_64bit. All users updated.
7187 * grub-core/loader/macho32.c: Add defines for new fields.
7188 * grub-core/loader/macho64.c: Likewise.
7189 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7190 (grub_macho_parse): Handle compressed.
7191 Defer actual processing if compressed.
7192 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7193 "filename". All users updated.
7194 (grub_macho_size): New argument "filename". All users updated.
7195 (grub_macho_get_entry_point): Likewise.
7196 (grub_macho_load): Handle compressed.
7197 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7198 (GRUB_MACHO_LZSS_OFFSET): New define.
7199 (grub_decompress_lzss): New proto.
7200 * include/grub/machoload.h (grub_macho_file): New fields to handle
7201 compressed.
7202 (grub_macho_contains_macho64): Remove proto.
7203 (grub_macho_contains_macho32): Likewise.
7204 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7205
ebd17d6f
VS
72062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7209
2702b4e4
VS
72102012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 Fix make dist.
7213
7214 * Makefile.am (starfield_theme_files): New var.
7215 (starfield_DATA): Use starfield_theme_files.
7216 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7217 Add bootcheck-related files.
7218 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7219 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7220 and font_char_metrics.txt.
7221 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7222 (setjmp): Add lib/ia64/longjmp.S.
7223 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7224 * po/POTFILES.in: Regenerate.
7225 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7226 DISTFILES.common.extra1.
7227 * util/devicemap.c: Removed.
7228 * grub-core/lib/i386/relocator_backward.S: Likewise.
7229 * util/import_gcry.py: Remove unused files. Add extra_dist for
7230 ChangeLog.
7231
cf1adfdf
VS
72322012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7235 grub_gettext_delete_list before changing grub_gettext_max to avoid
7236 running out of array bounds.
7237
72382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7239
7240 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7241 grub_vga_text_init/grub_vga_text_fini.
7242
cf1adfdf 72432012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7244
7245 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7246
541d92e9
VS
72472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * configure.ac: Bump to 2.00~beta0.
7250
7931dddf
VS
72512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7254 missing initialisation.
7255
f1b16fa3
VS
72562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7259
83ddae23
VS
72602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 Support v2 xnu boot arguments.
7263
7264 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7265 New argument fsbfreq_out.
7266 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7267 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7268 be used.
7269 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7270 darwin_version.
7271 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7272 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7273 (grub_xnu_boot_params): Rename to ...
7274 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7275 (grub_xnu_boot_params_v2): New struct.
7276
dc693fe6
VS
72772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7280 zeroing of CRC field before computing CRC.
7281
5a6e39c2
VS
72822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7285 Change order of allocations to decrease fragmentation.
7286
6c21f5d7
VS
72872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7290
cfe456dc
CW
72912012-02-27 Colin Watson <cjwatson@ubuntu.com>
7292
7293 Use write-combining MTRR to speed up video with buggy BIOSes.
7294
7295 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7296 (cpuid): New define.
7297 (rdmsr): Likewise.
7298 (wrmsr): Likewise.
7299 (mtrr_base): Likewise.
7300 (mtrr_mask): Likewise.
7301 (grub_vbe_enable_mtrr_entry): New function.
7302 (grub_vbe_enable_mtrr): Likewise.
7303 (grub_vbe_disable_mtrr): Likewise.
7304 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7305 control off to BIOS.
7306 (grub_video_vbe_init): Fill mtrr.
7307 (grub_video_vbe_fini): Disable mtrr.
7308 (grub_video_vbe_get_info_and_fini): Likewise.
7309 (grub_video_vbe_setup): Enable mtrr.
7310
e3c78337
CW
73112012-02-27 Colin Watson <cjwatson@ubuntu.com>
7312
7313 * include/grub/partition.h (grub_partition_map): Change prototype of
7314 embed to take a maximum value for nsectors.
7315 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7316 * include/grub/fs.h (grub_fs): Likewise.
7317 * grub-core/partmap/msdos.c (embed_signatures): New array.
7318 (pc_partition_map_embed): Check for and avoid sectors matching any
7319 of the signatures in embed_signatures, up to max_nsectors.
7320 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7321 returned sector map to max_nsectors.
7322 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7323 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7324 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7325 * util/grub-setup.c (setup): Allow for the embedding area being
7326 split into multiple blocklists. Tell dest_partmap->embed the
7327 maximum number of sectors we care about.
7328
73292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7332 Specify blocklist_install and reserver_first_sector for all fs.
7333 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7334 blocklists.
7335
984b973f
VS
73362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * util/grub-install.in: Clarify strings.
7339 Fix source dir check.
7340
f122e0d6
RL
73412012-02-27 Richard Laager <rlaager@wiktel.com>
7342
7343 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7344 "zfs" and "fuse.zfs" as synonyms.
7345
071114bb
VS
73462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * configure.ac: Put platform and target_cpu substitutions back since
7349 they are used for directories.
7350
817e6abc
RL
73512012-02-27 Richard Laager <rlaager@wiktel.com>
73522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7355 * util/grub.d/20_linux_xen.in: Likewise.
7356
897b7419
RL
73572012-02-27 Richard Laager <rlaager@wiktel.com>
7358
7359 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7360 with full paths.
7361
a414bd15
RL
73622012-02-27 Richard Laager <rlaager@wiktel.com>
7363
7364 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7365 unescape.
7366
30ac48c4
VS
73672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 Don't use insecure popen in getroot.
7370
7371 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7372 (exec_pipe): ... here.
7373 (find_root_devices_from_poolname): Use exec_pipe.
7374
53f13848
VS
73752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 Remove platform and target_cpu replacement.
7378
7379 * configure.ac: Remove platform and target_cpu substitutions.
7380 * tests/util/grub-shell.in: Use modinfo.
7381 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7382 explicitly.
7383
90cb2803
VS
73842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 Autodetect platform in grub-install but allow override.
7387
7388 * util/grub-install.in: Autodetect platform. Support --target and
7389 --directory. Read platform from modinfo.sh.
7390
b9136427
VS
73912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 Support btrfs multi-volume probe.
7394
7395 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7396 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7397 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7398 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7399 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7400 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7401 grub_find_root_devices_from_btrfs if on btrfs.
7402
c36e5cd1
VS
74032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Remove any awareness of *.c util files about target.
7406
7407 * Makefile.util.def (grub-setup): Split to ...
7408 (grub-bios-setup): ... and this.
7409 (grub-sparc64-setup): ... and this.
7410 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7411 * docs/man/grub-setup.h2m: Split into ...
7412 * docs/man/grub-sparc64-setup.h2m: ... this.
7413 * docs/man/grub-bios-setup.h2m: ... and this.
7414 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7415 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7416 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7417 (grub_target_addr_t): Remove.
7418 (grub_target_size_t): Remove.
7419 (grub_target_ssize_t): Remove.
7420 * util/grub-install.in: Use new grub-*-setup.
7421 * util/grub-mkimagexx.c (Elf_Word): New define.
7422 (Elf_Half): Likewise.
7423 (Elf_Section): Likewise.
7424 (ELF_ST_TYPE): Likewise.
7425 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7426 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7427
584b2f8a
VS
74282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 Replace grub_target_addr with more appropriate types.
7431
7432 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7433 grub_target_addr with grub_addr.
7434 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7435 grub_target_addr with grub_port.
7436 (grub_cmd_write): Likewise.
7437 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7438 grub_target_addr with grub_addr.
7439 (grub_cmd_write): Likewise.
7440 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7441
5a0dc6fb
VS
74422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7445 const qualifier for vendor_guid.
7446
786aff6e
VS
74472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7450 const qualifier.
7451 (efiemu_memequal): Likewise.
7452 (find_variable): Likewise.
7453
49017b17
VS
74542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Fix missing console prototype on qemu-mips.
7457
7458 * include/grub/mips/qemu_mips/console.h: New file.
7459
c5988629
MG
74602012-02-27 Matthew Garrett <mjg@redhat.com>
74612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7464 * include/grub/efi/efi.h: Likewise.
7465 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7466 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7467 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7468 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7469 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7470 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7471
e33f8d69
MG
74722012-02-27 Matthew Garrett <mjg@redhat.com>
7473
7474 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7475
fb312cd9
VS
74762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7479 error.
7480
7134247c
VS
74812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * configure.ac: Remove inappropriate use of program_transform_name
7484 on grubdir and bootdir but allow explicit specification of those
7485 variables.
7486
6a313124
VS
74872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * util/grub-mknetdir.in (grub_prefix): Removed.
7490 (subdir): Use @bootdirname@ and @grubdirname@.
7491
2311c5ca
VS
74922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7495
7d5d60f7
VS
74962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * po/POTFILES.in: Regenerated.
7499
8151bc82
VS
75002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Remove improper use of program_transform_name on pkglibrootdir.
7503
7504 * configure.ac (pkglibrootdir): Removed.
7505 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7506 * util/grub-mkimage.c: Likewise.
7507
b4a6a533
VS
75082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7511 warning.
7512
668f304f
VS
75132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * util/grub-install.in: Use file identifier if no UUID is available
7516 or user explicitly prompted for it.
7517
665f2341
NP
75182012-02-27 Navdeep Parhar <nparhar@gmail.com>
7519
7520 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7521 (freebsd_get_zfs): New function.
7522 (grub_freebsd_boot): Pass zfs UUID.
7523 (grub_cmd_freebsd): Set zfs UUID.
7524
8151bc82 75252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7526
7527 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7528 pkglibrootdir.
7529
e4c498a1
MG
75302012-02-27 Mike Gilbert <floppym@gentoo.org>
7531
7532 Add configure flag to control libzfs integration.
7533
7534 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7535
1e9a9a3f
VS
75362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7539 device.
7540 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7541 small devices.
7542
036985b8
VS
75432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7546 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7547 be used on non-modules.
7548
7549 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7550 Rename to grub_boot_init.
7551 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7552 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7553 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7554 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7555 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7556 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7557 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7558 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7559 includes.
7560 (grub_machine_init): Remove empty inits.
7561 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7562 includes.
7563 (grub_machine_init): Remove empty inits.
7564 * grub-core/term/arc/console.c: Remove explicit proto.
7565 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7566 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7567 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7568 grub_at_keyboard_fini.
7569 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7570 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7571 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7572 grub_gfxterm_fini.
7573 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7574 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7575 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7576 grub_vgatext_fini.
7577 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7578 * grub-core/term/serial.c (GRUB_MOD_INIT)
7579 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7580 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7581 grub_serial_fini.
7582 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7583 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7584 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7585 grub_terminfo_fini.
7586 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7587 (GRUB_MOD_FINI): Likewise.
7588 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7589 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7590 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7591 grub_video_radeon_fuloong2e_fini.
7592 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7593 [LOONGSON]: Rename to grub_video_sis315pro_init.
7594 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7595 grub_video_sis315pro_fini.
7596 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7597 [LOONGSON]: Rename to grub_video_sm712_init.
7598 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7599 grub_video_sm712_fini.
7600 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7601 (grub_at_keyboard_fini): Likewise.
7602 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7603 Don't declare grub_{modname}_init.
7604 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7605 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7606 New proto.
7607 (grub_keylayouts_fini) [!EMU]: Likewise.
7608 * include/grub/serial.h (grub_serial_init) [!EMU]:
7609 New proto.
7610 (grub_serial_fini) [!EMU]: Likewise.
7611 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7612 New proto.
7613 (grub_terminfo_fini) [!EMU]: Likewise.
7614 * include/grub/video.h (grub_font_init) [!EMU]:
7615 New proto.
7616 (grub_font_fini) [!EMU]: Likewise.
7617 (grub_gfxterm_init) [!EMU]: Likewise.
7618 (grub_gfxterm_fini) [!EMU]: Likewise.
7619 (grub_video_sm712_init) [!EMU]: Likewise.
7620 (grub_video_sm712_fini) [!EMU]: Likewise.
7621 (grub_video_sis315pro_init) [!EMU]: Likewise.
7622 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7623 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7624 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7625
d5534665
VS
76262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 Make nand a prefix for nand devices.
7629
7630 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7631
10133b5f
VS
76322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7635 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7636
8e307a62
VS
76372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * include/grub/env.h (grub_env_find): Remove prototype.
7640 * grub-core/kern/env.c (grub_env_find): Make static.
7641 (grub_env_set): Remove useless set.
7642
a4c65f34
VS
76432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/kern/i386/realmode.S: Remove useless align.
7646
d87893d5
VS
76472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * include/grub/dl.h (grub_dl_load_file): Don't export.
7650
50159add
VS
76512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7654 grub_dprintf.
7655
b2582b84
VS
76562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7659 grub_errors.
7660 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7661 not reloading whole superblock but only the part which is really needed.
7662 Remove useless grub_errors.
7663 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7664 grub_errors.
7665
e2a83395
VS
76662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 Don't export grub_get_rtc.
7669
7670 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7671 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7672
e7d2a906
VS
76732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7676
6cf1363b
VS
76772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7680 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7681
eece3349
VS
76822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 Remove prio_list.
7685
7686 * include/grub/list.h (grub_prio_list): Removed.
7687 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7688 GRUB_COMMAND_PRIO_MASK.
7689 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7690 GRUB_COMMAND_FLAG_ACTIVE.
7691 (grub_prio_list_insert): Removed.
7692 (grub_prio_list_remove): Likewise.
7693 (GRUB_AS_PRIO_LIST): Likewise.
7694 (GRUB_AS_PRIO_LIST_P): Likewise.
7695 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7696 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7697 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7698 * grub-core/kern/command.c (grub_register_command_prio): Inline
7699 the prio_list code.
7700 (grub_unregister_command): Likewise.
7701
94f064b4
VS
77022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 Fix interrupt mixup from previous commit.
7705
7706 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7707 (grub_realidt): New var.
7708 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7709 Load idt.
7710 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7711 New declaration.
7712 (grub_relocator16_boot): Set grub_relocator16_idt.
7713 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7714 (LOCAL(realidt)): ... this.
7715 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7716 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7717 (grub_realidt): New variable.
7718
27317084
VS
77192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7722 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7723 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7724 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7725 Gettextize.
7726 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7727 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7728 * po/POTFILES.in: Regenerate.
7729
47b40053
VS
77302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7733 errors.
7734
2b343101
VS
77352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7738 \0.
7739 (add_length): Likewise.
7740
ff27c3dd
LK
77412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
77422012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7743
7744 GDB serial and backtrace support.
7745
7746 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7747 (prot_to_real): Likewise.
7748 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7749 * grub-core/Makefile.core.def (backtrace): New module.
7750 (gdb): Likewise.
7751 * grub-core/gdb/cstub.c: New file.
7752 * grub-core/gdb/gdb.c: Likewise.
7753 * grub-core/gdb/i386/idt.c: Likewise.
7754 * grub-core/gdb/i386/machdep.S: Likewise.
7755 * grub-core/gdb/i386/signal.c: Likewise.
7756 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7757 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7758 * include/grub/backtrace.h: Likewise.
7759 * include/grub/gdb.h: Likewise.
7760 * include/grub/i386/gdb.h: Likewise.
7761
77622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7763
7764 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7765 New function.
7766 (add_length): Likewise.
7767 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7768 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7769 proto.
7770 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7771 __argp_get_display_len.
7772
ff27c3dd 77732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7774
7775 $"..." support in scripts.
7776
7777 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7778 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7779 * grub-core/script/yylex.l: Likewise.
7780 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7781 value.
7782
ff27c3dd 77832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7784
7785 * gentpl.py: Remove obsolete pkglib_DATA handling.
7786
ff27c3dd 77872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7788
7789 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7790 mailing list.
7791
7792 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7793 * util/grub-kbdcomp.in: Likewise.
7794 * util/grub-mkconfig.in: Likewise.
7795 * util/grub-mkconfig_lib.in: Likewise.
7796 * util/grub-mknetdir.in: Likewise.
7797 * util/grub-mkrescue.in: Likewise.
7798 * util/grub-mkstandalone.in: Likewise.
7799 * util/grub-reboot.in: Likewise.
7800 * util/grub-set-default.in: Likewise.
7801 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7802
ff27c3dd 78032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7804
7805 Remove GRUB_PREFIX.
7806
7807 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7808 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7809 used for backward compatibility.
7810
ff27c3dd 78112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7812
7813 Add new all_video module.
7814
7815 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7816 * grub-core/Makefile.core.def (all_video): New module.
7817 * grub-core/genmoddep.awk: Generate dependency of all_video from
7818 video.lst.
7819 * grub-core/lib/fake_module.c: New file.
7820 * grub-core/normal/main.c (features): Add feature_all_video_module.
7821 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7822 don't do explicit search again.
47454da5 7823 insmod all_video in load_video if available.
22c7ce85 7824
ff27c3dd 78252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7826
7827 Another round of string clarification and adding TRANSLATORS comments.
7828
ff27c3dd 78292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7830
7831 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7832
ff27c3dd 78332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7834
7835 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7836 to grub_ssize_t.
7837 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7838 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7839
ff27c3dd 78402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7841
7842 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7843 trailing newline implicitly. All users updated.
7844
ff27c3dd 78452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7846
7847 Implement serial on IEEE1275 and EFI.
7848
7849 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7850 on emu. Mention arc and emu as the only platforms without serial
7851 support.
7852 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7853 ieee1275 platforms.
7854 * grub-core/term/efi/serial.c: New file.
7855 * grub-core/term/ieee1275/serial.c: Likewise.
7856 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7857 specification if no ns8250 driver is available.
7858 (grub_cmd_serial): Likewise.
7859 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7860 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7861 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7862 (grub_efi_parity_type_t): New type.
7863 (grub_efi_stop_bits_t): Likewise.
7864 (grub_efi_serial_io_interface): New struct.
7865 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7866 available for all interfaces.
7867 Add EFI and IEEE1275 fields.
7868 (grub_ofserial_init): New proto.
7869 (grub_efiserial_init): Likeiwse.
7870 * util/grub.d/00_header.in: Don't check for the presence of serial
7871 module.
7872
ff27c3dd 78732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7874
7875 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7876 name as if it was an alias.
7877
114076ef
VS
78782012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/commands/lsacpi.c (options): Fix typo.
7881
6a656b0e
VS
78822012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Convert grub-emu to argp.
7885
7886 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7887 emu.
7888 * util/argp_common.c: Rename to ...
7889 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7890 Add missing includes.
7891 * grub-core/kern/emu/main.c: Convert to argp.
7892 * po/POTFILES.in: Regenerate.
7893 * util/grub-install.in (usage): Make first letter lowcase in messages
7894 for uniformity.
7895 * util/grub-setup.c (options): Likewise.
7896
1e3f8ae8
VS
78972012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7900 Put back accidently commented-out code.
7901
ed167a80
VS
79022012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7905 loop check using Brent algorithm.
7906 (grub_hfsplus_btree_search): Likewise.
7907
6753c0ec
VS
79082012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * util/grub-install.in: Fix usage of wrong device for PreP install.
7911
4e27343f
VS
79122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * conf/Makefile.common (CFLAGS_GNULIB): Add
7915 -Wno-unsafe-loop-optimizations.
7916 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7917 on tools.
7918 * grub-core/commands/legacycfg.c: Add pragma to skip
7919 -Wunsafe-loop-optimizations.
7920 (check_password_md5_real): Fix loop counter type.
7921 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7922 reading.
7923 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7924 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7925 loop condition.
7926 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7927 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7928 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7929 condition.
7930 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7931 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7932 avoid possible infinite loops.
7933 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7934 and -Wunsafe-loop-optimizations.
7935 * grub-core/script/yylex.l: Likewise.
7936 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7937 (print_glyphs): Avoid infinite loops.
7938 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7939
697f18b0
GS
79402012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7941
7942 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7943 to avoid infinite loop.
7944 (disp_acpi_rsdt_table): Likewise.
7945
274416e8
VS
79462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/font/font.c (grub_font_load): Add support for default
7949 path for fonts ($prefix/fonts).
7950 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7951 for checking if string is a path.
7952 * grub-core/normal/main.c (features): Add feature_default_font_path.
7953 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7954 * util/grub.d/00_header.in: Use default directory if possible.
7955 * util/grub-install.in: Install unicode.pf2.
7956
b3e08622
VS
79572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7960 * po/Rules-swiss: New file.
7961 * po/swiss.sed: Likewise.
7962
fe42ce09
VS
79632012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/fs/btrfs.c (find_device): Fix typos.
7966 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7967 * util/grub-mkrelpath.c (argp_parser): Likewise.
7968 Reported by: Yuri Chornoivan.
7969
72f1d065
DO
79702012-02-23 Dalet Omega <daletomega@gmail.com>
7971
7972 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7973 for usual informative messages.
7974
c5884973
DO
79752012-02-23 Dalet Omega <daletomega@gmail.com>
7976
7977 Starfield theme.
7978
7979 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7980 * conf/Makefile.common: Define starfielddir.
7981 * configure.ac: Configure starfield.
7982 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7983 * themes/starfield/README: Likewise.
7984 * themes/starfield/blob_w.png: Likewise.
7985 * themes/starfield/boot_menu_c.png: Likewise.
7986 * themes/starfield/boot_menu_e.png: Likewise.
7987 * themes/starfield/boot_menu_n.png: Likewise.
7988 * themes/starfield/boot_menu_ne.png: Likewise.
7989 * themes/starfield/boot_menu_nw.png: Likewise.
7990 * themes/starfield/boot_menu_s.png: Likewise.
7991 * themes/starfield/boot_menu_se.png: Likewise.
7992 * themes/starfield/boot_menu_sw.png: Likewise.
7993 * themes/starfield/boot_menu_w.png: Likewise.
7994 * themes/starfield/slider_c.png: Likewise.
7995 * themes/starfield/slider_n.png: Likewise.
7996 * themes/starfield/slider_s.png: Likewise.
7997 * themes/starfield/src/blob_nw.xcf: Likewise.
7998 * themes/starfield/src/bootmenu/: Likewise.
7999 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8000 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8001 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8002 * themes/starfield/src/slider_c.xcf: Likewise.
8003 * themes/starfield/src/slider_n.xcf: Likewise.
8004 * themes/starfield/src/slider_s.xcf: Likewise.
8005 * themes/starfield/src/terminalbox/: Likewise.
8006 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8007 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8008 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8009 * themes/starfield/starfield.png: Likewise.
8010 * themes/starfield/terminal_box_c.png: Likewise.
8011 * themes/starfield/terminal_box_e.png: Likewise.
8012 * themes/starfield/terminal_box_n.png: Likewise.
8013 * themes/starfield/terminal_box_ne.png: Likewise.
8014 * themes/starfield/terminal_box_nw.png: Likewise.
8015 * themes/starfield/terminal_box_s.png: Likewise.
8016 * themes/starfield/terminal_box_se.png: Likewise.
8017 * themes/starfield/terminal_box_sw.png: Likewise.
8018 * themes/starfield/terminal_box_w.png: Likewise.
8019 * themes/starfield/theme.txt: Likewise.
8020
17d73325
VS
80212012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * util/grub.d/00_header.in: Add missing export theme.
8024
dbebaf92
VS
80252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8028 already included.
8029 Reported by: Eren D.
8030
3d68bffb
VS
80312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * conf/Makefile.common (grubdatadir): Removed.
8034 (Makefile.am): Move eveything grubdata to pkgdata.
8035
4b59234d
VS
80362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/commands/acpihalt.c (get_sleep_type):
8039 Remove unused variable.
8040
463dcadc
VS
80412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8044 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8045 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8046 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8047 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8048 i18n with gettext no-op.
8049 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8050 GRUB_ACPI_OPCODE_STRING_CONST.
8051 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8052 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8053
e5b90c82
VS
80542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * po/POTFILES.in: Regenerate.
8057
2a704ca9
VS
80582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8061 -Wno-error=missing-noreturn.
8062
84f9d341
VS
80632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8066 condition to avoid possibly infinite loops.
8067 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8068 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8069
d46683f9
VS
80702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8073 condition to avoid possibly infinite loops.
8074
c44866b2
VS
80752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8078 on show_error.
8079
96790539
VS
80802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8083
1ba7e295
VS
80842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8087
21ffe8f1
VS
80882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * util/bin2h.c (usage): Add missing attribute noreturn.
8091
0ccb6b3c
VS
80922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8095 if the size isn't divisible by 512.
8096
b00d7fb6
VS
80972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 Make list_push and list_remove functions rather than inline functions
8100 to decrease size and avoid aliasing violations.
8101
8102 * include/grub/list.h (grub_list_push): Move to ...
8103 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8104 * include/grub/list.h (grub_list_remove): Move to ...
8105 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8106
9d369087
VS
81072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8110 and -Wunused-result.
8111
af0250d9
VS
81122012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8115 Reported by: Seth Goldberg
8116
aad32b14
VS
81172012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8120
ac96441c
ST
81212012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8122
8123 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8124 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8125 command line.
8126 * docs/grub.texi (Simple configuration): Document
8127 GRUB_CMDLINE_GNUMACH.
8128
81292012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8130
8131 * conf/Makefile.common (platform_SCRIPTS): New variable.
8132 (platform_PROGRAMS): Likewise.
8133 * gentpl.py: Mark *,module and *.image for install.
8134 * grub-core/gdb_grub.in: Add a notice of expected environment.
8135 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8136 (gmodule.pl): Likewise.
8137
ac96441c 81382012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8139
8140 Replace grub_checkkey with grub_getkey_noblock.
8141
8142 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8143 (grub_getkey_noblock): ... this. All users updated.
8144
ac96441c 81452012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8146
8147 * grub-core/kern/emu/console.c: Move to ...
8148 * grub-core/term/emu/console.c: ...here.
8149 (grub_ncurses_getkey): Fix return value if no key is detected.
8150
e51b5666
VS
81512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8154 (grub_unit_test_fini): Likewise.
8155 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8156
81572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * include/grub/test.h (GRUB_UNIT_TEST)
8160
d9a62292
VS
81612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8164 Better error handling.
8165 (grub_script_return): Likewise.
8166 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8167
77c9182f
VS
81682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8171 rimplicit redifinition.
8172
edb13cf9
VS
81732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8176 GRUB.
8177
a9e9dc7c
VS
81782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8181 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8182 prompt here.
8183
b4ba8e02
VS
81842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8187 as GRUB_ERR_BUG. Don't malloc if no device is available.
8188
dded5540
VS
81892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8192 Mark calling with invalid term as GRUB_ERR_BUG.
8193
0cf69874
VS
81942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8197 packets rather than raising an error.
8198
59bfe502
VS
81992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8202 in if.
8203
db5fc596
VS
82042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8207 diagnostic to dprintf.
8208 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8209
e4b7f404
VS
82102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8213 device name.
8214
e7b02f9e
VS
82152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8218 (grub_ntfs_iterate_dir): Likewise.
8219
0331e102
VS
82202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Efiemu stylistic fixes and gettext.
8223
8224 * grub-core/efiemu/i386/loadcore32.c
8225 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8226 * grub-core/efiemu/i386/loadcore64.c
8227 (grub_arch_efiemu_relocate_symbols64): Likewise.
8228 * grub-core/efiemu/i386/pc/cfgtables.c
8229 (grub_machine_efiemu_init_tables): Likewise.
8230 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8231 (grub_efiemu_loadcore_initXX): Add a filename argument.
8232 All users updated.
8233 Improved error message.
8234 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8235 Add a filename argument.
8236 All users updated.
8237 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8238 Reclassify double relocation as GRUB_ERR_BUG.
8239
306fc074
VS
82402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8243 handling.
8244
794d8ef2
VS
82452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8248 on partition.
8249
82502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8251
8252 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8253
794d8ef2 82542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8255
8256 Improve string. Gettextize.
8257
78dde88e
VS
82582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8261 utils.
8262 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8263
4786a90f
VS
82642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8267 [GRUB_UTIL]: New function.
8268 (insert_array) [GRUB_UTIL]: Store partmaps.
8269 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8270 partmaps.
8271 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8272 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8273 (probe_abstraction): Print diskfilter and not raid.
8274 Reported by: Lennart Sorensen
8275
0b6225bd
VS
82762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8279 * util/grub-mkimagexx.c (MASK3): New define.
8280 (add_value_to_slot_20b): Use MASK3.
8281 (add_value_to_slot_21): Likewise.
8282 (relocate_addresses): Fix format specification.
8283 (load_image): Explicitly init symtab_section.
8284
b055f8f6
VS
82852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8288 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8289
b77c2fb7
VS
82902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8293 on powerpc.
8294 Reported by: Lennart Sorensen
8295
e3ec28ab
VS
82962012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * gentpl.py: Add missing license header.
8299 * docs/grub.texi: Update copyright year.
8300
c8d9ead6
GS
83012012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8302
8303 Source grub-mkconfig_lib from the build directory at build time.
8304 Suggested by: Vladimir Serbinenko.
8305
8306 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8307 * util/grub-install.in: Define pkgdatadir if not already set, and source
8308 grub-mkconfig_lib from there.
8309 * util/grub-kbdcomp.in: Likewise.
8310 * util/grub-mkconfig.in: Likewise.
8311 * util/grub-mknetdir.in: Likewise.
8312 * util/grub-mkrescue.in: Likewise.
8313 * util/grub-mkstandalone.in: Likewise.
8314 * util/grub-reboot.in: Likewise.
8315 * util/grub-set-default.in: Likewise.
8316 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8317
ebcecdf1
VS
83182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Increase warning level.
8321
8322 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8323 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8324 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8325 (TARGET_CFLAGS): Likewise.
8326 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8327 * grub-core/Makefile.core.def (decompressor_xz): Add
8328 -Wno-unreachable-code.
8329 (normal): Add -Wno-redundant-decls.
8330 (xzio): Add -Wno-unreachable-code.
8331 (lzopio): Add -Wno-redundant-decls -Wno-error.
8332 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8333 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8334 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8335 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8336 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8337 * grub-core/kern/i386/coreboot/init.c: Add exception to
8338 -Wsuggest-attribute=noreturn.
8339 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8340 * grub-core/kern/ia64/dl_helper.c: Likewise.
8341 * grub-core/kern/mips/dl.c: Likewise.
8342 * grub-core/kern/sparc64/dl.c: Likewise.
8343 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8344 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8345 (memcmp): Likewise.
8346 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8347 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8348 * grub-core/loader/mips/linux.c: Likewise.
8349 * grub-core/loader/multiboot_elfxx.c: Likewise.
8350 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8351 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8352 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8353 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8354 fixme.
8355 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8356 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8357 Fix prototype.
8358
37bb97fe
VS
83592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8362 address.
8363
29a3550b
VS
83642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8367 Avoid improper use of strings.
8368 (grub_cmd_legacy_initrdnounzip): Likewise.
8369
dfdffd0d
VS
83702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8373 attribute.
8374 (grub_util_info): Likewise.
8375 (grub_util_error): Likewise.
8376
102fae4a
VS
83772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8380 * util/grub-fstest.c (fstest): Likewise.
8381
7e94d044
VS
83822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8385 (grub_md_sha512_real): Likewise.
8386 (grub_util_get_geli_uuid): Likewise.
8387 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8388 (grub_util_biosdisk_open): Fix format specification.
8389 Respect format security.
8390 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8391 (xrealloc): Likewise.
8392 (xasprintf): Likewise.
8393
5ebd9769
VS
83942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * util/import_gcry.py: Include grub/crypto.h in init.c.
8397
495fc8c1
VS
83982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8401 (generate_image): Make prefix a const char *.
8402 Fix format specifications. Respect format security.
8403 Avoid void * arithmetics.
8404 Avoid shadowing.
8405 (argp_parser): Remove unused variable. Respect format security.
8406 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8407 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8408 (count_funcs): Remove unused variable.
8409 (relocate_addresses): Fix format specification.
8410 Disable x86-64 with elf32. Remove unused variables.
8411 (add_fixup_entry): Avoid shadowing.
8412 (make_reloc_section): Fix format specification.
8413 Use assert.
8414 (locate_sections): Fix format specifications.
8415 (load_image): Avoid shadowing.
8416
043c2ea3
VS
84172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8420 Fix format specifications. Respect format security.
8421 Don't translate already translated grub_errmsg.
8422 (argp_parser): Remove unused variable
8423
3ec65a81
VS
84242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8427
a4d9fe4a
VS
84282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8431 (main): Likewise. Use xmalloc. Respect format security.
8432
15b81d49
VS
84332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8436 a const char *.
8437 (argp_parser): Remove unused variable.
8438
31731fc0
VS
84392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8442 (add_pixel): Make static.
8443 (add_font): Likewise.
8444 (write_string_section): Make name and str a const char *.
8445 (write_be16_section): Make name a const char *.
8446 (print_glyphs): Make static.
8447 (write_font_ascii_bitmap): Likewise.
8448 (write_font_width_spec): Likewise.
8449 (write_font_pf2): Likewise.
8450 (argp_parser): Remove unused variable.
8451 Respect format security.
8452 (main): Avoid shadowing. Respect format security.
8453
0809527b
VS
84542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * util/grub-editenv.c (argp_parser): Make static.
8457 (create_envblk_file): Use xmalloc.
8458 (open_envblk_file): Likewise.
8459 Resepect format security.
8460 (set_variables): Respect format security.
8461
45b0c8b7
VS
84622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * util/getroot.c (grub_find_device): Respect format security.
8465 (get_mdadm_uuid): Remove unused variable.
8466 (grub_util_pull_device): Dont call gettext on already translated
8467 grub_errmsg.
8468 (find_system_device): Remove unused variable.
8469 (grub_util_get_grub_dev): Likewise.
8470 (grub_make_system_path_relative_to_its_root): Respect format security.
8471
1b024b4e
VS
84722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * util/grub-fstest.c (execute_command): Make first argument
8475 a const char *.
8476 (read_file): Avoid shadowing.
8477 Reuse underlying error message if device open fails.
8478 (cmd_cmp): Respect format security.
8479 (root): Make const char *.
8480 (fstest): Remove args argument and use global copy.
8481 Respect format security.
8482 (argp_parser): Make static.
8483 (main): Make default_root const char *.
8484
5d1d4e28
VS
84852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * util/grub-mount.c (root): Make const char *.
8488 (execute_command): Make first argument a const char *.
8489 (fuse_init): Respect format security.
8490 (argp_parser): Make static. Remove unused variable.
8491 (main): Make default_root a const char *.
8492 Respect format security.
8493
36eb7379
VS
84942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * util/grub-probe.c (probe): Don't call gettext on already translated
8497 grub_errmsg.
8498 Remove unused variables.
8499 (argp_parser): Remove unused variable.
8500
76fb2ea9
VS
85012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * util/grub-script-check.c (argp_parser): Remove unused variable.
8504 (main): Rename read to curread to avoid shadowing.
8505
56c98584
VS
85062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * util/misc.c (grub_util_write_image_at): Fix format specification.
8509 (grub_util_write_image): Likewise.
8510 (grub_script_execute_argument_to_string): Removed (unused).
8511 (grub_script_execute_menuentry): Likewise.
8512 (grub_putchar): Likewise.
8513
164ebb48
VS
85142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8517 (FUNCTION) [GRUB_UTIL]: Likewise.
8518 (VARIABLE) [GRUB_UTIL]: Likewise.
8519
44318d61
VS
85202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8523 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8524
31a26002
VS
85252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8528 buffer.
8529
85302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8533 (LzmaEnc_SaveState): Removed (unused).
8534 (LzmaEnc_RestoreState): Likewise.
8535 (LzmaEnc_InitPriceTables): Made static.
8536 (LzmaEnc_Construct): Likewise.
8537 (LzmaEnc_FreeLits): Likewise.
8538 (LzmaEnc_Destruct): Likewise.
8539 (LzmaEnc_Init): Likewise.
8540 (LzmaEnc_InitPrices): Likewise.
8541 (LzmaEnc_Finish): Likewise.
8542 (LzmaEnc_PrepareForLzma2): Removed (unused).
8543 (LzmaEnc_MemPrepare): Likewise.
8544 (LzmaEnc_GetNumAvailableBytes): Likewise.
8545 (LzmaEnc_GetCurBuf): Likewise.
8546 (LzmaEnc_CodeOneMemBlock): Likewise.
8547
6fa67967
VS
85482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8551 (grub_util_ldm_embed): Likewise.
8552
9a7428e6
VS
85532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * util/grub-editenv.c (print_var): Rename name to varname to
8556 avoid shadowing.
8557 (main): Rename index to curindex to avoid shadowing.
31a26002 8558 Make filename a const char *.
9a7428e6 8559
4f96abd1
VS
85602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8563 to arg_getline to avoid shadowing.
8564
44d10dad
VS
85652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8568 disk_ to avoid shadowing.
8569
340ba63e
VS
85702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8573 curindex to avoid shadowing.
8574 Make static.
8575 (MatchFinder_GetNumAvailableBytes): Make static.
8576
22965bce
VS
85772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8580 avoid shadowing.
8581
7b5784d4
VS
85822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8585 argument from encrypt to do_encrypt to avoid shadowing.
8586
6f48ca01
VS
85872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8590 incorrect nesting of #if's.
8591
a4ea2dff
VS
85922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8595 checks which are always false on some platforms.
8596 (grub_cmd_lsacpi): Likewise.
8597 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8598 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8599 Likewise.
8600
def9fc1b
VS
86012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8604 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8605
a67b2a04
VS
86062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8609 re_dfa_t to avoid breaking alignment invariants.
8610 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8611 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8612
44c6828d
VS
86132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8616 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8617
bebe0dd0
VS
86182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8621 Fix declaration.
8622
a9cdb3cf
VS
86232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8626 conserve alignment invariants.
8627 (grub_ehci_ehcc_read16): Likewise.
8628 (grub_ehci_oper_read32): Likewise.
8629 (grub_ehci_oper_write32): Likewise.
8630 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8631 Conserve alignment invariants.
8632
ccc3b1b8
VS
86332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8636 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8637 declarations.
8638
987fbd95
VS
86392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8642 Remove unused variable.
8643
0df363f3
VS
86442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8647 Remove set in if.
8648
b2c0c4a6
VS
86492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * include/grub/net.h: Remove double declarations.
8652
690c531f
VS
86532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 Remove "payload" command in ia64 Linux loader since I couldn't
8656 find any evidence of it being used for anything.
8657 Replace "relocate" command with an environment variable
8658
8659 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8660 fields.
8661 (ia64_boot_payload): Removed.
8662 (last_payload): Likewise.
8663 (RELOCATE_OFF): Likewise.
8664 (RELOCATE_ON): Likewise.
8665 (RELOCATE_FORCE): Likewise.
8666 (relocate): Likewise.
8667 (free_pages): Don't free payloads.
8668 (grub_load_elf64): Use common error messages.
8669 Use "linux_relocate" variable.
8670 Increase the space after boot_params.
8671 (grub_cmd_payload): Removed.
8672 (grub_cmd_relocate): Likewise.
8673 (grub_cmd_fpswa): Improve messages.
8674 (cmd_payload): Removed.
8675 (cmd_relocate): Likewise.
8676 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8677 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8678
01783768
VS
86792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 Convert UHCI to DMA framework.
8682
8683 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8684 (grub_uhci_pci_iter): Fill new members
8685 (grub_alloc_td): Use P2V and V2P functions.
8686 (grub_free_queue): Likewise.
8687 (grub_alloc_qh): Likewise.
8688 (grub_uhci_setup_transfer): Likewise.
8689 (grub_uhci_check_transfer): Likewise.
8690
43206939
VS
86912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8694 Remove assignment in if while on it.
8695
571e140e
VS
86962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * util/grub-mkstandalone.in: Fix modules directory.
8699
a9d96eeb
VS
87002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8703 on i386-pc target.
8704 (argp_parser): Accept "auto" as compression specification.
8705
e4e37e8d
VS
87062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Fix `help' with unloaded modules.
8709
8710 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8711 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8712 (grub_dyncmd_dispatcher): Small stylistic fix.
8713 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8714 explicit help is requested.
8715
e1ea3ade
VS
87162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8719 Explicitly init restart while on it.
8720
27556881
VS
87212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8724 uninited variable.
8725
d65f6b36
VS
87262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * util/grub-mknetdir.in: Use . rather than source for POSIX
8729 compatibility.
8730
0a1e473c
VS
87312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8734
ce6647c8
VS
87352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8738 variable.
8739
66747894
VS
87402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8743 without quotes.
8744
71645f6e
VS
87452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8748
0e1c1f61
VS
87492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8752 iteration of partitions.
8753
9c4b5c13
VS
87542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 Improve gettext support. Stylistic fixes and error handling fixes while
8757 on it.
8758
215c90cb
VS
87592012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8762 part. Instead setup the correct stack in RM.
8763 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8764 for stack.
8765 * include/grub/i386/relocator_private.h: New file.
8766
b5c1f9bf
VS
87672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8770 argument.
8771 * util/grub-fstest.c (options): Add missing DEVICE part.
8772
b525fd83
VS
87732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 Clarify and unify messages.
8776
8777 * grub-core/commands/hashsum.c (options): Unify messages.
8778 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8779 literal-only message as translatable.
8780 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8781 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8782 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8783 commands.
8784 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8785 key, not the key used to unlock. Clarify what it's used for.
8786 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8787 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8788 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8789 * util/grub-editenv.c (options): Unify "verbose" message.
8790 * util/grub-fstest.c (read_file): Unify error message.
8791 (fstest): Add quotes around commands.
8792 (options): Unify "verbose" message.
8793 * util/grub-install.in: Add quotes around variable name.
8794 * util/grub-kbdcomp.in: Unify error message.
8795 * util/grub-mkfont.c (main): Likewise.
8796 * util/grub-mkrescue.in: Likewise.
8797 * util/grub-mklayout.c (options): Unify "verbose" message.
8798 * util/grub-mkstandalone.in: Unify help and verbose messages.
8799 * util/grub-mount.c (options): Unify "verbose" message.
8800 * util/grub-probe.c (options): Likewise.
8801 * util/grub-script-check.c (options): Likewise.
8802 * util/grub-setup.c (setup): Unify no-terminator message.
8803 (options): Use DEVICE and not DEV.
8804 Unify "verbose" message.
8805 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8806
0ae70393
VS
88072012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Improve and unify messages.
8810
8811 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8812 name. All users updated.
8813 Print filename in error.
8814 (read_device_map): Print filename in error.
8815 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8816 (grub_util_get_os_disk): Likewise.
8817 (grub_util_biosdisk_get_grub_dev): Likewise.
8818 (grub_util_check_block_device): Likewise.
8819 (grub_util_check_char_device): Likewise.
8820 (grub_make_system_path_relative_to_its_root): Likewise.
8821 * util/grub-editenv.c (create_envblk_file): Likewise.
8822 (open_envblk_file): Likewise.
8823 (write_envblk): Likewise.
8824 * util/grub-fstest.c (cmd_cp): Likewise.
8825 (cmd_cat): Likewise.
8826 (cmd_cmp): Likewise.
8827 * util/grub-menulst2cfg.c (main): Likewise.
8828 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8829 (write_font_width_spec): Likewise.
8830 (write_font_pf2): Likewise.
8831 * util/grub-mkimage.c (generate_image): New argument outname.
8832 All users updated.
8833 Remove unreacheable message.
8834 (options): Unify messages.
8835 (help_filter): Likewise.
8836 * util/grub-mklayout.c (usage): Removed (unused).
8837 (main): Print filename in error.
8838 * util/grub-mkrescue.in: Fix wrong quoting.
8839 * util/grub-setup.c (setup): Print filename in error.
8840 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8841 (check_sas): Likewise.
8842 * util/misc.c (grub_util_get_fp_size): Removed.
8843 (grub_util_get_image_size): Print filename in error.
8844 (grub_util_read_at): Removed.
8845 (grub_util_read_image): Print filename in error.
8846 (grub_util_load_image): Likewise.
8847 (grub_util_write_image_at): New argument filename. All users updated.
8848 Print filename in error.
8849 (grub_util_write_image): New argument filename. All users updated.
8850 Print filename in error.
8851 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8852 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8853
0a96117d
VS
88542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/Makefile.core.def (pxechain): New module.
8857 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8858 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8859 function.
8860 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8861 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8862
aca002f7
VS
88632012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8866 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8867 * include/grub/err.h (grub_error_saved): New struct.
8868 (grub_errmsg): Make array size explicit.
8869 * include/grub/misc.h (grub_error_save): New function.
8870 (grub_error_load): Likewise.
8871 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8872 (grub_error_push): Update `errno' member name.
8873 (grub_error_pop): Likewise
8874 * grub-core/net/tftp.c (tftp_data): New member save_err.
8875 (tftp_receive): Save error.
8876 (tftp_open): Restore error.
8877
a51dab13
VS
88782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8881 to real mode down to execute A20-related code in protected mode as
8882 intended.
8883
eb6e6649
GS
88842012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8885
8886 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8887 NULL when the argument `level' has an unexpected value.
8888
92cd0f6e
VS
88892012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 Move platform-dependent files from $prefix to $prefix/$platform.
8892
8893 * config.h.in (GRUB_TARGET_CPU): New definition.
8894 (GRUB_PLATFORM): Likewise.
8895 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8896 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8897 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8898 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8899 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8900 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8901 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8902 * grub-core/normal/term.c (read_terminal_list): Likewise.
8903 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8904 $prefix/locale.
8905 (grub_gettext_init_ext): Likewise.
8906 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8907 grub_platform.
8908 * util/grub-install.in: Update directories.
8909 * util/grub-mknetdir.in: Likewise.
8910 * util/grub-mkrescue.in: Likewise.
8911
db606889
VS
89122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8915 grub_error framework. All users updated.
8916
c39992a4
VS
89172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8920 lists (by always binsearching), improve caching (cache strings
8921 used for binsearch, not only results), improve
8922 maintainability (by using more structured binary search) and correct
8923 error handling.
8924
1e5ec32f
VS
89252012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * grub-core/script/execute.c (grub_script_return): Fix warning.
8928
ac576cde
VS
89292012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/script/execute.c (grub_script_return): Fix potential
8932 NULL-dereference.
8933 Reported by: Jim Meyering.
8934
498453f6
VS
89352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * po/POTFILES.in: Regenerate.
8938 * util/grub-install.in: Gettextize the strings missed in first pass.
8939
8be63f2e
VS
89402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * Makefile.util.def (grub-mkdevicemap): Removed.
8943 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8944 * include/grub/util/deviceiter.h: Removed.
8945 * util/deviceiter.c: Likewise.
8946 * util/getroot.c (grub_util_get_os_disk): New function.
8947 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8948 replacement for EFI.
8949 * util/grub-mkdevicemap.c: Removed.
8950 * util/grub-probe.c (probe): Handle PRINT_DISK.
8951 (argp_parser): Handle -t disk.
8952
8e1e4e39
VS
89532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * util/grub-mkfont.c: Migrate to argp.
8956 * util/grub-mklayout.c: Likewise.
8957 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8958 * util/grub-mkrelpath.c: Likewise.
8959 * util/grub-probe.c: Likewise.
8960 * util/grub-script-check.c: Likewise.
8961
4459819a
VS
89622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * util/grub-reboot.in: Add missing datarootdir.
8965 Add missing newline.
8966 * util/grub-set-default.in: Add missing datarootdir.
8967 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8968 * util/grub-mkrescue.in: Likewise.
8969
f65741c7
VS
89702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8973
c1a33466
VS
89742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * util/grub-kbdcomp.in: Add decent help and gettextize.
8977 * docs/man/grub-kbdcomp.h2m: New file.
8978
c76899a0
VS
89792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 Migrate grub-mkimage.c to argp.
8982
8983 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8984 (grub-setup): Likewise.
8985 * util/grub-setup.c (print_version): Move to ...
8986 * util/argp_common.c (print_version): ... here.
8987 * util/grub-setup.c (argp_program_version_hook): Move to ...
8988 * util/argp_common.c (argp_program_version_hook): ... here.
8989 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8990 safety.
8991 * util/grub-mkimage.c (main): Migrate to argp.
8992
57db0757
VS
89932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 * util/grub-mkrescue.in: Use same message as
8996 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8997 for better translations.
8998
18534ad9
VS
89992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9002 options with generic grub-mkrescue.in with the goal of future
9003 merge.
9004
c84ba308
VS
90052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/kern/mm.c: Add missing include of i18n.h
9008 * grub-core/lib/relocator.c: Likewise.
9009
347998c2
VS
90102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9013 error.
9014 (allocate_pages): Check return value.
9015 Replace fatal with error.
9016 (grub_linux_boot): Replace printf with dprintf.
9017 Check find_mmap_size return value.
9018 Replace fatal with error.
9019 Don't call grub_machine_fini.
9020 (grub_load_elf64): Replace printf with dprintf.
9021 (grub_cmd_linux): Likewise.
9022 (grub_cmd_initrd): Likewise.
9023 (grub_cmd_payload): Likewise.
9024
c779226e
VS
90252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9028 message.
9029 * grub-core/video/radeon_fuloong2e.c
9030 (grub_video_radeon_fuloong2e_setup): Likewise.
9031 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9032 * grub-core/video/video.c (grub_video_set_mode): Don't override
9033 standard out of memory message.
9034
dc87d45a
GS
90352012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9036
9037 NetBSD disk wedge support.
9038
9039 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9040 [__NetBSD__]: Handle NetBSD disk wedges.
9041 * util/getroot.c (convert_system_partition_to_system_disk)
9042 [__NetBSD__]: Likewise.
9043
055f856f
MW
90442012-02-03 Mark Wooding <mdw@distorted.org.uk>
9045
9046 * util/grub-mkconfig.in: Use umask rather than chmod to create
9047 grub.cfg.new to avoid insecure grub.cfg.
9048
4a9f8346
VS
90492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/commands/ls.c: Gettextize.
9052 * grub-core/commands/setpci.c: Likewise.
9053 * grub-core/commands/videotest.c: Likewise.
9054 * grub-core/disk/geli.c: Likewise.
9055 * grub-core/kern/mm.c: Likewise.
9056 * grub-core/lib/relocator.c: Likewise.
9057 * grub-core/loader/efi/appleloader.c: Likewise.
9058 * grub-core/loader/i386/xnu.c: Likewise.
9059 * grub-core/loader/ia64/efi/linux.c: Likewise.
9060 * grub-core/loader/xnu.c: Likewise.
9061 * grub-core/net/dns.c: Likewise.
9062 * grub-core/net/net.c: Likewise.
9063 * grub-core/script/lexer.c: Likewise.
9064 * grub-core/script/parser.y: Likewise.
9065 * grub-core/script/yylex.l: Likewise.
9066 * util/getroot.c: Likewise.
9067 * util/grub-setup.c: Likewise.
9068
a646a366
VS
90692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9072 number.
9073
54e2be26
VS
90742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9077
f7c71e68
VS
90782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9081 macro.
9082 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9083 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9084
a32d5c71
VS
90852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9088 * util/grub-install.in: Gettextize.
9089 * util/grub-mkconfig.in: Likewise.
9090 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9091 if not available.
9092 (grub_warn): Gettextize.
9093 * util/grub-mknetdir.in: Gettextize.
9094 * util/grub-mkrescue.in: Likewise.
9095 * util/grub-mkstandalone.in: Likewise.
9096 * util/grub-reboot.in: Likewise.
9097 * util/grub-set-default.in: Likewise.
9098 * util/grub.d/00_header.in: Likewise.
9099 * util/grub.d/10_hurd.in: Likewise.
9100 * util/grub.d/10_kfreebsd.in: Likewise.
9101 * util/grub.d/10_linux.in: Likewise.
9102 * util/grub.d/10_netbsd.in: Likewise.
9103 * util/grub.d/10_windows.in: Likewise.
9104 * util/grub.d/20_linux_xen.in: Likewise.
9105 * util/grub.d/30_os-prober.in: Likewise.
9106 * po/POTFILES-shell.in: Regenerate.
9107
69edd81a
RL
91082012-02-03 Richard Laager <rlaager@wiktel.com>
9109
9110 * util/grub-mkimage.c (main): Fix format-security warning.
9111 * util/grub-mkrelpath.c (main): Likewise.
9112 * util/grub-probe.c (main): Likewise.
9113
65f08dbf
RL
91142012-02-03 Richard Laager <rlaager@wiktel.com>
9115
9116 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9117 failure.
9118 Put back lost PRINT_DRIVE.
9119
e9084abe
RL
91202012-02-03 Richard Laager <rlaager@wiktel.com>
9121
9122 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9123 (grub_guess_root_devices): Replace strlen with sizeof.
9124 Avoid crash.
9125 (find_root_devices_from_poolname): Remove unused variable.
9126 Handle raidzN.
9127
cf5f7ee7
VS
91282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Support install on multi-device filesystems.
9131
9132 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9133 (grub_guess_root_devices): ...this. Return char **. All users updated.
9134 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9135 Removed.
9136 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9137 (find_root_devices_from_poolname): ... here.
9138 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9139 Support zfs-fuse.
9140 (grub_guess_root_device): Rename to ...
9141 (grub_guess_root_devices): ... this. Return char **. All users updated.
9142 * util/grub-install.in: Handle multi-device filesystems.
9143 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9144 argument. All users updated.
9145 Handle multi-device filesystems.
9146 Use 'delim' as separator.
9147 Remove device check to allow filesystems on file.
9148 (main): Support -0 argument. Handle multi-device.
9149 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9150 Fix a cross-device check while on it.
9151 (arguments): Remove root_dev.
9152 (argp_parser): Remove -r.
9153 (main): Remove root_dev.
9154
2f53a9ed
VS
91552012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9158
17e1d934
VS
91592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9162 symbol.
9163 Reported by: NODA, Kai <nodakai>.
9164
d3e3fab5
VS
91652012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Fix ehci on amd64.
9168
9169 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9170 pointers.
9171 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9172 (grub_ehci_setup_qh): Likewise.
9173 (grub_ehci_find_qh): Likewise.
9174 (grub_ehci_transaction): Likewise.
9175 (grub_ehci_setup_transfer): Likewise.
9176 (grub_ehci_check_transfer): Likewise.
9177 (grub_ehci_portstatus): Likewise.
9178 (grub_ehci_detect_dev): Likewise.
9179 (grub_ehci_transfer_controller_data): New field td_last_phys.
9180 (grub_ehci_setup_transfer): Fill td_last_phys.
9181 (grub_ehci_check_transfer): Use td_last_phys.
9182
3008675b
SG
91832012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9184
9185 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9186 if no submenu is present.
9187
fc9b5652
AN
91882012-02-01 Aleš Nesrsta <starous@volny.cz>
9189
9190 CBI support.
9191
9192 * include/grub/usb.h (grub_usbms_protocol_t): New values
9193 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9194 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9195 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9196 (grub_usbms_dev): Add subclass, protocol and intrpt.
9197 Remove in_maxsz and out_maxsz.
9198 (grub_usbms_reset): Rename to ...
9199 (grub_usbms_bo_reset): .. this.
9200 (grub_usbms_cbi_cmd): New function.
9201 (grub_usbms_cbi_reset): Likewise.
9202 (grub_usbms_reset): Likewise.
9203 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9204 (grub_usbms_transfer): Rename to ...
9205 (grub_usbms_transfer_bo): ... this.
9206 (grub_usbms_transfer_cbi): Likewise.
9207 (grub_usbms_transfer): Likewise.
9208
a2b81d53
AN
92092012-02-01 Aleš Nesrsta <starous@volny.cz>
92102012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9213 the support for the CS5536 modification thereos and few bugfixes.
9214
9215 * grub-core/Makefile.core.def (ehci): New module.
9216 * grub-core/bus/usb/ehci.c: New file.
9217 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9218 port and hubaddr. All users updated.
9219 Save port and hubaddr into dev structure.
9220 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9221 define.
9222 * include/grub/pci.h (grub_dma_phys2virt): New function.
9223 (grub_dma_virt2phys): Likewise.
9224 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9225
b1d51f02
VS
92262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9229 check as some mkfs implementations omit it.
9230
fc694106
VS
92312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9234
6c0920e3
VS
92352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9238 Add new member volname2.
9239 (grub_jfs_label): Use volname2 if available.
9240
d1a46f9a
VS
92412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9244 over last_mounted as seen in image generated by mkfs.nilfs2.
9245 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9246
dec8ed14
VS
92472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9250 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9251 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9252
7397c69b
VS
92532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9256 over the sector.
9257
b3fe42ad
VS
92582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9261 subvolume name (by removing a bogus and useless check).
9262
10476bb0
VS
92632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9266 sizeof while on it.
9267
9c08ad87
VS
92682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9271 (grub_scsi_read_capacity10): ... this.
9272 (grub_scsi_read_capacity16): New function.
9273 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9274 0xffffffff.
9275 Fix off-by-one error.
9276 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9277 64-bit unsigned.
9278 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9279 (grub_scsi_read_capacity10): ... this.
9280 (grub_scsi_read_capacity_data): Rename to ...
9281 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9282 (grub_scsi_read_capacity16): New struct.
9283 (grub_scsi_read_capacity16_data): Likewise.
9284 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9285 grub_scsi_cmd_read_capacity10.
9286 New command grub_scsi_cmd_read_capacity16.
9287
bc8d0f45
VS
92882012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 SCSI >2TiB support.
9291
9292 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9293 (grub_scsi_write16): Likewise.
9294 (grub_scsi_read): Use read16 when necessary.
9295 (grub_scsi_write): Likewise.
9296 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9297 (grub_scsi_write16): Likewise.
9298 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9299
cc774926
VS
93002012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 SCSI write support (for usbms mainly).
9303
9304 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9305 a const pointer.
9306 (grub_scsi_write): Implement.
9307 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9308
67639fd7
VS
93092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9312 variable.
9313
9079d3ed
VS
93142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9317
c6a6f204
VS
93182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * po/POTFILES.in: Regenerate.
9321
ecbf8cd1
VS
93222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9325 with grub_printf to avoid unnecessary fatal failure.
9326
0b3b3b38
VS
93272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9330 (INT_MAX): Likewise.
9331 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9332 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9333 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9334 (strcpy): Likewise.
9335 (strstr): Likewise.
9336 (strchr): Likewise.
9337 (strncpy): Likewise.
9338 (strcat): Likewise.
9339 (strncat): Likewise.
9340 (strcoll): Likewise.
9341 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9342 (GRUB_INT_MAX): Likewise.
9343
db7337a3
VS
93442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9347 unexpected error.
9348 (optimize_utf8): Likewise.
9349 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9350
f37c87e1
VS
93512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/boot/i386/pc/lnxboot.S: Use
9354 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9355 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9356 location.
9357 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9358 definition.
9359 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9360
63fe43f3
VS
93612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9364 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9365 now to avoid double free.
9366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9367 hostdisk.
9368 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9369 * util/grub-probe.c (escape_of_path): Always return a new copy.
9370 (print_full_name): Escape path.
9371 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9372 Fix hints on abstractions.
9373
ebe2c961
VS
93742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9377 Don't add "root" line if no compatibility hont is available.
9378 Suggested by: Seth Goldberg.
9379
2b5336a2
VS
93802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9383 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9384 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9385 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9386
74310bd8
VS
93872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9390
c30582ba
VS
93912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * util/grub-pe2elf.c (ehdr): Make static.
9394 (shdr): Likewise.
9395 (num_sections): Likewise.
9396 (offset): Likewise.
9397
5f47782c
VS
93982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 Eliminate ofpath limits and possible overflows.
9401
9402 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9403 (OF_PATH_MAX): Removed.
9404 (MAX_DISK_CAT): New const.
9405 (find_obppath): Use allocated rather than preallocated buffer.
9406 Return result. Argument of_path removed. All users updated.
9407 Add missing fdstat.
9408 (xrealpath): New function.
9409 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9410 Allocate rather than use preallocated buffer. All users updated.
9411 (__of_path_common): Use allocated rather than preallocatecd buffer.
9412 Return result. Argument of_path removed. All users updated.
9413 (vendor_is_ATA): Read only needed part form the file.
9414 (check_sas): Allocate depending on contents rather than fixed.
9415 (main) [STANDALONE]: Handle NULL result.
9416
f990cbf9
VS
94172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9420
9c6e84b8
VS
94212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 Cryptodisk write support.
9424
9425 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9426 (grub_cryptodisk_decrypt): Moved logic to ...
9427 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9428 (grub_cryptodisk_write): Implement.
9429 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9430 (grub_util_fd_write): ... this. Make global.
9431 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9432
87cf9744
VS
94332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * include/grub/list.h (grub_list_remove): Don't crash if element is
9436 removed twice.
9437
ca8c0baf
VS
94382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 Rename ofconsole to console.
9441
9442 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9443 as sysnonym to console.
9444 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9445 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9446 Rename grub_ofconsole_ to grub_console_. All users updated
9447 (grub_console_term_output): Rename "ofconsole" to "console".
9448 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9449 as "console".
9450
64c8b8f6
VS
94512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9454 handling.
9455 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9456 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9457 GRUB_DISK_DEVICE_FILE_ID.
9458
f6c434d5
VS
94592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9462 and improve performance.
9463
5858b42d
VS
94642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9467 missing ieee1275/ prefix on whole disk.
9468
4ed3c26b
VS
94692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9472 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9473
df71143e
VS
94742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9477
076e7c0f
VS
94782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Merge common RAID and LVM logic to an abstract diskfilter.
9481 Add LDM support using the same framework.
9482
9483 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9484 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9485 (libgrubmods): Remove grub-core/disk/raid.c and
9486 grub-core/partmap/gpt.c.
9487 * grub-core/Makefile.core.def (ldm): New module.
9488 (raid): Renamed to diskfilter. All users updated.
9489 * grub-core/disk/raid.c: Moved to ...
9490 * grub-core/disk/diskfilter.c: ... here.
9491 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9492 (lv_num): New var.
9493 (find_array): Renamed to ...
9494 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9495 (grub_is_array_readable): Renamed to ...
9496 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9497 (insert_array): New argument id.
9498 (is_node_readable): New function.
9499 (scan_device): Rename to ...
9500 (scan_disk): .. this. Restrict to one disk.
9501 (scan_devices): New function.
9502 (grub_diskfilter_iterate): Support multi-LV.
9503 Skip invisible and nameless LVs.
9504 (grub_diskfilter_memberlist): Support multi-LV.
9505 (grub_diskfilter_read_node): New function.
9506 (grub_raid_read): Most of logic moved to ...
9507 (read_segment): ... here
9508 (read_lv): New function.
9509 (grub_diskfilter_get_vg_by_uuid): New function.
9510 (grub_diskfilter_make_raid): Likewise.
9511 * grub-core/disk/ldm.c: New file.
9512 * grub-core/disk/lvm.c (vg_list): Removed.
9513 (lv_count): Likewise.
9514 (scan_depth): Likewise.
9515 (is_lv_readable): Likewise.
9516 (grub_lvm_getvalue): Advance pointer past the number.
9517 (find_lv): Removed.
9518 (do_lvm_scan): Refactored into ...
9519 (grub_lvm_detect): ... this. Support raid.
9520 (grub_lvm_iterate): Removed.
9521 (grub_lvm_memberlist): Likewise.
9522 (grub_lvm_open): Likewise.
9523 (grub_lvm_close): Likewise.
9524 (read_lv): Likewise.
9525 (read_node): Likewise.
9526 (is_node_readable): Likewise.
9527 (is_lv_readable): Likewise.
9528 (grub_lvm_read): Likewise.
9529 (grub_lvm_write): Likewise.
9530 (grub_lvm_dev): Use diskfilter
9531 (GRUB_MOD_INIT): Likewise.
9532 (GRUB_MOD_FINI): Likewise.
9533 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9534 new interface.
9535 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9536 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9537 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9538 grub_diskfilter_read_node.
9539 Fix a bug with xor.
9540 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9541 grub_diskfilter_read_node.
9542 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9543 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9544 (grub_disk_dev_iterate): Move from here...
9545 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9546 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9547 Make global.
9548 (grub_hostdisk_find_partition_start): Likewise.
9549 (grub_hostdisk_os_dev_to_grub_drive): New function.
9550 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9551 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9552 * util/getroot.c (make_device_name): ... here.
9553 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9554 Move to ...
9555 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9556 * grub-core/kern/emu/hostdisk.c
9557 (convert_system_partition_to_system_disk): Move to ...
9558 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9559 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9560 * util/getroot.c (device_is_wholedisk): ... here.
9561 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9562 * util/getroot.c (find_system_device): ... here.
9563 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9564 Move to ...
9565 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9566 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9567 Move to ...
9568 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9569 Handle LDM.
9570 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9571 Move to ...
9572 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9573 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9574 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9575 DISKFILTER.
9576 * include/grub/raid.h: Renamed to ...
9577 * include/grub/diskfilter.h: ... this.
9578 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9579 (GRUB_RAID_LAYOUT_*): Make into array.
9580 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9581 (grub_diskfilter_vg): New struct.
9582 (grub_diskfilter_pv_id): Likewise.
9583 (grub_raid_member): Removed.
9584 (grub_raid_array): Likewise.
9585 (grub_diskfilter_pv): New struct.
9586 (grub_diskfilter_lv): Likewise.
9587 (grub_diskfilter_segment): Likewise.
9588 (grub_diskfilter_node): Likewise.
9589 (grub_diskfilter_get_vg_by_uuid): New proto.
9590 (grub_raid_register): Inline.
9591 (grub_diskfilter_unregister): Likewise.
9592 (grub_diskfilter_make_raid): New proto.
9593 (grub_diskfilter_vg_register): Likewise.
9594 (grub_diskfilter_read_node): Likewise.
9595 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9596 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9597 (grub_util_is_ldm): Likewise.
9598 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9599 (grub_hostdisk_find_partition_start): Likewise.
9600 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9601 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9602 New definition.
9603 (grub_gpt_partition_map_iterate): New proto.
9604 * include/grub/lvm.h (grub_lvm_vg): Removed.
9605 (grub_lvm_pv): Likewise.
9606 (grub_lvm_lv): Likewise.
9607 (grub_lvm_segment): Likewise.
9608 (grub_lvm_node): Likewise.
9609 * util/getroot.c [...]
9610 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9611 (probe_abstraction): Likewise.
9612 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9613 (main): Remove dead logic.
9614
8a7f9b9c
VS
96152012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 Simplify root device discover and don't fail when trying to open
9618 incorrect devices.
9619
9620 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9621 function.
9622 (get_diskname_from_path): Likewise.
9623 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9624 of iterating.
9625
30545b85
VS
96262012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9629
28ea58cf
VS
96302012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9633 pastthe end.
9634
692dabca
VS
96352012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * util/grub-install.in: Add missing \.
9638 Reported by: gentoofan
9639
f6e4ea70
VS
96402012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9643 (direct_read): Use correct compressed size.
9644 (grub_squash_read_data): Likewise.
9645
96462012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9647
9648 * docs/grub.texi (Platform limitations): New section.
9649 (Platform-specific operations): Likewise.
9650 * docs/grub-dev.texi (Porting): Likewise.
9651
76261110
VS
96522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 IEEE1275 disk write support.
9655
9656 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9657 const void *.
9658 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9659 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9660 and seek loginc to ...
9661 (grub_ofdisk_prepare): ... here.
9662 (grub_ofdisk_write): Implement.
9663
fc36d603
VS
96642012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 ARC disk write support.
9667
9668 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9669 (reopen): New argument writable. All users updated.
9670 Handle required access mode.
9671 (grub_arcdisk_write): Implement.
9672 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9673 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9674
e06c2e7a
VS
96752012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9678 (read_sblock): Don't attempt to read superblocks outside the disk size.
9679
ff447958
VS
96802012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9683 first superblock to find the second one when possible.
9684
9e88df39
VS
96852012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * util/grub-install.in: Fix an ARC bug.
9688 Print a warning if no platform-specific setup is available.
9689
bb26e4ff
VS
96902012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 Use static allocation rather than scratch pointer in reed_solomon.
9693 It decreases its size significantly and avoids a variable in .text.
9694
9695 * grub-core/lib/reed_solomon.c (scratch): Removed.
9696 (chosenstat): New const or static array.
9697 (sigma): Likewise.
9698 (errpot): Likewise.
9699 (errpos): Likewise.
9700 (sy): Likewise.
9701 (mstat): Likewise.
9702 (errvals): Likewise.
9703 (eqstat): Likewise.
9704 (pol_evaluate): Replace x with log_x argument. All users updated.
9705 (syndroms): Removed.
9706 (gauss_solve): Use statically allocated arrays.
9707 (rs_recover): Likewise.
9708 Calculate syndroms directly.
9709 (decode_block): Use statically allocated arrays.
9710 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9711 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9712
2e13ede5
VS
97132012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Eliminate fixed limit on reed solomon decoder length.
9716
9717 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9718 rather than hardcoding the address.
9719 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9720 no_reed_solomon_length.
9721 Move gate_a20 to no-reed-solomon part.
9722 Don't force a particular size of no reed-solomon part.
9723 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9724 Removed.
9725 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9726 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9727
f8a9ab12
VS
97282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/commands/wildcard.c (match_files): Handle filenames
9731 without explicit device.
9732 (wildcard_expand): Don't add explicit device if not already present.
9733 * tests/grub_script_echo1.in: Add a new expansion test.
9734
87edb894
VS
97352012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 Replace single-linked with double-linked lists. It results in more
9738 compact and more efficient code.
9739
9740 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9741 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9742 (grub_list_remove): Moved from here ...
9743 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9744 (grub_prio_list_insert): Set prev.
9745 * include/grub/list.h (grub_list): Add prev. All users updated.
9746
48b391e9
VS
97472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 Handle newer autotools. Add some missing quotes while on it.
9750
9751 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9752 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9753 (pkgdata_DATA): ... here.
9754 * Makefile.util.def (update-grub_lib): Removed.
9755 * conf/Makefile.common (pkglib_DATA): Removed.
9756 (pkglib_SCRIPTS): Likewise.
9757 (pkgdata_DATA): New variable.
9758 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9759 needed.
9760 Add missing quotes.
9761 Remove unused variable while on it.
9762 * tests/util/grub-shell.in: Likewise.
9763 * util/grub-install.in: Likewise.
9764 * util/grub-mkconfig.in: Likewise.
9765 * util/grub-mknetdir.in: Likewise.
9766 * util/grub-mkrescue.in: Likewise.
9767 * util/grub-mkstandalone.in: Likewise.
9768 * util/grub.d/00_header.in: Likewise.
9769 * util/grub.d/10_hurd.in: Likewise.
9770 * util/grub.d/10_illumos.in: Likewise.
9771 * util/grub.d/10_kfreebsd.in: Likewise.
9772 * util/grub.d/10_linux.in: Likewise.
9773 * util/grub.d/10_netbsd.in: Likewise.
9774 * util/grub.d/10_windows.in: Likewise.
9775 * util/grub.d/20_linux_xen.in: Likewise.
9776 * util/grub.d/30_os-prober.in: Likewise.
9777 * util/update-grub_lib.in: Removed.
9778
97792012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9780
9781 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9782 a workaround for intel problem.
9783
66832792
PRP
97842012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
97852012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
97862012-01-23 pfsmorigo
9787
9788 * util/grub-install.in: Support dd'in into PreP partition.
9789 * util/grub-probe.c (probe): Support discovering partition type.
9790 (main): Support -t msdos_parttype.
9791
7816a17e
VS
97922012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9795 infinite recursion using counter.
9796 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9797 init to skip it if the magic check fails.
9798 (dec_stream_header): Init s->crc32.
9799
8f9d3a8c
ZB
98002012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
98012012-01-22 Zachary Bedell <pendorbound@gmail.com>
98022012-01-22 Richard Laager <rlaager@wiktel.com>
9803
9804 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9805 All users updated.
9806 (find_bestub): Determine correct size.
9807 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9808 (scan_disk): Align the size down.
9809 Call check pool before find_bestub to have ashift.
9810
b055dd32
VS
98112012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9814 dprintf in no-malloc zone.
9815
d779e9bd
ML
98162012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9817
9818 * configure.ac: Add back in test for limits.h.
9819
b508af69
VS
98202012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 Support 4K-sector NTFS.
9823
9824 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9825 (grub_ntfs_data): Remove blocksize.
9826 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9827 Remove data argument. All users updated.
9828
dad9c8b5
VS
98292012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9832 being in .text to avoid dprel references.
9833 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9834 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9835 (grub_arch_highmemsize): Likewise.
9836 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9837 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9838 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9839
d43a777e
VS
98402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9843
9844 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9845 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9846
34e4208f
VS
98472012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9850 GRUB_UTIL.
9851 (grub_set_datetime_cmos): Likewise.
9852
3ec0fc1c
VS
98532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 Make XZ compression parameters dependent on target and not host CPU.
9856
9857 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9858 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9859
22489834
VS
98602012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9863 set but not used variable.
9864
8502fbca
VS
98652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9868 created when no uuid support is compiled into mkfs.reiser.
9869
76df2068
VS
98702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9873 (utf8_to_macroman): Do the opposite.
9874 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9875
64e3f8f6
VS
98762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * configure.ac: Refise build qemu_mips w/o unifont.
9879
9c271078
VS
98802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 Eliminate grub_min/grub_max prone to overflow usage.
9883
9884 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9885 (poll_nonroot_hub): Likewise.
9886 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9887 (grub_affs_label): Likewise.
9888 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9889 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9890 (grub_hfs_label): Likewise.
9891 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9892 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9893 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9894 (zap_leaf_array_get): Likewise.
9895 (dnode_get_path): Likewise.
9896 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9897 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9898 * grub-core/script/execute.c (grub_script_break): Likewise.
9899 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9900 grub_max.
9901 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9902 * include/grub/misc.h (grub_min): Removed.
9903 (grub_max): Likewise.
9904
80662dbc
VS
99052012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9906
9907 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9908 direct.inode = 0.
9909
e6da1467
VS
99102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9913
b1ac4cb1
VS
99142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9917
b4bf7c3b
VS
99182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9921 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9922
8ee1101a
VS
99232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9926 rather than a hack for grub_strncasemap.
9927
99282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 Support multiple initrds
9931 Note: part of this was accidently committed in r3739.
9932
9933 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9934 initrd.
9935 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9936 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9937 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9938 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9939 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9940
4d1e2bc9
VS
99412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9944 disks with unknown size.
9945 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9946
75b49ebe
VS
99472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 Remove defines pertaining to arbitrary limits not affecting GRUB
9950 anymore.
9951
9952 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9953 (EXT2_MAX_SYMLINKCNT): Likewise.
9954 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9955 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9956 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9957 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9958 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9959 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9960 (DN_MAX_OBJECT_SHIFT): Likewise.
9961 (DN_MAX_OFFSET_SHIFT): Likewise.
9962 (DN_MAX_OBJECT): Likewise.
9963 (DNODES_PER_LEVEL_SHIFT): Likewise.
9964 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9965 (SPA_MAXBLOCKSIZE): Likewise.
9966 (SPA_BLOCKSIZES): Likewise.
9967 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9968 (MZAP_MAX_BLKSZ): Likewise.
9969
74a1dce7
VS
99702012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9973 handle NULL appropriately.
9974 Remove MIN.
9975
30c7d3ce
VS
99762012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 Fix efiemu.
9979
9980 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9981 cpu/types.h.
9982 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9983 * configure.ac: Fix efiemu check.
9984
3c76ea0c
VS
99852012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9988 grub_probe.
9989 Reported by: adamwill
9990
7e532280
SG
99912012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9992
9993 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9994
30492374
VS
99952012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 Fix handling of wide characters in gfxterm.
9998
9999 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10000 (clear_char): Likewise.
10001 (paint_char): Skip code == NULL chars.
10002 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10003
e70cb72f
VS
100042012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/normal/charset.c: Move comment to right place.
10007
5c827cf9
VS
100082012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10011 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10012 (grub_affs_mount): Revert the correct version checking.
10013
53603892
VS
100142012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * docs/grub.texi (Unicode): Mention several other unsupported features.
10017
ff094b9b
VS
100182011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10021 case statements as compile-time one.
10022 (direct_read): Prevent spurious warnings.
10023 (grub_squash_read_data): Likewise.
10024
c029da8a
VS
100252011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Various squash4 fixes and LZO and XZ support.
10028
10029 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10030 Add xzembed source files.
10031 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10032 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10033 (grub_squash_inode): New subtype long_dir.
10034 (SQUASH_TYPE_LONG_DIR): New inode type.
10035 (COMPRESSION): New enum.
10036 (XZBUFSIZ): New const.
10037 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10038 (read_chunk): Use data->decompress.
10039 (zlib_decompress): New function.
10040 (lzo_decompress): Likewise.
10041 (xz_decompress): Likewise.
10042 (squash_mount): Set new data fields.
10043 (grub_squash_iterate_dir): Handle long dir.
10044 (squash_unmount): Free xzdec and xzbuf.
10045 (grub_squash_open): Check ino type.
10046 (direct_read): Stylistic fixes. Use data->decompress.
10047 (grub_squash_read_data): Likewise.
10048 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10049 (get_byte): Likewise.
10050 (grub_zlib_disk_read): Removed.
10051 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10052 (GRUB_POSIX_BOOL_DEFINED): New define.
10053 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10054 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10055 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10056 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10057
7a45a539
VS
100582011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 Don't override more informative errors.
10061
10062 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10063 * grub-core/font/font.c (open_section): Likewise.
10064 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10065 filename. Don't override errors.
10066 (grub_cmd_openbsd_ramdisk): Don't override errors.
10067 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10068 (grub_cmd_initrd): Likewise.
10069 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10070 (grub_cmd_initrd): Likewise.
10071 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10072 (grub_cmd_linux): Likewise.
10073 (grub_cmd_initrd): Likewise.
10074 (grub_cmd_payload): Likewise.
10075 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10076 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10077 (grub_cmd_module): Likewise.
10078 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10079 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10080 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10081 (grub_cmd_xnu_mkext): Likewise.
10082 (grub_cmd_xnu_ramdisk): Likewise.
10083 (grub_xnu_check_os_bundle_required): Likewise.
10084 (grub_xnu_load_kext_from_dir): Likewise.
10085 (grub_cmd_xnu_kextdir): Likewise.
10086 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10087
b2d004db
VS
100882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10091 as 1024 in block size field. Found on one of my test images.
10092 Small optimisation while on it.
10093
ec000eac
VS
100942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10097 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10098 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10099 performance fixes while on it.
10100 (grub_sfs_close): Fix memory leak while on it.
10101 (grub_sfs_label): Convert Latin1 to UTF-8.
10102
f50e1165
VS
101032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10104
10105 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10106 space to avoid overflows.
10107 (grub_hfs_label): Convert from macroman to UTF-8.
10108
2ae254de
VS
101092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10112
0108f491
VS
101132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10116
f45f5f89
VS
101172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * unicode: Import Unicode 6.0 data.
10120
4d8c4765
VS
101212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10122
63fa8ef9
VS
10123 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10124 outside of range.
10125
101262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10129
10130 * include/grub/charset.h (grub_getend): New function.
10131 * grub-core/script/function.c (grub_script_function_find): Use
10132 grub_getend.
10133 * grub-core/normal/completion.c (add_completion): Likewise.
10134
f3cb4a4e
VS
101352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10138 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10139 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10140 (GRUB_UNICODE_TAG_END): Likewise.
10141 (GRUB_UNICODE_LAST_VALID): Likewise.
10142
5da8dbc5
VS
101432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10146 len and make it smaller. All users updated.
10147 * util/import_unicode.py: Put length and not end character.
10148 Check length.
10149
8569f13d
VS
101502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 Make better Unicode-compliant and unify some UTF-8 code pathes.
10153
10154 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10155 valid character.
10156 (grub_is_valid_utf8): Use grub_utf8_process.
10157 Check resulting code range.
10158 (grub_utf8_to_ucs4): Use grub_utf8_process.
10159 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10160 valid character.
10161
cc4fddf5
VS
101622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10165
bbc47747
VS
101662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * docs/grub.texi (Filesystems): Mention AFS.
10169
f63d6bf4
VS
101702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * docs/grub.texi (Filesystems): Clarify restrictions.
10173 (Regexp): Mention non-Unicode regexp behaviour.
10174 (Other): Mention non-Unicode matching behaviour.
10175
74bbf0db
VS
101762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10177
f63d6bf4 10178 Make HFS implementation use MacRoman.
74bbf0db
VS
10179
10180 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10181 (macroman): New const array.
10182 (macroman_to_utf8): New function.
10183 (utf8_to_macroman): Likewise.
10184 (grub_hfs_find_dir): Use utf8_to_macroman.
10185 (grub_hfs_dir): Use macroman_to_utf8.
10186 Set case_insensitive.
10187
4ea0316e
VS
101882011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10191
d3c13cbd
VS
101922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Integrate hints into autogeneration scripts.
10195
10196 * docs/grub.texi (Filesystems): Add a hostdisk example.
10197 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10198 (grub-probe): Add ofpath.
10199 * gentpl.py: Remove group nosparc64.
10200 * grub-core/commands/search.c (cache_entry): New struct.
10201 (cache): New var.
10202 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10203 * grub-core/commands/search_wrap.c (options): Add platform-specific
10204 hint options.
10205 (grub_cmd_search): Handle platform-specific hints.
10206 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10207 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10208 (grub_util_biosdisk_data): Likewise.
10209 (grub_util_biosdisk_open): Set device_map.
10210 (read_device_map): Handle "" as indication of no map.
10211 Set device_map.
10212 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10213 (grub_util_biosdisk_get_compatibility_hint): New function.
10214 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10215 * include/grub/emu/hostdisk.h
10216 (grub_util_biosdisk_get_compatibility_hint): New proto.
10217 * util/grub-install.in: Don't call grub-mkdevicemap.
10218 Add platform-specific hint to load.cfg.
10219 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10221 hints. Set root preliminary to compatibility hint, not to OS name.
10222 * util/grub-probe.c (PRINT_*): Add hints.
10223 (print): Make static.
10224 (escape_of_path): New function.
10225 (guess_bios_drive): Likewise.
10226 (guess_efi_drive): Likewise.
10227 (guess_baremetal_drive): Likewise.
10228 (print_full_name): Likewise.
10229 (probe): Handle hints.
10230 (main): Likewise.
10231 * util/ieee1275/devicemap.c: Removed.
10232 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10233 updated.
10234 (grub_util_devname_to_ofpath): Return NULL on failure.
10235
10236 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10237 resource leak.
10238 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10239
10240 * po/POTFILES.in: Regenerated.
10241
10242 Allow purely long options
10243
10244 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10245 (SHORT_ARG_USAGE): Likewise.
10246 (grub_arg_show_help): Compare opt with help_options.
10247 (parse_option): Receive opt as argument. If makes big simplificatons.
10248 All users updated
10249
00ce2df3
VS
102502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10253 Restructure to avoid warning.
10254
e77e325f
VS
102552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/grub-install.in: Account for possible escaped comma in device
10258 name.
10259
165099ea
VS
102602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10263 channel.
10264
ce4a999d
VS
102652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10268 allocation and zero-setting.
10269 (grub_ieee1275_get_devname): Check that alias is complete.
10270
379586ad
VS
102712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10274 unaligned segments.
10275
9197b0ad
VS
102762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10279 prefix.
10280 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10281 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10282 Add ieee1275 prefix.
10283
edddb7f9
VS
102842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * docs/grub.texi (Filesystems): Update.
10287
a1a8b1b9
VS
102882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 Support odc, newc and bigendian cpio formats.
10291
10292 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10293 * grub-core/Makefile.core.def (newc): New module.
10294 (odc): Likewise.
10295 (cpio_be): Likewise.
10296 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10297 (MAGIC): Likewise.
10298 (MAGIC2): Likewise.
10299 (head) [MODE_ODC]: Adapt for the format.
10300 (head) [MODE_NEWC]: Likewise.
10301 (head) [!MODE_*]: Write fields of interest as arrays.
10302 (MAGIC_USTAR): Removed.
10303 (read_number) [MODE_NEWC]: Change to hex.
10304 (read_number) [!MODE_*]: Parse binary arrays.
10305 (grub_cpio_find_file): Factor out the code for better structure and
10306 always use read_number.
10307 (grub_cpio_mount): Use MAGIC and MAGIC2.
10308 (grub_cpio_dir): Exit on first hook non-0 return.
10309 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10310 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10311 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10312 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10313 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10314 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10315 * grub-core/fs/newc.c: New file.
10316 * grub-core/fs/odc.c: Likewise.
10317 * grub-core/fs/cpio_be.c: Likewise.
10318
58eba9ee
VS
103192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 Fix handling of tar numbers occupying the whole field.
10322
10323 * grub-core/fs/cpio.c (read_number): New function.
10324 (grub_cpio_find_file): Use read_number instead of strtoull.
10325
a54a0e12
VS
103262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10329 occupying the whole field size.
10330
a6120aca
LA
103312011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10332
10333 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10334
a93964ce
VS
103352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10338
3ea1ca46
SG
103392011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10340
10341 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10342 TARGET_IMG_LDFLAGS.
10343
b87f7ef2
VS
103442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10347 (mountinfo_entry): Increase the field size to take escaping into
10348 account.
10349 (find_root_device_from_libzfs): Add one byte to size of strings for
10350 security.
10351
62092395
VS
103522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10355 an assert.
10356 * util/grub-setup.c (setup): Likewise.
10357
1f0b1a77
VS
103582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10361 _LzmaDecodeA.
10362
8eba9997
VS
103632011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * docs/grub.texi (Internationalisation): New section.
10366
dd0c91e9
VS
103672011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * docs/grub.texi (Loopback booting): New section.
10370
103712011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10372
10373 * util/grub-mkstandalone.in: Fix minor typo errors.
10374
198e150a
VS
103752011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10378
10379 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10380 net/icmp.c and net/icmp6.c.
10381 (http): New module.
10382 (priority_queue): Likewise.
10383 * grub-core/io/bufio.c: Rewritten.
10384 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10385 TYPE_WITH_CONFIGFILE_OPTION.
10386 (legacy_commands): Add bootp and dhcp.
10387 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10388 (grub_legacy_parse): Likewise.
10389 * grub-core/lib/priority_queue.c: New file.
10390 * grub-core/net/arp.c: Add missing license header.
10391 (arp_find_entry): Removed.
10392 (arp_find_entry): Likewise.
10393 (grub_net_arp_resolve): Rename to ...
10394 (grub_net_arp_send_request): ...this.
10395 (grub_net_arp_receive): New card argument.
10396 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10397 Set router and DNS server.
10398 (grub_net_configure_by_dhcp_ack): Handle routing information.
10399 (grub_cmd_bootp): Set checksum.
10400 (grub_bootp_init): Remove net_dhcp.
10401 * grub-core/net/dns.c: New file.
10402 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10403 completion.
10404 (get_card_packet): Handle allocation.
10405 (grub_efinet_findcards): Set mtu.
10406 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10407 (get_card_packet): Handle allocation.
10408 (emucard): Set mtu.
10409 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10410 (GRUB_MOD_INIT): Set mtu.
10411 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10412 mtu.
10413 (get_card_packet): Handle allocation.
10414 (grub_ofnet_findcards): Set mtu.
10415 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10416 assert.
10417 (grub_net_recv_ethernet_packet): Handle IPv6.
10418 * grub-core/net/http.c: New file.
10419 * grub-core/net/icmp.c: Likewise.
10420 * grub-core/net/icmp6.c: Likewise.
10421 * grub-core/net/ip.c (ip6addr): New type.
10422 (ip6hdr): Likewise.
10423 (reassemble): Likewise.
10424 (cmp): New function.
10425 (reassembles): New variable.
10426 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10427 (id): New variable.
10428 (send_fragmented): New function.
10429 (grub_net_send_ip_packet): Rename to ...
10430 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10431 Handle non-UDP.
10432 (grub_net_recv_ip_packets): Rename to ...
10433 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10434 (free_rsm): New function.
10435 (free_old_fragments): Likewise.
10436 (grub_net_recv_ip4_packets): New function.
10437 (grub_net_send_ip6_packet): Likewise.
10438 (grub_net_send_ip_packet): Likewise.
10439 (grub_net_recv_ip6_packets): Likewise.
10440 (grub_net_recv_ip_packets): Likewise.
10441 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10442 (LINK_LAYER_CACHE_SIZE): New const.
10443 (link_layer_find_entry): New function.
10444 (grub_net_link_layer_add_address): Likewise.
10445 (grub_net_link_layer_resolve_check): Likewise.
10446 (grub_net_link_layer_resolve): Likewise.
10447 (grub_net_ipv6_get_slaac): Likewise.
10448 (grub_net_ipv6_get_link_local): Likewise.
10449 (grub_cmd_ipv6_autoconf): Likewise.
10450 (parse_ip): Handle one number representation.
10451 (parse_ip6): New functoion.
10452 (match_net): Handle IPv6.
10453 (grub_net_resolve_address): Handle IPv6 and DNS.
10454 (grub_net_resolve_net_address): Handle IPv6.
10455 (route_cmp): New function.
10456 (grub_net_route_address): Find best route.
10457 (grub_net_addr_to_str): Handle IPv6.
10458 (grub_net_addr_cmp): New function.
10459 (grub_net_add_addr): Register local route.
10460 (print_net_address): Handle net address.
10461 (grub_net_poll_cards): Retransmit TCP.
10462 (grub_net_poll_cards_idle_real): Likewise.
10463 (have_ahead): New function.
10464 (grub_net_seek_real): Use underlying seek.
10465 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10466 * grub-core/net/tcp.c: New file.
10467 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10468 (cmp): New function.
10469 (ack): Likewise.
10470 (tftp_receive): Handle unordered input.
10471 (destroy_pq): New function.
10472 (tftp_close): Close pq.
10473 * grub-core/net/udp.c: Put missing license header.
10474 (grub_net_udp_socket): New function.
10475 (udp_socket_register): Likewise.
10476 (grub_net_udp_close): Likewise.
10477 (grub_net_recv_udp_packet): Check checksum.
10478 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10479 * include/grub/misc.h (grub_memchr): New function.
10480 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10481 (grub_net_card_driver): Return buf in recv.
10482 (grub_net_slaac_mac_list): New struct.
10483 (grub_network_level_protocol_id): Add ipv6.
10484 (grub_net_network_level_addr): Likewise.
10485 (grub_net_network_level_net_addr): Likewise.
10486 (grub_net_app_protocol): Add seek.
10487 (grub_net_socket): Removed.
10488 (grub_net_sockets): Likewise.
10489 (grub_net_socket_register): Likewise.
10490 (grub_net_socket_unregister): Likewise.
10491 (FOR_NET_SOCKETS): Likewise.
10492 (grub_net_add_addr): Add const.
10493 (GRUB_NET_BOOTP_*): New enum.
10494 (grub_net_addr_cmp): New proto.
10495 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10496 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10497 (grub_net_hwaddr_to_str): NEw proto.
10498 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10499 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10500 (grub_dns_init): New proto.
10501 (grub_dns_fini): Likewise.
10502 (grub_net_tcp_retransmit): Likewise.
10503 (grub_net_link_layer_add_address): Likewise.
10504 (grub_net_link_layer_resolve_check): Likewise.
10505 (grub_net_link_layer_resolve): Likewise.
10506 (grub_net_dns_lookup): Likewise.
10507 (grub_net_add_dns_server): Likewise.
10508 (grub_net_remove_dns_server): Likewise.
10509 (GRUB_NET_TRIES): New const.
10510 (GRUB_NET_INTERVAL): Likewise.
10511 * include/grub/net/arp.h: Mostly rewritten.
10512 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10513 * include/grub/net/ip.h: Mostly rewritten.
10514 * include/grub/net/netbuff.h: Indent.
10515 * include/grub/net/tcp.h: New file.
10516 * include/grub/net/udp.h: Mostly rewritten.
10517 * include/grub/priority_queue.h: New file.
10518 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10519 (grub_swap_bytes64_compile_time): Likewise.
10520 (grub_cpu_to_be16_compile_time): Likewise.
10521 (grub_cpu_to_be32_compile_time): Likewise.
10522 (grub_cpu_to_be64_compile_time): Likewise.
10523 (grub_be_to_cpu64_compile_time): Likewise.
10524
215c1800
VS
105252011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10528 UINT_TO_PTR with cast.
10529
c17e546c
VS
105302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10533 don't use them.
10534
ff6b18b6
VS
105352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10538 already there.
10539
70ffcc93
VS
105402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10543 confusing ipxe.
10544
e5f4d260
VS
105452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10548 Add missing const attribute.
10549 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10550 Likewise.
10551 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10552 Likewise.
10553
8e54b4b7
VS
105542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10557 misaligned access.
10558 (serpent_setkey): Likewise.
10559 (serpent_encrypt_internal): Likewise.
10560 (serpent_decrypt_internal): Likewise.
10561 (serpent_encrypt): Don't put an alignment-increasing cast.
10562 (serpent_decrypt): Likewise.
10563 (serpent_test): Likewise.
10564
813c0a2b
VS
105652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10568
f2b60fbd
VS
105692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10572
10573 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10574 grub_addr_t casts.
10575 (PTR_TO_UINT64): Likewise.
10576 (PTR_TO_UINT32): Likewise.
10577
5ef5c511
VS
105782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10581 because of stack.
10582 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10583 limit.
10584
c476e6df
VS
105852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10588 text_width > available width a bit more gracefully.
10589
384ad7cc
VS
105902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10593 current address calculation.
10594
96f8caf8
VS
105952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10598 stack.
10599 (encode_block): Likewise.
10600
276b7a8b
VS
106012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10604 certainety.
10605
e3fd394a
VS
106062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10609 non-RS part to avoid RS messing with GDT.
10610 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10611 Increase to suit in realmode routines.
10612
106132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * grub-core/kern/i386/realmode.S: Increase alignment.
10616 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10617
ee9c2e7a
VS
106182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10621 be deterministic.
10622 (syndroms): Compute 0 syndrom.
10623 (rs_recover): Use 0 syndrom.
10624
7a7f7cc9
VS
106252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10628
a14b16d1
VS
106292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10632 brackets.
10633
9f59e9fc
VS
106342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10635
ca1b552c
VS
10636 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10637 account.
10638 (get_top_pad): Likewise.
10639 (get_right_pad): Likewise.
10640 (get_bottom_pad): Likewise.
10641
106422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10645
e739d698
VS
106462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10649 attribute as the structure isn't guaranteed to be properly aligned.
10650 (grub_efi_pci_device_path): Likewise.
10651 (grub_efi_pccard_device_path): Likewise.
10652 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10653 specify the size of `memory_type'.
10654 (grub_efi_vendor_device_path): Likewise.
10655 (grub_efi_controller_device_path): Likewise.
10656 (grub_efi_acpi_device_path): Likewise.
10657 (grub_efi_expanded_acpi_device_path): Likewise.
10658 (grub_efi_atapi_device_path): Likewise.
10659 (grub_efi_scsi_device_path): Likewise.
10660 (grub_efi_fibre_channel_device_path): Likewise.
10661 (grub_efi_1394_device_path): Likewise.
10662 (grub_efi_usb_device_path): Likewise.
10663 (grub_efi_usb_class_device_path): Likewise.
10664 (grub_efi_i2o_device_path): Likewise.
10665 (grub_efi_mac_address_device_path): Likewise.
10666 (grub_efi_ipv4_device_path): Likewise.
10667 (grub_efi_ipv6_device_path): Likewise.
10668 (grub_efi_infiniband_device_path): Likewise.
10669 (grub_efi_uart_device_path): Likewise.
10670 (grub_efi_vendor_messaging_device_path): Likewise.
10671 (grub_efi_hard_drive_device_path): Likewise.
10672 (grub_efi_cdrom_device_path): Likewise.
10673 (grub_efi_vendor_media_device_path): Likewise.
10674 (grub_efi_file_path_device_path): Likewise.
10675 (grub_efi_protocol_device_path): Likewise.
10676 (grub_efi_piwg_device_path): Likewise.
10677 (grub_efi_bios_device_path): Likewise.
10678
cb8f88ea
VS
106792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10682 (grub_ucs4_to_utf8_alloc): Likewise.
10683 (grub_ucs4_to_utf8): Likewise.
10684 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10685 (grub_ucs4_to_utf8_alloc): Likewise.
10686
309e5352
VS
106872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 AFFS never uses unicode.
10690
10691 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10692 (grub_latin1_to_utf8): New inline function.
10693 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10694
e7987e1b
VS
106952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10698 overflow.
10699
efc2616e
VS
107002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10703 (grub_squash_dirent_header): Likewise.
10704 (read_chunk): Don't double swap.
10705 (grub_squash_iterate_dir): Fix swap sizes.
10706
3c349f5a
VS
107072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10710
b453412d
VS
107112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10714 (grub_hfs_iterate_dir): Likewise.
10715
12e9d4d1
VS
107162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 Fix video on platforms where unaligned access is forbidden.
10719 Make several optimisations while on it.
10720
10721 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10722 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10723 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10724 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10725 Disable.
10726 (grub_video_fbblit_replace_16bit_1bit):
10727 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10728 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10729 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10730 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10731 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10732 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10733 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10734 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10735 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10736 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10737 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10738 (grub_video_fbblit_replace_index_RGB888): Likewise.
10739 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10740 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10741 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10742 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10743 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10744 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10745 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10746 Disable.
10747 (grub_video_fbblit_blend_XXX565_1bit):
10748 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10749 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10750 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10751 void *.
10752 * grub-core/video/fb/video_fb.c (common_blitter)
10753 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10754 (grub_video_fb_create_render_target_from_pointer)
10755 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10756 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10757 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10758 definition.
10759 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10760
ace96609
VS
107612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10764 HH22 and HM10 relocations.
10765
fd261d73
VS
107662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10769
e59b7857
VS
107702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10773 allocation succeeded.
10774
9b4baaa4
VS
107752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10778 argument a u8 pointer. All users updated.
10779 Handle unaligned buffers.
10780
dc713193
VS
107812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10784 add_part to workaround compiler bug.
10785
30dd48c2
VS
107862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10789
0c6087a8
VS
107902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10793 Reserve alignment invariants.
10794 (grub_multiboot_load): Likewise.
10795 (retrieve_video_parameters): Likewise.
10796 (grub_multiboot_make_mbi): Likewise.
10797
c2e77777
VS
107982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10801 incorrect pointer.
10802
b70b6d11
VS
108032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10806 (grub_pata_pio_write): Likewise.
10807
02a2bf83
VS
108082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Add noreturn attributes and remove unreachable code.
10811
10812 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10813 code.
10814 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10815 code. Mark as noreturn.
10816 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10817 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10818 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10819 unreachable code.
10820 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10821 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10822 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10823 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10824 * include/grub/kernel.h (grub_main): Mark as noreturn.
10825 * include/grub/reader.h (grub_rescue_run): Likewise.
10826
2019d09e
VS
108272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10830 redundant declaration.
10831
d1c501ee
VS
108322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10835 redundant declaration.
10836 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10837
61664420
VS
108382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10841 to ensure alignment.
10842 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10843 alignment. Ensure tmp alignment.
10844 (grub_cmd_hdparm): Ensure buf alignment.
10845 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10846 to ensure alignment.
10847 (grub_ata_dumpinfo): Ensure text alignment.
10848 (grub_atapi_identify): Preserve alignment invariant.
10849 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10850
0d51ee20
VS
108512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10854 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10855 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10856 * include/grub/misc.h (grub_reboot)
10857 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10858 (grub_halt) [__mips__]: Likewise.
10859
753ef8c1
VS
108602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10863 Remove redundant declaration.
10864 (grub_mmap_get_post64): Likewise.
10865 (grub_mmap_get_upper): Likewise.
10866 (grub_mmap_get_lower): Likewise.
10867
85c85365
VS
108682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10871 uint32_t * to ensure alignment.
10872 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10873
a23f2cc4
VS
108742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10875
93018f64
VS
10876 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10877 uint16_t * to ensure alignment.
10878 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10879 alignment.
10880
108812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10884 to ensure alignment.
10885 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10886
58acccd6
VS
108872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10890 Handle unaligned pointers.
10891 (u32at): Likewise.
10892 (u64at): Likewise.
10893 (fixup): Use byte access instead of v16at.
10894 (find_attr): Fix imporper usage of v32at.
10895 (read_data): Likewise.
10896 (list_file): Handle byte-swapping and unaligned strings.
10897 (grub_ntfs_label): Likewise.
10898
9b05cad7
VS
108992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10902 as it's not necessarily aligned.
10903
b3950b84
VS
109042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10907 redundant declaration.
10908 (grub_serial_init): Likewise.
10909 (grub_terminfo_init): Likewise.
10910
fcd232b7
VS
109112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10914 function.
10915 (ZAP_HASH_IDX): Likewise.
10916 (ZAP_LEAF_HASH_SHIFT): Likewise.
10917 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10918 (LEAF_HASH): Likewise.
10919 (ZAP_LEAF_NUMCHUNKS): Likewise.
10920 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10921 alignment invariants. Return pointer. All users updated.
10922 (ZAP_LEAF_ENTRY): Make into inline function.
10923 (NBBY): Removed.
10924 (xor): LIkewise.
10925 (xor_out): Use grub_crypto_xor.
10926 (dnode_get_path): Use grub_get_unaligned.
10927 (nvlist_find_value): Likewise.
10928 (grub_zfs_nvlist_lookup_uint64): Likewise.
10929 (grub_zfs_nvlist_lookup_string): Likewise.
10930 (get_nvlist_size): Likewise.
10931 (grub_zfs_open): Likewise.
10932 (fill_fs_info): Likewise.
10933 (grub_zfs_dir): Likewise.
10934 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10935 alignment invariants.
10936 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10937 necessarily aligned.
10938
f138623a
VS
109392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10942
564840dc
VS
109432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10946 arithmetic to conserve alignment invariants.
10947
9b40df20
VS
109482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10951 redundant declaration.
10952 (grub_efiemu_mm_obtain_request): Likewise.
10953 (grub_efiemu_prepare): Likewise.
10954
d1c930f9
VS
109552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10958 to match types.
10959
4c5f3056
VS
109602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10963 case of aunaligned recptr.
10964 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10965 alignment.
10966 (grub_hfsplus_btree_search): Handle unaligned index.
10967
728cba91
VS
109682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10971 to get freetag and skip.
10972
eb561f31
VS
109732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10976 array.
10977 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10978 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10979
20993fbb
VS
109802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10983 name for checksum and fix allocation algorithm.
10984
1f313b94
VS
109852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * include/grub/types.h (grub_properly_aligned_t): New type.
10988 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10989 (grub_get_unaligned16): Add explicit casts.
10990 (grub_get_unaligned32): Likewise.
10991 (grub_get_unaligned64): Likewise.
10992 (grub_set_unaligned16): New function.
10993 (grub_set_unaligned32): Likewise.
10994
47ae27ec
VS
109952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10998
78c2cd1c
VS
109992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11002 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11003 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11004
53072f9b
VS
110052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11008 conditionals.
11009
055dc239
VS
110102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11013 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11014
496bd074
VS
110152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Unify and improve RAID and crypto xor.
11018
11019 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11020 changed to grub_crypto_xor
11021 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11022 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11023 Use bigger types when possible.
11024
ef6e4335
VS
110252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/disk/raid.c (scan_devices): Fix condition.
11028
5d048bf2
VS
110292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11032 Make name a const ptr.
11033
ee533335
VS
110342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11037 first argument a const pointer.
11038 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11040 proto.
11041 (grub_children_iterate): Likewise.
11042 (grub_machine_mmap_iterate): Remove redundant declaration.
11043
cc8f3668
VS
110442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11047 (grub_cmd_acpi) [!x86]: Disable EBDA.
11048
c5fc563a
VS
110492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 Enable UTF8 in gnulib regexp.
11052
11053 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11054 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11055 (isupper): Use grub_isupper.
11056 (isascii): New inline function.
11057 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11058 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11059 * grub-core/normal/charset.c (grub_utf8_process): New function.
11060 (grub_utf8_to_utf16): Use grub_utf8_process.
11061 (grub_encode_utf8_character): New function.
11062 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11063 * include/grub/charset.h (grub_utf8_process): New declaration.
11064 (grub_encode_utf8_character): Likewise.
11065 * include/grub/misc.h (grub_islower): New inline function.
11066 (grub_isupper): Likewise.
11067 (grub_strchrsub): Moved down to fix the definitions.
11068
0af2346f
VS
110692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11072 specification.
11073
74dbd244
VS
110742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * include/grub/loader.h (grub_loader_register_preboot_hook):
11077 Use struct preboot * and not void * for handle. All users updated.
11078 (grub_loader_unregister_preboot_hook): Likewise.
11079
1bc8f60d
VS
110802011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11083 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11084 UTF-16-BE. All users updated.
11085 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11086 (grub_hfsplus_iterate_dir): Likewise.
11087 (grub_hfsplus_label): Likewise.
11088
48d6e456
VS
110892011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11092
bf3a3857
VS
110932011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 Add missing const qualifiers.
11096
11097 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11098 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11099 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11100 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11101 (grub_lvm_check_flag): Likewise.
11102 * grub-core/efiemu/i386/coredetect.c
11103 (grub_efiemu_get_default_core_name): Likewise
11104 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11105 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11106 * grub-core/fs/ntfs.c (fixup): Likewise.
11107 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11108 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11109 (fzap_lookup): Likewise.
11110 (zap_lookup): Likewise.
11111 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11112 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11113 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11114 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11115 (grub_freebsd_add_meta_module): Likewise.
11116 (grub_cmd_freebsd_module): Likewise.
11117 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11118 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11119 (grub_xnu_writetree_get_size): Likewise.
11120 (grub_xnu_writetree_toheap_real): Likewise.
11121 (grub_xnu_find_key): Likewise.
11122 (grub_xnu_create_key): Likewise.
11123 (grub_xnu_create_value): Likewise.
11124 (grub_xnu_register_memory): Likewise.
11125 (grub_xnu_check_os_bundle_required): Likewise.
11126 (grub_xnu_scan_dir_for_kexts): Likewise.
11127 (grub_xnu_load_kext_from_dir): Likewise.
11128 * grub-core/normal/color.c (color_list): Likewise.
11129 * grub-core/normal/completion.c (current_word): Likewise.
11130 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11131 * grub-core/term/serial.c (grub_serial_find): Likewise.
11132 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11133 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11134 Likewise.
11135 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11136 (grub_freebsd_add_meta_module): Likewise.
11137 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11138 * include/grub/net.h (grub_net_card_driver): Likewise.
11139 (grub_net_card): Likewise.
11140 (grub_net_app_protocol): Likewise.
11141 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11142 * include/grub/serial.h (grub_serial_find): Likewise.
11143 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11144 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11145 (grub_xnu_create_value): Likewise.
11146 (grub_xnu_find_key): Likewise.
11147 (grub_xnu_scan_dir_for_kexts): Likewise.
11148 (grub_xnu_load_kext_from_dir): Likewise.
11149
11150 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11151 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11152 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11153 Moved from here ...
11154 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11155
112b4837
CW
111562011-11-28 Colin Watson <cjwatson@ubuntu.com>
11157
11158 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11159
49e891ac
VS
111602011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11163 (read_device): Fix size calculation.
11164
fd258e5c
RM
111652011-11-25 Robert Millan <rmh@gnu.org>
11166
11167 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11168 (find_root_device_from_libzfs): Add zpool output parser to be used
11169 as fallback when libzfs isn't available.
11170
78845dc2
SG
111712011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11172
11173 * po/Makefile.in.in: Add missing escape-continuation.
11174
adac5211
VS
111752011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11178
10b64f1c
VS
111792011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11182
bb416954
VS
111832011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11186
bdfe9eeb
VS
111872011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11190
581ffa8a
VS
111912011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/lib/adler32.c: Add missing license specification.
11194 * grub-core/lib/crc64.c: Likewise.
11195 * grub-core/loader/i386/pc/plan9.c: Likewise.
11196 * grub-core/partmap/plan.c: Likewise.
11197
2536cf64
LK
111982011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11199
11200 Add facility to debug GRUB with gdb under qemu.
11201
11202 * grub-core/gdb_grub.in: New file.
11203 * grub-core/gmodule.pl.in: Likewise.
11204 * grub-core/Makefile.core.def (gmodule.pl): New script.
11205 (gdb_grub): Likewise.
11206
bc108a4a
VS
112072011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/grub-mount.c (argp_parser): Accept relative pathes.
11210 * util/grub-fstest.c (argp_parser): Likewise.
11211
111c1778
VS
112122011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Plan9 support.
11215
11216 * Makefile.util.def (libgrubmods): Add
11217 grub-core/partmap/plan.c.
11218 * docs/grub.texi: Notice Plan9 support.
11219 * grub-core/Makefile.core.def (plan9): New module.
11220 (part_plan): Likewise.
11221 * grub-core/loader/i386/pc/plan9.c: New file.
11222 * grub-core/partmap/plan.c: Likewise.
11223 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11224 define.
11225 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11226 * include/grub/mm.h (grub_extend_alloc): New inline function.
11227
c30be3b6
VS
112282011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 Make Reed-Solomon faster by using power of generator representation of
11231 GF(256)*.
11232
11233 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11234 (gf_double_t): Likewise.
11235 (gf_invert): Removed.
11236 (gf_powx): New array.
11237 (gf_powx_inv): Likewise.
11238 (scratch): Move higher.
11239 (gf_reduce): Removed.
11240 (gf_mul): Use powx.
11241 (gf_invert): Likewise.
11242 (init_inverts): Replaced with ...
11243 (init_powx): ...this. All users updated.
11244 (pol_evaluate): Replace multiplications with additions.
11245 (rs_encode): Likewise.
11246 (gauss_eliminate): Call gf_invert.
11247 (grub_reed_solomon_add_redundancy): Call init_powx.
11248 (grub_reed_solomon_recover): Call init_powx unconditionally.
11249
fa5aeffc
VS
112502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11253
a346b81c
VS
112542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11257 disk->partiton for safety.
11258
d89ee414
VS
112592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11262 Fix a memory leak.
11263 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11264
91ee7b6d
VS
112652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11268
91e5a33d
VS
112692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11272
9edd7be2
VS
112732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 Fix spaces handling in proc/self/mountinfo.
11276
11277 * util/getroot.c (unescape): New function.
11278 (grub_find_root_device_from_mountinfo): Use unescape.
11279
ba102053
VS
112802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Support ZFS embedding.
11283
11284 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11285 (grub_zfs_fs): Register grub_zfs_embed.
11286
aa94b870
VS
112872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 Fix MIPS compilation.
11290
11291 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11292 * include/grub/offsets.h: Rename decompressor fields from
11293 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11294 * util/grub-mkimage.c (image_targets): Use new names.
11295
5fbdac14
VS
112962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 Defer multiboot device parsing until we're in compressed part.
11299
11300 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11301 bsd_part. setdevice has fallen into disuse.
11302 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11303 (bsd_part): Likewise.
11304 (boot_dev): New variable.
11305 (multiboot_trampoline): Don't parse multiboot device.
11306 Pass multiboot device in %edx.
11307 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11308 grub_boot_device.
11309 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11310 Likewise.
11311 * grub-core/kern/i386/pc/startup.S: Save edx.
11312 (grub_boot_drive): Removed.
11313 (grub_install_dos_part): Likewise.
11314 (grub_install_bsd_part): Likewise.
11315 (grub_boot_device): New variable.
11316 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11317 (grub_install_bsd_part): Likewise.
11318 (grub_boot_drive): Likewise.
11319 (grub_boot_device): New variable.
11320 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11321 Removed.
11322 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11323 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11324 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11325 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11326 * util/grub-install.in: Remove redundant condition.
11327
691cbb58
VS
113282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 Fix bug introduced by previous commit.
11331
11332 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11333
60240b8b
VS
113342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 Use decompressors framework on i386-pc. It increases core size
11337 by 46 bytes but improves compatibility and maintainability.
11338
11339 * grub-core/Makefile.core.def (lzma_decompress): New image.
11340 (kernel): Add i386_pc_ldflags.
11341 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11342 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11343 to real_to_prot, prot_to_real and device info.
11344 * include/grub/offsets.h: Renamed decompressor offsets.
11345 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11346 (image_target_desc): Remove raw_size and rename decompressor fields.
11347 (compress_kernel): Handle lzma.
11348 (generate_image): Handle decompressors on i386-pc.
11349
e9d3421c
VS
113502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * configure.ac: Add -fno-asynchronous-unwind-tables.
11353
2b23074a
VS
113542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 Move assembly code to C by using intwrap. It increases core size
11357 by 88 bytes but improves compatibility and maintainability.
11358
11359 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11360 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11361 ... here. Translated to C.
11362 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11363 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11364 ... here. Translated to C.
11365 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11366 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11367 ... here. Translated to C.
11368 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11369 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11370 ... here. Translated to C.
11371 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11372 * grub-core/term/i386/pc/console.c (grub_console_cls):
11373 ... here. Translated to C.
11374 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11375 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11376 ... here. Translated to C.
11377 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11378 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11379 Translated to C.
11380 * grub-core/term/i386/pc/console.c (int10_9): New function.
11381 (grub_console_putchar): Likewise.
11382 * include/grub/i386/pc/console.h: Removed the not anymore shared
11383 functions.
11384
678f4b67
VS
113852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Move grub_chainloader_real_boot out of the kernel.
11388
11389 * grub-core/Makefile.am: Remove machine/loader.h.
11390 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11391 Removed.
11392 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11393 variable.
11394 (grub_relocator16_keep_a20_enabled): Likewise.
11395 (grub_relocator16_boot): Fill new variables.
11396 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11397 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11398 relocator.
11399 (grub_chainloader_unload): Likewise.
11400 (grub_chainloader_cmd): Likewise.
11401 * include/grub/i386/pc/loader.h: Removed.
11402 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11403 and esi. All initialisers updated.
11404
4626edf6
VS
114052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
114062011-11-12 Colin Watson <cjwatson@ubuntu.com>
11407
11408 * Makefile.util.def (grub-mount): New util.
11409 * .bzrignore: Add grub-mount.
11410 * configure.ac: Check for fuse and enable grub-mount if available.
11411 * docs/man/grub-mount.h2m: New file.
11412 * util/grub-mount.c: Likewise.
11413
10f0117b
VS
114142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/commands/efi/fixvideo.c: Gettextize.
11417 * grub-core/commands/hashsum.c: Likewise.
11418 * grub-core/commands/i386/cmostest.c: Likewise.
11419 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11420 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11421 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11422 * grub-core/commands/lsmmap.c: Likewise.
11423 * grub-core/commands/menuentry.c: Likewise.
11424 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11425 * grub-core/commands/setpci.c: Likewise.
11426 * grub-core/loader/i386/bsd.c: Likewise.
11427 * grub-core/loader/i386/linux.c: Likewise.
11428 * util/getroot.c: Likewise.
11429 * util/grub-editenv.c: Likewise.
11430 * util/grub-fstest.c: Likewise.
11431 * util/grub-mkfont.c: Likewise.
11432 * util/grub-mkimage.c: Likewise.
11433 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11434 * util/grub-pe2elf.c: Likewise.
11435 * util/grub-probe.c: Likewise.
11436 * util/grub-setup.c: Likewise.
11437 * util/ieee1275/ofpath.c: Likewise.
11438 * util/misc.c: Likewise.
11439 * util/raid.c: Likewise.
11440
566f779b
RM
114412011-11-11 Robert Millan <rmh@gnu.org>
11442
11443 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11444 __attribute__((unused)) from `os_dev', which *is* being used.
11445
b50787de
VS
114462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11449 forgotten define.
11450 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11451 GRUB_IA64_DL_GOT_ALIGN.
11452 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11453 GRUB_IA64_DL_TRAMP_ALIGN.
11454
119d11c8
VS
114552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Replace grub_fatal with normal errors in i386 linux loader.
11458
11459 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11460 (allocate_pages): Check find_efi_mmap_size return value.
11461 (grub_e820_add_region): Return error.
11462 (grub_linux_boot): Check mmap return value.
11463
6e0632e2
VS
114642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * grub-core/commands/acpihalt.c: Gettextized.
11467 * grub-core/commands/cacheinfo.c: Likewise.
11468 * grub-core/commands/cmp.c: Likewise.
11469 * grub-core/commands/efi/loadbios.c: Likewise.
11470 * grub-core/commands/gptsync.c: Likewise.
11471 * grub-core/commands/ieee1275/suspend.c: Likewise.
11472 * grub-core/commands/legacycfg.c: Likewise.
11473 * grub-core/commands/memrw.c: Likewise.
11474 * grub-core/commands/minicmd.c: Likewise.
11475 * grub-core/commands/parttool.c: Likewise.
11476 * grub-core/commands/time.c: Likewise.
11477 * grub-core/commands/videoinfo.c: Likewise.
11478 * grub-core/disk/geli.c: Likewise.
11479 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11480 * grub-core/disk/luks.c: Likewise.
11481 * grub-core/disk/lvm.c: Likewise.
11482 * grub-core/font/font_cmd.c: Likewise.
11483 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11484 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11485 * grub-core/gfxmenu/view.c: Likewise.
11486 * grub-core/kern/emu/hostdisk.c: Likewise.
11487 * grub-core/kern/emu/main.c: Likewise.
11488 * grub-core/kern/emu/misc.c: Likewise.
11489 * grub-core/kern/emu/mm.c: Likewise.
11490 * grub-core/kern/mips/arc/init.c: Likewise.
11491 * grub-core/kern/mips/loongson/init.c: Likewise.
11492 * grub-core/kern/partition.c: Likewise.
11493 * grub-core/lib/i386/halt.c: Likewise.
11494 * grub-core/lib/mips/arc/reboot.c: Likewise.
11495 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11496 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11497 * grub-core/loader/i386/xnu.c: Likewise.
11498 * grub-core/loader/multiboot.c: Likewise.
11499 * grub-core/net/bootp.c: Likewise.
11500 * grub-core/net/net.c: Likewise.
11501 * grub-core/normal/term.c: Likewise.
11502 * grub-core/partmap/bsdlabel.c: Likewise.
11503 * grub-core/parttool/msdospart.c: Likewise.
11504 * grub-core/term/gfxterm.c: Likewise.
11505 * grub-core/term/terminfo.c: Likewise.
11506 * grub-core/video/i386/pc/vbe.c: Likewise.
11507 * util/grub-menulst2cfg.c: Likewise.
11508 * util/grub-mkdevicemap.c: Likewise.
11509 * util/grub-mklayout.c: Likewise.
11510 * util/grub-mkrelpath.c: Likewise.
11511 * util/grub-script-check.c: Likewise.
11512 * util/ieee1275/grub-ofpathname.c: Likewise.
11513 * util/resolve.c: Likewise.
11514
073aa7a9
VS
115152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 Support %1$d syntax.
11518
11519 * tests/printf_unit_test.c: New file.
11520 * Makefile.util.def (printf_test): New test.
11521 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11522
c76b5417
VS
115232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11526 fix.
11527
df067ad1
VS
115282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11531 dprintf.
11532 * grub-core/font/font.c (grub_font_load): Likewise.
11533
5b289bc5
VS
115342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * util/grub-macho2img.c: Add comment concerning gettext.
11537 * grub-core/lib/legacy_parse.c: Likewise.
11538
c1860f87
VS
115392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11542 (grub_xvasprintf): Likewise.
11543
d35d0d37
VS
115442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 Add const keyword to grub_env_get and gettextize week days.
11547
11548 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11549 (grub_read_hook_datetime): Return const char *.
11550 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11551 updated.
11552 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11553 Mark for gettext.
11554 (grub_get_weekday_name): Return const char *. Call gettext.
11555 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11556 char * and len as the argument. All users updated.
11557 (grub_script_argv_split_append): Receive const char *.
11558 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11559 * include/grub/env.h (grub_env_get): Likewise.
11560 (grub_env_read_hook_t): Return const char *.
11561 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11562 (grub_script_argv_split_append): Likewise.
11563
9aed8a71
VS
115642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11567
067fdf00
VS
115682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11571 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11572
a8bd9d39
VS
115732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11576 Fix prototype.
11577
f7ce5baf
VS
115782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 Fix mips compilation.
11581
11582 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11583 normal decoder.
11584 (hashes): Use in embed decoder as well (for sizes).
11585 (dec_stream_header): Fix embed decompressor logic.
11586 (dec_stream_footer): Likewise.
11587
9bb182f3
VS
115882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11591 an error and not a fatal on unrecognised relocation types.
11592
63a9e6f6
VS
115932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11596 Issue error rather than printf on unknown arguments.
11597
4c458569
VS
115982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11601 Make buf a const.
11602
e2d22baf
VS
116032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11606 Fix module name.
11607
53dc8590
VS
116082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11611 leftover debug printf.
11612
6c189294
VS
116132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11616
f7688369
VS
116172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11620 A stylistic fix.
11621
11a775a3
VS
116222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11625
33f784e8
SL
116262011-11-10 Shea Levy <slevy@tieronedesign.com>
11627
11628 Allow all modules to perform serial IO
11629
11630 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11631 * include/grub/serial.h (grub_serial_port_configure): New inline
11632 function.
11633 (grub_serial_port_fetch): Likewise.
11634 (grub_serial_port_put): Likewise.
11635 (grub_serial_port_fini): Likewise.
11636 (grub_serial_find): New proto.
11637
f6276525
VS
116382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Put symlink at the end of the node and fix a potential
11641 memory corruption.
11642
11643 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11644 Make symlink into an array.
11645 (set_rockridge): Set have_symlink and alloc_dirents.
11646 (grub_iso9660_read_symlink): Use new layout.
11647 (grub_iso9660_iterate_dir): Fix memory corruption.
11648 Use new layout.
11649 (grub_iso9660_dir): Set have_symlink.
11650 (grub_iso9660_open): Likewise.
11651
c3591189
VS
116522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Remove local keyword.
11655
11656 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11657 (version_test_gt): Likewise.
11658 (version_find_latest): Likewise.
11659 (gettext_printf): Likewise.
11660 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11661
cb544caa
VS
116622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11665
45bd824d
VS
116662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 Fix ZFS memory and resource leaks.
11669
11670 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11671 All users updated.
11672 Free type on exit.
11673 (fill_vdev_info): New parameter inserted. All users updated.
11674 (check_pool_label): Likewise.
11675 (scan_disk): Likewise.
11676 (scan_devices): Close non-inserted disks.
11677 (fzap_iterate): Free l.
11678 (unmount_device): Free children descripto memory.
11679
ad9a2f44
VS
116802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11683 argument (access out of bounds).
11684
6b68db81
VS
116852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11688 >= 6 drives.
11689
28840fda
VS
116902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11693 Fix declaration.
11694
8a5a3a5b
VS
116952011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 Fix several memory leaks.
11698
11699 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11700 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11701 (grub_cpio_dir): Likewise.
11702 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11703 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11704 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11705 (grub_romfs_label): Likewise.
11706 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11707 (squash_unmount): New function.
11708 (grub_squash_dir): Fix memory leak.
11709 (grub_squash_open): Likewise.
11710 (grub_squash_read): Likewise.
11711 (grub_squash_mtime): Likewise.
11712 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11713 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11714 * util/grub-fstest.c (fstest): Likewise.
11715
57b01250
VS
117162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11719 avoid accessing beyond the array.
11720
19e81ba7
VS
117212011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11724
52b656c0
VS
117252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 Several AFFS fixes.
11728
11729 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11730 (GRUB_AFFS_FLAG_FFS): Removed.
11731 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11732 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11733 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11734 (grub_fshelp_node): Make block 32-bit.
11735 Add block_cache and last_block_cache.
11736 (grub_affs_read_block): Fill and use block cache.
11737 (grub_affs_read_file): Removed.
11738 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11739 boot block.
11740 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11741 safety.
11742 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11743 space.
11744 (grub_affs_close): Free block cache.
11745 (grub_affs_read): Use grub_fshelp_read_file directly.
11746
438a746a
VS
117472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11750 with no error set.
11751
49a45021
VS
117522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11755 used variable.
11756 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11757 Likewise.
11758
3ae17eb8
VS
117592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11762
11763 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11764 byteswap when needed.
11765
27610c38
VS
117662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 Fix FreeBSD compilation.
11769
11770 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11771 to avoid circular dependency.
11772 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11773 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11774 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11775
4a19b601
VS
117762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 Fix ZFS crypto error types.
11779
11780 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11781 (grub_gcm_decrypt): Likewise.
11782 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11783 from PBKDF2.
11784
958ee221
VS
117852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 Illumos support.
11788
11789 * Makefile.util.def (10_illumos): New script.
11790 * configure.ac: Set COND_HOST_ILLUMOS.
11791 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11792 Support Illumos calls.
11793 (find_partition_start) [__sun__]: Likewise.
11794 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11795 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11796 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11797 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11798 device.
11799 * util/grub-probe.c (probe) [__sun__]: Do character check.
11800 * util/grub.d/10_illumos.in: New file.
11801
cac14fb6
VS
118022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 Support escaped commas in hostdisk.
11805
11806 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11807 (find_grub_drive): Use unescape_cmp.
11808 (make_device_name): Escape commas.
11809
78e08dc3
VS
118102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11813
9f421dd1
VS
118142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11817 variable.
11818
ed64e9e2
VS
118192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 Support trampoline jumps on powerpc.
11822
11823 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11824 __ia64__ path.
11825 (grub_dl_load_segments): Set mod->sz.
11826 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11827 segments.
11828 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11829 (jump): Likewise.
11830 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11831 function.
11832 (trampoline): New struct.
11833 (trampoline_template): New const.
11834 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11835 * include/grub/dl.h (grub_dl): Add sz element.
11836 [__powerpc__]: Follow __ia64__.
11837 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11838 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11839 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11840 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11841
3084ede4
VS
118422011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 ZFS crypto support.
11845
11846 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11847 * grub-core/Makefile.core.def (zfscrypt): New module.
11848 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11849 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11850 it. All users updated.
11851 (grub_zfs_decrypt): New var.
11852 (grub_zfs_load_key): Likewise.
11853 (zio_checksum_functions): Add SHA256+MAC.
11854 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11855 (zio_read): Handle encrypted blocks.
11856 (zap_verify): Remove incorrect check.
11857 (fzap_iterate): Handle non-standard fzap.
11858 (zap_iterate): Likewise.
11859 (zap_iterate_u64): New function.
11860 (dnode_get_fullpath): Load keys.
11861 * grub-core/fs/zfs/zfscrypt.c: New file.
11862 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11863 (grub_crypto_ecb_encrypt): Make input const.
11864 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11865 (grub_crypto_ecb_encrypt): Make input const.
11866 (GRUB_CIPHER_AES): New macro.
11867 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11868 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11869 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11870 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11871 prefix. All users updated.
11872 (grub_zfs_add_key): New proto.
11873 (grub_zfs_decrypt): Likewise.
11874 (grub_zfs_load_key): Likewise.
11875 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11876 * util/grub-fstest.c (options): Add -K option.
11877 (argp_parser): Likewise.
11878
b632b404
VS
118792011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Support zle compression on ZFS.
11882
11883 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11884 (decomp_table): Add zle.
11885 * include/grub/zfs/zio.h (zio_compress): Add zle.
11886
c7ba4f69
VS
118872011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 Support BtrFS embedding.
11890
11891 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11892 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11893 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11894 * util/grub-setup.c (setup): Use fs embedding if available.
11895 Add additional sanity check.
11896
455377d9
VS
118972011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * util/grub-install.in: Fix condition for config_opt.
11900
c2fd16ca
VS
119012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 Support third redundancy strip on raidz3.
11904
11905 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11906 Return error on singularity. All users updated.
11907 (read_device): Don't stop on 3rd failure on raidz3.
11908
8622923b
VS
119092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 Support case-insensitive ZFS subvolumes.
11912
11913 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11914 All users updated.
11915 (zap_hash): Likewise.
11916 (name_cmp): New function.
11917 (zap_leaf_array_equal): New parameter case_insensitive.
11918 All users updated.
11919 (zap_leaf_lookup): Likewise.
11920 (fzap_lookup): Likewise.
11921 (zap_lookup): Likewise.
11922 (dnode_get_path): New parameter case_insensitive. Retrieve case
11923 sensitiviness of a volume. All users updated.
11924 (dnode_get_fullpath): New parameter case_insensitive.
11925 All users updated.
11926 (grub_zfs_dir): Set info.case_insensitiveness.
11927
95f2e860
VS
119282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Support second redundancy strip on raidz(2,3).
11931
11932 * grub-core/fs/zfs/zfs.c (powx): New array.
11933 (powx_inv): Likewise.
11934 (poly): New const.
11935 (xor_out): New function.
11936 (gf_mul): Likewise.
11937 (recovery): Likewise.
11938 (read_device): Use second redundancy strip.
11939
11ee4389
VS
119402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 Use a power of generator representation of GF(256) multiplication group
11943 to save space time and complexity.
11944
11945 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11946 (raid6_table2): Likewise.
11947 (powx): New array.
11948 (powx_inv): Likewise.
11949 (poly): New const.
11950 (grub_raid_block_mul): Replace with ...
11951 (grub_raid_block_mulx): ...this.
11952 (grub_raid6_init_table): Rewritten.
11953 (grub_raid6_recover): Use power of generator representation.
11954
09e2763f
VS
119552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11958 for the right device.
11959
8bec9a28
VS
119602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11963 expected by grub-mkimage and it's more clear since there is no implicit
11964 padding.
11965
dbd3a32e
VS
119662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11969 disk.
11970 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11971
182c872a
PMH
119722011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11973
11974 * util/grub-mkrescue.in: Fix handling xorriso option.
11975
1e51cabd
VS
119762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11979 NULL.
11980
9cc3581d 119812011-11-03 crocket <crockabiscuit@gmail.com>
11982
11983 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11984
158dc1ea
VS
119852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 XZ CRC64 and SHA256 support.
11988
11989 * Makefile.util.def (libgrubmods): Add crc64.c.
11990 * grub-core/Makefile.core.def (crc64): New module.
11991 * grub-core/lib/crc64.c: New file.
11992 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11993 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11994 Fix the type.
11995 (MAX_HASH_SIZE): New define.
11996 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11997 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11998 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11999 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12000 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12001 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12002 Handle non-crc32 hashes.
12003 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12004 (dec_stream_header): Handle non-crc32 hashes.
12005 (dec_stream_footer): Likewise.
12006 (dec_block_header): Likewise.
12007 (dec_main): Likewise.
12008 (xz_dec_init): Likewise.
12009 (xz_dec_reset): Likewise.
12010 (xz_dec_end): Likewise.
12011 * util/import_gcry.py: Add CRC64 line.
12012
9d9b3d2f
VS
120132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12016 as well.
12017
7d0ac931
VS
120182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 Make reiserfs label retrieval similar to other *_label functions.
12021
12022 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12023 (REISERFS_MAX_LABEL_LENGTH): Removed.
12024 (REISERFS_LABEL_OFFSET): Likewise.
12025 (grub_reiserfs_label): Rewritten.
12026
120272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12030 field.
12031
cf5ba824
VS
120322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12035
17744004
VS
120362011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12039 drive failure on both raidz and raidz2.
12040
aca5aefc
VS
120412011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 Fix RAIDZ(2) for >= 5 devices.
12044
12045 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12046 asize argument. All users updated.
12047
ce8ca56e
VS
120482011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 Fix RAIDZ(2).
12051
12052 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12053 (fill_vdev_info_real): Set ashift.
12054 (read_device): Rewrite RAIDZ part based on reverse engineering.
12055
7c01e783
VS
120562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12059 don't report potentially unavialiable fields in debug output.
12060 (find_path): Fix double-free and memory leak.
12061
ce109e84
VS
120622011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Read label on UFS1.
12065
12066 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12067 (grub_ufs_fs): Always set .label.
12068
87661123
VS
120692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 Use shifts in UFS.
12072
12073 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12074 (grub_ufs_data): New field log2_blksz.
12075 (grub_ufs_read_file): Use shifts.
12076 (grub_ufs_mount): Check block size and logarithm it.
12077
46bc1dc2
VS
120782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12081 long symlinks.
12082
19ee2987
VS
120832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 Handle symlinks and long names on tar and cpio.
12086
12087 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12088 (ATTR_FILE): Likewise.
12089 (ATTR_DIR): Likewise.
12090 (ATTR_LNK): Likewise.
12091 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12092 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12093 L and K entries.
12094 (grub_cpio_mount): Zero-fill data.
12095 (handle_symlink): New function.
46bc1dc2
VS
12096 (grub_cpio_dir): Handle symlinks.
12097 (grub_cpio_open): Likewise.
12098 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12099
c83a08d8
VS
121002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Fix iso9660 filename limitations and fix memory leaks.
12103
12104 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12105 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12106
45cdd3ea
VS
121072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 Fix JFS file name length limitations.
12110
12111 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12112 (grub_jfs_diropen): Fix maximum filename length.
12113 (grub_jfs_getent): Fix filename length.
12114 (grub_jfs_lookup_symlink): Fix size checks.
12115
94ef05c2
VS
121162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12119 string.
12120
785ab8c7
VS
121212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12122
eb0b6b45
VS
12123 Leverage BFS implementation to read AFS.
12124
12125 * Makefile.util.def (libgrubmods): Add afs.c.
12126 * grub-core/Makefile.core.def (afs): New module
12127 * grub-core/fs/afs.c: New file.
12128 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12129
121302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12133
c4a1628f
VS
121342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/fs/bfs.c: Run indent.
12137
5825b379
VS
121382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 BFS implementation based on the specification.
12141
12142 * grub-core/fs/bfs.c: New file.
12143 * Makefile.util.def (libgrubmods): Add bfs.c.
12144 * grub-core/Makefile.core.def (bfs): New module.
12145
42b2a706
VS
121462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * util/grub-fstest.c (cmd_cp): Clarify error message.
12149 (cmd_cmp): Likewise.
12150
61b99bfc
YB
121512011-10-30 Yves Blusseau <blusseau@zetam.org>
12152
12153 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12154 and befs_be.
12155
faba3d16
VS
121562011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 Remove afs and befs because of copyright problem.
12159
12160 * grub-core/fs/afs.c: Removed.
12161 * grub-core/fs/afs_be.c: Removed.
12162 * grub-core/fs/befs.c: Removed.
12163 * grub-core/fs/befs_be.c: Removed.
12164 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12165 * grub-core/Makefile.core.def (afs): Removed.
12166 (afs_be): Likewise.
12167 (befs): Likewise.
12168 (befs_be): Likewise.
12169
c39224b0
VS
121702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 Prefer rockridge over Joliet.
12173
12174 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12175 to ...
12176 (set_rockridge): ... here.
12177 (grub_iso9660_mount): Check rockridge on the primary label when
12178 discovering. Ignore Joliet if Rockridge is present.
12179
e551115a
VS
121802011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 Use shifts in nilfs2.
12183
12184 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12185 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12186 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12187 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12188 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12189 (grub_nilfs2_entries_per_block): Replaced with ...
12190 (grub_nilfs2_log_entries_per_block_log): ... this.
12191 (grub_nilfs2_blocks_per_group): Replaced with ...
12192 (grub_nilfs2_blocks_per_group_log): ... this.
12193 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12194 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12195 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12196 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12197 (grub_nilfs2_palloc_entry_offset): Replaced ...
12198 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12199 (grub_nilfs2_dat_translate): Use shifts.
12200 (grub_nilfs2_read_inode): Likewise.
12201 (GRUB_MOD_INIT): Ensure that logs are correct.
12202
564dd58c
VS
122032011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 Use shifts in minix filesystem.
12206
12207 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12208 (GRUB_MINIX_ZONE2SECT): Likewise.
12209 (grub_minix_data): Replace block_size with log_block_size.
12210 (grub_minix_read_file): Use shifts.
12211 (grub_minix_mount): Check block size and take a logarithm.
12212
ed9ba06d
VS
122132011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 Use shifts in squash4.
12216
12217 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12218 (squash_mount): Check block size and take logarithm.
12219 (direct_read): Use shifts.
12220
ad03fe76
VS
122212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 Correct befs block counting logic.
12224
12225 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12226 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12227 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12228 (grub_afs_read_inode): Use block_shift.
12229 (RANGE_SHIFT): New definition.
12230 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12231 unexpected conditions, use shifts and appropriate types.
12232 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12233
6563f63d
VS
122342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/disk/raid.c (scan_devices): Check partition.
12237 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12238
5b1ae25f
VS
122392011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 Support BFS (befs) UUID.
12242
12243 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12244 (grub_afs_small_data_element_header): New struct.
12245 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12246 (grub_afs_read_attribute) [MODE_BFS]: New function.
12247 (grub_afs_iterate_dir): Allocate for complete inode.
12248 (grub_afs_mount): Likewise.
12249 (grub_afs_uuid) [MODE_BFS]: New function.
12250 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12251
f8d82408
VS
122522011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12255 (zfs_unmount): Fix memory leak.
12256
5773fb64
VS
122572011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 Support NTFS reparse points.
12260
12261 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12262 (symlink_descriptor): New struct.
12263 (grub_ntfs_read_symlink): New function.
12264 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12265 (grub_ntfs_open): Likewise.
12266
91c3fdde
VS
122672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12270
3be82e10
VS
122712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 fstest xnu_uuid subcommand.
12274
12275 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12276 grub-core/commands/xnu_uuid.c.
12277 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12278 (fstest): Handle xnu_uuid.
12279 (options): Document xnu_uuid.
12280 (argp_parser): Parse xnu_uuid.
12281
8e32442e
VS
122822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12285 -l argument. Add newline at the end if printing.
12286 (GRUB_MOD_INIT): Document -l.
12287
52a05075
VS
122882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12291
1869edb5
VS
122922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 ZFS multi-device and version 33 support.
12295
12296 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12297 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12298 (grub_zfs_data): Add multidev-ice-related fields.
12299 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12300 (dva_get_offset): Make dva const.
12301 (zfs_fetch_nvlist): New function.
12302 (fill_vdev_info_real): Likewise.
12303 (fill_vdev_info): Likewise.
12304 (check_pool_label): Likewise.
12305 (scan_disk): Likewise.
12306 (scan_devices): Likewise.
12307 (read_device): Likewise.
12308 (read_dva): Likewise.
12309 (zio_read_gang): Use read_dva.
12310 (zio_read_data): Likewise.
12311 (zap_leaf_lookup): Add missing endian conversion.
12312 (zap_verify): Add missing endian conversion. All users updated.
12313 (fzap_lookup): Likewise.
12314 (fzap_iterate): Likewise.
12315 (dnode_get_path): Handle SA bonus.
12316 (nvlist_find_value): Make input const. All users updated.
12317 (unmount_device): New function.
12318 (zfs_unmount): Use unmount_device.
12319 (zfs_mount): Use scan_disk.
12320 (zfs_mtime): New function.
12321 (grub_zfs_open): Handle system attributes.
12322 (fill_fs_info): Likewise.
12323 (grub_zfs_dir): Likewise.
12324 (grub_zfs_fs): Add mtime.
12325 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12326 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12327 (SA_MTIME_OFFSET): Likewise.
12328 (SA_SYMLINK_OFFSET): Likewise.
12329 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12330 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12331 (fstest): Support zfsinfo.
12332 (argp_parser): Likewise.
12333
186b4028
VS
123342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12337 error.
12338
123392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12340
12341 ZFS fixes.
12342
12343 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12344 sharing the same block. Iterate over correct number of indices.
12345 (dnode_get_path): Handle symlinks correctly.
12346
c0584900
VS
123472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12350
67e2bd71
VS
123512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Read label on HFS+.
12354
12355 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12356 (grub_hfsplus_btree_search): Fix types.
12357 (grub_hfsplus_label): Implement.
12358
e9cc6b7b
VS
123592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12362
19832ddb
VS
123632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12366
66b40850
VS
123672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 Fix symlink handling on iso9660.
12370
12371 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12372 All users updated.
12373 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12374 (grub_iso9660_read_symlink): Moved most of code ...
12375 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12376
db821363
VS
123772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12380 Use union to avoid breaking strict-aliasing rules.
12381
e1211949
VS
123822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 Support multi-extent iso files.
12385
12386 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12387 Add node.
12388 (grub_fshelp_node): Revamp. All users updated.
12389 (FLAG_*): New enum.
12390 (read_node): New function.
12391 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12392 All users updated.
12393 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12394 (get_node_size): New function.
12395 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12396 entries.
12397 Fix memory leak on . and ..
12398 (grub_iso9660_read): Use read_node.
12399 (grub_iso9660_close): Free node.
12400
d4888031
VS
124012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 Fix tar 4G limit and handle paths containing dot.
12404
12405 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12406 (canonicalize): New function.
12407 (grub_cpio_find_file): Use canonicalize. Store offs in
12408 grub_disk_addr_t.
12409 (grub_cpio_dir): Use grub_disk_addr_t.
12410 (grub_cpio_open): Likewise.
12411
9f12e664
VS
124122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12415
12416 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12417 unused flags.
12418 (grub_squash_inode): Add long_file and block_size.
12419 (grub_squash_cache_inode): New struct.
12420 (grub_squash_dirent): Make types into enum.
12421 (SQUASH_TYPE_LONG_REGULAR): New type.
12422 (grub_squash_frag_desc): Add field size.
12423 (SQUASH_BLOCK_FLAGS): New enum.
12424 (grub_squash_data): Use grub_squash_cache_inode.
12425 (grub_fshelp_node): Make ino_chunk 64-bit.
12426 (read_chunk): Minor argument change. All users updated.
12427 (squash_mount): Use correct le_to_cpu.
12428 (grub_squash_open): Handle LONG_REGULAR.
12429 (direct_read): New function.
12430 (grub_squash_read_data): Handle blocks correctly.
12431
9f326fba
VS
124322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12435
f4d9b64b
VS
124362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12439
5bbd28b8
VS
124402011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 Fix 2G limit on ZFS.
12443
12444 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12445 types.
12446 (uberblock_verify): Likewise.
12447 (dmu_read): Likewise.
12448 (grub_zfs_read): Likewise. Remove invalid cast.
12449
68c72069
VS
124502011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12453 (grub_jfs_blkno): Fix incorrect shift.
12454 (grub_jfs_read_file): Use more appropriate types.
12455
6e536dc8
VS
124562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Support triple indirect on minix2 and minix3.
12459
12460 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12461 Declare triple_indir_zone.
12462 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12463 indirect.
12464
e0864e7a
VS
124652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 Minix FS fixes.
12468
12469 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12470 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12471 Rename ctime to mtime. All users updated.
12472 (grub_minix_get_file_block): Fix types and double indirect computations.
12473
89481cab
VS
124742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12477 if no label is found.
12478 (grub_fat_iterate_dir): Fix file size type.
12479 (grub_fat_iterate_dir): Likewise.
12480
f646e143
VS
124812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12484 save some space.
12485 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12486 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12487
534d769e
VS
124882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12491
e084ba18
VS
124922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * util/import_gcry.py: Accept space between # and include.
12495
3471ecdf
VS
124962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12499
124df5f6
VS
125002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12503
12504 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12505 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12506 yylex_strncpy.
12507 * grub-core/script/yylex.l: Add fine-grained #pragma.
12508
4defb8d5
VS
125092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12512 New inline function.
12513 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12514 Likewise.
12515 (memset) [GRUB_UTIL]: Likewise.
12516 (memcmp) [GRUB_UTIL]: Likewise.
12517
4e94ae65
VS
125182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12521 inline function rather than a define.
12522
18c575e5
VS
125232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * util/grub-setup.c: Add missing include.
12526
f8bc22a8
VS
125272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/ieee1275/grub-ofpathname.c: Add missing include.
12530
3ce69fc9
VS
125312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12534 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12535 Likewise.
12536
d1e293bb
VS
125372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12540 grub_memcmp usage.
12541
7a5c54a4
VS
125422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * util/grub-install.in: Add datarootdir as per automake manual
12545 suggestion.
12546 * util/grub-mknetdir.in: Likewise.
12547
125482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12549
12550 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12551 suggestion.
12552 * util/grub.d/10_kfreebsd.in: Likewise.
12553 * util/grub.d/10_linux.in: Likewise.
12554 * util/grub.d/10_netbsd.in: Likewise.
12555 * util/grub.d/10_windows.in: Likewise.
12556 * util/grub.d/20_linux_xen.in: Likewise.
12557
766f7d08
VS
125582011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Remove redundant grub_kernel_image_size.
12561
12562 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12563 _edata and _start.
12564 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12565 the small code. It moves it only by few bytes but simplifies the code.
12566 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12567 _start.
12568 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12569 (grub_kernel_image_size): Removed.
12570 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12571 (grub_kernel_image_size): Removed.
12572 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12573 compiled with Apple toolchain.
12574 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12575 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12576 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12577 (grub_total_module_size): Likewise.
12578 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12579 Removed.
12580 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12581 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12582 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12583 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12584 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12585 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12586 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12587 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12588 Removed.
12589 (grub_total_module_size): Removed.
12590 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12591 (image_targets): Likewise.
12592 Set .compressed_size to no field on sparc.
12593 (generate_image): Remove kernel_image_size handling.
12594
fcf1d672
SJ
125952011-10-19 Szymon Janc <szymon@janc.net.pl>
12596
12597 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12598 NULL pointer dereference.
12599
de9c615e
VS
126002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12603 done with a dedicated section.
12604
12605 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12606 Ensure the correct position of boot_path.
12607 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12608 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12609 other fields.
12610 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12611 * include/grub/boot.h: Removed. All references removed.
12612 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12613 Removed.
12614 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12615
e55599dc
VS
126162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12619 name.
12620
36dd20ad
VS
126212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12624
f8f72eb8
VS
126252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12628 Don't add the bogus brackets.
12629
a374751b
VS
126302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 ExFAT support.
12633
12634 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12635 * grub-core/Makefile.core.def (exfat): New module.
12636 * grub-core/fs/exfat.c: New file.
12637 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12638 (GRUB_FAT_ATTR_*): Make into an enum.
12639 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12640 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12641 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12642 (GRUB_FAT_MAXFILE): Removed.
12643 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12644 (grub_current_fat_bpb_t): New type.
12645 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12646 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12647 (grub_fat_dir_node_t): New type.
12648 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12649 (fat_log2) [MODE_EXFAT]: Removed.
12650 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12651 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12652 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12653 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12654 (grub_fat_label) [MODE_EXFAT]: New function.
12655 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12656 reserved_first_sector to 0.
12657
544c2487
VS
126582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 Move grub_reboot out of the kernel.
12661
12662 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12663 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12664 * grub-core/lib/efi/reboot.c: ... here.
12665 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12666 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12667 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12668 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12669 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12670 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12671 * grub-core/lib/ieee1275/reboot.c: ... here.
12672 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12673 * grub-core/lib/mips/arc/reboot.c: ... here.
12674 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12675 * grub-core/lib/mips/loongson/reboot.c: ...here.
12676 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12677 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12678 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12679 * include/grub/i386/reboot.h: New file.
12680 * include/grub/mips/loongson/ec.h: Fix includes.
12681 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12682 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12683 * grub-core/lib/i386/reboot.c: New file.
12684
a97501d2
VS
126852011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 Make grub_prefix into module to fix the arbitrary limit and save
12688 some space.
12689
12690 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12691 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12692 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12693 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12694 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12695 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12696 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12697 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12698 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12699 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12700 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12701 * include/grub/ia64/efi/kernel.h: Removed.
12702 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12703 (grub_prefix): Removed.
12704 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12705 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12706 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12707 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12708 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12709 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12710 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12711 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12712 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12713 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12714 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12715 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12716 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12717 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12718 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12719 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12720 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12721 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12722 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12723 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12724 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12725 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12726 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12727 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12728 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12729 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12730 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12731 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12732 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12733 from module.
12734 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12735 prefix_end.
12736 (image_targets): Likewise.
12737 (generate_image): Put prefix as a module.
12738
39705fad
VS
127392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 Replace grub_module_iterate with FOR_MODULES.
12742
12743 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12744 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12745 (grub_efi_modules_addr): ...this.
12746 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12747 (grub_efi_init): Set grub_modbase.
12748 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12749 (grub_modbase): New variable.
12750 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12751 (grub_modbase): New variable.
12752 (grub_machine_init): Set grub_modbase.
12753 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12754 (grub_modbase): New variable.
12755 (grub_machine_init): Set grub_modbase.
12756 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12757 (grub_modbase): New variable.
12758 (grub_machine_init): Set grub_modbase.
12759 * grub-core/kern/main.c (grub_module_iterate): Remove.
12760 (grub_modules_get_end): Use grub_modbase.
12761 (grub_load_modules): Use FOR_MODULES.
12762 (grub_load_config): Likewise.
12763 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12764 (grub_modbase): New variable.
12765 (grub_machine_init): Set grub_modbase.
12766 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12767 (grub_modbase): New variable.
12768 (grub_machine_init): Set grub_modbase.
12769 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12770 Removed.
12771 (grub_modbase): New variable.
12772 (grub_machine_init): Set grub_modbase.
12773 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12774 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12775 (grub_module_iterate): Likewise.
12776 (grub_modbase): New variable declaration.
12777 (FOR_MODULES): New macro.
12778
2afb7f6c
VS
127792011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12782 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12783
366e34fa
VS
127842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 Fix few obvious type discrepancies.
12787
12788 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12789 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12790 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12791 variable.
12792 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12793 and connected types.
12794 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12795 offset.
12796 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12797 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12798 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12799 and connected types.
12800
177b960e
VS
128012011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Fix python 3.x incompatibilities.
12804
12805 * gentpl.py: Put brackets around print strings.
12806 * util/import_gcry.py: Open explicitly as utf-8.
12807 Use in instead of has_key.
12808
3b619ae1
VS
128092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12812 (GRUB_XFS_INO_AGBITS): Make into inline function.
12813 (GRUB_XFS_INO_INOINAG): Likewise.
12814 (GRUB_XFS_INO_AG): Likewise.
12815 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12816 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12817 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12818 (GRUB_XFS_EXTENT_SIZE): Likewise.
12819 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12820 (GRUB_XFS_NEXT_DIRENT): Likewise.
12821 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12822 (grub_xfs_read_file): Fix offset type.
12823
8bcebcb8
RM
128242011-10-15 Robert Millan <rmh@gnu.org>
12825
12826 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12827
0017e5ef
RM
128282011-10-15 Robert Millan <rmh@gnu.org>
12829
12830 Fix build problem on FreeBSD and GNU/kFreeBSD.
12831
12832 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12833
d8919552
VS
128342011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12837
12838 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12839 types.
12840 (grub_hfsplus_btree_recoffset): Likewise.
12841 (grub_hfsplus_btree_recptr): Likewise.
12842 (grub_hfsplus_find_block): Likewise.
12843 (grub_hfsplus_btree_search): Likewise.
12844 (grub_hfsplus_read_block): Likewise.
12845 (grub_hfsplus_read_file): Likewise.
12846 (grub_hfsplus_mount): Likewise.
12847 (grub_hfsplus_btree_iterate_node): Likewise.
12848 (grub_hfsplus_btree_search): Likewise.
12849 (grub_hfsplus_iterate_dir): Likewise.
12850 (grub_hfsplus_read): A small code simplification.
12851
c81296b6
VS
128522011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/kern/emu/hostdisk.c
12855 (convert_system_partition_to_system_disk): Don't assume that children
12856 of mapper nodes are mapper nodes.
12857
0eb8ffb1
VS
128582011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12861 * include/grub/misc.h (grub_isxdigit): New function.
12862 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12863 switched to grub_isxdigit.
12864 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12865 number starting with a letter.
12866
a98f4a08
RM
128672011-10-09 Robert Millan <rmh@gnu.org>
12868
12869 LVM support for FreeBSD and GNU/kFreeBSD.
12870
12871 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12872 GNU/kFreeBSD.
12873 (LVM_DEV_MAPPER_STRING): Move from here ...
12874 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12875 * util/getroot.c: Include `<grub/util/lvm.h>'.
12876 (grub_util_get_dev_abstraction): Enable
12877 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12878 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12879 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12880 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12881 support it.
12882 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12883 GNU/kFreeBSD.
12884 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12885 when LVM abstraction is required for ${GRUB_DEVICE}.
12886
050e8e90
SJ
128872011-10-06 Szymon Janc <szymon@janc.net.pl>
12888
12889 Add support for LZO compression in GRUB:
12890 - import of minilzo library,
12891 - LZO decompression for btrfs,
12892 - lzop files decompression.
12893
12894 * grub-core/io/lzopio.c: New file.
12895 * grub-core/lib/adler32.c: Likewise.
12896 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12897 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12898 * grub-core/lib/minilzo/minilzo.c: Likewise.
12899 * grub-core/lib/minilzo/minilzo.h: Likewise.
12900 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12901 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12902 grub-core/lib/minilzo/minilzo.c to common.
12903 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12904 cflags in cppflags.
12905 * grub-core/Makefile.core.def (btrfs): Likewise.
12906 * grub-core/Makefile.core.def (lzopio): New module.
12907 (adler32): Likewise.
12908 * grub-core/fs/btrfs.c: Include minilzo.h.
12909 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12910 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12911 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12912 (grub_btrfs_lzo_decompress): New function.
12913 (grub_btrfs_extent_read): Add support for LZO compression type.
12914 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12915 (GRUB_USHRT_MAX): Likewise.
12916 (GRUB_UINT_MAX): Likewise.
12917 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12918 (UINT_MAX): Likewise.
12919 (CHAR_BIT): Likewise.
12920 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12921 grub-core/lib/posix_wrap/limits.h
12922 (UCHAR_MAX): Likewise.
12923 * include/grub/file.h (grub_file_filter_id): New compression filter
12924 GRUB_FILE_FILTER_LZOPIO.
12925 * include/grub/file.h (grub_file_filter_id): Set
12926 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12927 * include/grub/types.h (grub_get_unaligned16): New function.
12928 (grub_get_unaligned32): Likewise.
12929 (grub_get_unaligned64): Likewise.
12930 * util/import_gcry.py (cryptolist): Add adler32.
12931
0eb8ffb1
VS
129322011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12935 in perspective decreases the complexity of build system and fixes
12936 compilation right now.
12937
ce79cc99 129382011-10-01 Ales Nesrsta <starous@volny.cz>
12939
12940 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12941 (fixed problem related to using UHCI with coreboot).
12942
8667a314
BC
129432011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12944
12945 * gentpl.py: Use Autogen macros so that the output template file
12946 (Makefile.tpl) size is reduced.
12947
fc5efcc0
MK
129482011-09-29 Mads Kiilerich <mads@kiilerich.com>
12949
12950 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12951 extra_dist.
12952
d1ab689d
ML
129532011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12954
12955 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12956 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12957
c05de032
ML
129582011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12959
12960 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12961 _fullpath.
12962
cca7ccd8
ML
129632011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12964
12965 Remove extra declaration of sleep for mingw32.
12966
12967 * util/misc.c (sleep) [__MINGW32__]: Removed.
12968 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12969
e0b0dc83
GS
129702011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12971
12972 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12973 type and packname.
12974 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12975 Resurrected.
12976 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12977 (grub_netbsd_btinfo_bootwedge): New struct.
12978 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12979 New function.
12980 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12981
91a1a164
TH
129822011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12983
12984 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12985 loader.
12986
2ded951e
AB
129872011-09-28 Andreas Born <futur.andy@googlemail.com>
12988
12989 Fix incorrect identifiers in bash-completion.
12990
12991 * util/bash-completion.d/grub-completion.bash.in
12992 (_grub_mkpasswd-pbkdf2): Rename to ...
12993 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12994 (_grub_script-check): Rename to ...
12995 (_grub_script_check): ... this. All users updated.
12996
69915030
VS
129972011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13000 Return 0 if disk isn't biosdisk.
13001
20fd15f9
GS
130022011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13003
13004 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13005 on NetBSD.
13006 * Makefile.util.def (grub-fstest): Likewise.
13007
1a7d7db9
GS
130082011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13009
13010 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13011 Get sector size from disk label.
13012
2221ab6c
CW
130132011-09-05 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13016 */README* as well as README*.
13017 Reported by: Axel Beckert.
13018
ca51c4a0
VS
130192011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13022 case of less than 256 MiB of RAM.
13023
ab80f326
VS
130242011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/commands/wildcard.c (make_regex): Handle @.
13027
4155e697
VS
130282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13031
ab178c08
SJ
130322011-08-21 Szymon Janc <szymon@janc.net.pl>
13033
13034 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13035 AC_LANG_CONFTEST macros.
13036
7dc3c686
SJ
130372011-08-20 Szymon Janc <szymon@janc.net.pl>
13038
13039 Add grub-fstest option to uncompress data for commands.
13040
13041 * util/grub-fstest.c (uncompress): New var.
13042 (options): New option -u.
13043
fe8d4a7b
SJ
130442011-08-20 Szymon Janc <szymon@janc.net.pl>
13045
13046 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13047 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13048
a5219af1
SJ
130492011-08-20 Szymon Janc <szymon@janc.net.pl>
13050
13051 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13052 file type was not recognized correctly (not gzip or corrupted).
13053
f87abff5
VS
130542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13057 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13058
d94497ea
VS
130592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13062 loongson.
13063 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13064 video_radeon_fuloong2e.
13065 * grub-core/video/radeon_fuloong2e.c: New file.
13066 * include/grub/video.h (grub_video_id_t): Add new ID
13067 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13068
0d1fd011
VS
130692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13072 define.
13073 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13074 that PRID matches the detected subplatform and reset the subplatform
13075 if it doesn't.
13076
84beb0ee
VS
130772011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13080
1227c133
VS
130812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Fix PCI iterating on functions >= 4.
13084
13085 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13086 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13087 Removed.
13088 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13089 (grub_pci_read): Fix bitmask.
13090 (grub_pci_read_word): Likewise.
13091 (grub_pci_read_byte): Likewise.
13092 (grub_pci_write): Likewise.
13093 (grub_pci_write_word): Likewise.
13094 (grub_pci_write_byte): Likewise.
13095
9594c689
VS
130962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13099 can still be specified in TARGET_CFLAGS)
13100
14a2562c
VS
131012011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13104
13105 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13106 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13107 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13108 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13109 (FULOONG): Rename to ...
13110 (FULOONG2F): ... this. All users updated.
13111 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13112 (machtype_fuloong2f_str): ... this.
13113 (machtype_fuloong2e_str): New string.
13114 Check for machtype_fuloong2e_str.
13115 * grub-core/loader/mips/linux.c (loongson_machtypes)
13116 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13117 * grub-core/term/serial.c (loongson_defserial)
13118 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13119 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13120 loongson_defserial.
13121 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13122 Rename to ...
13123 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13124 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13125 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13126 to IMAGE_FULOONG2F_FLASH. All users updated.
13127 (image_targets): Rename images.
13128 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13129
b526cbb6
SJ
131302011-08-19 Szymon Janc <szymon@janc.net.pl>
13131
13132 Make enable of disk cache statistics code configurable.
13133
13134 * configure.ac: --enable-cache-stats added.
13135 * config.h.in (DISK_CACHE_STATS): New define.
13136 * grub-core/Makefile.core.def (cacheinfo): New command.
13137 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13138 * grub-core/commands/cacheinfo.c: New file.
13139 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13140 moved to cacheinfo.c.
13141 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13142 debug code.
13143 * include/grub/disk.h: Likewise.
13144
fb739ccd
SJ
131452011-08-19 Szymon Janc <szymon@janc.net.pl>
13146
13147 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13148 * grub-core/Makefile.am: Likewise.
13149
2bba8cfd
VS
131502011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13153 non-zero pull.
13154
43526629
VS
131552011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13158 All users updated.
13159 (grub_jfs_lookup_symlink): Use correct starting inode.
13160
5c144cc8
VS
131612011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * util/grub-setup.c (main): Add missing gcry initialisation.
13164
b1257f65
VS
131652011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 Don't accept text modes on EFI when booting Linux.
13168
13169 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13170 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13171
828bc390
ML
131722011-08-15 Mario Limonciello <mario_limonciello@dell.com>
131732011-08-15 Colin Watson <cjwatson@ubuntu.com>
13174
13175 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13176 use of "/path/.." as in grub-install for EFI as well as handling
13177 symlinks correctly.
13178 Fixes Debian bug #637768.
13179
5f60ccac
CW
131802011-08-15 Colin Watson <cjwatson@ubuntu.com>
13181
13182 * util/grub-probe.c: Remove duplicate #include.
13183
6dc212f9
RM
131842011-08-10 Robert Millan <rmh@gnu.org>
13185
13186 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13187
13188 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13189 function.
13190 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13191 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13192
66816d85
RM
131932011-08-03 Robert Millan <rmh@gnu.org>
13194
13195 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13196 la_array as packed.
13197 Reported by: Zachary Bedell
13198
20168fca
CW
131992011-07-26 Colin Watson <cjwatson@ubuntu.com>
13200
13201 * configure.ac: The Loongson port requires grub-mkfont due to its
13202 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13203 be built.
13204
303b6246
CW
132052011-07-26 Colin Watson <cjwatson@ubuntu.com>
13206
13207 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13208 processing arguments (otherwise help2man fails when GRUB has not yet
13209 been installed).
13210
6795300e
VS
132112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13212
41aa28ea
VS
13213 New script grub-mkstandalone.
13214
13215 * Makefile.util.def (grub-mkstandalone): New script.
13216 * docs/man/grub-mkstandalone.h2m: New file.
13217 * util/grub-mkstandalone.in: Likewise.
13218
132192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 Support ATA disks with 4K sectors.
6795300e
VS
13222
13223 * include/grub/ata.h (grub_ata): New member log_sector_size.
13224 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13225 (grub_ata_identify): Read sector size.
13226 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13227
92227597
VS
132282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 * util/grub-install.in: Don't use uhci outside of x86.
13231
c77069f5
VS
132322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * util/grub-mkrescue.in: Add missing quotes.
13235
132362011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13237
13238 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13239 dereference.
13240
583168a2
VS
132412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13244
6be1c01f
VS
132452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 * include/grub/video.h: add missing EXPORT_FUND on
13248 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13249
a1167439
VS
132502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * include/grub/mips/kernel.h: Fix define conflict.
13253
bf66054f
VS
132542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13257 all four ways.
13258
8fc4fa45
CW
132592011-07-21 Colin Watson <cjwatson@ubuntu.com>
13260
13261 Preferred resolution detection for VBE.
13262
13263 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13264 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13265 the Flat Panel extension, in line with the X.org VESA driver.
13266 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13267 New function.
13268 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13269 (grub_vbe_bios_read_edid): Likewise.
13270 (grub_vbe_get_preferred_mode): Likewise.
13271 (grub_video_vbe_setup): When the mode is "auto", try to get the
13272 preferred mode from VBE, and use the largest mode that is no larger
13273 than the preferred mode (some BIOSes expose a preferred mode that is
13274 not in their mode list!). If this fails, fall back to 640x480 as a
13275 safe conservative choice.
13276 (grub_video_vbe_get_edid): New function.
13277 (grub_video_vbe_adapter): Add get_edid.
13278 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13279 (struct grub_video_adapter): Add get_edid.
13280 (grub_video_edid_checksum): Add prototype.
13281 (grub_video_edid_preferred_mode): Likewise.
13282 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13283 structure.
13284
13285 * grub-core/commands/videoinfo.c (print_edid): New function.
13286 (grub_cmd_videoinfo): Print EDID if available.
13287
13288 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13289 is more appropriate on a wider range of platforms than 640x480.
13290 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13291 documentation.
13292
ca5572a9
VS
132932011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13296
e4bcf625
VS
132972011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * po/POTFILES.in: Regenerate.
13300
c4edd548
VS
133012011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13304 incorrect memory usage.
13305
16a2bab0
VS
133062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * util/grub-install.in: Source grub-mkconfig_lib.
13309
2e418de6
VS
133102011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 Remove getroot.c from core on emu platform.
13313
13314 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13315 kern/emu/raid.c.
13316 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13317 useless.
13318 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13319 * util/getroot.c (get_win32_path): ... here.
13320 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13321 * util/getroot.c (fini_libzfs): ... here.
13322 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13323 * util/getroot.c (grub_get_libzfs_handle): ... here.
13324 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13325 Moved from here...
13326 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13327 * grub-core/kern/emu/misc.c
13328 (grub_make_system_path_relative_to_its_root): Moved from here...
13329 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13330 * grub-core/kern/emu/getroot.c: Moved from here ...
13331 * util/getroot.c: ... here. All users updated.
13332 * grub-core/kern/emu/raid.c: Moved from here ...
13333 * util/raid.c: ... here. All users updated.
13334
def9832a
VS
133352011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * po/POTFILES.in: Regenerate.
13338
cd8fe79a
VS
133392011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 Fix compilation on GNU/Linux.
13342
13343 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13344 Disable geli.
13345 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13346 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13347 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13348
a251b719
VS
133492011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
133502011-07-07 Michael Gorven <michael@gorven.za.net>
133512011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13352
13353 LUKS and GELI support.
13354
13355 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13356 grub-core/disk/luks.c, grub-core/disk/geli.c,
13357 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13358 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13359 grub-core/lib/arg.c.
13360 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13361 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13362 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13363 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13364 (grub-bin2h): Add libgcry.a.
13365 (grub-mkimage): Likewise.
13366 (grub-mkrelpath): Likewise.
13367 (grub-script-check): Likewise.
13368 (grub-editenv): Likewise.
13369 (grub-mkpasswd-pbkdf2): Likewise.
13370 (grub-pe2elf): Likewise.
13371 (grub-fstest): Likewise.
13372 (grub-mkfont): Likewise.
13373 (grub-mkdevicemap): Likewise.
13374 (grub-probe): Likewise.
13375 (grub-ofpath): Likewise.
13376 (grub-mklayout): Likewise.
13377 (example_unit_test): Likewise.
13378 (grub-menulst2cfg): Likewise.
13379 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13380 * grub-core/Makefile.core.def (cryptodisk): New module.
13381 (luks): Likewise.
13382 (geli): Likewise.
13383 * grub-core/disk/AFSplitter.c: New file.
13384 * grub-core/disk/cryptodisk.c: Likewise.
13385 * grub-core/disk/geli.c: Likewise.
13386 * grub-core/disk/luks.c: Likewise.
13387 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13388 grub_util_is_lvm.
13389 (grub_util_get_dm_abstraction): New function.
13390 (grub_util_follow_gpart_up): Likewise.
13391 (grub_util_get_geom_abstraction): Likewise.
13392 (grub_util_get_dev_abstraction): Use new functions.
13393 (grub_util_pull_device): Pull GELI and LUKS.
13394 (grub_util_get_grub_dev): Handle LUKS and GELI.
13395 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13396 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13397 (follow_geom_up): Removed.
13398 (grub_util_fd_seek): New function.
13399 (open_device): Use grub_util_fd_seek.
13400 (nread): Rename to ..
13401 (grub_util_fd_read): ... this. All users updated.
13402 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13403 (grub_crypto_cbc_decrypt): Likewise.
13404 (grub_crypto_hmac_write): Likewise.
13405 (grub_crypto_hmac_buffer): Likewise.
13406 (grub_password_get): Extend to util.
13407 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13408 New member modname.
13409 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13410 * include/grub/cryptodisk.h: New file.
13411 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13412 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13413 LUKS and GELI.
13414 (grub_util_follow_gpart_up): New proto.
13415 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13416 (grub_util_fd_read): Likewise.
13417 (grub_cryptodisk_cheat_mount): Likewise.
13418 (grub_util_cryptodisk_print_uuid): Likewise.
13419 (grub_util_get_fd_sectors): Likewise.
13420 * util/grub-fstest.c (mount_crypt): New var.
13421 (fstest): Mount crypto if requested.
13422 (options): New option -C.
13423 (argp_parser): Parse -C.
13424 (main): Init and fini gcry.
13425 * util/grub-install.in: Support cryptodisk install.
13426 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13427 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13428 cryptodisk.
13429 (prepare_grub_to_access_device): Likewise.
13430 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13431 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13432 (probe_cryptodisk_uuid): New function.
13433 (probe_abstraction): Likewise.
13434 (probe): Use new functions.
13435 * util/import_gcry.py: Create Makefile.utilgcry.def.
13436 Add modname member.
13437
9bfdcbbc
VS
134382011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 Lazy device scanning.
13441
13442 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13443 (grub-setup): Remove util/raid.c.
13444 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13445 * grub-core/disk/lvm.c (scan_depth): New variable.
13446 (grub_lvm_iterate): Rescan if necessary.
13447 (find_lv): New function based on grub_lvm_open.
13448 (grub_lvm_open): Use find_lv. Rescan on error.
13449 (is_node_readable): New function.
13450 (is_lv_readable): Likewise.
13451 (grub_lvm_scan_device): Skip already found disks.
13452 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13453 Stop if searched device is found and readable.
13454 * grub-core/disk/raid.c (inscnt): New variable.
13455 (scan_depth): Likewise.
13456 (scan_devices): New function based on grub_raid_register. Abort if
13457 looked for device is found.
13458 (grub_raid_iterate): Rescan if needed.
13459 (find_array): NEw function based on -grub_raid_open.
13460 (grub_raid_open): Use find_array and rescan.
13461 (insert_array): Set became_readable_at.
13462 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13463 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13464 New function.
13465 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13466 (grub_util_pull_device): New function.
13467 (grub_util_get_grub_dev): Call grub_util_pull_device.
13468 * util/raid.c: Moved to ..
13469 * grub-core/kern/emu/raid.c: ... here.
13470 (grub_util_raid_getmembers): New parameter "bootable".
13471 All users updated. Support 1.x.
13472 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13473 All users updated.
13474 * include/grub/disk.h (grub_disk_pull_t): New enum.
13475 (grub_disk_dev): Change iterate prototype.
13476 All users updated.
13477 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13478 New proto.
13479 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13480 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13481 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13482 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13483 All users updated.
13484 * include/grub/util/raid.h: Removed.
13485
1c358e59
VS
134862011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * po/POTFILES.in: Regenerate.
13489
abee94ed
VS
134902011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Unify sparc init with other ieee1275.
13493
13494 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13495 instead of kern/sparc64/ieee1275/init.c.
13496 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13497 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13498 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13499 grub/machine/kernel.h.
13500 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13501 (grub_claim_heap) [__sparc__]: Use sparc version.
13502 (grub_machine_init): Moved args parsing to
13503 (grub_parse_cmdline): ...this.
13504 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13505 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13506 New definition.
13507 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13508
13509 Move BOOTP to separate file.
13510
13511 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13512 * grub-core/net/net.c: Move all BOOTP functions to
13513 * grub-core/net/bootp.c: ... here.
13514
13515 Use frame interface on PXE.
13516
13517 * grub-core/Makefile.core.def (pxecmd): Removed.
13518 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13519 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13520 * grub-core/i386/pc/pxe.c: Moved from here ...
13521 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13522 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13523 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13524
13525 EFI network support.
13526
13527 * grub-core/Makefile.core.def (efinet): New module.
13528 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13529 here...
13530 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13531 All users updated.
13532 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13533 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13534 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13535 * grub-core/net/drivers/efi/efinet.c: New file.
13536 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13537 (grub_efi_net_config): New extern var.
13538
13539 Various cleanups and bugfixes.
13540
13541 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13542 error.
13543 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13544 disk declared as partition.
13545 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13546 leak on failure.
13547 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13548 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13549 (grub_debug_zalloc): Likewise.
13550 (grub_debug_realloc): Likewise.
13551 (grub_debug_memalign): Likewise.
13552 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13553 Check that target is IPv4.
13554 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13555 local-mac-address as fallback.
13556 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13557 memory leak.
13558 * grub-core/net/ip.c (ipchksum): Rename to ...
13559 (grub_net_ip_chksum): ... this. All users updated.
13560 (grub_net_recv_ip_packets): Special handling for DHCP.
13561 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13562
13563 Unify prefix handling
13564
13565 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13566 (grub_machine_get_bootlocation): ... this.
13567 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13568 (grub_machine_get_bootlocation): ... this.
13569 (grub_prefix): New variable.
13570 (prefix): Removed.
13571 (root_dev): New variable.
13572 (dir): Likewise.
13573 (main): Use new variables.
13574 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13575 Revamped into ...
13576 (grub_machine_get_bootlocation): ... this.
13577 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13578 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13579 (grub_machine_get_bootlocation): ... this.
13580 (grub_machine_set_prefix): Removed.
13581 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13582 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13583 Revamped into ...
13584 (grub_machine_get_bootlocation): ... this.
13585 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13586 (grub_set_prefix_and_root): ... this. All users updated.
13587 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13588 Revamped into ...
13589 (grub_machine_get_bootlocation): ... this.
13590 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13591 (grub_machine_get_bootlocation): New proto.
13592 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13593
13594 Less intrusive and more reliable seek on network implementation.
13595
13596 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13597 (grub_file_seek): Don't call grub_file_net_seek.
13598 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13599 (grub_net_fs_read_real): .. this.
13600 (grub_net_seek_real): Use net->offset.
13601 (grub_net_fs_read): Seek if necessary.
13602
13603 Unify IEEE1275 netwotk config with the other platforms.
13604
13605 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13606 New variable.
13607 (grub_machine_get_bootlocation): Support network.
13608 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13609 Support type and device parsing.
13610 (grub_ieee1275_get_device_type): New function.
13611 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13612 into ...
13613 (grub_ieee1275_net_config_real): ... this.
13614 (grub_ofnet_probecards): Removed.
13615 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13616 * include/grub/ieee1275/ofnet.h: Removed.
13617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13618 extern var.
13619 (grub_ieee1275_get_device_type): New function.
13620
13621 Unify network device closing across platforms and make more robust.
13622
13623 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13624 grub_grubnet_fini.
13625 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13626 already.
13627 * grub-core/net/net.c (grub_net_network_level_interface_register):
13628 Update num_ifaces.
13629 (grub_net_card_unregister): Close all interfaces.
13630 (receive_packets): Don't poll if no iterfaces are registered.
13631 Open if necessary.
13632 (grub_net_fini_hw): New function.
13633 (grub_net_restore_hw): Likewise.
13634 (fini_hnd): New variable.
13635 (GRUB_MOD_INIT): Register preboot hook.
13636 (GRUB_MOD_FINI): Run and unregister preboot hook.
13637
13638 Poll network cards when idle.
13639
13640 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13641 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13642 * grub-core/net/net.c (receive_packets): Save last poll time.
13643 (grub_net_poll_cards_idle_real): New function.
13644 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13645 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13646 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13647
13648 Rename ofnet interfaces.
13649
13650 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13651 (grub_ofnet_findcards): Use ofnet_%s names.
13652
13653 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13654
13655 Cleanup socket opening.
13656
13657 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13658 (grub_net_fs_close): Likewise.
13659 (grub_net_fs_read_real): Use eof member.
13660 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13661 (+grub_net_udp_close): New inline function.
13662
13663 * include/grub/net/tftp.h: Moved to the top of ...
13664 * grub-core/net/tftp.c: ... here.
13665 * include/grub/net/ip.h: Moved mostly to the top of ...
13666 * grub-core/net/ip.c: ... here.
13667 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13668 * grub-core/net/ethernet.c: ... here.
13669
13670 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13671
13672 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13673 FS name.
13674
13675 * include/grub/net/ip.h (ipv4_ini): Removed.
13676 (ipv4_fini): Likewise.
13677
13678 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13679 (grub_net_send_ip_packets): Likewise.
13680
cf1337aa
VS
136812011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13684 grub_read_cmos prototype.
13685
93c06ff9
VS
136862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 VGA text support in qemu-mips
13689
13690 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13691 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13692 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13693 text.
13694 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13695 * grub-core/kern/vga_init.c: ... this.
13696 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13697 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13698 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13699 Adjust.
13700 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13701 GRUB_MACHINE_PCI_IO_BASE.
13702
748ccabe
VS
137032011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 MIPS qemu flash support.
13706
13707 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13708 magic.
13709 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13710 (grub_machine_init): Probe memory if its size isn't known.
13711 * util/grub-mkimage.c (image_targets): Add flash targets.
13712 (generate_image): Handle flash targets.
13713
d7345994
VS
137142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 MIPS qemu at_keyboard support.
13717
13718 * gentpl.py (videoinkernel): Add qemu-mips.
13719 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13720 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13721 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13722 modules.
13723 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13724 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13725 * grub-core/term/serial.c (grub_serial_register)
13726 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13727
a07a81b3
VS
137282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 CMOS support on sparc.
13731
13732 * gentpl.py (cmos): Add powerpc and sparc.
13733 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13734 powerpc and sparc.
13735 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13736 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13737 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13738 grub_set_datetime_cmos.
13739 * grub-core/lib/ieee1275/cmos.c: New file.
13740 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13741 (find_rtc): Set no_ieee1275_rtc on error.
13742 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13743 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13744 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13745 fail. Move value to argument. All users updated
13746 (grub_cmos_write): Likewise.
13747 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13748 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13749 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13750 grub_get_datetime_cmos and grub_set_datetime_cmos.
13751
77546584
GS
137522011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13753
13754 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13755 sourcing grub-mkconfig_lib.
13756 * util/update-grub_lib.in: Likewise.
13757 * util/grub.d/00_header.in: Likewise.
13758 * util/grub.d/10_hurd.in: Likewise.
13759 * util/grub.d/10_kfreebsd.in: Likewise.
13760 * util/grub.d/10_linux.in: Likewise.
13761 * util/grub.d/10_netbsd.in: Likewise.
13762 * util/grub.d/10_windows.in: Likewise.
13763 * util/grub.d/20_linux_xen.in: Likewise.
13764 * util/grub.d/30_os-prober.in: Likewise.
13765
54894791
CW
137662011-06-28 Colin Watson <cjwatson@ubuntu.com>
13767
13768 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13769 default_bg_color rather than black.
13770 (grub_gfxterm_fullscreen): Likewise.
13771 (grub_gfxterm_background_color_cmd): Save new background color in
13772 default_bg_color.
13773
8d5d8444
VS
137742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13777
5afeb5bd
VS
137782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13781 mismerge.
13782
ba7df45e
VS
137832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Chainloading on coreboot support.
13786
13787 * grub-core/Makefile.core.def (chain): Add coreboot.
13788 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13789
d0b526b2
VS
137902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13793 if it happens.
13794
5ff1d945
VS
137952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Implement time command.
13798
13799 * grub-core/Makefile.core.def (time): New module.
13800 * grub-core/commands/time.c: New file.
13801 * grub-core/script/parser.y: Remove "time" keyword.
13802 * grub-core/script/yylex.l: Likewise.
13803
5ebaad7e
VS
138042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13807
bdea3798
VS
138082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13811 when handling leftovers.
13812
b28c5655
VS
138132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13816 so that help2man doesn't fail.
13817
b6f945dc
VS
138182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13821 type in pointers on sparc64.
13822 (get_card_packet): Likewise.
13823
f9b75e8a
CW
138242011-06-27 Colin Watson <cjwatson@ubuntu.com>
13825
13826 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13827 with `*'.
13828 (grub_cmd_videoinfo): Fetch current video mode.
13829
1e3d9b86
VS
138302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13833 because of underlying system restrictions.
13834
efff4b1c
VS
138352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13838 necessary.
13839
9fc9ce37
VS
138402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 Coreboot video support.
13843
13844 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13845 (vbe): Likewise.
13846 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13847 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13848 here ...
13849 * grub-core/kern/i386/int.S: ... here.
13850 * grub-core/video/i386/pc/vbe.c: Updated includes.
13851 * grub-core/video/i386/pc/vga.c: Likewise.
13852 * include/grub/i386/coreboot/memory.h
13853 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13854 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13855 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13856 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13857 Disable interrupts.
13858 * include/grub/i386/pc/vga.h: Removed. All users updated.
13859
41bec7fe
VS
138602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13863 definitions for dprintf.
13864 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13865
ca80309d
VS
138662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13869 prototype.
13870 (get_card_packet): Likewise.
13871
9e322ce8
YB
138722011-06-26 Yves Blusseau <blusseau@zetam.org>
13873
13874 Display the path of the file when file is not found
13875
13876 * grub-core/fs/fat.c: Display the filename when file is not found.
13877 * grub-core/fs/fshelp.c: Likewise.
13878 * grub-core/fs/hfs.c: Likewise.
13879 * grub-core/fs/jfs.c: Likewise.
13880 * grub-core/fs/minix.c: Likewise.
13881 * grub-core/fs/ufs.c: Likewise.
13882 * grub-core/fs/btrfs.c: Likewise.
13883 * grub-core/commands/i386/pc/play.c: Likewise.
13884
cbf597af
SJ
138852011-06-26 Szymon Janc <szymon@janc.net.pl>
13886
13887 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13888 pointer checks before calling grub_free().
13889 * grub-core/commands/wildcard.c (match_devices): Likewise.
13890 * grub-core/commands/wildcard.c (match_files): Likewise.
13891 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13892 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13893 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13894 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13895 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13896 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13897 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13898 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13899 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13900
6295b32f
P
139012011-06-25 Patrick <p55@mailinator.com>
13902
13903 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13904
77c0840b
VS
139052011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13908 (grub_pxe_send): Likewise.
13909 (GRUB_MOD_INIT): Fix types.
13910
40ea05de
SJ
139112011-06-24 Szymon Janc <szymon@janc.net.pl>
13912
13913 * grub-core/io/xzio.c: Fix code style issues
13914
90162423
MRA
139152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
139162011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13917
13918 Network infrastructure.
13919 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13920
13921 * include/grub/net/arp.h: New file.
90162423
MRA
13922 * include/grub/net/device.h: Likewise.
13923 * include/grub/net/ethernet.h: Likewise.
13924 * include/grub/net/ip.h: Likewise.
13925 * include/grub/net/netbuff.h: Likewise.
13926 * include/grub/net/tftp.h: Likewise.
13927 * include/grub/net/udp.h: Likewise.
13928 * include/grub/ieee1275/ofnet.h: Likewise.
13929 * include/grub/emu/export.h: Likewise.
13930 * include/grub/net.h: Likewise.
13931 * grub-core/net/arp.c: Likewise.
13932 * grub-core/net/ethernet.c: Likewise.
13933 * grub-core/net/ip.c: Likewise.
13934 * grub-core/net/udp.c: Likewise.
13935 * grub-core/net/tftp.c: Likewise.
13936 * grub-core/net/netbuff.c: Likewise.
13937 * grub-core/net/net.c: Likewise.
13938 * grub-core/net/drivers/emu/emunet.c: Likewise.
13939 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13940 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13941 export.h.
13942 * grub-core/Makefile.core.def (net): New module.
13943 (tftp): Likewise.
13944 (ofnet): Likewise.
13945 (emunet): Likewise.
13946 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13947 network protocols.
13948 * grub-core/kern/device.c (grub_net_open) : New variable.
13949 (grub_device_open): Handle network device.
13950 (grub_device_close): Likewise.
13951 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13952 (grub_grubnet_fini): Likewise.
13953 (grub_file_seek): Seek in network device.
13954 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13955 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13956 network root.
13957 (grub_machine_fini): Call grub_grubnet_fini.
13958 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13959 network.
13960 (grub_ieee1275_get_aliasdevname): New function.
13961 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13962 Add unofficial Solaris network info.
13963 (grub_multiboot_make_mbi): Likewise.
13964 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13965 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13966 * include/grub/device.h (grub_fs): Removed.
13967 * include/grub/err.h (grub_err_t): Add network-related values.
13968 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13969 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13970 (grub_ieee1275_get_aliasdevname): New proto.
13971 * include/grub/net.h: Rewritten.
423a1849 13972
031f22a0
VS
139732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13976 names.
13977
4388ca72
VS
139782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13981 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13982 it truncates the output.
13983 Reported by: Ximin Luo.
13984
98e2f506
VS
139852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13988
2a5e94d8
VS
139892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13992 partmap before abstraction.
13993
535c1910
AK
139942011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13995
13996 * util/grub-mkconfig_lib.in: Add missing quotes.
13997
bc09e1a2
VS
139982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14001 old method if mountinfo would return /dev/root and /dev/root doesn't
14002 exist.
14003
290766fb
VS
140042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 ZFS zlib support
14007
14008 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14009 (decomp_table): Add zlib entries.
14010 (zio_read): USe 8 bits for compression function rather than 3.
14011 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14012
140132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * grub-core/disk/ahci.c: Add missing license statements.
14016 * grub-core/fs/romfs.c: Likewise.
14017 * grub-core/lib/ia64/setjmp.S: Likewise.
14018 * grub-core/loader/i386/pc/freedos.c: Likewise.
14019 * grub-core/loader/ia64/efi/linux.c: Likewise.
14020 * grub-core/video/colors.c: Likewise.
14021 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14022
5ab3f48a
VS
140232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 AHCI support.
14026
14027 * grub-core/Makefile.core.def (ata_pthru): Removed.
14028 (ahci): New module.
14029 (pata): Likewise.
14030 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14031 on unload.
14032 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14033 readwrite.
14034 (grub_hdparm_do_check_powermode_cmd): Likewise.
14035 (grub_hdparm_do_smart_cmd): Likewise.
14036 (grub_hdparm_set_val_cmd): Likewise.
14037 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14038 * grub-core/disk/ahci.c: New file.
14039 * grub-core/disk/ata.c: Factor out the low-level part into ...
14040 * grub-core/disk/pata.c: ... here.
14041 * grub-core/disk/ata_pthru.c: Contents moved to ...
14042 * grub-core/disk/pata.c: ... here.
14043 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14044 (grub_scsi_iterate): Use grub_scsi_names.
14045 (grub_scsi_open): Likewise.
14046 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14047 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14048 (grub_ata_regs_t): New struct.
14049 (grub_disk_ata_pass_through_parms): Likewise.
14050 (grub_ata_device): Renamed to ...
14051 (grub_ata): ... this.
14052 (grub_ata_dev): New struct.
14053 Removed all low-level inline functions.
14054 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14055 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14056 iterate hooks and open. All users updated.
14057 * util/grub-install.in: Handle AHCI disk module.
14058
c31dc5f5
SJ
140592011-06-23 Szymon Janc <szymon@janc.net.pl>
14060
14061 Add support for DRI and RSTn markers in JPEG files.
14062
14063 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14064 (JPEG_MARKER_RST0): Likewise.
14065 (JPEG_MARKER_RST1): Likewise.
14066 (JPEG_MARKER_RST2): Likewise.
14067 (JPEG_MARKER_RST3): Likewise.
14068 (JPEG_MARKER_RST4): Likewise.
14069 (JPEG_MARKER_RST5): Likewise.
14070 (JPEG_MARKER_RST6): Likewise.
14071 (JPEG_MARKER_RST7): Likewise.
14072 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14073 (grub_jpeg_decode_dri): New function.
14074 (grub_jpeg_decode_sos): Move image data related part into
14075 grub_jpeg_decode_data function.
14076 (grub_jpeg_decode_data): New function.
14077 (grub_jpeg_reset): New function.
14078 (grub_jpeg_decode_jpeg): Handle new markers.
14079
fe12fd5b
VS
140802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * util/ieee1275/ofpath.c (check_sas): Close fd.
14083 (main): Free of_path.
14084 Reported by: David Volgyes <dvolgyes>.
14085
03147f46
VS
140862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14089 Reported by: David Volgyes <dvolgyes>.
14090
cad3237f
VS
140912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14094 file after stat.
14095 Reported by: David Volgyes <dvolgyes>.
14096
13548d26
VS
140972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14100
14101 Reported by: David Volgyes <dvolgyes>.
14102
e061a1b5
VS
141032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14106 Prevent memory leak.
14107
1abe47dc
VS
141082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14111 (main): Close file.
e061a1b5 14112 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14113
fbc62666
VS
141142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14117 to continue if allocation is failed.
14118
14119 Reported by: David Volgyes <dvolgyes>.
14120
e98c83e9
DV
141212011-06-23 David Volgyes <dvolgyes>
14122
14123 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14124 dereference.
14125
a199a8cd
VS
141262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 Fix spurious warning.
14129
14130 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14131 (acorn_partition_map_find): Use .bin member.
14132
e2d1dba0
VS
141332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14136 /dev/root as a valid device.
14137
8a5d6919
JM
141382011-06-23 Jim Meyering <meyering@redhat.com>
14139
e2d1dba0
VS
14140 Avoid NULL deref in grub_device_open.
14141
8a5d6919
JM
14142 * grub-core/kern/device.c (grub_device_open): Don't dereference
14143 a NULL pointer upon failed grub_env_get.
14144
f7db6f4a
VS
141452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 Support non-512B sectors and agglomerate reads.
14148
14149 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14150 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14151 (disk_io_guid): Removed.
14152 (make_devices): Locate solely by BlockIO.
14153 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14154 (grub_efidisk_read): Use read_blocks.
14155 (grub_efidisk_write): Use write_blocks.
14156 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14157 log_sector_size.
14158 (get_safe_sectors): Handle non-512B sectors.
14159 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14160 sectors.
14161 (grub_biosdisk_write): Handle non-512B sectors.
14162 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14163 (grub_scsi_read): Remove special non-512B block handling (now handled
14164 one level up).
14165 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14166 and do sanity checks.
14167 (grub_disk_adjust_range): Handle non-512B sectors.
14168 (transform_sector): New function.
14169 (grub_disk_read_small): Likewise.
14170 (grub_disk_read): Rewritten.
14171 (grub_disk_write): Handle non-512B sectors.
14172 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14173 log_sector_size.
14174 (open_device): Use log_sector_size.
14175 (grub_util_biosdisk_read): Likewise.
14176 (grub_util_biosdisk_write): Likewise.
14177 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14178 non-512B sectors.
14179 (pc_partition_map_embed): Likewise.
14180 * include/grub/disk.h (grub_disk): New field log_sector_size.
14181 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14182 (GRUB_DISK_CACHE_BITS): Increased to 6.
14183 * util/grub-fstest.c (fstest): New command testload.
14184 (argp_parser): Likewise.
14185
881ac815
RM
141862011-06-16 Robert Millan <rmh@gnu.org>
14187
14188 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14189 `ata' driver on kernel of FreeBSD 9.
14190
14191 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14192 (get_ataraid_disk_name): New functions.
14193 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14194 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14195 get_ataraid_disk_name() and get_ada_disk_name().
14196
1e9aef7d
CW
141972011-06-13 Colin Watson <cjwatson@ubuntu.com>
14198
14199 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14200 input format.
14201
351c7c8a
CW
142022011-05-29 Colin Watson <cjwatson@ubuntu.com>
14203
14204 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14205 `ftp.gnu.org' for `alpha.gnu.org'.
14206
6b4e6430
CW
142072011-05-27 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14210 partitions under /dev/disk/by-id/.
14211
c64db050
CW
142122011-05-27 Colin Watson <cjwatson@ubuntu.com>
14213
14214 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14215 after ten consecutive open failures. Scanning all the way up to
14216 10000 is excessive and can cause serious performance problems in
14217 some configurations.
14218 Fixes Ubuntu bug #787461.
14219
245f4aba
VS
142202011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14223 opening new one.
14224
f767c929
VS
142252011-05-21 Colin Watson <cjwatson@ubuntu.com>
142262011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 Don't stat devices unless we have to.
14229
14230 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14231 dir == /dev/mapper.
14232 (grub_guess_root_device): Use already known os_dev if possible.
14233 * grub-core/kern/emu/hostdisk.c
14234 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14235 if device is known to be a dm one.
14236
f35fa3a6
CW
142372011-05-20 Colin Watson <cjwatson@ubuntu.com>
14238
14239 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14240 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14241 Reported by: Pawel Tecza.
14242
9a79fcf2
VS
142432011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14246 (lsefisystab): Likewise.
14247 (lssal): Likewise.
14248 (lsefimmap): Likewise.
14249 (hdparm): Enable on qemu-mips.
14250 (setjmp): Add ia64 nodist.
14251 (serial): Simplify tags.
14252
63e3eea9
CW
142532011-05-18 Colin Watson <cjwatson@ubuntu.com>
14254
14255 * Makefile.util.def (grub-ofpathname): Install manual page.
14256
09728256
CW
142572011-05-18 Colin Watson <cjwatson@ubuntu.com>
14258
14259 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14260
8b63a142
CW
142612011-05-18 Colin Watson <cjwatson@ubuntu.com>
14262
14263 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14264
e775d8ed
VS
142652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14268 into dprintf.
14269
bf947d36
VS
142702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 Use full 64-bit division.
14273
14274 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14275 (grub_divmod64): ... this.
14276 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14277 version.
14278
b84f26c5
CW
142792011-05-18 Colin Watson <cjwatson@ubuntu.com>
14280
14281 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14282 `source'.
14283
5626056f
CW
142842011-05-18 Colin Watson <cjwatson@ubuntu.com>
14285
14286 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14287 to avoid accidents when debugging with 'sh -x'.
14288 * grub-core/gensyminfo.sh.in: Likewise.
14289 * tests/example_scripted_test.in: Likewise.
14290 * tests/grub_cmd_regexp.in: Likewise.
14291 * tests/grub_script_blanklines.in: Likewise.
14292 * tests/grub_script_dollar.in: Likewise.
14293 * tests/grub_script_expansion.in: Likewise.
14294 * tests/grub_script_final_semicolon.in: Likewise.
14295 * tests/partmap_test.in: Likewise.
14296 * tests/util/grub-shell-tester.in: Likewise.
14297 * tests/util/grub-shell.in: Likewise.
14298
e2965f4a
CW
142992011-05-18 Colin Watson <cjwatson@ubuntu.com>
14300
14301 Move gfxmenu color handling to video, so that gfxterm can use it
14302 too.
14303
14304 * grub-core/gfxmenu/named_colors.c: Move to ...
14305 * grub-core/video/colors.c: ... here. Rename
14306 grub_gui_get_named_color to grub_video_get_named_color.
14307 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14308 * grub-core/video/colors.c (my_isxdigit): ... here.
14309 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14310 Move to ...
14311 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14312 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14313 to ...
14314 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14315
14316 * include/grub/gui.h (grub_gui_color_t): Move to ...
14317 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14318 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14319 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14320 * include/grub/gui.h (grub_gui_map_color): Move to ...
14321 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14322 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14323 to ...
14324 * include/grub/video.h (grub_video_get_named_color): ... here.
14325 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14326 * include/grub/video.h (grub_video_parse_color): ... here.
14327
14328 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14329 video/colors.c.
14330 (gfxmenu): Remove gfxmenu/named_colors.c.
14331 (video) [videomodules]: Add video/colors.c.
14332
14333 Add a background_color command.
14334
14335 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14336 function.
14337 (GRUB_MOD_INIT): Register background_color command.
14338 (GRUB_MOD_FINI): Unregister background_color command.
14339 (redraw_screen_rect): Allow blend/replace of text layer to be
14340 controlled independently from whether there is a background bitmap.
14341 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14342 changing bitmap.
14343
1e4b4390
VS
143442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14345
26618ff0
VS
14346 Patch BPB in ntldr and chainloader --bpb.
14347
1e4b4390
VS
14348 * grub-core/fs/fat.c: Include grub/fat.h.
14349 (grub_fat_bpb): Moved to ...
14350 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14351 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14352 grub/ntfs.h.
14353 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14354 Moved from here...
14355 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14356 here.
14357 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14358 New function.
14359 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14360 (GRUB_MOD_INIT): Show --bpb.
14361 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14362 * grub-core/normal/main.c (features): New variable.
14363 (GRUB_MOD_INIT): Set feature_* variables.
14364 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14365 proto.
14366 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14367
cf02731e
VS
143682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14371 for cleanness.
14372
e3a1073f
VS
143732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 FreeDOS direct loading support.
14376
14377 * docs/grub.texi (Supported OS): Add FreeDOS.
14378 * grub-core/Makefile.core.def (freedos): New module.
14379 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14380 variable.
14381 (grub_relocator16_boot): Handle %ebx.
14382 * grub-core/lib/i386/relocator16.S: Likewise.
14383 * grub-core/loader/i386/pc/freedos.c: New file.
14384
05caa461
VS
143852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 Long Linux command line support.
14388
14389 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14390 (maximal_cmdline_size): New variable.
14391 (allocate_pages): Use maximal_cmdline_size.
14392 (grub_cmd_linux): Set and use maximal_cmdline_size.
14393 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14394 (allocate_pages): Use maximal_cmdline_size.
14395 (grub_cmd_linux): Set and use maximal_cmdline_size.
14396 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14397 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14398 and cmdline_size.
14399
a2491e23
VS
144002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
144012011-05-18 Colin Watson <cjwatson@ubuntu.com>
14402
14403 Improve devmapper support
14404
14405 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14406 (grub_util_is_lvm): New function.
14407 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14408 than lvm if not dmraid.
14409 Handle mapped md nodes.
14410 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14411 (grub_util_device_is_mapped): ... this. Make always available. All users
14412 updated.
14413 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14414 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14415 dmraid nodes.
14416 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14417
6ad6223e
VS
144182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14421
14422 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14423 * grub-core/modinfo.sh.in: New file.
14424 * grub-core/Makefile.core.def (modinfo.sh): New script.
14425 * util/grub-mknetdir.in: Use modinfo.sh.
14426 * util/grub-mkrescue.in: Likewise.
14427
543a8f6e
VS
144282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14431 Fix potential usage of Elf32 instead of Elf64 when compiling on
14432 32-bit architecture. Add endianness macros while on it.
14433
4959e111
VS
144342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 Use mipsel- rather than mips- in directories involving mipsel ports to
14437 allow both endiannesses coexist.
14438
14439 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14440 mips. All conditions adjusted.
14441 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14442 variable.
14443 * util/grub-install.in: Adjust conditions to take renaming into account.
14444 * util/grub-mkimage.c (image_targets): Likewise. New target
14445 mips-qemu_mips-elf for bigendian mips.
14446
35341bbc
VS
144472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 Avoid unnecessary copying on MIPS.
14450
14451 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14452 early if src == dest.
14453 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14454 compression is none.
14455
b772baed
VS
144562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 Reduce memory footprint on SGI by putting modules before the kernel
14459 as opposed to after.
14460
14461 * grub-core/Makefile.core.def (kernel): Increase linking address.
14462 (none_decompress): Likewise.
14463 (xz_decompress): Likewise.
14464 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14465 address.
14466 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14467 layout change.
14468 (grub_arch_modules_addr): New function.
14469 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14470 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14471 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14472 here.
14473 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14474 (grub_total_modules_size): ... this. Make global.
14475 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14476 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14477 New definition.
14478 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14479 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14480 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14481 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14482 * util/grub-mkimage.c (image_target_desc): New flag
14483 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14484 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14485 (generate_image): Handle images with modules before kernel.
14486
566a1917
VS
144872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 Prevent potential loss of memory map by overwrite on qemu-mips.
14490
14491 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14492 Save ram size in $s4.
14493 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14494 All users changed to grub_arch_memsize.
14495 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14496 Loongson.
14497 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14498 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14499 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14500 external variable.
14501
5d420cd9
CW
145022011-05-17 Colin Watson <cjwatson@ubuntu.com>
14503
14504 * .bzrignore: Remove grub-dumpbios.
14505
d064b830
CW
145062011-05-17 Colin Watson <cjwatson@ubuntu.com>
14507
14508 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14509 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14510 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14511 existing options which append).
14512 * docs/grub.texi (Simple configuration): Document new options.
14513 Reported by: Ian Jackson. Fixes Debian bug #617538.
14514
3ca2b466
CW
145152011-05-17 Colin Watson <cjwatson@ubuntu.com>
14516
14517 * util/grub-fstest.c (cmd_cat): New function.
14518 (fstest): Handle CMD_CAT.
14519 (options): Add cat.
14520 (argp_parser): Handle cat.
14521
24c9143a
CW
145222011-05-17 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * Makefile.util.def (grub-bin2h): Don't install.
14525 * docs/man/grub-bin2h.h2m: Remove.
14526
90f7ac19
VS
145272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14530 place.
14531
8d4a5178
VS
145322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 Reenable qemu-mips port.
14535
14536 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14537 Fix small arc bug while on it.
14538 * gentpl.py: Handle qemu_mips.
14539 * grub-core/Makefile.am: Likewise.
14540 * grub-core/Makefile.core.def: Likewise.
14541 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14542 inappropriate includes.
14543 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14544 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14545 * grub-core/kern/main.c (grub_modules_get_end)
14546 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14547 * grub-core/kern/mips/qemu-mips: Moved to ..
14548 * grub-core/kern/mips/qemu_mips: ... this.
14549 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14550 (grub_machine_init): Call terminfo_init and serial_init.
14551 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14552 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14553 New variable.
14554 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14555 parameter passing.
14556 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14557 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14558 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14559 * include/grub/mips/qemu_mips/cmos.h: New file.
14560 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14561 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14562 Removed.
14563 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14564 Use correct mips-style address.
14565 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14566 (GRUB_TICKS_PER_SECOND): Removed.
14567 (grub_get_rtc): Likewise.
14568 (grub_cpu_idle): Likewise.
14569 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14570 New definition.
14571 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14572 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14573 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14574 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14575 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14576 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14577 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14578 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14579
400b9371
VS
145802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 SGI ARCS port.
14583
14584 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14585 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14586 platforms.
14587 * configure.ac: New target mips-arc.
14588 * gentpl.py: Likewise.
14589 * grub-core/Makefile.am: Likewise.
14590 * grub-core/Makefile.core.def: Likewise.
14591 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14592 (none_decompress): Likewise.
14593 (lsdev): New module.
14594 (datetime): Use lib/arc/datetime.c on ARC.
14595 (part_dvh): New module.
14596 * grub-core/commands/arc/lsdev.c: New file.
14597 * grub-core/disk/arc/arcdisk.c: Likewise.
14598 * grub-core/kern/mips/arc/init.c: Likewise.
14599 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14600 aligned addresses.
14601 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14602 support.
14603 (grub_arch_dl_relocate_symbols): Likewise.
14604 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14605 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14606 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14607 platforms.
14608 * grub-core/lib/arc/datetime.c: New file.
14609 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14610 pci.h on non-loongson.
14611 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14612 (grub_linux_boot): Set unused registers to 0.
14613 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14614 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14615 * grub-core/mmap/mips/uppermem.c: ...here.
14616 * grub-core/partmap/dvh.c: New file.
14617 * grub-core/term/arc/console.c: Likewise.
14618 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14619 (grub_terminfo_set_current): Add terminal "arc".
14620 (grub_terminfo_readkey): Support ARC sequences.
14621 * include/grub/arc/arc.h: New file.
14622 * include/grub/arc/console.h: Likewise.
14623 * include/grub/disk.h (grub_disk_dev_id): Add
14624 GRUB_DISK_DEVICE_ARCDISK_ID.
14625 * include/grub/mips/arc/kernel.h: New file.
14626 * include/grub/mips/arc/memory.h: Likewise.
14627 * include/grub/mips/arc/time.h: Likewise.
14628 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14629 * include/grub/mips/kernel.h (grub_halt): ... here.
14630 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14631 here...
14632 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14633 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14634 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14635 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14636 proto.
14637 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14638 from here ...
14639 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14640 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14641 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14642 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14643 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14644 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14645 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14646 (grub_phys_addr_t): Moved from here ...
14647 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14648 (grub_vtop): Moved from here ...
14649 * include/grub/mips/memory.h (grub_vtop): ... here.
14650 (grub_map_memory): Moved from here ...
14651 * include/grub/mips/memory.h (grub_map_memory): ... here.
14652 (grub_unmap_memory): Moved from here ...
14653 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14654 (grub_machine_mmap_iterate): Moved from here ...
14655 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14656 (grub_mmap_get_lower): Moved from here ...
14657 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14658 (grub_mmap_get_upper): Moved from here ...
14659 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14660 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14661 here ...
14662 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14663 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14664 here ...
14665 * include/grub/mips/time.h (grub_get_rtc): ... here.
14666 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14667 here ...
14668 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14669 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14670 here ...
14671 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14672 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14673 definition.
14674 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14675 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14676 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14677 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14678 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14679 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14680 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14681 (GRUB_MACHINE_LINK_ADDR): Likewise.
14682 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14683 to 6.
14684 * util/grub-install.in: Run dvhtool on ARC.
14685 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14686 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14687
c8ecc840
VS
146882011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14689
14690 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14691 blocks.
14692
153a4b55
VS
146932011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14696 after enabling port.
14697
ff44d107
VS
146982011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 Skip incorrect USB devices.
14701
14702 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14703 configcnt == 0.
14704 * include/grub/usb.h (grub_usb_err_t): New enum value
14705 GRUB_USB_ERR_BADDEVICE.
14706
638dbe4f
VS
147072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 Fuloong video init support.
14710
14711 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14712 well.
14713 (grub_vga_read_arx): New function.
14714 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14715 definition.
14716 (framebuffer): New members io, mmioptr and mmiobase.
14717 (read_sis_cmd): New function.
14718 (write_sis_cmd): Likewise.
14719 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14720 rather than 640x400.
14721 * grub-core/video/sis315_init.c: New file.
14722
c3fc520c
VS
147232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14726 non-loongson.
14727 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14728 to grub_dl_register_symbol.
14729
67b1e5c9
VS
147302011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Fix compilation errors.
14733
14734 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14735 potentially unused.
14736 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14737 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14738 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14739 to loongson machines.
14740
b756f75f
VS
147412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14742
14743 Several FS mtime support.
14744
14745 * grub-core/fs/affs.c (grub_affs_time): New struct.
14746 (grub_affs_file): New field mtime.
14747 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14748 type. Removed 'size'. New field 'di'. All users updated.
14749 (grub_affs_mount): Simplify checsum checking.
14750 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14751 (grub_affs_dir): Handle mtime.
14752 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14753 (grub_cpio_dir): Likewise.
14754 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14755 (grub_hfs_filerec): New field mtime.
14756 (grub_hfs_dir): Handle mtime.
14757 (grub_hfs_mtime): New function.
14758 (grub_hfs_fs): Register grub_hfs_mtime.
14759 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14760 (grub_iso9660_dir): New field mtime.
14761 (grub_fshelp_node): New field dirent.
14762 (iso9660_to_unixtime): New function.
14763 (iso9660_to_unixtime2): Likewise.
14764 (grub_iso9660_read_symlink): Use node->dirent.
14765 (grub_iso9660_iterate_dir): Likewise.
14766 (grub_iso9660_dir): Set mtime.
14767 (grub_iso9660_mtime): New function.
14768 (grub_iso9660_fs): Register grub_iso9660_mtime.
14769 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14770 (grub_jfs_inode): New fields atime, ctime and mtime.
14771 (grub_jfs_dir): Set mtime.
14772 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14773 * grub-core/fs/ntfs.c (list_file): Set mtime.
14774 (grub_ntfs_dir): Likewise.
14775 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14776 (grub_reiserfs_iterate_dir): Set mtime.
14777 (grub_reiserfs_dir): Likewise.
14778 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14779 (grub_fshelp_node): Likewise.
14780 (grub_sfs_iterate_dir): Set mtime.
14781 (grub_sfs_dir): Likewise.
14782 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14783 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14784 (grub_xfs_inode): New fields atime, mtime, ctime.
14785 (grub_xfs_dir): Set mtime.
14786 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14787 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14788 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14789
14790 Support UDF symlinks.
14791
14792 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14793 (grub_ufs_read_symlink): New function. All users updated.
14794
14795 Check amiga partmap checksum.
14796
14797 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14798 (grub_amiga_partition): Likewise.
14799 (amiga_partition_map_checksum): New function.
14800 (amiga_partition_map_iterate): Check checksum.
14801
5470225d
VS
148022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 ROMFS support.
14805
14806 * Makefile.util.def (libgrubmods.a): Add romfs.
14807 * grub-core/Makefile.core.def (romfs): New module.
14808 * grub-core/fs/romfs.c: New file.
14809
d4680a35
VS
148102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 Squashfs v4 support.
14813
14814 * Makefile.util.def (libgrubmods.a): Add squash4.
14815 * grub-core/Makefile.core.def (squash4): New module.
14816 * grub-core/fs/squash4.c: New file.
14817 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14818 disk_input_start, disk_input.
14819 (get_byte): Handle disk_input.
14820 (grub_zlib_disk_read): New function.
14821 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14822
bcb18e74
FZ
148232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
148242011-05-15 Feiran Zheng <famcool@gmail.com>
14825
14826 * Makefile.util.def (libgrubmods.a): Add minix3.
14827 * grub-core/Makefile.core.def (minix3): New module.
14828 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14829 (GRUB_MINIX_BSIZE): Removed.
14830 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14831 (grub_minix_ino_t): New type.
14832 (grub_minix_le_to_cpu_ino): New macro.
14833 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14834 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14835 (grub_minix_data): New field block_size.
14836 (grub_minix_read_file): Handle 64-bit correctly.
14837 * grub-core/fs/minix3.c: New file.
14838
32297d5f
TG
148392011-05-15 Tristan Gingold <gingold@free.fr>
148402011-05-15 Robert Millan <rmh.grub@aybabtu.com>
148412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 IA64 support.
14844
14845 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14846 * configure.ac: Add ia64-efi target.
14847 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14848 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14849 * gentpl.py: Add ia64_efi platform.
14850 Rename x86_efi to efi and Add ia64-efi. All users updated.
14851 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14852 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14853 Remove kern/generic/rtc_get_time_ms.c on EFI.
14854 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14855 kern/ia64/dl_helper.c on ia64-efi.
14856 Add kern/emu/cache.c on emu.
14857 (linux): Use on loader/ia64/efi/linux.c on ia64.
14858 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14859 whether symbol is a function.
14860 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14861 (grub_symbol): New field 'isfunc'.
14862 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14863 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14864 (grub_dl_load_segments): Place all sections into the same region.
14865 [__ia64__]: Create trampolines and got.
14866 [GRUB_MACHINE_EMU]: Call mprotect.
14867 (grub_dl_resolve_symbols): Resolve symbol type as well.
14868 [__ia64__]: Create function descriptors.
14869 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14870 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14871 (grub_get_rtc): New function.
14872 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14873 * grub-core/kern/emu/cache.S: Renamed to ...
14874 * grub-core/kern/emu/cache_s.S: ... this.
14875 [__ia64__]: Add a nop.
14876 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14877 [__ia64__]: New function.
14878 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14879 * grub-core/kern/ia64/dl.c: New file.
14880 * grub-core/kern/ia64/dl_helper.c: Likewise.
14881 * grub-core/kern/ia64/efi/init.c: New file.
14882 * grub-core/kern/ia64/efi/startup.S: Likewise.
14883 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14884 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14885 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14886 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14887 * grub-core/loader/ia64/efi/linux.c: New file.
14888 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14889 (GRUB_MOD_DEP): Likewise.
14890 (grub_dl) [__ia64__]: New fields got and tramp.
14891 (grub_dl): New field 'base'.
14892 (grub_dl_register_symbol): New argument isfunc. All users updated.
14893 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14894 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14895 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14896 (grub_ia64_dl_get_tramp_got_size): New proto.
14897 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14898 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14899 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14900 * include/grub/efi/api.h: Skip call wrappers on ia64.
14901 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14902 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14903 * include/grub/elf.h (ELF_ST_INFO): New definition.
14904 * include/grub/ia64/efi/kernel.h: New file.
14905 * include/grub/ia64/efi/memory.h: Likewise.
14906 * include/grub/ia64/efi/time.h: Likewise.
14907 * include/grub/ia64/kernel.h: Likewise.
14908 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14909 * include/grub/ia64/time.h: New file.
14910 * include/grub/ia64/types.h: Likewise.
14911 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14912 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14913 New protos.
14914 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14915 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14916 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14917 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14918 All users updated.
14919 (EFI64_HEADER_SIZE): New definition. All users updated.
14920 (image_targets): Add ia64-efi.
14921 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14922 jumpers_addr. All users updated.
14923 Create function descriptors.
14924 (count_funcs): New function.
14925 (unaligned_uint32): New struct.
14926 (MASK20): New definition.
14927 (MASK19): Likewise.
14928 (MASKF21): Likewise.
14929 (add_value_to_slot_20b): New function.
14930 (add_value_to_slot_21_real): Likewise.
14931 (add_value_to_slot_21): Likewise.
14932 (ia64_kernel_trampoline): New struct.
14933 (nopm): New variable.
14934 (jump): Likewise.
14935 (make_trampoline): New function.
14936 (relocate_addresses): Handle ia64.
14937 (make_reloc_section): Likewise.
14938 (load_image): Likewise.
14939
983b414d
VS
149402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14943 warning. Move variables before code while on it.
14944
5d063cdc
VS
149452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 Fuloong support.
14948
14949 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14950 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14951 * grub-core/boot/mips/loongson/fuloong.S: New file.
14952 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14953 Explicitly init CS5536.
14954 [FULOONG]: Don't use serial until CS5536 is available.
14955 Set GPIO based on dumps.
14956 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14957 [FULOONG]: Handle GPIO and memory controller differences.
14958 Parse machine type in $a2.
14959 * grub-core/boot/mips/startup_raw.S: Determine and save the
14960 architecture.
14961 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14962 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14963 init on architecture type.
14964 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14965 SIS315E. Don't init at_keyboard on fuloong.
14966 (grub_halt): Support Fuloong.
14967 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14968 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14969 (loongson_machtypes): New array.
14970 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14971 type.
14972 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14973 config. All users updated. Handle CS5536 serial.
14974 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14975 default port on machine type. Register serial as inactive.
14976 * grub-core/video/sis315pro.c: New file.
14977 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14978 definition.
14979 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14980 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14981 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14982 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14983 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14984 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14985 to ...
14986 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14987 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14988 definition.
14989 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14990 (grub_arch_machine): New extern var.
14991 * include/grub/mips/loongson/serial.h
14992 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14993 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14994 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14995 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14996 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14997 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14998 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14999 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15000 * include/grub/term.h (grub_term_register_input_inactive): New inline
15001 function.
15002 (grub_term_register_output_inactive): Likewise.
15003 * include/grub/video.h (grub_video_driver_id): New value
15004 GRUB_VIDEO_DRIVER_SIS315PRO.
15005 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15006 New field "names". All users updated.
15007 New field value IMAGE_FULOONG_FLASH.
15008 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15009
6ada82d1
JU
150102011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15011
15012 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15013 and add some clarification.
15014
90c571a4
VS
150152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15018 platforms if kernel is compressed.
15019
de04eecf
VS
150202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15023 unused modules since currently referrence counter isn't reliable and
15024 there isn't much memory to recover there anyway.
15025
57688121
VS
150262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15029 rather than resetting it to allow modules to reference themselves
15030 in init.
15031
3d2c7e35
VS
150322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15035 counter on dependencies since grub_dl_unref already handles this.
15036
b25db218
VS
150372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15040 on error if not already done.
15041
25a45338
VS
150422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 Fix few potential memory misusage.
15045
15046 * grub-core/font/font.c (load_font_index): Don't free char_index to
15047 avoid double free.
b25db218
VS
15048 (grub_font_load): Zero-fill font at alloc for safety.
15049 Close file on error.
15050 (free_font): Free bmp_idx.
25a45338 15051
0cac83df
VS
150522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * docs/grub.texi (Installation): Fix several outdated claims.
15055
2217a143
VS
150562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 Handle module_license on windows.
15059
15060 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15061 sections shifted.
15062 (insert_string): Make argument const char * instead of char *.
15063 (write_section_data): Handle long section names.
15064 Handle module_license.
15065
d4de6b01
VS
150662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15069 handle class-free menuentries.
15070 (grub_normal_add_menu_entry): Add a check to be sure.
15071
4c2a3b43
VS
150722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15075 PgUp and PgDown.
15076
85c6210f
VS
150772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * configure.ac: Bump version to 1.99.
15080
36084912
VS
150812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 Give ATA device a bit more time on first try in order to allow disks
15084 to spin up.
15085
15086 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15087 if dev->present is 1. Reset dev->present on failure.
15088 (grub_ata_device_initialize): Set dev->present to 1.
15089 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15090 (grub_ata_device): New member 'present'.
15091
bda0e219
VS
150922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 * util/grub-mkimage.c (generate_image): Update hash.
15095
19e1c41b
VS
150962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 Flush caches on DMA memory.
15099
15100 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15101 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15102 (grub_dma_free): Likewise.
15103 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15104
91bbcc0c
VS
151052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15108 to avoid asm treating ld and sd as macros.
15109
60ddfad3
VS
151102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15113 decompressor.
15114
a298aa04
VS
151152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15118 grub_decompress_core since later would fail if grub_decompress_core
15119 is too far.
15120
9b44feca
VS
151212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15124 R_MIPS_JALR since it's used by newer compiler.
15125
56dbe7b4
VS
151262011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15129
52856af2
VS
151302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15133 file_path to 0 for surety.
15134 (grub_chainloader_boot): Set exit_data to NULL.
15135 Unset the loader once done.
15136 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15137
9c9bfc6d
VS
151382011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15141 unknown key into a dprintf.
15142
dd94a3df
VS
151432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15146 on first non-existant partition.
15147
fa68d99c
VS
151482011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15151 openning fails.
15152 Reported by: Mark Korenberg.
15153
157effb7
VS
151542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15157 overflow.
15158
ea75312f
VS
151592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15162 before closing to ensure that it will be readable by grub-setup.
15163
072b5d31
VS
151642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15167 (devpath_1): Use MAKE_PIWG_PATH.
15168 (devpath_2): Likewise.
15169 (devpath_3): Likewise.
15170 (devpath_4): Likewise.
15171 (devpath_5): Likewise.
15172 (devpath_6): Likewise.
15173
15174 The appleldr.mod was checked that to be binary identical to previous
15175 version.
15176
7fae0051
Z
151772011-05-05 Zach <mikezackles>
15178
15179 Support 2010 Macbooks.
15180
15181 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15182 (devs): Add devpath_6.
15183
7c515bee
VS
151842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15187 /dev/random. /dev/urandom is good enough for our purposes (salting).
15188
ed660bd8
VS
151892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15192
ee5614b7
VS
151932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15196 hexadecimal.
15197
664889a6
VS
151982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15201 and not 0 on failure.
15202
bd405bbc
CW
152032011-05-03 Colin Watson <cjwatson@ubuntu.com>
15204
15205 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15206 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15207 disk; otherwise grub_fs_probe will not fall back to the next
15208 filesystem.
15209 (grub_pxefs_open): Likewise, for consistency.
15210 Reported and tested by: Ezekiel Grave.
15211
4ebff753
CW
152122011-05-03 Colin Watson <cjwatson@ubuntu.com>
15213
15214 * tests/partmap_test.in: Don't hardcode path to parted.
15215 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15216
8f942553
CW
152172011-05-01 Colin Watson <cjwatson@ubuntu.com>
15218
15219 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15220 of `ls' to find out which devices are available.
15221
3c62402d
VS
152222011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15225 than source address for efi mmap buffer.
15226
723f63f2
VS
152272011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15230 wrong action on non-detecting the magic.
15231
68797f92
VS
152322011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15235 already supplied by another part of the module (fixes compilation on
15236 FreeBSD).
15237
6be8715d
VS
152382011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15241 match the one used by mdadm.
15242
e91dba5b
CW
152432011-04-21 Colin Watson <cjwatson@ubuntu.com>
15244
15245 * po/README: Add instructions for creating po/LINGUAS.
15246
c85140b3
CW
152472011-04-21 Colin Watson <cjwatson@ubuntu.com>
15248
15249 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15250 #551428.
15251
15252 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15253 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15254 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15255 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15256 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15257 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15258 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15259 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15260 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15261 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15262 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15263 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15264 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15265 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15266 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15267 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15268 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15269 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15270 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15271 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15272 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15273 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15274
92051871
CW
152752011-04-21 Colin Watson <cjwatson@ubuntu.com>
15276
15277 * grub-core/kern/emu/getroot.c
15278 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15279 test that was incorrectly reintroduced in r3214.
15280 Reported by: Ian Dall. Fixes Savannah bug #33133.
15281
b13f79a4
CW
152822011-04-21 Colin Watson <cjwatson@ubuntu.com>
15283
15284 Fix stack pointer handling in 16-bit relocator.
15285
15286 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15287 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15288 Fixes Ubuntu bug #683904.
15289
9b710a88
VS
152902011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 * configure.ac: Bump version to 1.99~rc2.
15293
d97e7b59
VS
152942011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15297 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15298 * grub-core/lib/x86_64/setjmp.S: Likewise.
15299 * grub-core/lib/mips/setjmp.S: Likewise.
15300 * grub-core/lib/powerpc/setjmp.S: Likewise.
15301 * grub-core/lib/sparc64/setjmp.S: Likewise.
15302
0624551c
VS
153032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15306 * grub-core/lib/efi/datetime.c: Likewise.
15307
e8f28d4c
VS
153082011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15311 New function.
15312 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15313 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15314 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15315
bba79a15
VS
153162011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15319 bitmap.
15320 (grub_gfxterm_term_init): Likewise.
15321
abc474ef
VS
153222011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Take into account the decorations the computing menu entry width.
15325
15326 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15327 (grub_gfxmenu_create_box): Register get_border_width.
15328 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15329 if available.
15330 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15331 get_border_width.
15332
e74b3947
EP
153332011-04-18 Endres Puschner <code@e7p.de>
15334
15335 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15336 Don't skip first class.
15337
34faa595
VS
153382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15341 chunks.
15342 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15343
93a777e3
VS
153442011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 Complete 64-bit division support.
15347
15348 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15349 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15350 * include/grub/misc.h (grub_divmod64): Rename to ...
15351 (grub_divmod64_full): ... this.
15352 (grub_divmod64): New inline function.
15353
a5102d94
VS
153542011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15357
f3fb7b36
VS
153582011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15361 performing the necessary test.
15362
9ac718b0
VS
153632011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15366 (kfreebsd.elf): Likewise.
15367 (pc-chainloader.elf): Likewise.
15368 (ntldr.elf): Likewise.
15369
50d2cc5a
VS
153702011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 Identify RAID by its UUID rather than (guessed) name.
15373
15374 * grub-core/disk/raid.c (ascii2hex): New function.
15375 (grub_raid_open): Accept mduuid/%s specification.
15376 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15377 (get_mdadm_uuid): ... this.
15378 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15379
e03f7bea
VS
153802011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15383 to negative size.
15384
e74c3112
CW
153852011-04-13 Colin Watson <cjwatson@ubuntu.com>
15386
15387 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15388 btrfs subvolume.
15389 * util/grub.d/20_linux_xen.in: Likewise.
15390
78fa584f
CW
153912011-04-13 Colin Watson <cjwatson@ubuntu.com>
15392
15393 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15394 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15395
15396 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15397 Build a list of relevant visible mounts using the mnt_id and
15398 parent_mnt_id fields, and then scan that list at the end.
15399
9d5f8162
CW
154002011-04-12 Colin Watson <cjwatson@ubuntu.com>
15401
15402 * docs/grub.texi (normal): New section.
15403 (normal_exit): New section.
15404 (Embedded configuration): Add reference to normal.
15405 (GRUB only offers a rescue shell): Likewise.
15406 * docs/grub-dev.texi (Error Handling): Fix typo.
15407
09a9d66f
CW
154082011-04-12 Colin Watson <cjwatson@ubuntu.com>
15409
15410 * NEWS: Drop obsolete entry about probe-only btrfs support.
15411
0c676933
CW
154122011-04-12 Colin Watson <cjwatson@ubuntu.com>
15413
15414 * util/import_gcry.py: Fix typo.
15415
ec9f5e0d
VS
154162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * NEWS: Add btrfs support.
15419
fe6b2cba
VS
154202011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
154212011-04-11 Colin Watson <cjwatson@ubuntu.com>
15422
15423 BtrFS support. Written by me (Vladimir) with important bugfixes and
15424 even more important testing by Colin.
15425
15426 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15427 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15428 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15429 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15430 mem_input_off and mem_input. All users updated to accept in-RAM input.
15431 (gzio_seek): New function.
15432 (test_zlib_header): Likewise.
15433 (grub_gzio_read): Likewise.
15434 (grub_zlib_decompress): Likewise.
15435 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15436 Accept partial and non-virtual mounts.
15437 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15438 avoid receiving /dev/dm-X as device.
15439 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15440 Handle bind and partial mounts.
15441 * grub-core/lib/crc.c: New file.
15442 * include/grub/deflate.h: Likewise.
15443 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15444 proto.
15445 * include/grub/lib/crc.h: New file.
15446
e745cf0c
VS
154472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 Implement automatic module license checking according to new GNU
15450 guidelines.
15451
15452 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15453 (grub_dl_load_core): Use grub_dl_check_license.
15454 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15455 (GRUB_MOD_LICENSE): Likewise.
15456 (GRUB_MOD_DUAL_LICENSE): Likewise.
15457 All modules updated.
15458
2a9bc016
CW
154592011-04-11 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15462 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15463 loaders.
15464 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15465
8a3bc88e
VS
154662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15469
af869a4a
VS
154702011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15473 failed.
15474
9ee8d94f
VS
154752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15476
15477 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15478 parenthesis in the middle of the filename.
15479
b01abe3e
VS
154802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15483 rather than trying to put initrd way too high.
15484 Reported by: Ryan Lortie <desrt@desrt.ca>
15485
335bda1e
VS
154862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15489 improperly removed string.
15490
5ca1a64d
VS
154912011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15494 is_disk.
15495 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15496 (open_device) Likewise.
15497 (grub_util_biosdisk_close): Likewise.
d8ce9995 15498 Reported by: Mark Korenberg.
5ca1a64d 15499
cbac5b1e
AK
155002011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15501
15502 * util/grub-mkconfig_lib.in: Add missing quotes.
15503
088cdb65
CW
155042011-04-10 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15507 is NULL.
15508
8b8a81fa
VS
155092011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 Dynamically count the number of lines for the lower banner.
15512
15513 * grub-core/normal/menu_entry.c (per_term_screen): New member
15514 num_entries.
15515 (print_down): Use num_entries.
15516 (update_screen): Likewise.
15517 (grub_menu_entry_run): Set num_entries.
15518 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15519 num_entries.
15520 (grub_print_message_indented): Move real part to ...
15521 (grub_print_message_indented_real): ... here. Additional argument
15522 dry_run.
15523 (draw_border): Additional argument num_entries.
15524 (print_message): Additional argument dry_run.
15525 (print_entries): Receive menu viewer data.
15526 (grub_menu_init_page): New argment num_entries.
15527 (menu_text_set_chosen_entry): Use num_entries.
15528 (grub_menu_try_text): Likewise.
15529 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15530 All users updated.
15531 (grub_ucs4_count_lines): New function.
15532 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15533 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15534 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15535 (grub_term_border_height): Likewise.
15536 (grub_term_num_entries): Likewise.
15537
277f955b
VS
155382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15541 Remove now unused string.
15542
536ce85a
CW
155432011-04-09 Colin Watson <cjwatson@ubuntu.com>
15544
15545 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15546 build system.
15547 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15548
15549 (Comment): Fix typo.
15550 (Getting started): General copy-editing.
15551 (Typical Development Experience): Likewise.
15552 (Error Handling): Likewise.
15553 (Video API): Likewise.
15554
2cf09e32
CW
155552011-04-09 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15558 throughout.
15559
1ec652f4
VS
155602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15563 directory.
15564
2c583728
CW
155652011-04-08 Colin Watson <cjwatson@ubuntu.com>
15566
15567 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15568 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15569 "development".
15570
d7a565e9
VS
155712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15574 grub_strcpy since the lines aren't necessarily 0-terminated.
15575
7c2e4909
VS
155762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15579 root on legacy.
15580
34c09785
VS
155812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15584 (GRUB_MOD_INIT): DEVICE isn't optional.
15585
6a6f8058
VS
155862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15589 word on new line if it's too long anyway. Fixes a hang.
15590
2e335e90
VS
155912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15594 const.
15595 * util/grub-setup.c (main): Reuse md device name if available.
15596 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15597 not GRUB name as argument.
15598 Based on patch by: Florian Wagner <fwagner>.
15599
10a7a867
VS
156002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15603 Place mbi on low memory for better compatibility.
15604
7a3d6cd9
VS
156052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15608
18dd6b47
VS
156092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
156102011-04-08 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15613 * conf/Makefile.common: Likewise.
18dd6b47 15614
3c0e3f14
VS
156152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15616
f7148863
VS
15617 * grub-core/normal/menu.c: Add missing include.
15618
156192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15622
6d1fa41f
MZ
156232011-04-08 Martin Zuther <mzuther@mzuther.de>
15624
15625 * util/grub-mkconfig.in: Ignore emacsen backup.
15626
478182a8
VS
156272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15630 on open.
15631 (grub_util_biosdisk_close): Likewise.
15632
72a89a54
VS
156332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15636 const attribute and use grub_isdigit.
15637
b5ebecfa
A
156382011-04-06 Andrey <dev_null@ukr.net>
15639
15640 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15641 gcc warning.
15642
7755f66e
VS
156432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15646 useful grub_dprintf's.
15647
461121ff
VS
156482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15651
2a961775
VS
156522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15655
adf594cc
VS
156562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 Output errors if theme loading failed.
15659
15660 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15661 grub_gfxterm_fullscreen on error paths to ...
15662 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15663 theme loading error.
15664
665900a3
VS
156652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15668 space for older compilers.
15669 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15670
a562b479
VS
156712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15674 and report them as not RAID members since they are useless for GRUB.
15675 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15676
850e9373
VS
156772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Increase LVM implementation robustness in order not to crash on
15680 configurations like pvmove. Previously code assumed that in some places
15681 only lvs or only pvs are used whereas it seems that they are used
15682 interchangeably.
15683
15684 * grub-core/disk/lvm.c (read_node): New function.
15685 (read_lv): Use read_node.
15686 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15687 Match volumes only at the end when all lvs are found. Take both
15688 pvs (first) and lvs (second) into account.
15689 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15690 mirror_* into node_*. All users updated.
15691 (grub_lvm_stripe): Merge this ...
15692 (grub_lvm_mirror): ... and this ...
15693 (grub_lvm_node): ... into this. All users updated.
15694
6f332153
VS
156952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15698 of function to allow further scanning for LVMs.
15699
829ea451
VS
157002011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15701
15702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15703 on failed seek as it breaks open fd reusage.
15704
09ceb9a5
VS
157052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 * util/grub-install.in: Add a recommendation to use --recheck before
15708 reporting bugs.
15709
67e11623
VS
157102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15713 are obtained.
15714
caee5efd
VS
157152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 GRUB developper manual based on existing Internals section and
15718 contributions by the various authors with active copyright assignment.
15719
15720 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15721 * docs/font_char_metrics.png: New file.
15722 * docs/font_char_metrics.txt: Likewise.
15723 * docs/grub-dev.texi: Likewise.
15724 * docs/grub.texi (Internals): Move from here ...
15725 * docs/grub-dev.texi: ... here.
15726
2cccc747
CW
157272011-04-01 Colin Watson <cjwatson@ubuntu.com>
15728
15729 Store the loopback device as data on loopback grub_disk structures,
15730 rather than the file it points to. This fixes use of freed memory
15731 if an existing loopback device is replaced.
15732
15733 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15734 disk->data, not dev->file.
15735 (grub_loopback_read): Adjust file assignment to match.
15736 Fixes Ubuntu bug #742967.
15737
186ae367
CW
157382011-04-01 Colin Watson <cjwatson@ubuntu.com>
15739
15740 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15741 when replacing an existing device.
15742
cfed2ad0
VS
157432011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15746 memory corruptions.
15747
15748 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15749 unsigned.
15750 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15751 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15752 (grub_jfs_read_inode): Likewise.
15753 (grub_jfs_opendir): Likewise. Remove now useless casts.
15754 (grub_jfs_getent): Likewise.
15755 Make ino a grub_uint32_t rather than int.
15756 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15757 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15758 division and module with bit operations.
15759 (grub_jfs_find_file): Make ino a grub_uint32_t.
15760 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15761
05d2ed32
CW
157622011-04-01 Colin Watson <cjwatson@ubuntu.com>
15763
15764 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15765 warning. (This was in fact always initialised before use, but GCC
15766 wasn't smart enough to prove that.)
15767 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15768
91dc6073
VS
157692011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15772 stack alignment.
15773 (efi_wrap_1): Likewise.
15774 (efi_wrap_2): Likewise.
15775 (efi_wrap_3): Likewise.
15776 (efi_wrap_4): Likewise.
15777 (efi_wrap_5): Likewise.
15778 (efi_wrap_6): Likewise.
15779 (efi_wrap_10): Likewise.
15780 Based on information by: Red Hat/Peter Jones.
15781
a8afc1d1
CW
157822011-03-31 Colin Watson <cjwatson@ubuntu.com>
15783
15784 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15785 set-but-not-used variable.
15786
a826cc7d
CW
157872011-03-31 Colin Watson <cjwatson@ubuntu.com>
15788
15789 * docs/grub.texi (Simple configuration): Be more explicit about
15790 GRUB_DEFAULT, and add an example.
15791 Reported by: Leslie Rhorer.
15792
875b67ba
CW
157932011-03-30 Colin Watson <cjwatson@ubuntu.com>
15794
15795 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15796 shell".
15797
fd7cd914
AS
157982011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15799
15800 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15801 * util/grub.d/20_linux_xen.in: Likewise.
15802
090b1b6a
VS
158032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * util/grub.d/10_linux.in: Try alternative config filenames where
15806 we parse config file.
15807 * util/grub.d/20_linux_xen.in: Likewise.
15808
baad885c
AS
158092011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15810
15811 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15812 * util/grub.d/20_linux_xen.in: Likewise.
15813
241e41f5
VS
158142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * grub-core/disk/raid.c (insert_array): Add few potentially
15817 useful grub_util_info.
15818 (grub_raid_register): Likewise.
15819
56445fb2
VS
158202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15823 Preserve partition number in mdadm code path.
15824
c871b1c6
VS
158252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15828 few potentially useful grub_util_info.
15829
5e631b4f
CW
158302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15833
2d5d0333
CW
158342011-03-30 Colin Watson <cjwatson@ubuntu.com>
15835
15836 * docs/grub.texi (default): Use @example rather than nested
15837 itemized lists to avoid breaking gendocs.
15838
3d7ed04e
CW
158392011-03-30 Colin Watson <cjwatson@ubuntu.com>
15840
15841 * docs/grub.texi (Future): Update.
15842
abf04200 158432011-03-30 Colin Watson <cjwatson@ubuntu.com>
15844
15845 * docs/grub.texi (Environment): New chapter.
15846 (Changes from GRUB Legacy): Link to "Environment block" section for
15847 details of limitations.
15848 (Simple configuration): Likewise. Link to documentation of gfxmode
15849 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15850 respectively.
15851 (Shell-like scripting): Note that normal variables are stored in the
15852 environment.
15853 (gettext): Link to documentation of lang and locale_dir.
15854 (list_env): New section.
15855 (load_env): New section.
15856 (save_env): New section.
15857
15858 (Reporting bugs): Fix typo.
15859
e1ad0edd
VS
158602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15863 the example.
15864
5d803174
VS
158652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * grub-core/term/at_keyboard.c (set_scancodes)
15868 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15869
2a2da1d0
CW
158702011-03-30 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * docs/grub.texi (Menu-specific commands): Remove some semantics
15873 that were true in GRUB Legacy but not in GRUB 2.
15874 (submenu): New section.
15875 (false): New section.
15876 (read): New section.
15877 (true): New section.
15878
a7527639
CW
158792011-03-30 Colin Watson <cjwatson@ubuntu.com>
15880
15881 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15882
158832011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15884
15885 * docs/grub.texi (Simple configuration): Explain some of the
15886 current limitations of grub-mkconfig.
8a748df2 15887 Reported by: Leslie Rhorer.
e30af029 15888
fc858482
VS
158892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Old macs search for boot.efi rather than for bootia32.efi.
15892
15893 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15894 * util/grub-mkrescue.in: Likewise.
15895 Suggested by: Peter Jones.
15896
e1eb511d
VS
158972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15900
70e75364
VS
159012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15904 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15905 (grub_lvm_mirror): New struct.
15906 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15907 (grub_lvm_iterate): Iterate only visible volumes.
15908 (grub_lvm_read): Factor out to ..
15909 (read_lv): ... this. Support mirrors.
15910 (grub_lvm_read): New wrapper function.
15911 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15912 stripped or mirrored.
15913
fc18f6a3
VS
159142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15917
5c650f4c
CW
159182011-03-29 Colin Watson <cjwatson@ubuntu.com>
15919
15920 * docs/grub.texi (loopback): New section.
15921
61d7156b
CW
159222011-03-29 Colin Watson <cjwatson@ubuntu.com>
15923
15924 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15925 removed -p option.
15926
994b8264
CW
159272011-03-29 Colin Watson <cjwatson@ubuntu.com>
15928
15929 * docs/grub.texi (BIOS installation): New section, partly based on
15930 previous text in other sections.
15931 (Installing GRUB using grub-install): Replace BIOS discussion with a
15932 cross-reference.
15933 (Images): Likewise.
15934
9e4d19e0
VS
159352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15938 [HAVE_DIOCGDINFO]: Add safety checks.
15939
a307c0b2
VS
159402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15943 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15944
b4db4f39
CW
159452011-03-29 Colin Watson <cjwatson@ubuntu.com>
15946
15947 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15948 real_sb->size is zero (e.g. RAID-0), get the disk size from
15949 real_sb->data_size instead.
15950 Fixes Ubuntu bug #743136.
15951
35e5f84c
VS
159522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15955 printf clauses for printing size and start.
15956
d2e29d81
VS
159572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15960 Reported and tested by: Timothy Nikkel.
15961
ed5587af
VS
159622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15965 (dirty_region_add_real): ... this.
15966 (dirty_region_add): Don't discard margin refresh when performing
15967 scheduled repaint.
15968
a1dc717c
VS
159692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * grub-core/lib/relocator.c (allocate_regstart)
15972 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15973 terminals are capabple of malloc-free operation.
15974 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15975 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15976
9f3677d3
VS
159772011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15978
15979 * util/grub-setup.c: Copy the partition table zone if floppy support
15980 is disabled, even if no partition table is found.
15981
15982 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15983 during POST if an invalid partition table is contained in the PBR
15984 of the active partition when GRUB is installed to a partition.
15985
24148725
CW
159862011-03-28 Colin Watson <cjwatson@debian.org>
15987
15988 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15989 comment.
15990
f329eda7
CW
159912011-03-28 Colin Watson <cjwatson@debian.org>
15992
15993 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15994 to be specific about what kind of RAID device we're scanning for.
15995
c482ad98
SG
159962011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15997
15998 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15999 return freed string.
16000
5ee04984
VS
160012011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16004
f4727da9
VS
160052011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 Use libgeom on FreeBSD to detect partitions.
16008
16009 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16010 (grub-mkrelpath): Likewise.
16011 (grub-script-check): Likewise.
16012 (grub-editenv): Likewise.
16013 (grub-mkpasswd-pbkdf2): Likewise.
16014 (grub-fstest): Likewise.
16015 (grub-mkfont): Likewise.
16016 (grub-mkdevicemap): Likewise.
16017 (grub-probe): Likewise.
16018 (grub-setup): Likewise.
16019 (grub-ofpathname): Likewise.
16020 (grub-mklayout): Likewise.
16021 (example_unit_test): Likewise.
16022 (grub-menulst2cfg): Likewise.
16023 * grub-core/Makefile.core.def (grub-emu): Likewise.
16024 (grub-emu-lite): Likewise.
16025 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16026 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16027 define HAVE_DIOCGDINFO.
16028 (follow_geom_up) [FreeBSD]: New function.
16029 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16030 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16031 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16032 unconditionally of HAVE_DIOCGDINFO.
16033
82fe6c75
VS
160342011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 Fix FreeBSD compilation problem.
16037
16038 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16039 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16040
4c6c9431
CW
160412011-03-24 Colin Watson <cjwatson@ubuntu.com>
16042
16043 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16044 Switch back to page zero before loading a kernel, since some kernel
16045 drivers expect that.
16046 Thanks to: Felix Kuehling.
16047
c7064d94
VS
160482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16051 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16052 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16053
3f71cded
VS
160542011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16057 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16058
ef6de21a
VS
160592011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16062 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16063 malloc is disabled.
16064
8bc66a2c
VS
160652011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16068 for modules headers when counting the needed allocation size.
16069
5657722c
VS
160702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16073 if no ASCII character is found to prevent crash.
16074
41a85f55
AK
160752011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16076
16077 * grub-core/video/bitmap.c (match_extension): Ignore case.
16078
59e1e5f1
VS
160792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16082
bd4d051a
VS
160832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * grub-core/script/parser.y: Declare "time" as valid argument.
16086
bae7fcc1
PJ
160872011-03-23 Peter Jones <pjones@redhat.com>
16088
16089 Fix incorrect assert failure reporting.
16090
16091 * grub-core/tests/example_functional_test.c (example_test): Add
16092 a failure comment.
16093 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16094 (failure_start): ...this. Check that malloc succeeded.
16095 Don't call xvasprintf. Return failure struct.
16096 (failure_append_vtext): New function.
16097 (failure_append_text): Likewise.
16098 (add_failure): Likewise.
16099 (grub_test_assert_helper): Likewise.
16100 * include/grub/test.h (grub_test_assert_helper): New declaration.
16101 (grub_test_assert): Macro rewritten.
16102
537dc9be
VS
161032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16106
fa3e01bf
VS
161072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16110
b1d28404
VS
161112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16114 into GRUB-style one.
16115
2e3e2e09
VS
161162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16119 error and not grub_errno.
16120 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16121
ed57e557
VS
161222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16125 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16126
d1611f01
VS
161272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * grub-core/efiemu/i386/pc/cfgtables.c
16130 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16131 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16132 (grub_xnu_unlock): Likewise.
16133 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16134
7d4e39d6
VS
161352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16138 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16139 * grub-core/commands/hashsum.c (aliases): Likewise.
16140 * grub-core/commands/setpci.c (pci_registers): Likewise.
16141 * grub-core/disk/usbms.c (attach_hook): Likewise.
16142 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16143 (zio_checksum_table): Likewise.
16144 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16145 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16146 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16147 * grub-core/lib/relocator.c (leftovers): Likewise.
16148 (extra_blocks): Likewise.
16149 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16150 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16151 (modules_last): Likewise.
16152 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16153 (devices): Likewise.
16154 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16155 (modules_last): Likewise.
16156 * grub-core/normal/auth.c (users): Likewise.
16157 * grub-core/normal/context.c (initial_menu): Likewise.
16158 (current_menu): Likewise.
16159 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16160 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16161 (grub_serial_terminfo_input_template): Likewise.
16162 (grub_serial_terminfo_output_template): Likewise.
16163 (grub_serial_terminfo_input): Likewise.
16164 (grub_serial_terminfo_output): Likewise.
16165 (registered): Likewise.
16166 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16167
40fc4659
VS
161682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16171 grub_video_mode_type_t.
16172 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16173 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16174 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16175
2da48d28
VS
161762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * util/grub-install.in: Correct the x86-64 name as x86_64.
16179
9b43bf39
CW
161802011-03-11 Colin Watson <cjwatson@ubuntu.com>
16181
16182 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16183 initial chunk read from the kernel always includes GRUB's multiboot
16184 header, which is now outside the first sector.
16185
be1a7ce0
CW
161862011-03-09 Colin Watson <cjwatson@ubuntu.com>
16187
16188 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16189 cached mmap_size, so that this works correctly when called multiple
16190 times.
16191 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16192
83a3c48d
CW
161932011-03-09 Colin Watson <cjwatson@ubuntu.com>
16194
16195 * docs/grub.texi (Simple configuration): Tidy up formatting.
16196
57d75699
SJ
161972011-03-07 Szymon Janc <szymon@janc.net.pl>
16198
16199 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16200 Set-but-not-used variable removed.
16201
028501a0
VS
162022011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 Workaround yet another IEEE1275 bug.
16205
16206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16207 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16208 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16209 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16210 is set.
16211 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16212 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16213
d998657d
VS
162142011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16217 error.
16218
fee7cdd4
CW
162192011-02-11 Colin Watson <cjwatson@ubuntu.com>
16220
16221 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16222 empty, since in that case we can only generate either nothing or a
16223 syntactically invalid configuration file.
16224 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16225
97286eb5
CW
162262011-02-09 Colin Watson <cjwatson@ubuntu.com>
16227
16228 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16229 (Making a GRUB bootable CD-ROM): Likewise.
16230 (Invoking grub-mkrescue): New section.
16231 Reported by: Yann Dirson. Fixes Debian bug #612585.
16232
22b28eb3
CW
162332011-02-09 Colin Watson <cjwatson@ubuntu.com>
16234
16235 * util/grub-install.in: Remove unnecessary brackets from tr
16236 arguments.
16237 * util/grub.d/10_hurd.in: Likewise.
16238 * util/grub.d/10_kfreebsd.in: Likewise.
16239 * util/grub.d/10_linux.in: Likewise.
16240 * util/grub.d/20_linux_xen.in: Likewise.
16241 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16242
7e735e43
CW
162432011-02-08 Colin Watson <cjwatson@ubuntu.com>
16244
16245 * include/grub/file.h (not_easly_seekable): Rename to ...
16246 (not_easily_seekable): ... this. Update all users.
16247
800f1881
CW
162482011-01-28 Colin Watson <cjwatson@ubuntu.com>
16249
16250 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16251 grub-mkrescue.
16252
3281d3d6
VS
162532011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * util/grub-mkimage.c (generate_image): Refuse to create the images
16256 bigger than the actual flash (512K) in Loongson machines. 512K is also
16257 the biggest chip supported by them.
16258
3533413c
VS
162592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16260
16261 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16262
73ae4f4f
VS
162632011-01-22 Anthony DeRobertis <anthony@derobert.net>
16264
16265 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16266 super_offset field.
16267
37f4f608
VS
162682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 * util/grub-install.in: Ignore install device on platforms
16271 where it doesn't make sense. Always use UUIDs except on pc, efi and
16272 sparc64.
16273 Reported by: Daniel Kahn Gillmor.
16274
03a4ccb5
VS
162752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16278
ffc8f4d8
VS
162792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16282 (iterate_real): Don't rely on partition being non-NULL.
16283
80f23be7
VS
162842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16287 supported platforms. Put a compile time assert for this rather than
16288 generate a warning with 32-bit shift.
16289
5d4f4dd5
VS
162902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16293 logical expression more readable.
16294
e489601a
VS
162952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16298 even if some elements have a name.
16299 Reported by: Alexander GQ Gerasiov.
16300
96e0a6ea
CW
163012011-01-22 Colin Watson <cjwatson@ubuntu.com>
16302
16303 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16304 path unreadable if `grub-probe -t abstraction' fails, for example if
16305 memberlist fails on an LVM volume group.
16306 Reported by: Darius Jahandarie.
16307
81431e2b
CW
163082011-01-22 Colin Watson <cjwatson@ubuntu.com>
16309
16310 * docs/grub.texi (Simple configuration): Document
16311 GRUB_PRELOAD_MODULES.
16312
5e79d66a
CW
163132011-01-17 Colin Watson <cjwatson@ubuntu.com>
16314
16315 * .bzrignore: Remove nonexistent grub-pbkdf2.
16316
646ada34
VS
163172011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * configure.ac: Bump version to 1.99~rc1.
16320
04360337
VS
163212011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16324 for safety.
16325
46c9db88
VS
163262011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16329 module.
16330
163312011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16332
16333 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16334
4fbf1852
VS
163352011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16338 diskdevid.
16339
f1632d4d
VS
163402011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 Fix compilation on cygwin.
16343
16344 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16345 -R .drectve on cygwin.
16346 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16347 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16348 (COND_CYGWIN): New condition.
16349 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16350 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16351 not @TARGET_OBJ2ELF@.
16352 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16353 type to determine whether aux is to be used.
16354
0b5e127b
VS
163552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16358 realpath'ed device string.
16359 Handle floppy (somewhat).
16360 Issue error in unknown case rather than garbage.
16361 Reported by: Axel Beckert.
16362
173b71e9
VS
163632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * util/grub.d/00_header.in (load_video): Handle the case when no video
16366 drivers available.
16367 Thanks to: Axel Beckert.
16368
f8f479db
VS
163692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16372 variable. Fixes problem on big endian platforms.
16373
8fc0a245
VS
163742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16377 It doesn't work well there.
16378
b8494fbe
VS
163792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16382 warning.
16383 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16384 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16385 counter.
16386
b44a558c
VS
163872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 Use alias->path rather than buggy "canon".
16390
16391 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16392 (ofdisk_hash_add): New argument curcan. All users updated.
16393
51fa856c
CW
163942011-01-11 Colin Watson <cjwatson@ubuntu.com>
16395
16396 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16397
9da068a5
VS
163982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16401 loadmask before doing any calculations. Use correct type for offset.
16402 (grub_linux_load64): Likewise.
16403
86205c94
CW
164042011-01-11 Colin Watson <cjwatson@ubuntu.com>
16405
16406 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16407 with NULL.
16408 (console_grub_equivalences_unshift): Likewise.
16409 Reported by: Daniel Dehennin.
16410
4531a206
VS
164112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16414 (set_env_limn_ro): Likewise.
16415 (GRUB_MOD_INIT): Likewise.
16416 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16417 ARRAY_SIZE while on it.
16418 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16419 * grub-core/normal/context.c (grub_env_export): Move from here ...
16420 * grub-core/kern/env.c (grub_env_export): ... here.
16421 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16422 prefix.
16423 * grub-core/kern/main.c (grub_main): Export root and prefix.
16424 * include/grub/env.h (grub_env_export): Export.
16425 Reported by: Seth Goldberg.
16426
45146057
VS
164272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16430 Take into account space used by ELF sections and multiboot palette.
16431 Reported by: Grégoire Sutre.
16432
f093110b
VS
164332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 * BUGS: New file.
16436
3395fe52
VS
164372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 Pass more appropriate video id to Linux.
16440
16441 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16442 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16443 fill have_vga.
16444 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16445 shift params->lfb_size.
16446 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16447
c2fa6cbb
VS
164482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16451
b3ff6ff0
VS
164522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16455 separator and pass bootpath/devid even if only one of them is available.
16456 Reported by: Seth Goldberg.
16457
ae67942e
VS
164582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16461 implementations bug on them.
16462
16463 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16464 memory.
16465 (filter_memory_map): Likewise.
16466
d570097a
VS
164672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16470 Reported by: nebuchadnezzar.
16471
a508e776
VS
164722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16475 Reported by: nebuchadnezzar.
16476
dcb883b1
VS
164772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 Submenu default support.
16480
16481 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16482 auto_boot. All users updated.
16483 Declared static.
16484 Handle chosen and default with submenus.
16485 (grub_menu_execute_with_fallback): Declared static.
16486 Don't notify failure if autobooted. Upper level does it.
16487 (menuentry_eq): New function.
16488 (get_entry_number): Use menuentry_eq.
16489 (show_menu): New parameter "autobooted". All users updated.
16490 (grub_show_menu): Likewise.
16491 * include/grub/normal.h (grub_show_menu): Likewise.
16492 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16493 (grub_menu_execute_with_fallback): Likewise.
16494
6fef99b4
VS
164952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * util/grub-mklayout.c (usage): Update help text.
16498
47a77af5
VS
164992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16502
ce6bb3ee
VS
165032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * util/grub-menulst2cfg.c (main): Trim the line.
16506
db87be2a
VS
165072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16510 (grub_machine_init): Don't check amount of low memory as reportedly
16511 INT 12h can be broken and if low memory is too low we wouldn't have
16512 gotten into grub_machine_init anyway.
16513
c49849cc
VS
165142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16517 (grub_machine_mmap_iterate): Take low memory into account
16518
b1969b30
VS
165192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16522 badfs.
16523 Reported by: TiCPU.
16524
cf0eaf13
VS
165252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16528 members errors.
16529
1f060f39
GS
165302011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16531
16532 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16533 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16534
a21e5672
GS
165352011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16536
16537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16538 openbsd and netbsd types being in part_bsd module.
16539
c88172fa
VS
165402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16543 (_FILE_OFFSET_BITS): Likewise.
16544 Reported by: Seth Goldberg.
16545
53798c4b
GS
165462011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16547
16548 * configure.ac: Check for libdevmapper header.
16549
e7121b69
VS
165502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16553 avoid aliasing.
16554 (fzap_lookup): Likewise.
16555 (dnode_get): Likewise.
16556 (make_mdn): Likewise.
16557 (zfs_mount): Likewise.
16558 (fzap_iterate): Use temporary pointer to avoid aliasing.
16559 (grub_zfs_read): Likewise.
16560 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16561 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16562 pointers to avoid aliasing.
16563 (grub_cmd_xnu_kernel64): Likewise.
16564 (grub_xnu_load_driver): Likewise.
16565
fc836af9
VS
165662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16569 aliasing warning.
16570 (grub_cmd_terminal_output): Likewise.
16571 Reported and tested by: Grégoire Sutre.
16572
f9f37648
VS
165732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16576 warning.
16577 Reported and tested by: Grégoire Sutre.
16578
ec1dfd63
VS
165792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * configure.ac: Do CPU substitution even if it's specified explicitly.
16582 Reported and tested by: Alain Greppin.
16583
9462775a
VS
165842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16587 Reported and tested by: Alain Greppin.
16588
0fd48e35
VS
165892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 Satisfy some bison versions need for inttypes.h.
16592
16593 * grub-core/lib/posix_wrap/inttypes.h: New file.
16594 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16595 (int16_t): Likewise.
16596 (int32_t): Likewise.
16597 (int64_t): Likewise.
16598 Reported and tested by: Alain Greppin.
16599
43f1bc83
VS
166002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16603 Silence spurious warning.
16604 Reported and tested by: Alain Greppin.
16605
64d1f041
SJ
166062011-01-07 Szymon Janc <szymon@janc.net.pl>
16607
16608 * docs/grub.texi (Support automatic decompression): Update with xz
16609 decompression support.
16610
25953e10
SJ
166112011-01-07 Szymon Janc <szymon@janc.net.pl>
16612
16613 Improve loaders' kernel command line handling.
16614
16615 * grub-core/lib/cmdline.c: New file.
16616 * include/grub/lib/cmdline.h: Likewise.
16617 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16618 grub_create_loader_cmdline to create kernel command line.
16619 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16620 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16621 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16622 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16623 (linux): Add lib/cmdline.c on common.
16624
e72d259f
VS
166252011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16628 inopos might be unaligned.
16629
c0cf26da
VS
166302011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16633 endian transformations.
16634 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16635 Based on report by: Doug Nazar.
16636
0ca09e6c
DN
166372011-01-07 Doug Nazar <nazard.michi@gmail.com>
16638
16639 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16640 array->members[i].start_sector.
16641 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16642
014b6806
VS
166432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16646 Reported and tested by: Grégoire Sutre.
16647
415502c2
CW
166482011-01-06 Colin Watson <cjwatson@ubuntu.com>
16649
16650 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16651 avoid causing test failures by clearing the screen.
16652
71b6a2b7
CW
166532011-01-06 Colin Watson <cjwatson@ubuntu.com>
16654
16655 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16656 Fix prefix check to handle the case where dir ends with a slash
16657 (most significantly, "/" itself).
16658 Reported by: Michael Vogt.
16659
b3f8d28a
VS
166602011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 Run terminfo_cls on initing terminfo output to clear the screen and
16663 move the cursor to (0,0).
16664
16665 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16666 Call grub_terminfo_output_init.
16667 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16668 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16669 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16670
4c3e4f37
VS
166712011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16674 only when needed.
16675
488f71f1
VS
166762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16679 CTRL.
16680
18a38098
VS
166812011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 The E820 type 5 is BADRAM, not EXEC_CODE.
16684
16685 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16686 (GRUB_E820_BADRAM): New define.
16687 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16688 into reserved. Propagate BADRAM.
16689 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16690 (GRUB_E820_BADRAM): New define.
16691
9eae2084
VS
166922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16695 Ignore the memory post-4G.
16696 (grub_relocator_firmware_alloc_region): Additional debug statement.
16697
ebc71d28
VS
166982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16701 names.
16702 Reported by: David Pravec.
16703
446fa400
VS
167042011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16707 BIOSes.
16708
a0159f37
VS
167092011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16712 Prevent overflow.
16713 (grub_reed_solomon_recover): Likewise.
16714
e5146ca1
VS
167152011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16718
167192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16720
16721 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16722 variable.
16723
5b1bdf12
CW
167242011-01-04 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16727 descriptions of extract_legacy_entries_source and
16728 extract_legacy_entries_configfile.
16729 Reported by: Seung Soo, Ha.
16730
99d925aa
CW
167312011-01-03 Colin Watson <cjwatson@ubuntu.com>
16732
16733 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16734 on devices that do not implement function 0.
16735
4af0504b
DV
167362011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16737
16738 * grub-core/fs/hfsplus.c: Make parent unsigned.
16739 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16740 overflows.
16741 (grub_hfsplus_cmp_extkey): Likewise
16742
469ee10a
VS
167432011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * util/grub-install.in: Correctly use bootloader_id and not
16746 GRUB_DISTRIBUTOR on efibootmgr line.
16747
323a8e9c
VS
167482011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16751
1b394975
IC
167522010-12-31 Ian Campbell <ijc@hellion.org.uk>
16753
16754 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16755 Xen and reorder menu item wording to make it clearer that this entry
16756 will launch Xen. Print separate messages when loading Xen and
16757 Linux.
16758
275bff5f
VS
167592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16762 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16763 loop in case of incorrect amiga partmap.
16764
307806cb
VS
167652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16768 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16769 Reported by:EHeM.
16770
b12b923e
VS
167712010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16774 spurious warning.
16775 Reported by: crocket
16776
14b48a19
VS
167772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16780 Preload EFIemu.
16781 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16782
693db2df
VS
167832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16786 is loaded
16787 (grub_cmd_xnu_kextdir): Likewise.
16788 (grub_cmd_xnu_splash): Likewise.
16789
c7638645
VS
167902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 Avoid using Reed-Solomon with 0 redundancy.
16793
16794 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16795 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16796 or 0 redundancy.
16797 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16798 (grub_reed_solomon_recover): Likewise.
16799
25dd4780
VS
168002010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 Don't use disk subsystem in freebsd_boot.
16803
16804 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16805 (freebsd_biosdev): Likewise.
16806 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16807 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16808
0b2db943
VS
168092010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 Handling of files of unknown size is currently limited. They can't be
16812 used e.g. for initrd or modules. Moreover gzip handling of not
16813 easily seekable files is buggy. Disable unknown file size for now. May
16814 be inefficient but works.
16815
16816 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16817 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16818
5c408d0f
MP
168192010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16820
16821 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16822 floppy probe.
16823
190a011a
JD
168242010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16825
16826 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16827
022d01b8
SL
168282010-12-25 Shea Levy <shlevy>
16829
16830 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16831
c4855fdc
VS
168322010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16835 Windows Server 2008.
16836 Reported by: Devin Giddings.
16837
0354b867
VS
168382010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16841 writing an error message because of async power management.
16842 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16843 (grub_reboot): Likewise.
16844
ab66c69f
JU
168452010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16846
16847 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16848 keep unit tests from failing when they shouldn't.
16849
1426ef35
CW
168502010-12-21 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16853 previous patch increased the size of the RS code by 20 bytes (at
16854 least with gcc-4.4), so increase this by 20 bytes to match.
16855 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16856
20641b6b
CW
168572010-12-21 Colin Watson <cjwatson@ubuntu.com>
16858
16859 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16860 scratch area. Make sure to initialise chosen in standalone mode as
16861 well as non-standalone.
16862 Reported by: Robert Hooker and Andy Whitcroft.
16863 Tested by: Andy Whitcroft.
16864
d060ad60
CW
168652010-12-21 Colin Watson <cjwatson@ubuntu.com>
16866
16867 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16868 constructing a new unescaped string and passing it to grub_xputs in
16869 one go, rather than passing characters to grub_printf one at a time.
16870
b889cfad
CW
168712010-12-21 Colin Watson <cjwatson@ubuntu.com>
16872
16873 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16874 initialising utf16.
16875
4e01b6c8
CW
168762010-12-21 Colin Watson <cjwatson@ubuntu.com>
16877
16878 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16879 comment. Add an extra layer of quotation, requiring the output of
16880 this function to be used in a printf format string.
16881 (gettext_printf): New function.
16882 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16883 Extract translatable strings from here-documents and use a temporary
16884 variable instead, so that xgettext can find them.
16885 * util/grub.d/10_kfreebsd.in: Likewise.
16886 * util/grub.d/10_linux.in: Likewise.
16887 * util/grub.d/20_linux_xen.in: Likewise.
16888
16889 * po/grub.d.sed: New file.
16890 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16891 arguments. Set c-format flags on all strings extracted from
16892 util/grub.d/ (xgettext refuses to include these itself for strings
16893 it extracted from a shell file, but these really are c-format).
16894
5318fe98
VS
168952010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16898 Avoid next pointing to nowhere.
16899
6c85b743
VS
169002010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16903 rather than assuming than rootblock is exactly in the middle.
16904 (grub_affs_label): Likewise.
16905
a2a08a35
VS
169062010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16909 reserved_first_sector to 0.
16910 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16911 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16912 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16913
7059d1ec
VS
169142010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 Fix handling of UTF-16 UDF labels.
16917
16918 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16919 (read_string): .. here.
16920 (grub_udf_label): Use read_string.
16921
30aff4cb
BC
169222010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16923
16924 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16925 editor under argument scope.
16926 Reported by: Jordan Uggla
16927
5cf86f4b
VS
169282010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16931
32570200
CW
169322010-12-18 Colin Watson <cjwatson@ubuntu.com>
16933
16934 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16935 line, and other keys scroll an entire page (previous handling was
16936 for \r and \n to scroll a page and other keys to scroll two lines).
16937
e1dffcf2
VS
169382010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16941 Set ptrdest to correct get_physical_target_address rather than
16942 incorrect get_virtual_current_address.
16943
b04298cf 169442010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16945
16946 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16947 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16948
5367ecd3
CW
169492010-12-10 Colin Watson <cjwatson@ubuntu.com>
16950
16951 * .bzrignore: Ignore grub-core/rs_decoder.S.
16952
1fb430f8
CW
169532010-12-10 Colin Watson <cjwatson@ubuntu.com>
16954
16955 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16956 .mo/.mo.gz opening sequence to ...
16957 (grub_mofile_open_lang): ... here.
16958 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16959 * util/grub.d/00_header.in (grub_lang): Include country part of
16960 locale.
16961 Reported by: Mario Limonciello.
16962
a94a6671
RM
169632010-12-09 Robert Millan <rmh@gnu.org>
16964
16965 * NEWS: Document addition of ZFS support.
16966
24b7938b
CW
169672010-12-04 Colin Watson <cjwatson@ubuntu.com>
16968
16969 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16970 rather than `/ 2', as the latter requires -Wa,--divide which would
16971 require bumping our minimum binutils version.
16972
bddc3ef6
BC
169732010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16974
16975 * util/grub-script-check.c (main): Print script line number on
16976 error.
16977
bf78d5b2
RM
169782010-12-01 Robert Millan <rmh@gnu.org>
16979
16980 * grub-core/fs/zfs/zfs.c: New file.
16981 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16982 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16983 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16984 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16985
16986 * include/grub/zfs/dmu.h: Likewise.
16987 * include/grub/zfs/dmu_objset.h: Likewise.
16988 * include/grub/zfs/dnode.h: Likewise.
16989 * include/grub/zfs/dsl_dataset.h: Likewise.
16990 * include/grub/zfs/dsl_dir.h: Likewise.
16991 * include/grub/zfs/sa_impl.h: Likewise.
16992 * include/grub/zfs/spa.h: Likewise.
16993 * include/grub/zfs/uberblock_impl.h: Likewise.
16994 * include/grub/zfs/vdev_impl.h: Likewise.
16995 * include/grub/zfs/zap_impl.h: Likewise.
16996 * include/grub/zfs/zap_leaf.h: Likewise.
16997 * include/grub/zfs/zfs.h: Likewise.
16998 * include/grub/zfs/zfs_acl.h: Likewise.
16999 * include/grub/zfs/zfs_znode.h: Likewise.
17000 * include/grub/zfs/zil.h: Likewise.
17001 * include/grub/zfs/zio.h: Likewise.
17002 * include/grub/zfs/zio_checksum.h: Likewise.
17003
17004 * Makefile.util.def: Build ZFS into libgrubmods.
17005 * grub-core/Makefile.core.def: Build zfs.mod.
17006
3f0f3831
SJ
170072010-11-30 Szymon Janc <szymon@janc.net.pl>
17008
17009 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17010 variable.
17011 * grub-core/commands/wildcard.c (match_files): Likewise.
17012
3a4253b2
RM
170132010-11-30 Robert Millan <rmh@gnu.org>
17014
17015 * grub-core/loader/i386/bsd.c
17016 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17017 whether kernel is loaded using grub_loader_is_loaded(), rather
17018 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17019 certain error conditions.
17020
8c317b27
RM
170212010-11-30 Robert Millan <rmh@gnu.org>
17022
c5c9cd3e
RM
17023 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17024 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17025
49d3ab46
VS
170262010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 Avoid using tricks for initialising endian variables.
17029
17030 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17031 Make const.
17032 (GRUB_MOD_INIT): Don't byte-swap.
17033 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17034 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17035 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17036 (grub_swap_bytes32_compile_time): Likewise.
17037 (grub_cpu_to_le32_compile_time): Likewise.
17038 (grub_cpu_to_le16_compile_time): Likewise.
17039
f420a804
VS
170402010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * util/grub-setup.c (setup): Stop recommending --force. People who
17043 understand the dangers of blocklists are able to find this option
17044 anyway and the ones who don't shouldn't use it anyway.
17045
4e7db17b
RM
170462010-11-26 Robert Millan <rmh@gnu.org>
17047
17048 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17049 Update all users.
17050
9be57a0d
CW
170512010-11-26 Colin Watson <cjwatson@ubuntu.com>
17052
17053 Fix LVM-on-RAID probing.
17054
17055 * util/grub-probe.c (probe): Remember which disk was detected as
17056 RAID (perhaps an LVM physical volume). Use that disk's raidname
17057 rather than that of the top-level disk.
17058
2c7859b3 170592010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17060
d7647bb6
BC
17061 Fix cmdline argument quotes for setparams command of menuentry
17062 definitions.
7e623b0d
BC
17063
17064 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17065 quotes for arguments.
f866fe80 17066 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17067 grub_strchrsub function instead.
f866fe80 17068
7955bea0 17069 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17070
74f72a64
CW
170712010-11-24 Colin Watson <cjwatson@ubuntu.com>
17072
17073 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17074 effort by skipping "." and ".." entries up-front.
17075 Suggested by: Michael Lazarev.
17076
5a407278
CW
170772010-11-24 Colin Watson <cjwatson@ubuntu.com>
17078
17079 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17080 ldflags to ldadd, to fix link line ordering.
17081 (none_decompress): Likewise.
17082
3030d8ec
CW
170832010-11-24 Colin Watson <cjwatson@ubuntu.com>
17084
17085 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17086 platforms.
17087 (grub-emu-lite): Remove kern/emu/cache.S.
17088
b7fbac12
CW
170892010-11-23 Colin Watson <cjwatson@ubuntu.com>
17090
17091 * util/deviceiter.c (compare_devices): If the by-id link for a
17092 device couldn't be resolved, fall back to sorting by the by-id link
17093 rather than segfaulting.
17094 Reported and tested by: Daniel Mierswa.
17095
5225f328
CW
170962010-11-23 Colin Watson <cjwatson@ubuntu.com>
17097
17098 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17099 ldflags, to fix link line ordering.
17100
038b3ce8
CW
171012010-11-23 Colin Watson <cjwatson@ubuntu.com>
17102
17103 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17104 linkers are picky about this.
17105
bf16e98e
CW
171062010-11-23 Colin Watson <cjwatson@ubuntu.com>
17107
17108 * grub-core/Makefile.am (command.lst): Adjust sed expression
17109 ordering so that extended and priority commands aren't treated as
17110 ordinary commands.
17111
7242bab6
CW
171122010-11-23 Colin Watson <cjwatson@ubuntu.com>
17113
17114 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17115 Remove byte-swapping function calls, which are not valid in
17116 structure initialisers.
17117 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17118 non-const.
17119 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17120 grub_gpt_partition_type_bios_boot.
17121
14e8b279
CW
171222010-11-22 Colin Watson <cjwatson@ubuntu.com>
17123
17124 Fix test program build on GNU/kFreeBSD.
17125
17126 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17127 $(LIBNVPAIR)' library dependencies.
17128
e6f63338 171292010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17130
17131 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17132
cf8ffc38
CW
171332010-11-22 Colin Watson <cjwatson@ubuntu.com>
17134
17135 * util/grub-install.in: Remove excessive quoting that broke
17136 installations to RAID devices.
17137
7f8b0fd7
VS
171382010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17141 bootloader version instead of 0.
17142
dfd240b1
VS
171432010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17146 warning.
17147
7b61e609
VS
171482010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17151 retrieve the metadat sector if size isn't known.
17152 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17153
9dfe92d0
RM
171542010-11-18 Robert Millan <rmh@gnu.org>
17155
17156 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17157 with grub_memcmp().
17158
41cc919e
VS
171592010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17162 arrow.
17163 Reported by: Jordan Uggla.
17164
1afcc914
VS
171652010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Make better UTF compliant.
17168
17169 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17170 sequences as incorrect.
17171 (grub_is_valid_utf8): Likewise.
17172 (grub_utf8_to_ucs4): Likewise.
17173 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17174 (grub_ucs4_to_utf8_alloc): Likewise.
17175 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17176
f1808884
VS
171772010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 Make legacy_source behave like source.
17180
17181 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17182 grub_show_menu.
17183 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17184
24ec575b
CW
171852010-11-16 Colin Watson <cjwatson@debian.org>
17186
17187 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17188 (-Wunused implies -Wunused-parameter, but not vice versa).
17189
72b7c7aa
CW
171902010-11-16 Colin Watson <cjwatson@ubuntu.com>
17191
17192 * configure.ac: Make error messages less confusing by testing for
17193 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17194 accepted, but produces a diagnostic if something else is wrong).
17195
e98937aa
VS
171962010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17199 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17200 (now unused).
17201 (grub_keyboard_controller_init)
17202 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17203 read the initial state since controller isn't inited yet.
17204
f6bbabc3
VS
172052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17208 allocate_regbeg may need to create new chunk header.
17209
22e7dbb2
VS
172102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Fix quoting in legacy parser.
17213
17214 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17215 single quotes.
17216 (grub_legacy_parse): Likewise.
17217 Reported by: Jordan Uggla.
17218 Tested by: Jordan Uggla.
17219
03f80960
VS
172202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 Don't add -lgcc on i386 and x86_64.
17223
17224 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17225 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17226 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17227
779dc15b
VS
172282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * configure.ac: Add -Wno-trampolines when supported.
17231
d20a3b37
MV
172322010-11-14 Modestas Vainius <modax@debian.org>
17233
17234 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17235 fakeraid.
17236
e5360933
GC
172372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17238
17239 Add generic logical block size support for UDF.
17240
17241 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17242 (GRUB_UDF_BLKSZ): Removed.
17243 (struct grub_udf_data): New field "lbshift" to hold the logical block
17244 size of the file system in log2 format. All users updated.
17245 (sblocklist): Change type to unsigned.
17246 (grub_udf_mount): Change type of "sblklist" to unsigned.
17247 Move AVDP search before VRS recognition, because the latter requires
17248 knowledge of the logical block size, which is detected during the
17249 former.
17250 Detect and validate logical block size during AVDP search, adding
17251 support for block sizes 512, 1024 and 4096.
17252 Make VRS recognition independent of block size.
17253
cb0229c5
GC
172542010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17255
17256 Properly handle deleted files on UDF.
17257
17258 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17259 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17260 set.
17261
406858a8
GC
172622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17263
17264 Support reading files larger than 2 GiB.
17265
17266 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17267 "offset" to grub_off_t.
17268 (grub_udf_read_file): Likewise for parameter "pos".
17269
130da6a7
VS
172702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17273 unavailable.
17274 (Simple configuration): Refer to Changes from GRUB Legacy about
17275 save_env availability.
17276
65e93f6b
VS
172772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * util/grub-install.in: Ignore empty partition table detection
17280 instead of trying to include part_ module.
17281
1fd08bf1
VS
172822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17285 LVM on RAID support.
17286
de1a024f
VS
172872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 Properly define WORDS_BIGENDIAN in wrapped environments.
17290
17291 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17292 definition.
17293 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17294
17295 Reported by: Manoel Rebelo Abranches.
17296 Tested by: Manoel Rebelo Abranches.
17297
bc5dd0b9
VS
172982010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * util/grub-mkconfig.in: Fix quoting.
17301
58c184be
VS
173022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 Support big ext2 files.
17305
17306 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17307 (grub_ext2_read_block): Support triple indirect blocks.
17308 (grub_ext2_read_file): Use 64-bit types and read size_high.
17309 (grub_ext2_open): Read size_high.
17310 Reported by: Ximin Luo.
17311 Tested by: Manoel Rebelo Abranches.
17312
5f0c02b3
VS
173132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 * util/grub-install.in: Handle filenames containing spaces.
17316 Reported by: Jordan Uggla.
17317 Tested by: Jordan Uggla.
17318
4417aae6
VS
173192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 * util/grub-mkconfig.in (grub_script_check): New variable.
17322 Use grub_script_check instead of grub-script-check.
17323 Reported by: Barry Jackson.
17324
7625a68e
VS
173252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * docs/grub.texi (menu): Correct the order.
17328 Reported by: D. Hugh Redelmeier.
17329
10001ac5
VS
173302010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17333 jump.
17334
9c4cf53b
MRA
173352010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17336
10001ac5
VS
17337 * include/grub/elfload.h (grub_elf32_size): New parameter.
17338 All users updated.
9c4cf53b
MRA
17339 Return maximum segments alignment.
17340 (grub_elf64_size): Likewise.
17341 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17342 Return maximum segments alignment.
17343 (grub_elf64_size): Likewise.
17344 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17345 (grub_linux_claimmap_iterate): New function. Uses the
17346 "available" property in the "memory" node for memory allocation
17347 for kernel in the PowerPC loader.
9c4cf53b
MRA
17348 (grub_linux_load32): Correctly find linux entry point offset.
17349 (grub_linux_load64): Likewise.
17350
d2bf06bf
RM
173512010-11-07 Robert Millan <rmh@gnu.org>
17352
17353 On mips-yeeloong, build with -march=loongson2f when this flag is
17354 available (GCC >= 4.4).
17355 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17356 `-march=mips3'.
17357 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17358 or otherwise add -march=mips3.
17359
898c99a2
BC
173602010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17361
87220a68
BC
17362 Suppress shell expansion on echo '*' and echo "*" like cases.
17363 Reported by: Jordan Uggla.
898c99a2
BC
17364
17365 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17366 string arguments before shell expansion.
17367 * tests/grub_cmd_echo.in: New testcases.
17368
4f9b406a
RM
173692010-11-07 Robert Millan <rmh@gnu.org>
17370
17371 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17372 transition.
17373
80c6d25e
VS
173742010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * grub-core/kern/emu/hostdisk.c
17377 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17378
4a1a0153
VS
173792010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17382 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17383 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17384
34706ddc
VS
173852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17386
17387 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17388
6972dea9
VS
173892010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * util/grub-install.in: Replace useless recomendation to pass
17392 --modules with a recomendation to report a bug.
17393
9c693bd6
VS
173942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 Properly register serial terminfo.
17397 Reported by: Jordan Uggla
17398
17399 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17400 const.
17401 (grub_serial_terminfo_output_template): Likewise.
17402 (grub_cmd_serial): Register "serial" with terminfo.
17403 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17404 grub_serial_terminfo_output.
17405
6c9e4c0c
RM
174062010-11-05 Robert Millan <rmh@gnu.org>
17407
17408 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17409 needed).
17410
b9b3839f
RM
174112010-11-05 Robert Millan <rmh@gnu.org>
17412
17413 On Yeeloong, pass machine type information to Linux.
17414
17415 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17416 (LOONGSON_MACHTYPE): New macro, set to
17417 "machtype=lemote-yeeloong-2f-8.9inches".
17418 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17419 additional argument to Linux.
17420
1a3aaff4
RM
174212010-11-04 Robert Millan <rmh@gnu.org>
17422
17423 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17424 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17425 (its SATA disks are detected as slaveless IDE master drives on
17426 kFreeBSD).
17427 Reported by Carsten Aulbert.
17428
a75f4f62
CW
174292010-11-02 Colin Watson <cjwatson@ubuntu.com>
17430
17431 * util/bin2h.c (main): Fix spelling error in generated output.
17432
33b4b0c6
GS
174332010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17434
17435 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17436
2b36fbf4
VS
174372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17440 vga= option is supplied.
17441
74aaf558
VS
174422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17445 * util/grub.d/10_kfreebsd.in: Likewise.
17446 * util/grub.d/10_linux.in: Likewise.
17447 * util/grub.d/20_linux_xen.in: Likewise.
17448
6428dec3
VS
174492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17452 argument as an argument to no-argument option.
17453
f8729d98
VS
174542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * util/grub.d/10_linux.in: Add missing load_video with explicit
17457 GRUB_GFXPAYLOAD_LINUX.
17458
89d68fa6
VS
174592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17462
3a1197cd
VS
174632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17464
17465 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17466 elements with invlid index.
17467 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17468 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17469 members.
17470 * include/grub/raid.h (grub_raid_member): New struct.
17471 (grub_raid_array): Transform devices and start_sector into usage of
17472 grub_raid_member. All users updated
17473 (allocated_devs): New member.
17474
71574288
VS
174752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17476
17477 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17478 is modified
17479
8d40ec65
BC
174802010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17481
17482 NetBSD build fix for getline function conflict from gnulib.
17483
17484 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17485 components that depend on gnulib headers.
17486 (libgrubmods.a): Renamed from earlier libgrub.a.
17487 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17488
95b9257e
VS
174892010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17492 install rather than creating a broken install.
17493
26c53dc6
VS
174942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * util/grub-setup.c (argp): Remove misleading example of installing to
17497 a partition.
17498
4171b3c5
VS
174992010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * util/grub-setup.c (setup): Clarify the error message.
17502
18568d18
VS
175032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17506
4f6a2e21
VS
175072010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/kern/emu/misc.c
17510 (grub_make_system_path_relative_to_its_root)
17511 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17512
175132010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17514
17515 * grub-core/kern/emu/misc.c
17516 (grub_make_system_path_relative_to_its_root): Revert r2882.
17517
e138c458
VS
175182010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17521 useless field head. All users updated.
17522 (free_subchunk): Correct handling of IN_REGION subchunk.
17523
0cbcdf0e
CW
175242010-10-22 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17527 (Supported kernels): Likewise.
17528
b65ea155
GS
175292010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17530
17531 Make mktemp invocations portable.
17532
17533 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17534 exit if mktemp fails.
17535 * tests/grub_script_blockarg.in: Likewise.
17536 * tests/partmap_test.in: Likewise.
17537 * tests/util/grub-shell-tester.in: Likewise.
17538 * tests/util/grub-shell.in: Likewise.
17539 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17540 * Makefile.am: Likewise, and chain shell commands with `&&'
17541 instead of ';'.
17542 * util/grub-mkrescue.in: Use the same explicit template as above, and
17543 exit if mktemp fails.
17544
05f43cdd
BC
175452010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17546
17547 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17548 Linux kernel, reported by Dennis Schridde.
17549
800e6a9b
SJ
175502010-10-17 Szymon Janc <szymon@janc.net.pl>
17551
17552 * grub-core/normal/auth.c (grub_auth_check_authentication):
17553 Set-but-not-used variable removed.
17554
d82df574
VS
175552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17558 32-bit linux protocol.
17559
7bced458
VS
175602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17563 cursor shape for sanity.
17564
5b027690
VS
175652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * docs/grub.texi (Installation): Document buggy BIOS install.
17568
ba5f65cf
VS
175692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 * docs/grub.texi (Installation): Indent.
17572
fdf2ec9c
VS
175732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 * util/grub-setup.c (setup): New parameter allow_floppy.
17576 (arguments): New member allow_floppy.
17577 (argp_parser): Handle --allow-floppy.
17578 (main): Pass allow_floppy.
17579 * util/grub-install.in: New option --allow-floppy passed though to
17580 grub-setup.
17581
861dfd4c
VS
175822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 * util/grub-install.in: Handle partitionless disks.
17585
f77a8c24
VS
175862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17587
17588 * util/grub-setup.c (setup): Don't clean blocklists before readability
17589 verfification.
17590
27d9ee32
VS
175912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17592
17593 * docs/grub.texi (Installation): Document embedding zone. Remove
17594 obsolete grub-install example.
17595
6bdda8f8
SJ
175962010-10-16 Szymon Janc <szymon@janc.net.pl>
17597
17598 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17599 Set-but-not-used variable ifdef'ed.
17600 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17601 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17602 variable removed.
17603 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17604 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17605 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17606 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17607 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17608 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17609 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17610 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17611 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17612 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17613 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17614 Likewise.
17615
e19b016b
VS
176162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17619 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17620 enum value.
17621
6c8d3002
VS
176222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17625 synonym to _S5_. Needed for some DSDTs.
17626
c32b51c9
VS
176272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 Userspace ACPI parser debugging.
17630
17631 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17632 headers and add relevant defines. Don't include standard headers.
17633 (main) [GRUB_DSDT_TEST]: New function.
17634 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17635 Don't declare functions.
17636
fbfbeb39
VS
176372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Remove dead grub_efi_mm_fini.
17640
17641 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17642 (ALLOCATED_PAGES_SIZE): Likewise.
17643 (MAX_ALLOCATED_PAGES): Likewise.
17644 (allocated_pages): Likewise.
17645 (grub_efi_allocate_pages): Don't record allocated pages.
17646 (grub_efi_free_pages): Likewise.
17647 (grub_efi_mm_init): Likewise.
17648 (grub_efi_mm_fini): Removed.
17649
65f7ed7c
VS
176502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17653 (grub_efi_mm_init): Take into account the memory map size increase.
17654
24977b44
VS
176552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17658 (serial_hw_put): Wait based on real time rather than port reads. Don't
17659 roken ports.
17660 * include/grub/serial.h (grub_serial_port): New field broken.
17661
1eb01cd2
RM
176622010-10-16 Robert Millan <rmh@gnu.org>
17663
17664 * grub-core/kern/emu/misc.c
17665 (grub_make_system_path_relative_to_its_root): Fix premature return
17666 when processing non-root ZFS filesystems.
5f8b440b 17667 Reported by Sergio Talens-Oliag.
1eb01cd2 17668
2d5fed60
RM
176692010-10-15 Robert Millan <rmh@gnu.org>
17670
17671 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17672 guarantee compressed ones are processed first.
17673
d0f4c1ea
VS
176742010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17677 grub_efiemu_autocore.
17678
d87c681f
VS
176792010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17682 rather than 0x1b.
17683 (grub_console_getkey): Use correct jae opcode rather than ja.
17684
219b3564
RM
176852010-10-12 Robert Millan <rmh@gnu.org>
17686
17687 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17688 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17689 variable. All references updated.
17690
17691 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17692
20c6bb7e
VS
176932010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 Correctly distinguish mdraid flavours.
17696
17697 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17698 (insert_array): New argument raid.
17699 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17700 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17701 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17702
74baff84
VS
177032010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17706 handling of special keys.
17707
3ef068df 177082010-10-02 Aleš Nesrsta <starous@volny.cz>
17709
c7980ad9
VS
17710 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17711 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17712
a9455194 177132010-10-02 Aleš Nesrsta <starous@volny.cz>
17714
c7980ad9
VS
17715 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17716 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17717 users updated.
a9455194 17718 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17719 Use right endpoint when querying descriptor.
a9455194 17720
441cfe65
VS
177212010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 Clear out 0x80 color bit on EFI.
17724 Tested by: decoder
17725 Reported by: decoder and meta tech.
17726
17727 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17728 (grub_console_setcolorstate): Clear out 0x80 bit.
17729 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17730 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17731 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17732
bf26bcc4
VS
177332010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17736 Set to "auto".
17737
6e3c515d
VS
177382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17741 mo_file after freeing.
17742
e6d983ba
VS
177432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17746
74ccb5b5
VS
177472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17750 flags.
17751
17821956
VS
177522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17755 usage.
17756
ee74fa48
VS
177572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17760
17761 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17762 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17763 and terminfo.h when needed.
17764 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17765 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17766 (terminfo): Enable only on terminfokernel.
17767 (extcmd): Likewise.
17768 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17769 * include/grub/lib/arg.h: Likewise.
17770 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17771 incorrect usage of ->.
17772
aa438e68
VS
177732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17776 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17777
57994012
VS
177782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 Fix coreboot compilation.
17781
17782 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17783 Take VBE info into account even if only text is supported.
17784 (fill_vbe_info): Take into account the case when only VGA text
17785 is supported.
17786 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17787 on coreboot, multiboot and qemu.
17788
2a406611
VS
177892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17792 debug messages.
17793 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17794
d33613fc
VS
177952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17798 parameters.
17799
44a1b432
VS
178002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17803 if they were BSD-style.
17804
edde54e6
VS
178052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * grub-core/boot/i386/pc/lnxboot.S: Replace
17808 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17809 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17810
b65830fa
VS
178112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 Write embedding zone using Reed-Solomon.
17814
17815 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17816 * grub-core/Makefile.am (rs_decoder.S): New target.
17817 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17818 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17819 (multiboot): Move to RS part.
17820 (post_reed_solomon): New label.
17821 (grub_boot_drive): Move to non-RS part since it's modified in memory
17822 on boot.
17823 Include rs_decoder.S.
17824 * grub-core/lib/reed_solomon.c: New file.
17825 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17826 New definition.
17827 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17828 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17829 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17830 * include/grub/partition.h (grub_partition_map): Change prototype of
17831 embed to allow returning additional sectors.
17832 * include/grub/reed_solomon.h: New file.
17833 * util/grub-setup.c (setup): Handle Reed-Solomon.
17834
0b4b227f
CW
178352010-09-28 Colin Watson <cjwatson@ubuntu.com>
17836
17837 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17838 i386 and x86-64 definedness tests.
17839
f772623b
YB
178402010-09-27 Yves Blusseau <blusseau@zetam.org>
17841
17842 Fix generation of kernel_syms.lst
17843
17844 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17845 ASM_PREFIX
17846
8e57a6ca
RM
178472010-09-26 Robert Millan <rmh@gnu.org>
17848
17849 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17850
17851 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17852 the pool is an array of devices, iterate through it and return the
17853 first device that passes a stat() test (instead of blindly returning
17854 the first one).
17855
f9130836
RM
178562010-09-26 Robert Millan <rmh@gnu.org>
17857
17858 Build fixes for GNU/kFreeBSD.
17859
17860 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17861 to programs that require ZFS conversion.
17862 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17863 kernels that don't have FLOPPY_MAJOR.
17864
96510faf
BC
178652010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17866
17867 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17868
449333eb
BC
178692010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17870
17871 Fix grub-emu build.
17872
17873 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17874 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17875 mdraid09 and mdraid1x.
17876
e1fd1939
CW
178772010-09-24 Colin Watson <cjwatson@ubuntu.com>
17878
17879 Re-enable grub-extras.
17880
17881 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17882 avoid confusing Automake. Run autogen only twice, once for the top
17883 level and once for grub-core. Add Makefile.util.def and
17884 Makefile.core.def from extra modules to the appropriate autogen
17885 invocations. If Makefile.common exists in an extra module, include
17886 it in both Makefile.util.am and grub-core/Makefile.core.am;
17887 similarly, include any Makefile.util.common file in Makefile.util.am
17888 and any Makefile.core.common file in grub-core/Makefile.core.am.
17889 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17890 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17891 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17892 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17893
17894 * gentpl.py (gvar_add): Turn GVARS into a set.
17895 (global_variable_initializers): Sort global variables on output.
17896 (vars_init): New function.
17897 (first_time): Likewise.
17898 (library): Ensure that non-global variable initialisations are
17899 emitted before the first time we emit code for a library block.
17900 Append to variables rather than setting them. Only emit
17901 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17902 each conditional path.
17903 (program): installdir() emits an Autogen macro, so must be passed to
17904 var_add rather than gvar_add.
17905 (data): Likewise.
17906 (script): Likewise.
17907 (rules): New function, centralising handling for different target
17908 types. Set up Guile association lists for first_time and vars_init,
17909 and send most output to a diversion so that variable initialisations
17910 can be emitted first.
17911 (module_rules): Use new rules function.
17912 (kernel_rules): Likewise.
17913 (image_rules): Likewise.
17914 (library_rules): Likewise.
17915 (program_rules): Likewise.
17916 (script_rules): Likewise.
17917 (data_rules): Likewise.
17918
17919 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17920
17921 * .bzrignore: Add contrib and grub-core/contrib. Remove
17922 grub-core/Makefile.gcry.am.
17923
1d12cf29
YB
179242010-09-24 Yves Blusseau <blusseau@zetam.org>
17925
17926 * grub-core/lib/LzFind.c: Add missing include.
17927 * grub-core/lib/LzmaEnc.c: Likewise.
17928 * grub-core/script/lexer.c: Likewise.
17929 * grub-core/script/yylex.l: Likewise.
17930 * util/grub-macho2img.c: Likewise.
17931 * util/grub-menulst2cfg.c: Likewise.
17932 * util/grub-mklayout.c: Likewise.
17933 * util/grub-mkpasswd-pbkdf2.c
17934 * util/grub-mkrelpath.c: Likewise.
17935 * util/resolve.c: Likewise.
17936
dd363028
BC
179372010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17938
17939 * Makefile.util.def (example_unit_test): Add
17940 grub-core/gnulib/libgnu.a.
17941
f5a109e2
GS
179422010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17943
17944 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17945
6d0fa83c
VS
179462010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 Support xz compression on yeeloong.
17949
17950 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17951 * configure.ac: Check for LZMA.
17952 * grub-core/Makefile.core.def (xz_decompress): New target.
17953 (none_decompress): Likewise.
17954 * grub-core/boot/decompressor/minilib.c: New file.
17955 * grub-core/boot/decompressor/none.c: Likewise.
17956 * grub-core/boot/decompressor/xz.c: Likewise.
17957 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17958 * grub-core/kern/mips/cache_flush.S: Likewise.
17959 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17960 * grub-core/kern/mips/startup.S: Move first stage to ...
17961 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17962 nomacro.
17963 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17964 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17965 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17966 Allocate statically.
17967 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17968 Allocate statically or use scratch. Don't check CRC32.
17969 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17970 Allocate statically. Don't check CRC32.
17971 * include/grub/decompressor.h: New file.
17972 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17973 Removed.
17974 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17975 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17976 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17977 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17978 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17979 * util/grub-mkimage.c (grub_compression_t): New type.
17980 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17981 (image_target_desc): New field default_compression.
17982 (image_targets): Adjust yeeloong targets.
17983 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17984 (compress_kernel): New parameter comp.
17985 (generate_image): Likewise. Handle new compression case.
17986 (options): New option --compression
17987 (help): Likewise.
17988 (main): Handle new option.
17989
1b655af6
GS
179902010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17991
17992 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17993
8f03f0b5
CW
179942010-09-22 Colin Watson <cjwatson@ubuntu.com>
17995
17996 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17997 typo in __i386__ conditional.
17998
7835dfd3
VS
179992010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18002 include.
18003
e255597e
VS
180042010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18005
6d0fa83c 18006 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18007
18008 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18009 new tags as supported.
18010 (acpiv2_size): New function.
18011 (grub_multiboot_get_mbi_size): Take new tags into account.
18012 (grub_multiboot_make_mbi): Add new tags.
18013 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18014
6cc14051 180152010-09-21 Aleš Nesrsta <starous@volny.cz>
18016
18017 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18018 Added missing configuration of USB device.
18019
df7769d8
CW
180202010-09-21 Colin Watson <cjwatson@ubuntu.com>
18021
18022 * grub-core/normal/menu_entry.c (run): Make sure we always return
18023 a value.
18024
b031012d
CW
180252010-09-21 Colin Watson <cjwatson@ubuntu.com>
18026
18027 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18028 NumberOfPages is UINT64 according to the UEFI specification, not
18029 UINTN. Fix printf format.
18030
174de8f3
CW
180312010-09-21 Colin Watson <cjwatson@ubuntu.com>
18032
18033 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18034 `err' to grub_usb_err_t.
18035 Reported and tested by: KESHAV P.R.
18036
d7dbe923
CW
180372010-09-21 Colin Watson <cjwatson@ubuntu.com>
18038
18039 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18040 tpart non-const, so that we can assign to it. (Since this is a
18041 typedef, the constness refers to the pointer rather than what it
18042 points to.)
18043
8d5e2af3
CW
180442010-09-21 Colin Watson <cjwatson@ubuntu.com>
18045
18046 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18047 $(top_srcdir)/grub-core/gnulib as well as
18048 $(top_builddir)/grub-core/gnulib.
18049 Reported by: KESHAV P.R.
18050
5c527783
CW
180512010-09-21 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * util/grub-install.in: Fix the bootloader ID option to be
18054 consistently --bootloader-id, not --bootloader_id.
18055 Reported by: KESHAV P.R.
18056
d309a16e
CW
180572010-09-21 Colin Watson <cjwatson@ubuntu.com>
18058
18059 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18060 check hash checksum." consistently translatable.
18061
b830cd16
YB
180622010-09-21 Yves Blusseau <blusseau@zetam.org>
18063
18064 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18065 $(top_builddir).
18066
c4fe27a8
CW
180672010-09-21 Colin Watson <cjwatson@ubuntu.com>
18068
18069 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18070 (GRUB_MOD_INIT): Register sha1sum command.
18071 (GRUB_MOD_FINI): Unregister sha1sum command.
18072
a4c1d277
YB
180732010-09-21 Yves Blusseau <blusseau@zetam.org>
18074
18075 Keep boot and grub directory names in sync with utils scripts
18076
18077 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18078 * config.h.in: Add previous macros.
18079 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18080 * util/grub-install.in: Use $bootdir and $grubdir variables.
18081
4eff79d2
CW
180822010-09-21 Colin Watson <cjwatson@ubuntu.com>
18083
18084 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18085 convert partition names to disk names if the new `convert' parameter
18086 is set.
18087 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18088 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18089 disk in its own right. This can happen with Xen disk images.
18090
934d7e44
YB
180912010-09-21 Yves Blusseau <blusseau@zetam.org>
18092
18093 * util/grub-editenv.c: Update strings to avoid warnings when generating
18094 grub.pot file.
18095 * util/grub-setup.c: Likewise.
934d7e44 18096
df3367cc
VS
180972010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * configure.ac: Change version to 1.99~beta0.
18100
77a94e98
VS
181012010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18104 Add BADRAM.
18105 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18106 Likewise.
18107 * include/multiboot.h: Resynced with specification.
18108 * include/multiboot2.h: Likewise.
18109
269004c1
CW
181102010-09-21 Colin Watson <cjwatson@ubuntu.com>
18111
18112 Fix po directory handling.
18113
18114 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18115 * grub-core/gnulib/Makefile.am: Import gettext module.
18116 * m4/gnulib-cache.m4: Likewise.
18117 * m4/gnulib-comp.m4: Likewise.
18118 * m4/gettext.m4: New file, from gnulib.
18119 * m4/glibc2.m4: Likewise.
18120 * m4/iconv.m4: Likewise.
18121 * m4/intdiv0.m4: Likewise.
18122 * m4/intl.m4: Likewise.
18123 * m4/intldir.m4: Likewise.
18124 * m4/intlmacosx.m4: Likewise.
18125 * m4/intmax.m4: Likewise.
18126 * m4/inttypes-pri.m4: Likewise.
18127 * m4/lcmessage.m4: Likewise.
18128 * m4/lib-ld.m4: Likewise.
18129 * m4/lib-link.m4: Likewise.
18130 * m4/lib-prefix.m4: Likewise.
18131 * m4/lock.m4: Likewise.
18132 * m4/nls.m4: Likewise.
18133 * m4/po.m4: Likewise.
18134 * m4/printf-posix.m4: Likewise.
18135 * m4/progtest.m4: Likewise.
18136 * m4/threadlib.m4: Likewise.
18137 * m4/uintmax_t.m4: Likewise.
18138 * m4/visibility.m4: Likewise.
18139 * po/Makefile.am: Remove.
18140 * po/Makefile.in.in: New file, from gettext.
18141 ($(DOMAIN).pot-update): Support POTFILES-shell.
18142 * po/Makevars: New file.
18143 * po/POTFILES-shell: Rename to ...
18144 * po/POTFILES-shell.in: ... this. Update.
18145 * po/POTFILES: Rename to ...
18146 * po/POTFILES.in: ... this. Update.
18147 * po/Rules-quot: New file, from gettext.
18148 * po/boldquot.sed: Likewise.
18149 * po/en@boldquot.header: Likewise.
18150 * po/en@quot.header: Likewise.
18151 * po/insert-header.sin: Likewise.
18152 * po/quot.sed: Likewise.
18153 * po/remove-potcdate.sin: Likewise.
18154
3e0fa5d0
VS
181552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18158
ade9bd66
VS
181592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * util/grub.d/20_linux_xen.in: Use submenus.
18162
fc55cc4c
VS
181632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 Support submenus.
18166
18167 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18168 parameter submenu. All users updated.
18169 * grub-core/normal/main.c (free_menu): Rename to ...
18170 (grub_normal_free_menu): ... this. Made global.
18171 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18172 if requested.
18173 * grub-core/normal/menu_entry.c (screen): New field submenu.
18174 (make_screen): Set submenu.
18175 (run): Open new context if requested.
18176 * include/grub/menu.h (grub_menu_entry): New field submenu.
18177 * include/grub/normal.h (grub_normal_free_menu): New proto.
18178
600cedf7
VS
181792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 Menu entries extractor.
18182
18183 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18184 variants.
18185 (GRUB_MOD_INIT): Register new variants.
18186 (GRUB_MOD_FINI): Unregister new variants.
18187 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18188 into grub_cmd_legacy_source.
18189 (grub_cmd_legacy_source): Implement extractor variants.
18190 (GRUB_MOD_INIT): Register new variants.
18191 (GRUB_MOD_FINI): Unregister new variants.
18192 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18193 as an extractor.
18194 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18195 search as an extractor.
18196 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18197 test as an extractor.
18198 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18199 as an extractor.
18200 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18201 (grub_env_new_context): New function.
18202 (grub_env_context_open): Likewise.
18203 (grub_env_extractor_open): Likewise.
18204 (grub_env_extractor_close): Likewise.
18205 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18206 grub_extractor_level.
18207 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18208 * include/grub/env.h (grub_env_extractor_open): New proto.
18209 (grub_env_extractor_close): Likewise.
18210 * include/grub/normal.h (grub_extractor_level): New external variable.
18211
7bda3a87
VS
182122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 Make cutmem accept a region specification.
18215 Suggested by: Samuel Thibault
18216
18217 * grub-core/mmap/mmap.c (parsemem): New function.
18218 (grub_cmd_cutmem): Handle new arguments.
18219
2ea57f88
VS
182202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 New command cutmem.
18223
18224 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18225 (GRUB_MOD_INIT): Register new command.
18226 (GRUB_MOD_FINI): Unregister new command.
18227
74342e31
VS
182282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 Support some annoying BSD and Minix subpartitions.
18231
18232 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18233 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18234 Properly handle concatenation.
18235 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18236 * grub-core/normal/completion.c (iterate_partition): Likewise.
18237 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18238 contain partition. All users updated.
18239 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18240 struct.
18241 (grub_openbsdlabel_partition_map): Likewise.
18242 (bsdlabel_partition_map_iterate): Rename to ..
18243 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18244 (bsdlabel_partition_map_iterate): New function.
18245 (netopenbsdlabel_partition_map_iterate): Likewise.
18246 (netbsdlabel_partition_map_iterate): Likewise.
18247 (openbsdlabel_partition_map_iterate): Likewise.
18248 (GRUB_MOD_INIT): Register new partmaps.
18249 (GRUB_MOD_FINI): Unregister new partmaps.
18250 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18251 (grub_partition_msdos_iterate): ... this. All users updated.
18252 Don't support embedding other than in a minix partition.
18253 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18254 proto.
18255 * include/grub/partition.h (grub_partition): New field msdostype.
18256 * util/grub-install.in: Handle openbsd and netbsd types being in
18257 part_bsd module.
18258
1e8d555b
VS
182592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18262
18263 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18264 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18265 (mdraid09): ... this.
18266 (mdraid1x): New module.
18267 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18268 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18269
899d8af4
VS
182702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18271
18272 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18273 vsprintf.
18274
40901acd
CW
182752010-09-20 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * grub-core/commands/efi/lsefimmap.c: Correct header.
18278 * NEWS: Update.
18279
dfe3b247
CW
182802010-09-20 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18283 as printf format strings; the translations might contain '%' which
18284 could cause a crash.
18285 (main): Likewise.
18286 * util/grub-fstest.c (argp_parser): Likewise.
18287 * util/grub-setup.c (argp_parser): Likewise.
18288 (main): Likewise.
18289
3286a4b4
VS
182902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 Use argp in grub-fstest.
18293
18294 * util/grub-fstest.c: Don't include getopt.h.
18295 Include argp.h.
18296 (root): New variable.
18297 (args_count): Likewise.
18298 (nparm): Likewise.
18299 (num_disks): Likewise.
18300 (images): Likewise.
18301 (cmd): Likewise.
18302 (debug_str): Likewise.
18303 (args): Likewise.
18304 (options): Transformed to argp.
18305 (usage): Removed.
18306 (main): Split argument parsing into ...
18307 (argp_parser): ... this. Changed to argp format.
18308 (argp): New variable.
18309 (main): Use argp_parse.
18310
3dccbe4b
TG
183112010-09-20 Tristan Gingold <gingold@free.fr>
183122010-09-20 Robert Millan <rmh.grub@aybabtu.com>
183132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * grub-core/commands/efi/lsefimmap.c: New file.
18316 * grub-core/Makefile.core.def (lsefimmap): New module.
18317 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18318
38c259a7
VS
183192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 Pause the execution (10s max) if any errors are displayed so the user
18322 has a chance to see them.
18323
18324 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18325 (grub_print_error): Increment grub_err_printed_errors.
18326 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18327 execution if any errors were displayed.
18328 (show_menu): Remove old code for pause.
18329 * grub-core/normal/menu_entry.c (run): Likewise.
18330 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18331 users updated.
18332 (grub_normal_get_char_counter): Likewise.
18333 * include/grub/err.h (grub_err_printed_errors): New external variable.
18334 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18335
f218b09c
VS
183362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 Support multiboot VBE info.
18339
18340 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18341 Take VBE info into account.
18342 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18343 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18344 Call fill_vbe_info when appropriate.
18345 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18346 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18347 as supported.
18348 (grub_multiboot_get_mbi_size): Take new tags into account.
18349 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18350 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18351 Call fill_vbe_tag when appropriate.
18352 (grub_multiboot_make_mbi): Properly align tags.
18353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18354 function.
18355 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18356 proto.
18357 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18358
a9cc5438
VS
183592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 Suport manual terminal geometry specification.
18362
18363 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18364 Save state in grub_ofconsole_terminfo_output.
18365 (grub_ofconsole_term): Use grub_terminfo_getwh.
18366 (grub_ofconsole_getwh): Removed.
18367 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18368 (grub_serial_term): Use grub_terminfo_getwh.
18369 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18370 (options): New struct.
18371 (OPTION_*): New enum.
18372 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18373 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18374 width and height.
18375 (grub_terminfo_getwh): New proto.
18376 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18377
1a8fed20
VS
183782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 Handle legacy "terminal" command.
18381
18382 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18383 and FLAG_TERMINAL.
18384 (legacy_commands): Add terminal and title.
18385 (grub_legacy_parse): Handle terminal. Simplify title handling.
18386
41e9c57d
VS
183872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18390 parameters overflow.
18391
61c874c5
CW
183922010-09-20 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18395 widthspec.h.
18396
18397 * docs/grub.texi (Shell-like scripting): Document `!'.
18398 (Network): Simplify using new i386-pc-pxe format. Mention
18399 grub-mknetdir.
18400
18401 * NEWS: Update.
18402
943682b4
CW
184032010-09-20 Colin Watson <cjwatson@ubuntu.com>
18404
18405 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18406 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18407 when needed.
18408
6d3d698d
CW
184092010-09-20 Colin Watson <cjwatson@ubuntu.com>
18410
18411 * grub-core/commands/efi/lsefisystab.c: Correct header.
18412 * grub-core/commands/efi/lssal.c: Likewise.
18413 * grub-core/commands/testload.c: Likewise.
18414
c982589f
CW
184152010-09-20 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * util/grub-mkrescue.in: Add explicit root argument to --set to
18418 prevent the UUID being interpreted as an argument to --set (matches
18419 previous change to prepare_grub_to_access_device).
18420
a63c31b6
CW
184212010-09-20 Colin Watson <cjwatson@ubuntu.com>
18422
18423 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18424 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18425 the verbosity of later #ifs.
18426 (find_partition_start): Define this function on FreeBSD too.
18427 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18428 function.
18429 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18430 on FreeBSD.
18431
6439b8ee
YB
184322010-09-20 Yves Blusseau <blusseau@zetam.org>
18433
18434 * util/grub-editenv.c: Use argp instead of getopt.
18435
c5930ec8
YB
184362010-09-20 Yves Blusseau <blusseau@zetam.org>
18437
18438 * util/grub-setup.c: Use argp instead of getopt.
18439
15c69261
YB
184402010-09-20 Yves Blusseau <blusseau@zetam.org>
18441
18442 Use gnulib-tool to create gnulib source files.
18443
18444 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18445 grub-core/gnulib directories
18446 * .bzignore: Add **/.deps and autogenerated gnulib files
18447 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18448 of gnulib macros, add grub-core/gnulib/Makefile
18449 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18450 include m4 directory to aclocal.
18451 * Makefile.util.def: Remove direct compilation of gnulib source files
18452 and use the new grub-core/gnulib/libgnu.a.
18453 * build-aux/config.rpath: move config.rpath from top directory to
18454 build-aux
18455 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18456 in gnulib headers
18457 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18458 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18459 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18460 header.
18461 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18462 string.
18463
e511c9f5
YB
184642010-09-20 Yves Blusseau <blusseau@zetam.org>
18465
18466 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18467 grub-core/genmod.sh and grub-core/gensyminfo.sh
18468
c2dede05
BC
184692010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18470
18471 Add a test for echo command options.
18472
18473 * tests/grub_cmd_echo.in: New test.
18474 * Makefile.util.def: Rules for new test.
18475
c55f5018
SJ
184762010-09-20 Szymon Janc <szymon@janc.net.pl>
18477
18478 Remove crc.mod and move crc command to hashsum.mod.
18479 Remove lib/crc.c - users updated to use gcrypt implementation.
18480
18481 * grub-core/commands/crc.c: Removed.
18482 * grub-core/Makefile.core.def (crc): Module removed.
18483 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18484 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18485 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18486 * grub-core/lib/crc.c: Removed.
18487 * include/grub/lib/crc.h: Removed.
18488 * Makefile.util.def (crc): Remove lib/crc.c
18489 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18490 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18491 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18492 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18493 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18494 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18495
e0337366
VS
184962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18499
742f9232
VS
185002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18501
18502 Split config.h for util and core.
18503
18504 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18505 (ADDR32): Likewise.
18506 (DATA32): Likewise.
18507 (BSS_START_SYMBOL): Likewise.
18508 (END_SYMBOL): Likewise.
18509 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18510 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18511 * config.h.in: New file.
18512 * configure.ac: Use config-util.h as config define file.
18513 Rename MACHINE into GRUB_MACHINE. All users updated.
18514 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18515 updated.
18516 (NESTED_FUNC_ATTR): Likewise.
18517 Substitue new variables.
18518 (COND_HAVE_ASM_USCORE): New conditional.
18519 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18520 (kernel_syms.lst): Use ASM_PREFIX.
18521 * grub-core/kern/emu/console.c: Include config-util.h.
18522 * grub-core/kern/emu/misc.c: Likewise.
18523 * grub-core/kern/emu/mm.c: Likewise.
18524 * include/grub/emu/misc.h: Likewise.
18525 * include/grub/libgcc.h: Likewise.
18526
39feb0e8
VS
185272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18530 constants usage.
18531 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18532 Fix GRUB_TERM_KEY_* constants usage.
18533 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18534
9af6dac3
VS
185352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18536
18537 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18538 print pointer.
18539 * grub-core/bus/usb/uhci.c: Remove empty define.
18540 (grub_uhci_check_transfer): Add missing cast.
18541 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18542 print pointer.
18543 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18544 PRIuGRUB_SIZE.
18545 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18546
d6d94820
VS
185472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 * grub-core/Makefile.core.def (legacycfg): Add
18550 lib/i386/pc/vesa_modes_table.c on emu.
18551
3572f2b6
BC
185522010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18553
18554 Reduce number of temporary files generated by build system.
18555
18556 * grub-core/gencmdlist.sh: Removed.
18557 * grub-core/genfslist.sh: Removed.
18558 * grub-core/genhandlerlist.sh: Removed.
18559 * grub-core/genmodsrc.sh: Removed.
18560 * grub-core/genpartmaplist.sh: Removed.
18561 * grub-core/genparttoollist.sh: Removed.
18562 * grub-core/gentermiinallist.sh: Removed.
18563 * grub-core/genvideolist.sh: Removed.
18564
18565 * grub-core/genmod.sh.in: New file.
18566 * grub-core/gensyminfo.sh.in: New file.
18567
18568 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18569 * conf/Makefile.extra-dist: Update with new files.
18570 * gentpl.py: Remove rules related to unnecessary temporary files.
18571 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18572 and und-* files.
18573 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18574 genmod.sh scripts.
18575 * grub-core/bus/usb/uhci.c: Remove empty #define.
18576 * grub-core/genmoddep.awk: Updated with new syminfo format.
18577 * util/bash-completion.d/Makefile.am: Add config.log to
18578 CLEANFILES.
18579
c836b030
YB
185802010-09-19 Yves Blusseau <blusseau@zetam.org>
18581
18582 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18583
2f4e8053
BC
185842010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18585
18586 * util/grub-mkconfig.in: Check the config script for syntax errors
18587 before saving.
18588
75831c34
CW
185892010-09-19 Colin Watson <cjwatson@ubuntu.com>
185902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18593 platforms.
18594 * util/grub-install.in: Add EFI and IEEE1275 support.
18595 * util/i386/efi/grub-install.in: Removed.
18596 * util/ieee1275/grub-install.in: Likewise.
18597
eaf41b25
VS
185982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18601 (grub_cmd_cmosclean): Likewise.
18602 (GRUB_MOD_INIT): Register command cmosclean.
18603 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18604 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18605
1a9130dd
CPE
186062010-09-18 Carles Pina i Estany <carles@pina.cat>
186072010-09-18 Aleš Nesrsta <starous@volny.cz>
186082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 Add keyboard layouts support.
18611
18612 * Makefile.util.def (grub-mklayout): New file.
18613 (grub-kbdcomp): New script.
18614 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18615 Add keyboard_layouts.h.
18616 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18617 commands/boot.c on yeeloong.
18618 (keylayouts): New module.
18619 * grub-core/bus/usb/ohci.c
18620 * grub-core/bus/usb/uhci.c
18621 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18622 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18623 (attach_root_port): Likewise.
18624 (poll_nonroot_hub): Likewise.
18625 (grub_usb_poll_devices): Likewise.
18626 (detach_device): Close transfer.
18627 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18628 function.
18629 (grub_usb_bulk_setup_readwrite): Likewise.
18630 (grub_usb_bulk_finish_readwrite): Likewise.
18631 * grub-core/commands/keylayouts.c: New file.
18632 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18633 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18634 aliases.
18635 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18636 support scancode 2.
18637 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18638 * include/grub/keyboard_layouts.h: New file.
18639 * util/grub-mklayout.c: New file.
18640 * util/grub-kbdcomp.in: Likewise.
18641
a1d84a5e
VS
186422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 Unify memory types.
18645
18646 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18647 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18648 types.
18649 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18650 (grub_upper_mem): Likewise.
18651 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18652 * include/grub/memory.h (grub_memory_type_t): New enum.
18653 All users updated.
18654
9696382e
VS
186552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * grub-core/Makefile.core.def (lsapm): New module.
18658 * grub-core/commands/i386/pc/lsapm.c: New file.
18659 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18660 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18661 Likewise.
18662 * include/grub/i386/pc/apm.h: New file.
18663 * include/multiboot.h (multiboot_apm_info): New struct.
18664
186652010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 GRUB-legacy configuration file support.
18668
18669 * Makefile.util.def (grub-menulst2cfg): New util.
18670 * docs/man/grub-menulst2cfg.h2m: New file.
18671 * grub-core/Makefile.core.def (legacycfg): New module.
18672 * grub-core/commands/legacycfg.c: New file.
18673 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18674 (grub_normal_add_menu_entry): ... this.
18675 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18676 (grub_normal_set_password): ...this.
18677 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18678 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18679 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18680 * grub-core/lib/legacy_parse.c: New file.
18681 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18682 * include/grub/i386/pc/vesa_modes_table.h: New file.
18683 * include/grub/legacy_parse.h: Likewise.
18684 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18685 * util/grub-menulst2cfg.c: New file.
18686
bf8d1338
CW
186872010-09-17 Colin Watson <cjwatson@ubuntu.com>
18688
18689 * grub-core/kern/emu/hostdisk.c
18690 (convert_system_partition_to_system_disk): Initialise node.
18691
9c0bad2e
CW
186922010-09-17 Colin Watson <cjwatson@ubuntu.com>
18693
18694 * grub-core/kern/emu/hostdisk.c
18695 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18696 leak.
18697 Reported and based on patch by: Modestas Vainius.
18698
a939d135
CW
186992010-09-17 Colin Watson <cjwatson@ubuntu.com>
18700
18701 Fix DM-RAID probing with recent versions of device-mapper udev
18702 rules.
18703
18704 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18705 canonicalise device paths under /dev/mapper/.
18706 (convert_system_partition_to_system_disk): Compare the
18707 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18708 path, since device nodes under /dev/mapper/ are often symlinks.
18709
0f7ee3c9
YB
187102010-09-17 Yves Blusseau <blusseau@zetam.org>
18711
18712 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18713
10854d0d
YB
187142010-09-16 Yves Blusseau <blusseau@zetam.org>
18715
18716 * configure.ac: Avoid some annoying error messages if freetype-config
18717 program is not found.
18718
108538d8
CW
187192010-09-16 Colin Watson <cjwatson@ubuntu.com>
18720
18721 Support RAID on virtio devices, and others.
18722
18723 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18724 Rename to ...
18725 [__MINGW32__] (grub_find_device): ... this.
18726 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18727 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18728 reasonable default if dir is NULL.
18729 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18730 ...
18731 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18732 (grub_guess_root_device): Update callers.
18733 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18734
18735 * util/raid.c (grub_util_getdiskname): Remove.
18736 (grub_util_raid_getmembers): Use grub_find_device rather than
18737 grub_util_getdiskname.
18738
e5bfc130
CW
187392010-09-16 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18742 needing to be compiled with serial support.
18743 (ls): Indicate that multiple files are accepted.
18744 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18745 indicate that multiple files are accepted.
18746
be458ae2
CW
187472010-09-16 Colin Watson <cjwatson@ubuntu.com>
18748
18749 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18750 libgrub_a_init.c, and util/bash-completion.d/grub.
18751
cb731b5e
VS
187522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 * util/grub-setup.c (setup): Fix incorrect container semantics.
18755
35139e8a
VS
187562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18759 misusage.
18760 Reported by: J. Nick Terry
18761
e50fca4a
VS
187622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 Move embedding routines to partmap sources files.
18765
18766 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18767 [GRUB_UTIL]: New variable.
18768 (gpt_partition_map_iterate): Set part.parent.
18769 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18770 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18771 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18772 New function.
18773 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18774 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18775 (grub_partition_map) [GRUB_UTIL]: New field embed.
18776 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18777 (setup): Use ->embed.
18778
f00478b7
VS
187792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18782 function.
18783 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18784 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18785
2b94e3ff
YB
187862010-09-15 Yves Blusseau <blusseau@zetam.org>
18787
18788 Add function to get completions from usage.
18789
18790 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18791 completions from usage. Use LC_ALL=C to get options properly.
18792
2e04a006
VS
187932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18794
18795 * grub-core/gnulib/basename-lgpl.c: Imported.
18796 * grub-core/gnulib/basename.c: Likewise.
18797 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18798 * grub-core/gnulib/dirname.c: Likewise.
18799 * grub-core/gnulib/dirname.h: Likewise.
18800 * grub-core/gnulib/stripslash.c: Likewise.
18801
5dcdf93a
VS
188022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * grub-core/gnulib/error.c: Resynced.
18805 * grub-core/gnulib/getopt.c: Likewise.
18806 * grub-core/gnulib/getopt_int.h: Likewise.
18807 * grub-core/gnulib/regex.h: Likewise.
18808 * grub-core/gnulib/regex_internal.c: Likewise.
18809 * grub-core/gnulib/regex_internal.h: Likewise.
18810
014f47b7
SJ
188112010-09-15 Szymon Janc <szymon@janc.net.pl>
18812
18813 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18814 CRC calculations and validity checks.
18815 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18816 calculations.
18817
dd521a4a
SJ
188182010-09-15 Szymon Janc <szymon@janc.net.pl>
18819
18820 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18821
79c4eeb9
VS
188222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 Fix incorrect echo options handling.
18825 Reported by: Yves Blusseau.
18826
18827 * include/grub/command.h (grub_command_flags_t): New flags
18828 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18829 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18830 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18831
ed80f7d5
VS
188322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18835 users updated.
18836 (GRUB_COMMAND_FLAG_MENU): Likewise.
18837 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18838 (GRUB_COMMAND_FLAG_TITLE): Removed.
18839 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18840 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18841 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18842 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18843 (grub_command_flags_t): New enum. All users updated.
18844
5fe7620a
SG
188452010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18846
18847 Fix solaris compilation.
18848
18849 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18850 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18851 (grub-emu-list): Likewise.
18852
545b752f
VS
188532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 Remove deprecated root command.
18856
18857 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18858 updated.
18859
6c1a338c
VS
188602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * util/i386/pc/grub-setup.c: Merge this ...
18863 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18864 * util/grub-setup.c: ... into this.
18865 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18866 New struct.
18867
188682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18871 possible.
18872
d2ea4551
VS
188732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18876 allocate p.
18877
3c3b5040
VS
188782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18881 explicit root argument to set to prevent UUID to be interpreted as
18882 argument to set.
18883
b71c3fae
VS
188842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18887
275433e6
VS
188882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 Don't export grub_gate_a20.
18891
18892 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18893 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18894 to ...
18895 (grub_gate_a20): ... this. All users updated.
18896 * include/grub/i386/pc/init.h: Removed. All users updated.
18897
a5dbb1f1
VS
188982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 Create euro.pf2 which supports most European languages.
18901
18902 * Makefile.am (grubdata_DATA): Add euro.pf2.
18903 (euro.pf2): New target.
18904 (CLEANFILES): Add euro.pf2.
18905
62a747cb
VS
189062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 * configure.ac: Disable emu-usb by default to prevent inadvertent
18909 device takeover.
18910
608e43b1
VS
189112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 Disable usbserial on grub-emu since our libusb code isn't good enough
18914 yet.
18915
18916 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18917 (usbserial_pl2303): Likewise.
18918 (usbserial_ftdi): Likewise.
18919
94564f81
VS
189202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18921
18922 * include/grub/disk.h (grub_disk): Remove has_partitions.
18923 All users updated.
18924 * disk/loopback.c (grub_loopback): Remove has_partitions.
18925 All users updated.
18926 (options): Remove partitions. All users updated.
18927 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18928 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18929 actual partition table is found.
18930
3352800b
VS
189312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 Remove readability checks (too many false negatives).
18934
18935 * util/grub-install.in: Remove readability checks.
18936 * util/grub-mkconfig.in: Likewise.
18937 * util/grub.d/10_hurd.in: Likewise.
18938 * util/grub.d/10_kfreebsd.in: Likewise.
18939 * util/grub.d/10_linux.in: Likewise.
18940 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18941 way.
18942
2419f17a
VS
189432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Enable acpi shutdown on all ACPI platforms.
18946
18947 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18948 on coreboo, multiboot and EFI.
18949 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18950 (grub_acpi_halt): Likewise.
18951 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18952 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18953 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18954 * grub-core/lib/i386/halt.c (grub_halt)
18955 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18956
0575c7c3
VS
189572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18960 context.
18961
54ac3cd1
VS
189622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18965 * grub-core/video/efi_uga.c: Likewise.
18966
b2a30ac5
VS
189672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 Filter devaliases and never open same device twice.
18970
18971 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18972 (last_ihandle): Likewise.
18973 (ofdisk_hash_ent): New member shortest.
18974 (ofdisk_hash_add): Add canonical path too.
18975 (scan): New function.
18976 (grub_ofdisk_iterate): Iterate over hashed entries.
18977 (compute_dev_path): Don't add :0.
18978 (grub_ofdisk_open): Don't really open the disk.
18979 (grub_ofdisk_close): Avoid closing unrelated disk.
18980 (grub_ofdisk_read): Implement reopen logic.
18981 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18982 New function.
18983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18984 New proto.
18985
fb53b340
VS
189862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 Fix sparc64.
18989
18990 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18991 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18992 right address. Add sparc64_ieee1275_ldflags.
18993 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18994 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18995 to grub_host_to_target_addr
18996 (load_image): Likewise.
18997
f452b040
VS
189982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 * grub-core/normal/completion.c (complete_file): Handle device
19001 containing slash.
19002 Fix based on patch by Doug Nazar.
19003
9b5b2541
VS
190042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 grub-mknetdir script.
19007
19008 * Makefile.util.def (grub-mknetdir): New module.
19009 * tests/util/grub-shell.in: Support boot=net
19010 * util/grub-mknetdir.in: New file.
19011
9d2be652
VS
190122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19013
19014 videoinfo on non-vbe.
19015
19016 * grub-core/Makefile.core.def (vbeinfo): Removed.
19017 (vbetest): Removed.
19018 (videoinfo): New module.
19019 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19020 * grub-core/commands/i386/pc/vbetest.c: Removed.
19021 * grub-core/commands/videoinfo.c: New file.
19022 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19023 specification.
19024 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19025 as vbetest.
19026 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19027 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19028 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19029 mode_number. New parameter mode. All users updated.
19030 (grub_video_gop_iterate): New function.
19031 (grub_video_efi_gop): New member iterate.
19032 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19033 (grub_vbe_set_video_mode): Remove setting useless fields.
19034 (vbe2videoinfo): New function.
19035 (grub_video_vbe_iterate): Likewise.
19036 (grub_video_vbe_setup): Use vbe2videoinfo.
19037 (grub_video_vbe_print_adapter_specific_info): New function.
19038 (grub_video_vbe_adapter): New fields iterate and
19039 print_adapter_specific_info.
19040 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19041 All users updated.
19042 (grub_video_mode_info): New field mode_number.
19043 (grub_video_adapter): New fields iterate and
19044 print_adapter_specific_info.
19045
179503f5
TG
190462010-09-13 Tristan Gingold <gingold@free.fr>
190472010-09-13 Robert Millan <rmh.grub@aybabtu.com>
190482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 * grub-core/commands/efi/lsefisystab.c: New file.
19051 * grub-core/commands/efi/lssal.c: Likewise.
19052 * grub-core/Makefile.core.def (lsacpi): New module.
19053 (lsefisystab): Likewise.
19054 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19055 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19056 (grub_efi_sal_system_table): New struct.
19057 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19058 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19059 (grub_efi_sal_system_table_platform_features): Likewise.
19060 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19061 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19062 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19063 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19064
cf9827de
VS
190652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 Support explicit user claim that a device is BIOS-visible.
19068
19069 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19070 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19071 * grub-core/kern/emu/hostdisk.c
19072 (convert_system_partition_to_system_disk): Support mdX.
19073 (find_system_device): New parameter add. All users updated.
19074 (grub_util_biosdisk_is_present): New function.
19075 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19076 proto.
19077
53f0eb1f
VS
190782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 Search hints support.
19081
19082 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19083 All users updated.
19084
b23ffd70
YB
190852010-09-13 Yves Blusseau <blusseau@zetam.org>
19086
19087 Bash completion script for util commands
19088
19089 * Makefile.am: Add util/bash-completion.d directory
19090 * configure.ac: Likewise.
19091 * util/bash-completion.d/Makefile.am: New file.
19092 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19093
d547dc28
VS
190942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19097 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19098 Reported by: Yves Blusseau.
19099
2fc8ccb9
VS
191002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19103 partition size and offset.
19104
d8a84076
VS
191052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19108
84fb3b3d
VS
191092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19112
768ec2e2
VS
191132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19116 (grub_xvasprintf): Likewise.
19117
4870900f
VS
191182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19121
faca6bec
VS
191222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19125 args ending with NULL.
19126
191272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19128
19129 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19130 pointer.
19131
3c70f225
SJ
191322010-09-11 Szymon Janc <szymon@janc.net.pl>
19133
19134 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19135
4df7996d
VS
191362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 Shutdown using ACPI.
19139
19140 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19141 * grub-core/commands/acpihalt.c: New file.
19142 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19143 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19144 (grub_acpi_halt): New proto.
19145 (GRUB_ACPI_SLP_EN): New const.
19146 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19147 (GRUB_ACPI_OPCODE_*): New enum.
19148 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19149
126b4c32
TG
191502010-09-11 Tristan Gingold <gingold@free.fr>
191512010-09-11 Robert Millan <rmh.grub@aybabtu.com>
191522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * commands/lsacpi.c: New file.
19155 * grub-core/Makefile.core.def (lsacpi): New module.
19156 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19157 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19158 (grub_acpi_madt_entry_header): New struct.
19159 (grub_acpi_madt): Likewise.
19160 (grub_acpi_madt_entry_interrupt_override): Likewise.
19161 (grub_acpi_madt_entry_sapic): Likewise.
19162 (grub_acpi_madt_entry_lsapic): Likewise.
19163 (grub_acpi_madt_entry_platform_int_source): Likewise.
19164 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19165 (PRIuGRUB_UINT32_T): Likewise.
19166 (PRIxGRUB_UINT64_T): Likewise.
19167
1aa4fe88
VS
191682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 Implement loading palette on ieee1275_fb.
19171
19172 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19173 (have_setcolors): Likewise.
19174 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19175 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19176 (grub_video_ieee1275_set_palette): Implement.
19177
25761e13
VS
191782010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
191792010-09-11 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * util/grub-install.in (grub_partition): New variable.
19182 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19183 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19184 Fixes a bug reported by Yves Blusseau.
19185
050abaea
VS
191862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 Fix emu on mipsel.
19189
19190 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19191 =grub_cpu_flush_cache on all mips and not only yeeloong.
19192 * configure.ac (COND_mips): New conditional.
19193 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19194 platforms.
19195 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19196 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19197 [GRUB_LINKER_HAVE_INIT]: New function.
19198 (grub_emu_post_init): Likewise.
19199 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19200 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19201 * include/grub/cache.h (_mips): Include mips/cache.h.
19202 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19203 LVM and RAID prototypes.
19204 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19205 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19206 function.
19207
5ed7d816
CW
192082010-09-10 Colin Watson <cjwatson@ubuntu.com>
19209
19210 * util/grub-install.in: Don't try to verify core.img until after
19211 running grub-mkimage to create it.
19212
90367e04
RM
192132010-09-10 Robert Millan <rmh@gnu.org>
19214
19215 * util/grub.d/10_hurd.in: Add misc readability checks.
19216 * util/grub.d/10_kfreebsd.in: Likewise.
19217 * util/grub.d/10_linux.in: Likewise.
19218
c452fa66
CW
192192010-09-10 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * util/grub-install.in: ${imgext} won't be defined here until the
19222 install branch is merged. For the meantime, only verify core.img on
19223 i386-pc and sparc64-ieee1275 platforms.
19224
c38fe9f4
RM
192252010-09-10 Robert Millan <rmh@gnu.org>
19226
19227 Solaris support in grub_find_zpool_from_dir(). Thanks
19228 Seth Goldberg for referring to getextmntent() facility.
19229
19230 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19231 `sys/mkdev.h'.
19232 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19233 `<sys/mnttab.h>'.
19234 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19235 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19236 method for finding zpool name.
19237
905f7773
CW
192382010-09-10 Colin Watson <cjwatson@ubuntu.com>
19239
19240 grub-fstest needs the host and hostfs modules while other utilities
19241 actively require those modules to be absent, so grub-fstest needs
19242 its own initialisation and finalisation code.
19243
19244 * Makefile.am (grub_fstest.pp): New target.
19245 (grub_fstest_init.lst): Likewise.
19246 (grub_fstest_init.c): Likewise.
19247 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19248
fb90b546
RM
192492010-09-10 Robert Millan <rmh@gnu.org>
19250
19251 * configure.ac: Check for `struct statfs.f_fstypename' and
19252 `struct statfs.f_mntfromname'.
19253
19254 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19255 kFreeBSD-specific code.
19256
66d4bea5
RM
192572010-09-10 Robert Millan <rmh@gnu.org>
19258
19259 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19260 on ZFS. Now non-main filesystems are supported as / too.
19261
b6a690ee
CW
192622010-09-09 Colin Watson <cjwatson@ubuntu.com>
19263
19264 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19265 and grub-core/disk/host.c to ...
19266 (grub-fstest): ... here. Having the host disk implementation
19267 present confuses grub-probe and other utility programs.
19268
19269 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19270 when writing to a file, not when writing to stdout.
19271
8901b00c 192722010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19273
19274 * tests/partmap_test.in: New test for partitions.
19275 * Makefile.util.def: Rules for new test.
19276
7bf45fdd
RM
192772010-09-09 Robert Millan <rmh@gnu.org>
19278
19279 * util/grub-probe.c (probe): Fix a pair of unhandled error
19280 conditions.
19281
4dfbc574
RM
192822010-09-09 Robert Millan <rmh@gnu.org>
19283
19284 Basic Btrfs support (detection and UUID).
19285
19286 * grub-core/fs/btrfs.c: New file.
19287 * Makefile.util.def (library): Register btrfs.c.
19288 * grub-core/Makefile.core.def: Likewise.
19289
6b8e78ae
RM
192902010-09-08 Robert Millan <rmh@gnu.org>
19291
19292 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19293 with (optional) parameters to specify device and relative path.
19294 * util/grub-install.in: Use is_path_readable_by_grub() to
19295 verify readability of a few critical files.
19296 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19297 verify readability of grub.cfg.new.
19298
27f21a8b
VS
192992010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 Split minix.mod into minix.mod and minix2.mod.
19302
19303 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19304 * grub-core/Makefile.core.def (minix2): New module.
19305 * grub-core/fs/minix.c: Use definitions instead of runtime version
19306 checking.
19307 * grub-core/fs/minix2.c: New file.
19308
c0e53ea5
YB
193092010-09-08 Yves Blusseau <blusseau@zetam.org>
19310
19311 Add new --boot-directory option to replace --root-directory
19312
19313 * util/grub-install.in: Add new --boot-directory option
19314 * util/grub-reboot.in: Likewise.
19315 * util/grub-set-default.in: Likewise.
19316
b9fe6ea2
YB
193172010-09-08 Yves Blusseau <blusseau@zetam.org>
19318
19319 * util/grub-mkconfig.in: Use new variable.
19320
d87aedff
YB
193212010-09-08 Yves Blusseau <blusseau@zetam.org>
19322
19323 * configure.ac: Define some useful variables.
19324
e55e8495
VS
193252010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19328 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19329 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19330 Use terminfo and don't use cursor-on/cursor-off unless it's known
19331 to work.
19332 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19333 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19334
6fa6d675
CW
193352010-09-08 Colin Watson <cjwatson@ubuntu.com>
19336
19337 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19338 starts with "(,", fill the drive containing the loaded image in
19339 between those two characters, but expect that a full partition
19340 specification including partition map names will follow.
19341
92f2aef0
RM
193422010-09-08 Robert Millan <rmh@gnu.org>
19343
19344 * configure.ac: Remove `--enable-grub-fstest' option.
19345 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19346
19347 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19348 `grub-fstest' instead of `grub-probe' for readability verification.
19349 * util/grub-probe.c (probe): Remove readability verification kludge.
19350
99fd620d
RM
193512010-09-08 Robert Millan <rmh@gnu.org>
19352
19353 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19354 initializing `GRUB_FS'.
19355
058e30ac 193562010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19357
19358 Not command (!) support to GRUB script.
19359
19360 * tests/grub_script_not.in: New test.
19361 * Makefile.util.def: Rules for new test.
19362
19363 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19364 ! command as a special case.
19365 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19366
b61d05ed 193672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19368
058e30ac 19369 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19370 grub_free.
b61d05ed 19371
4d69c786 193722010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19373
19374 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19375
aa3119c4 193762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19377
19378 * docs/grub.texi (Shell-like scripting): Documentation for break,
19379 continue, shift and return commands.
19380
db0f7e3d
VS
193812010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 Rename CD-ROM to cd on BIOS.
19384
19385 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19386 "cd".
19387 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19388
88b87c93
VS
193892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19392 * util/grub-probe.c (main): Likewise.
19393 * util/i386/pc/grub-setup.c (main): Likewise.
19394 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19395 Reported and debugged by: alexxy
19396
294f324d
VS
193972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19400 diagnostic info.
19401
d7ee3441
JS
194022010-09-05 Jo Shields <directhex@apebox.org>
19403
19404 * util/grub.d/30_os-prober.in: Add missing classes.
19405
d7e06c1f
VS
194062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * docs/grub.texi (Theme file format): Document new position format.
19409
fc157e53
VS
194102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19413 a table. Use @code instead of @verbatim.
19414
506e9a1c
CB
194152010-09-05 Colin D Bennett <colin@gibibit.com>
19416
19417 Gfxmenu documentation.
19418
19419 * docs/grub.texi (Theme file format): New chapter.
19420
f0aff67c
SJ
194212010-09-05 Szymon Janc <szymon@janc.net.pl>
19422
19423 * grub-core/Makefile.core.def (xzio): New module.
19424 * grub-core/io/xzio.c: New file.
19425 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19426 * grub-core/lib/xzembed/xz_config.h: Likewise.
19427 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19428 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19429 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19430 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19431 * grub-core/lib/xzembed/xz_private.h: Likewise.
19432 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19433 * include/grub/file.h (grub_file_filter_id): New compression filter
19434 GRUB_FILE_FILTER_XZIO.
19435
82a85062
VS
194362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19439 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19440 size.
19441
3579415d
VS
194422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19445 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19446
5124ae6d
VS
194472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 Uncompressed checksum support.
19450
19451 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19452 (check_list): New parameter uncompress.
19453 (grub_cmd_hashsum): Handle --uncompress.
19454
9aadb3d1
VS
194552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Reintroduce testload.
19458
19459 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19460 from here ...
19461 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19462 (GRUB_MOD_INIT): New function.
19463 (GRUB_MOD_FINI): Likewise.
19464 * grub-core/Makefile.core.def (testload): New module.
19465
a17792c3
SJ
194662010-09-05 Szymon Janc <szymon@janc.net.pl>
19467
19468 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19469 (uint8_t): New type.
19470 (uint16_t): Likewise.
19471 (uint32_t): Likewise.
19472 (uint64_t): Likewise.
19473
b81e40a3
SJ
194742010-09-05 Szymon Janc <szymon@janc.net.pl>
19475
19476 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19477
fc2ef117
VS
194782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19481 Made static.
19482 (grub_gzfile_open): Removed. All users updated.
19483 (GRUB_MOD_INIT): New function.
19484 (GRUB_MOD_FINI): Likewise.
19485 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19486 (grub_file_filters_enabled): Likewise.
19487 (grub_file_open): Handle filters.
19488 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19489 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19490 * include/grub/file.h (grub_file_filter_id_t): New type.
19491 (grub_file_filter_t): Likewise.
19492 (grub_file_filters_all): New extern variable.
19493 (grub_file_filters_enabled): Likewise.
19494 (grub_file_filter_register): New inline function.
19495 (grub_file_filter_unregister): Likewise.
19496 (grub_file_filter_disable): Likewise.
19497 (grub_file_filter_disable_compression): Likewise.
19498 * include/grub/gzio.h: Removed.
19499
35ee15e0
BC
195002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19501
19502 Filename expansion support for wildcards in GRUB script.
19503
19504 * tests/grub_script_expansion.in: New test.
19505 * Makefile.util.def: Rule for new test.
19506
19507 * grub-core/commands/wildcard.c: New file, implements filename
19508 expansion support for GRUB script.
19509 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19510 * grub-core/script/argv.c: Cosmetic changes.
19511 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19512 Refactored to perform wildcard expansion on arguments.
19513 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19514 struct.
19515
19516 * tests/util/grub-shell.in: Fix quoting for read input.
19517
5f0c4aca
BC
195182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19519
19520 Support for updating environment variables with matched substrings
19521 of regexp.
19522
19523 * tests/grub_cmd_regexp.in: New test.
19524 * Makefile.util.def: Rule for new test.
19525
19526 * grub-core/commands/regexp.c: New option -s to update environment
19527 variables with regexp matches.
19528
3759a35f
SJ
195292010-09-04 Szymon Janc <szymon@janc.net.pl>
19530
19531 * include/grub/file.h (grub_file): New member not_easly_seekable.
19532 (grub_file_seekable): New inline function.
19533 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19534 easily seekable.
19535 (grub_gzio_open): Set not_easly_seekable.
19536 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19537 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19538
ed8c6dec
BC
195392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19540
19541 Support for options to appear multiple times on cmdline.
19542
19543 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19544 * grub-core/commands/extcmd.c: Support for repeatable option.
19545 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19546 repeatable option support.
19547
19548 Refactor menuentry into a regular command.
19549
19550 * grub-core/commands/menuentry.c: New file, menuentry command
19551 implementation.
19552 * grub-core/Makefile.core.def: Rule update for normal.mod.
19553 * grub-core/normal/main.c: Moved menuentry creation to
19554 grub-core/commands/menuentry.c.
19555 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19556 (grub_menu_execute_entry_real): Removed.
19557 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19558 function.
19559 (grub_script_execute_menuentry): Removed.
19560 * grub-core/script/parser.y (menuentry): Removed.
19561 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19562 * grub-core/script/yylex.l (menuentry): Removed.
19563 * include/grub/menu.h (grub_menu_init): New prototype.
19564 (grub_menu_fini): New prototype.
19565 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19566 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19567 (grub_script_execute_sourcecode): New prototype.
19568
dacd0cf0
BC
195692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19570
19571 "return" command for GRUB script functions.
19572
19573 * tests/grub_script_return.in: New test.
19574 * Makefile.util.def: Rules for new test.
19575
19576 * grub-core/script/execute.c (grub_script_return): New function.
19577 * grub-core/script/main.c: Register/unregister return commaond.
19578 * include/grub/script_sh.h (grub_script_return): New prototype.
19579
52e72f9d
BC
195802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19581
19582 "setparams" command to update positional parameters.
19583
19584 * tests/grub_script_setparams.in: New test.
19585 * Makefile.util.def: Rules for new test.
19586
19587 * grub-core/script/argv.c (grub_script_argv_make): New function.
19588 * grub-core/script/execute.c (replace_scope): New function.
19589 (grub_script_setparams): New function.
19590 * grub-core/script/lexer.c: Remove unused variables.
19591 * grub-core/script/main.c: Register/unregister setparams command.
19592 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19593 (grub_script_setparams): New prototype.
19594
25b60c91
BC
195952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19596
19597 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19598 grub_free order.
19599
37e7bf68
BC
196002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19601
19602 Support for passing block of commands as an argument to extcmds.
19603
19604 * Makefile.util.def: Rules for new test.
19605 * tests/grub_script_blockarg.in: New test.
19606 * grub-core/tests/test_blockarg.c: New file, block argument
19607 command used in the test.
19608
19609 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19610 (grub_register_extcmd_prio): New function prototype.
19611 (grub_extcmd_dispatcher): New function prototype.
19612 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19613 type.
19614 * include/grub/script_sh.h (struct grub_script): New members
19615 `children', `next_siblings' and `refcnt' for block arguments and
19616 reference counting.
19617 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19618 (grub_script_arg): New member `script' for block argument.
19619 (grub_script_argv): New member `script' for block argument.
19620 (grub_parser_param): New member `scripts' for block argument.
19621 (grub_script_mem_free): New extern function prototype.
19622 (grub_script_ref): New function prototype.
19623 (grub_script_unref): New function prototype.
19624
19625 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19626 extcmd form to support block arguments.
19627 * grub-core/script/argv.c: Block arguments support.
19628 * grub-core/script/execute.c: Likewise.
19629 * grub-core/script/lexer.c: Likewise.
19630 * grub-core/script/main.c: Likewise.
19631 * grub-core/script/script.c: Likewise.
19632 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19633 non-terminals.
19634
19635 * grub-core/commands/acpi.c: Update extcmd implementations with
19636 grub_extcmd_context_t.
19637 * grub-core/commands/cat.c: Likewise.
19638 * grub-core/commands/echo.c: Likewise.
19639 * grub-core/commands/extcmd.c: Likewise.
19640 * grub-core/commands/hashsum.c: Likewise.
19641 * grub-core/commands/hdparm.c: Likewise.
19642 * grub-core/commands/help.c: Likewise.
19643 * grub-core/commands/hexdump.c: Likewise.
19644 * grub-core/commands/i386/cpuid.c: Likewise.
19645 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19646 * grub-core/commands/i386/pc/halt.c: Likewise.
19647 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19648 * grub-core/commands/iorw.c: Likewise.
19649 * grub-core/commands/keystatus.c: Likewise.
19650 * grub-core/commands/loadenv.c: Likewise.
19651 * grub-core/commands/ls.c: Likewise.
19652 * grub-core/commands/lspci.c: Likewise.
19653 * grub-core/commands/memrw.c: Likewise.
19654 * grub-core/commands/probe.c: Likewise.
19655 * grub-core/commands/search_wrap.c: Likewise.
19656 * grub-core/commands/setpci.c: Likewise.
19657 * grub-core/commands/sleep.c: Likewise.
19658 * grub-core/disk/loopback.c: Likewise.
19659 * grub-core/hello/hello.c: Likewise.
19660 * grub-core/loader/i386/bsd.c: Likewise.
19661 * grub-core/loader/xnu.c: Likewise.
19662 * grub-core/term/gfxterm.c: Likewise.
19663 * grub-core/term/serial.c: Likewise.
19664 * grub-core/tests/lib/functional_test.c: Likewise.
19665
888d1500
BC
196662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19667
19668 Multi-line quoted strings support.
19669
19670 * grub-core/script/lexer.c (append_newline): Removed.
19671 (grub_script_lexer_yywrap): Refactored.
19672 (grub_script_lexer_init): Refactored.
19673 * grub-core/script/yylex.l (yywrap): New function.
19674 (grub_lexer_resplit): New function.
19675 (grub_lexer_unput): New function.
19676 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19677 and resplit.
19678 * tests/grub_script_echo1.in: Added few more testcases.
19679
dda060dd
VS
196802010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 * grub-core/kern/misc.c: Don't add abort alias in utils.
19683 Reported by: echoline.
19684
6556eba9
BC
196852010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19686
19687 Add missing files into "make dist" tarball for other platforms.
19688
19689 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19690 * conf/Makefile.common (dist_noinst_DATA): New variable.
19691 * conf/Makefile.extra-dist: Added missing make dist files.
19692 * grub-core/Makefile.core.def: Likewise.
19693
c8e7bf5f
VS
196942010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 Compress grub_prefix.
19697
19698 * grub-core/boot/i386/pc/lnxboot.S: Use
19699 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19700 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19701 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19702 GRUB_MACHINE_PREFIX_END. All users updated.
19703 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19704 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19705 + 0x40.
19706 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19707 * util/grub-mkimage.c (image_target_desc): Change data_end to
19708 prefix_end. All users updated.
19709
a7c00cdb
VS
197102010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19713 value.
19714 (grub_openbsd_boot): Likewise.
19715 (grub_netbsd_boot): Likewise.
19716 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19717 (grub_xnu_boot): Likewise.
19718
9f915872
VS
197192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * configure.ac: Clean LIBS variable after tests.
19722
efa1bee7
CW
197232010-09-02 Colin Watson <cjwatson@ubuntu.com>
19724
19725 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19726
61d720e5
VS
197272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19730 echo if libdevmapper will be used.
19731
ef8e0ec8
IT
197322010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19733
19734 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19735 constant for the same file.
19736
03e261d8
VS
197372010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19740
c2a4eba6
CW
197412010-09-02 Colin Watson <cjwatson@ubuntu.com>
19742
19743 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19744 grub-core/*.pp.
19745
9056cbf3
CW
197462010-09-02 Colin Watson <cjwatson@ubuntu.com>
19747
19748 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19749 required by the boot protocol.
19750
19751 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19752 ebp and edi members.
19753 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19754 state.ebp and state.edi.
19755 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19756 %ebp and %edi according to grub_relocator32_ebp and
19757 grub_relocator32_edi respectively.
19758 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19759 and state.edi.
19760
529cc99a
VS
197612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 Add i386-pc-pxe image target.
19764
19765 * util/grub-mkimage.c (image_target_desc): New enum value
19766 IMAGE_I386_PC_PXE.
19767 (image_targets): New target i386-pc-pxe.
19768 (generate_image): Handle i386-pc-pxe image.
19769
9a093920
VS
197702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 Fix grub_pxe_scan.
19773
19774 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19775 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19776 All users updated.
19777 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19778 (grub_pxe_pxenv): Correct type.
19779
f9cefc4e
CW
197802010-09-01 Colin Watson <cjwatson@ubuntu.com>
19781
19782 * NEWS: Document most of the important changes since 1.98.
19783
4066f57f
CW
197842010-09-01 Colin Watson <cjwatson@ubuntu.com>
19785
19786 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19787 generated manual page) a little.
19788
da2891f9
CW
197892010-09-01 Colin Watson <cjwatson@ubuntu.com>
19790
19791 * docs/grub.texi: Add myself as an author.
19792
ad717fae
VS
197932010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * Makefile.util.def (libgrub.a): Add missing sunpc.
19796 Reported by: Seth Goldberg.
19797
eefe8abd
VS
197982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 Interrupt wrapping and code simplifications.
19801
9494ef9a
VS
19802 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19803 x86_noieee1275 which are functionaly equivalent in this case.
19804 (grub-install): Make source on each platform explicit. Enable on
19805 all noemu.
19806 * gentpl.py (x86_efi_pc): Removed group.
19807 (x86_noefi): Likewise.
19808 (i386_noefi): Likewise.
19809 (x86_noieee1275): Likewise.
19810 (i386_noieee1275): Likewise.
19811 (i386_noefi_noieee1275): Likewise.
19812 (i386_pc_qemu_coreboot): Likewise.
19813 (i386_coreboot_multiboot): Likewise.
19814 (i386_pc_coreboot_multiboot_qemu): Likewise.
19815 (x86_noefi_mips): Likewise.
19816 (noieee1275): Likewise.
19817 (ieee1275_mips): Likewise.
19818 (noemu_noieee1275): Likewise.
19819 (cmos): New group.
19820 (usb): Likewise.
19821 (videoinkernel): Likewise.
19822 (videomodules): Likewise.
eefe8abd 19823 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19824 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19825 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19826 include/grub/loader.h, include/grub/msdos_partition.h,
19827 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19828 include/grub/machine/console.h, include/grub/machine/vga.h,
19829 include/grub/machine/vbe.h, include/grub/machine/init.h,
19830 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19831 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19832 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19833 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19834 * grub-core/Makefile.core.def (kernel): Explicit the source for
19835 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19836 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19837 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19838 Use videoinkernel tag.
19839 (usb): Enable on all usb.
19840 (usbserial_common): Likewise.
19841 (usbserial_pl2303): Likewise.
19842 (usbserial_ftdi): Likewise.
19843 (uhci): Enable on all x86.
19844 (ohci): Enable on all pci.
19845 (cmostest): Enable on all CMOS.
19846 (acpi): Include commands/acpi.c on all platforms.
19847 (halt): Add relevant lib/*/halt.c.
19848 (hdparm): Enable on all pci.
19849 (lspci): Likewise.
19850 (usbtest): Enable on all usb.
19851 (ata): Enable on all pci.
19852 (ata_pthru): Likewise.
19853 (usbms): Enable on all usb.
19854 (usb_keyboard): Likewise.
19855 (font): Use tag videomodules.
19856 (bufio): Likewise.
19857 (datetime): Use tag cmos. Enable on all noemu.
19858 (mmap): Use tags common and x86.
19859 (gfxterm): Use tag videomodules.
19860 (bitmap): Likewise.
19861 (bitmap_scale): Likewise.
19862 (video_fb): Likewise.
19863 (video): Likewise.
19864 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19865 adjust padding accordingly. All users updated.
19866 (grub_ohci_transaction): Fix bad format specification.
19867 (GRUB_MOD_INIT): Add asserts for struct size.
19868 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19869 (grub_alloc_td): Likewise.
19870 (grub_free_queue): Likewise.
19871 (grub_uhci_transfer): Likewise.
19872 (grub_uhci_transaction): Fix bad format specification.
19873 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19874 (grub_usb_bulk_readwrite): Likewise.
19875 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19876 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19877 Made static.
19878 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19879 Made static.
19880 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19881 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19882 Transformed into C.
19883 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19884 Moved from here ...
19885 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19886 ... here. Transformed into C. Made static.
19887 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19888 Moved from here ...
19889 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19890 ... here. Transformed into C. Made static.
19891 * grub-core/kern/i386/pc/startup.S
19892 (grub_biosdisk_check_int13_extensions): Moved from here ...
19893 * grub-core/disk/i386/pc/biosdisk.c
19894 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19895 Made static.
19896 * grub-core/kern/i386/pc/startup.S
19897 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19898 * grub-core/disk/i386/pc/biosdisk.c
19899 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19900 Transformed into C. Made static.
19901 * grub-core/kern/i386/pc/startup.S
19902 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19903 * grub-core/disk/i386/pc/biosdisk.c
19904 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19905 Transformed into C. Made static.
19906 * grub-core/kern/i386/pc/startup.S
19907 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19908 * grub-core/disk/i386/pc/biosdisk.c
19909 (grub_biosdisk_get_diskinfo_standard): ... here.
19910 Transformed into C. Made static.
19911 * grub-core/kern/i386/pc/startup.S
19912 (grub_biosdisk_get_num_floppies): Moved from here ...
19913 * grub-core/disk/i386/pc/biosdisk.c
19914 (grub_biosdisk_get_num_floppies): ... here.
19915 Transformed into C. Made static.
19916 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19917 New function.
19918 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19919 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19920 Transformed into C. Made static.
19921 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19922 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19923 Transformed into C. Made static.
19924 * grub-core/kern/i386/ieee1275/init.c: Removed.
19925 * grub-core/kern/i386/misc.S: Likewise.
19926 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19927 Splitted from here ...
19928 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19929 Transformed into C. Made static. All users updated.
19930 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19931 Transformed into C. Made static. All users updated.
19932 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19933 Moved from here...
19934 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19935 Transformed into C. Made static. All users updated.
19936 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19937 Moved from here...
19938 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19939 Transformed into C. Made static. All users updated.
19940 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19941 Removed (replaced by C version).
19942 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19943 Moved from here...
19944 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19945 Transformed into C. Made static.
19946 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19947 Moved from here...
19948 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19949 ... here. Transformed into C.
19950 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19951 Moved from here...
19952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19953 ... here. Transformed into C.
19954 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19955 Moved from here...
19956 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19957 ... here. Transformed into C. Made static.
19958 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19959 Moved from here...
19960 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19961 ... here. Transformed into C.
21ed554b
VS
19962 * grub-core/kern/i386/pc/startup.S
19963 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19964 * grub-core/video/i386/pc/vbe.c
19965 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19966 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19967 Moved from here...
19968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19969 ... here. Transformed into C.
19970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19971 Moved from here...
19972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19973 ... here. Transformed into C.
19974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19975 Moved from here...
19976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19977 ... here. Transformed into C.
19978 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19979 Moved from here...
19980 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19981 ... here. Transformed into C.
19982 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19983 Moved from here...
19984 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19985 ... here. Transformed into C. Made static.
19986 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19987 Moved from here...
19988 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19989 ... here. Transformed into C. Made static.
19990 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19991 Moved from here...
19992 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19993 ... here. Transformed into C. Made static.
19994 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19995 pxe_rm_entry as third argument.
19996 (grub_bios_interrupt): New function.
19997 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19998 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19999 of calling grub_stop.
20000 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20001 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20002 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20003 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20004 * grub-core/lib/i386/halt.c: Moved from here ...
20005 * grub-core/lib/i386/halt.c: ... here.
20006 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20007 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20008 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20009 grub_stop_floppy.
20010 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20011 * include/grub/i386/coreboot/init.h: Removed.
20012 * include/grub/i386/multiboot/init.h: Likewise.
20013 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20014 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20015 * include/grub/i386/pc/int.h: New file.
20016 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20017 (grub_pxe_scan): Removed.
20018 (grub_pxe_call): Update prototype.
20019 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20020 prototypes.
20021 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20022 * include/grub/i386/qemu/init.h: Removed.
20023 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20024 noreturn.
20025 (grub_halt): Likewise.
20026 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20027 (grub_reboot): Likewise.
20028 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20029 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20030 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20031
215dd471
RM
200322010-08-30 Robert Millan <rmh@gnu.org>
20033
20034 * NEWS: Document addition of ZFS support in `grub-install' and
20035 `grub-mkconfig'.
20036
ebd65b82
BC
200372010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20038
20039 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20040 dprintf output.
20041
11721d19
VS
200422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 Remove leftover embedding of font objects.
20045
20046 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20047 * util/grub-install.in (font): Removed.
20048 * util/grub-mkimage.c (generate_image): Remove font support. All users
20049 updated.
20050
37837d4e
VS
200512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 Remove leftover embedding of font objects.
20054
20055 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20056 * util/grub-install.in (font): Removed.
20057 * util/grub-mkimage.c (generate_image): Remove font support. All users
20058 updated.
20059
b4c1aae0
VS
200602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20063 Reported by: Ian Turner
b4c1aae0 20064
8920a08d
VS
200652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20068 timeout to avoid indefinite boot stalling.
20069
f21db033
VS
200702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20073 (grub_env_write_color_highlight): Likewise.
20074
9a9de209
VS
200752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * grub-core/normal/term.c (print_more): Return to normal and not
20078 to standard state after printing "---MORE---".
20079
3dca01d7
VS
200802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20081
20082 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20083 Mask out the bit 0x80 since it has other meaning that specifiing color.
20084
0b986c40
VS
200852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 New relocator. Allows for more kernel support and more straightforward
20088 loader writing.
20089
20090 * Makefile.am (BOOTTARGET): New variable.
20091 (QEMU32): Likewise.
20092 (linux.init.x86_64): New target.
20093 (linux.init.i386): Likewise.
20094 (multiboot.elf): Likewise.
20095 (kfreebsd.elf): Likewise.
20096 (kfreebsd.aout): Likewise.
20097 (pc-chainloader.elf): Likewise.
20098 (pc-chainloader.bin): Likewise.
20099 (ntldr.elf): Likewise.
20100 (ntldr.bin): Likewise.
20101 (multiboot2.elf): Likewise.
20102 (kfreebsd.init.x86_64): Likewise.
20103 (kfreebsd.init.i386): Likewise.
20104 (knetbsd.init.i386): Likewise.
20105 (kopenbsd.init.i386): Likewise.
20106 (knetbsd.init.x86_64): Likewise.
20107 (kopenbsd.init.x86_64): Likewise.
20108 (linux-initramfs.i386): Likewise.
20109 (linux-initramfs.x86_64): Likewise.
20110 (kfreebsd-mfsroot.i386.img): Likewise.
20111 (knetbsd.image.i386): Likewise.
20112 (kopenbsd.image.i386): Likewise.
20113 (kopenbsd.image.x86_64): Likewise.
20114 (knetbsd.miniroot-image.i386.img): Likewise.
20115 (kfreebsd-mfsroot.x86_64.img): Likewise.
20116 (knetbsd.image.x86_64): Likewise.
20117 (knetbsd.miniroot-image.x86_64.img): Likewise.
20118 (kfreebsd-mfsroot.i386.gz): Likewise.
20119 (bootcheck-kfreebsd-i386): Likewise.
20120 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20121 (bootcheck-kfreebsd-x86_64): Likewise.
20122 (knetbsd.miniroot-image.i386.gz): Likewise.
20123 (bootcheck-knetbsd-i386): Likewise.
20124 (bootcheck-kopenbsd-i386): Likewise.
20125 (bootcheck-kopenbsd-x86_64): Likewise.
20126 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20127 (bootcheck-knetbsd-x86_64): Likewise.
20128 (bootcheck-linux-i386): Likewise.
20129 (bootcheck-linux-x86_64): Likewise.
20130 (bootcheck-linux16-i386): Likewise.
20131 (bootcheck-linux16-x86_64): Likewise.
20132 (bootcheck-multiboot): Likewise.
20133 (bootcheck-multiboot2): Likewise.
20134 (bootcheck-kfreebsd-aout): Likewise.
20135 (bootcheck-pc-chainloader): Likewise.
20136 (bootcheck-ntldr): Likewise.
20137 (CLEANFILES): Add new targets.
20138 (BOOTCHECKS): New variable.
20139 (.PHONY): Add bootchecks.
20140 (SUCCESSFUL_BOOT_STRING): New variable.
20141 (BOOTCHECK_TIMEOUT): Likewise.
20142 (bootcheck): New target
20143 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20144 * configure.ac: Correct efiemu excuse.
20145 * docs/grub.texi (Supported kernels): New chapter.
20146 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20147 include/grub/mm_private.h. Simplify inclusion of
20148 include/grub/boot.h, include/grub/loader.h
20149 and include/grub/msdos_partition.h
20150 (KERNEL_HEADER_FILES) [i386_coreboot]:
20151 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20152 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20153 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20154 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20155 include/grub/machine/loader.h.
20156 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20157 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20158 extra_dist.
20159 (pci.mod): Enable on i386-multiboot.
20160 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20161 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20162 i386-qemu.
20163 (relocator.mod): Rewritten.
20164 (aout.mod): Enable on all x86.
20165 (bsd.mod): Likewise.
20166 (ntldr.mod): New module.
20167 (linux.mod): Use loader/i386/linux.c on all x86.
20168 (xnu.mod): Enable on all x86.
20169 (vga_text.mod): disable on EFI and QEMU.
20170 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20171 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20172 * grub-core/efiemu/loadcore.c: Likewise.
20173 * grub-core/efiemu/main.c: Likewise.
20174 (grub_efiemu_exit_boot_services): Removed.
20175 (grub_efiemu_finish_boot_services): Likewise.
20176 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20177 function.
20178 * grub-core/efiemu/i386/nocfgtables.c: New file.
20179 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20180 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20181 (grub_efi_finish_boot_services): Moved from here ...
20182 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20183 Fille finish memory map and related data.
20184 (finish_mmap_buf): New variable.
20185 (grub_efi_uintn_t finish_mmap_size): Likewise.
20186 (grub_efi_uintn_t finish_key): Likewise.
20187 (grub_efi_uintn_t finish_desc_size): Likewise.
20188 (grub_efi_uint32_t finish_desc_version): Likewise.
20189 (grub_efi_is_finished): Likewise.
20190 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20191 finished.
20192 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20193 (grub_elf64_phdr_iterate): Likewise.
20194 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20195 (grub_os_area_size): Likewise.
20196 (grub_machine_init): Don't reserve os area.
20197 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20198 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20199 * grub-core/kern/i386/loader.S: Removed.
20200 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20201 (grub_os_area_size): Likewise.
20202 (grub_machine_init): Don't reserve os area.
20203 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20204 Don't call grub_dl_unload_all.
20205 Don't include loader.S.
20206 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20207 Declare the memory after _end as available.
20208 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20209 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20210 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20211 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20212 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20213 * include/grub/mm_private.h (grub_mm_header): ... here.
20214 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20215 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20216 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20217 (grub_mm_region): ..here. Removed addr. Added pre_size.
20218 All users updated.
20219 * grub-core/kern/mm.c (base): Renamed to ...
20220 (grub_mm_base): ... this. Made global.
20221 (grub_real_malloc): Alloc from end of region.
20222 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20223 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20224 * grub-core/kern/powerpc/cache_flush.S: ... here.
20225 * grub-core/lib/efi/relocator.c: New file.
20226 * grub-core/lib/i386/relocator.c: Rewritten.
20227 * grub-core/lib/i386/relocator16.S: New file.
20228 * grub-core/lib/i386/relocator32.S: Likewise.
20229 * grub-core/lib/i386/relocator64.S: Likewise.
20230 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20231 * grub-core/lib/i386/relocator_common.S: New file.
20232 * grub-core/lib/ieee1275/relocator.c: Likewise.
20233 * grub-core/lib/mips/relocator.c: Rewritten.
20234 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20235 stylistic adjustments.
20236 * grub-core/lib/powerpc/relocator.c: New file.
20237 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20238 * grub-core/lib/relocator.c: Rewritten.
20239 * grub-core/lib/x86_64/relocator_asm.S: New file.
20240 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20241 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20242 (bsd_tag): New struct.
20243 (tags): New variable.
20244 (tags_last): Likewise.
20245 (netbsd_module): New struct.
20246 (netbsd_mods): New variable.
20247 (netbsd_mods_last): Likewise.
20248 (openbsd_opts): New parameter "serial".
20249 (OPENBSD_SERIAL_ARG): New definition.
20250 (netbsd_opts): New parameter "serial".
20251 (NETBSD_SERIAL_ARG): New definition.
20252 (grub_freebsd_add_meta): Reorganised into ...
20253 (grub_bsd_add_meta): ...this. All users updated.
20254 (grub_freebsd_add_mmap): Reorganised into ...
20255 (generate_e820_mmap): ...this...
20256 (grub_bsd_add_mmap): ...and this. All users updated.
20257 (grub_freebsd_list_modules): Use tags.
20258 (grub_netbsd_add_meta_module): New function.
20259 (grub_netbsd_list_modules): Likewise.
20260 (grub_freebsd_boot): Use relocator and finish EFI.
20261 (grub_openbsd_boot): Likewise.
20262 (grub_netbsd_setup_video): New function.
20263 (grub_netbsd_add_modules): Likewise.
20264 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20265 and finish EFI.
20266 (grub_bsd_unload): Unload tags.
20267 (grub_bsd_load_aout): Use relocator.
20268 (grub_bsd_elf32_size_hook): New function.
20269 (grub_bsd_elf32_hook): Use relocator.
20270 (grub_bsd_elf64_size_hook): New function.
20271 (grub_bsd_elf64_hook): Use relocator.
20272 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20273 (grub_bsd_load): Zero-out openbsd_ramdisk.
20274 (grub_bsd_load): Use relocator.
20275 (grub_cmd_openbsd): Support serial.
20276 (grub_cmd_netbsd): Support modules.
20277 (grub_cmd_freebsd_module): Use relocator.
20278 (grub_netbsd_module_load): New function.
20279 (grub_cmd_netbsd_module): Likewise.
20280 (grub_cmd_openbsd_ramdisk): Likewise.
20281 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20282 kopenbsd_ramdisk.
20283 (GRUB_MOD_FINI): Unregister new commands.
20284 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20285 (grub_freebsd_load_elfmodule_obj): Use relocator.
20286 (grub_freebsd_load_elfmodule): Likewise.
20287 (grub_freebsd_load_elf_meta): Likewise.
20288 (grub_netbsd_load_elf_meta): New function.
20289 (grub_openbsd_find_ramdisk): Likewise.
20290 * grub-core/loader/i386/bsd_helper.S: Removed.
20291 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20292 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20293 * grub-core/loader/i386/efi/linux.c: Likewise.
20294 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20295 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20296 (DEFAULT_VIDEO_MODE): Likewise.
20297 (real_mode_target): New variable.
20298 (prot_mode_target): Likewise.
20299 (initrd_mem_target): Likewise.
20300 (relocator): Likewise.
20301 (efi_mmap_buf): Likewise.
20302 (efi_mmap_size): Likewise.
20303 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20304 (free_pages): Use relocator.
20305 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20306 (grub_linux_setup_video): Return error.
20307 (grub_linux_trampoline_start): Removed.
20308 (grub_linux_trampoline_end): Likewise.
20309 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20310 andd video parameters depending on firmware.
20311 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20312 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20313 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20314 (grub_cmd_initrd): Use relocator.
20315 * grub-core/loader/i386/linux_trampoline.S: Removed.
20316 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20317 (elf_sec_entsize): Likewise.
20318 (elf_sec_shstrndx): Likewise.
20319 (elf_sections): Likewise.
20320 (grub_multiboot_load): Use relocator.
20321 (grub_multiboot_get_mbi_size): Account for sections.
20322 (grub_multiboot_make_mbi): Use relocator and support sections.
20323 (grub_multiboot_add_elfsyms): New function.
20324 (grub_multiboot_free_mbi): Free sections.
20325 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20326 (grub_linux_real_target): Likewise.
20327 (grub_linux_real_chunk): Likewise.
20328 (grub_linux16_prot_size): Likewise.
20329 (grub_linux16_boot): Use relocator.
20330 (grub_linux_unload): Unload relocator.
20331 (grub_cmd_linux): Use relocator.
20332 (grub_cmd_initrd): Likewise.
20333 * grub-core/loader/i386/pc/ntldr.c: New file.
20334 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20335 Don't try to guess CPU frequency.
20336 (grub_xnu_set_video): Stretch bitmap.
20337 (grub_xnu_boot): Use relocator.
20338 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20339 (grub_linux_unload): Free relocator.
20340 (grub_linux_load32): Use relocator.
20341 (grub_linux_load64): Likewise.
20342 (grub_cmd_initrd): Likewise.
20343 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20344 (grub_multiboot_unload): Unload relocator.
20345 (grub_cmd_multiboot): Use relocator.
20346 (grub_cmd_module): Likewise.
20347 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20348 Use relocator and support sections.
20349 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20350 (elf_sec_entsize): Likewise.
20351 (elf_sec_shstrndx): Likewise.
20352 (elf_sections): Likewise.
20353 (grub_multiboot_load): Use relocator.
20354 (grub_multiboot_get_mbi_size): Account for sections.
20355 (grub_multiboot_make_mbi): Use relocator and support sections.
20356 (grub_multiboot_add_elfsyms): New function.
20357 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20358 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20359 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20360 Prototype changed. All users updated.
20361 (grub_xnu_align_heap): Simplified.
20362 (grub_xnu_writetree_toheap): Likewise.
20363 (grub_xnu_unload): Unload relocator.
20364 (grub_cmd_xnu_kernel): Use relocator.
20365 (grub_cmd_xnu_kernel64): Likewise.
20366 (grub_xnu_register_memory): Simplified.
20367 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20368 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20369 EFI is finished.
20370 (grub_console_checkkey): Likewise.
20371 (grub_console_getkey): Likewise.
20372 (grub_console_getwh): Likewise.
20373 (grub_console_getxy): Likewise.
20374 (grub_console_gotoxy): Likewise.
20375 (grub_console_cls): Likewise.
20376 (grub_console_setcolorstate): Likewise.
20377 (grub_console_setcursor): Likewise.
20378 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20379 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20380 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20381 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20382 * grub-core/tests/boot/kernel-8086.S: Likewise.
20383 * grub-core/tests/boot/kernel-i386.S: Likewise.
20384 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20385 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20386 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20387 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20388 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20389 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20390 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20391 * grub-core/tests/boot/linux.cfg: Likewise.
20392 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20393 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20394 * grub-core/tests/boot/linux16.cfg: Likewise.
20395 * grub-core/tests/boot/multiboot.cfg: Likewise.
20396 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20397 * grub-core/tests/boot/ntldr.cfg: Likewise.
20398 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20399 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20400 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20401 New definition.
20402 * include/grub/dl.h (grub_dl_unload_all): Removed.
20403 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20404 (grub_efi_finish_boot_services): Change prototype.
20405 (grub_efi_is_finished): New variable.
20406 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20407 Changed prototype.
20408 (grub_efiemu_finish_boot_services): Removed.
20409 (grub_machine_efiemu_init_tables): New prototype.
20410 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20411 (grub_elf64_phdr_iterate): Likewise.
20412 * include/grub/i386/bsd.h: Include relocator.h.
20413 (freebsd_tag_header): New struct.
20414 (grub_openbsd_bios_mmap): Removed.
20415 (grub_unix_real_boot): Removed.
20416 (grub_freebsd_load_elfmodule32): Changed prototype.
20417 (grub_freebsd_load_elfmodule_obj64): Likewise.
20418 (grub_freebsd_load_elf_meta32): Likewise.
20419 (grub_freebsd_load_elf_meta64): Likewise.
20420 (grub_freebsd_add_meta): Removed.
20421 (grub_netbsd_load_elf_meta32): New prototype.
20422 (grub_netbsd_load_elf_meta64): Likewise.
20423 (grub_bsd_add_meta): Likewise.
20424 (grub_openbsd_ramdisk_descriptor): New struct.
20425 (grub_openbsd_find_ramdisk32): New prototype.
20426 (grub_openbsd_find_ramdisk64): Likewise.
20427 * include/grub/i386/coreboot/loader.h: Removed.
20428 * include/grub/i386/efi/loader.h: Likewise.
20429 * include/grub/i386/ieee1275/loader.h: Likewise.
20430 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20431 to grub_uint32_t.
20432 * include/grub/i386/loader.h: Removed.
20433 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20434 value.
20435 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20436 (grub_phys_addr_t): New type.
20437 (grub_vtop): New inline function.
20438 (grub_map_memory): Likewise.
20439 (grub_unmap_memory): Likewise.
20440 * include/grub/i386/multiboot/loader.h: Removed.
20441 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20442 (NETBSD_BTINFO_CONSOLE): New definition.
20443 (NETBSD_BTINFO_SYMTAB): Likewise.
20444 (NETBSD_BTINFO_MODULES): Likewise.
20445 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20446 (grub_netbsd_bootinfo): New struct.
20447 (grub_netbsd_btinfo_common): Use explicit bitsize.
20448 (grub_netbsd_btinfo_mmap_entry): Removed.
20449 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20450 (grub_netbsd_btinfo_bootdisk): New struct.
20451 (grub_netbsd_btinfo_symtab): Likewise.
20452 (grub_netbsd_btinfo_serial): Likewise.
20453 (grub_netbsd_btinfo_modules): Likewise.
20454 (grub_netbsd_btinfo_framebuf): Likewise.
20455 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20456 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20457 Likewise.
20458 (grub_openbsd_bootargs): Use explicit bitsize.
20459 (grub_openbsd_bootarg_console): New struct.
20460 (GRUB_OPENBSD_COM_MAJOR): New definition.
20461 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20462 * include/grub/i386/pc/efiemu.h: Removed.
20463 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20464 * include/grub/i386/qemu/loader.h: Removed.
20465 * include/grub/i386/relocator.h: Rewritten.
20466 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20467 * include/grub/mips/memory.h: New file.
20468 * include/grub/mips/multiboot.h: Rewritten.
20469 * include/grub/mips/relocator.h: Rewritten.
20470 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20471 (grub_vtop): New function.
20472 (grub_map_memory): Likewise.
20473 (grub_unmap_memory): Likewise.
20474 * include/grub/misc.h (ALIGN_DOWN): New definition.
20475 * include/grub/mm.h (grub_mm_check_real): New proto.
20476 (GRUB_MM_CHECK): New definition.
20477 * include/grub/mm_private.h: New file.
20478 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20479 (grub_multiboot_get_mbi_size): Removed.
20480 (grub_multiboot_make_mbi): Change prottype.
20481 (grub_multiboot_set_accepts_video): New proto.
20482 (grub_multiboot_add_elfsyms): Likewise.
20483 (grub_multiboot_payload_eip): New variable.
20484 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20485 New prototype.
20486 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20487 New definition.
20488 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20489 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20490 * include/grub/powerpc/ieee1275/loader.h: Removed.
20491 * include/grub/powerpc/memory.h: New file.
20492 * include/grub/powerpc/relocator.h: Likewise.
20493 * include/grub/relocator.h: Likewise.
20494 * include/grub/relocator_private.h: Likewise.
20495 * include/grub/sparc64/ieee1275/loader.h: Removed.
20496 * include/grub/x86_64/memory.h: New file.
20497 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20498 (grub_xnu_heap_malloc): Likewise.
20499 (grub_xnu_heap_real_start): Removed.
20500 (grub_xnu_heap_start): Likewise.
20501 (grub_xnu_relocator): New variable.
20502 (grub_xnu_heap_target_start): Likewise.
20503 * tests/util/grub-shell.in: Support non-pc.
20504 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20505
5303b85d
VS
205062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20509 on malloc error.
20510 (grub_bidi_logical_to_visual): Check that malloc succeded.
20511 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20512 puts.
20513 (grub_xputs_normal): Likewise.
20514
d768d159
VS
205152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20518 extra_dist.
20519
205202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20523
5bf84df4
VS
205242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20527
3626810e
VS
205282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20531 dprintf.
20532
a7363f53
BC
205332010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20534
20535 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20536
902f75f6
VS
205372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 * grub-core/normal/term.c (print_more): Fix a memory leak.
20540 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20541 (grub_xputs_normal): Likewise.
20542
3c707967
VS
205432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20546 the begining of the string
20547
2053cc07
VS
205482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 * grub-core/script/script.c (grub_script_parse): Free parsed on
20551 failure.
20552
46422ebf
VS
205532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20556 on failure.
20557
9e0fa3f6
VS
205582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20561 return.
20562
3393cf16
VS
205632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20566 (scroll_up): Fix a memory leak.
20567
b17540cb
VS
205682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20571 errors.
20572
67140446
VS
205732010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 Handle USB pendrives exposed as floppies.
20576
20577 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20578 floppy.
20579 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20580 Check for partitions on all devices.
20581
e35e46fc
VS
205822010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20585 (readkey): Likewise.
20586
d24c6190
BC
205872010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20588
20589 Multiple variable names support to "export" command.
20590
20591 * normal/context.c (grub_cmd_export): "export" command supports
20592 multiple variable names.
20593
04ddcc6a
ST
205942010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20595
20596 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20597 --target=drive output to Mach device name.
20598
0c8b61d8
BC
205992010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20600
20601 New Automake based build system for GRUB.
20602
20603 * ABOUT-NLS: New file.
20604 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20605 in Makefile.util.def file.
20606 * Makefile.util.def: New file. Autogen build definitions file for
20607 GRUB host utils.
20608 * conf/Makefile.common: New file. Common variables for GRUB host
20609 utils and target modules.
20610 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20611 * docs/Makefile.am: New file. Automake file for docs.
20612 * gentpl.py: New file. Python script to generate Autogen
20613 template.
20614 * grub-core/Makefile.am: New file. GRUB target modules' rules
20615 that doesn't fit in Makefile.core.def file.
20616 * grub-core/Makefile.core.def: New file. Autogen build
20617 definitions file for GRUB target modules.
20618 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20619 specific setjmp.S file.
20620 * po/Makefile.am: New file.
20621
20622 * .bzrignore: New ignores.
20623 * INSTALL: New requirements, without Ruby.
20624 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20625 * autogen.sh: Updated to invoke autogen as necessary.
20626 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20627 and defines for Automake conditionals.
20628 * geninit.sh: Refactoring.
20629
20630 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20631 necessary.
20632 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20633 New prototype.
20634
20635 * include/grub/test.h: Fix functional test modules' naming.
20636 * grub-core/tests/example_functional_test.c: Fix test module name.
20637
20638 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20639 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20640 * util/grub-editenv.c: Likewise.
20641 * util/grub-fstest.c: Likewise.
20642 * util/grub-mkdevicemap.c: Likewise.
20643 * util/grub-mkfont.c: Likewise.
20644 * util/grub-mkimage.c: Likewise.
20645 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20646 * util/grub-probe.c: Likewise.
20647 * util/grub-script-check.c: Likewise.
20648 * util/i386/pc/grub-setup.c: Likewise.
20649 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20650
20651 * tests/util/grub-shell.in: Fix override directory path.
20652 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20653 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20654
20655 * util/lvm.c: Update #includes.
20656 * util/raid.c: Likewise.
20657 * util/resolve.c: Likewise.
20658 * grub-core/bus/emu/pci.c: Likewise.
20659 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20660 * grub-core/lib/posix_wrap/string.h: Likewise.
20661 * grub-core/kern/emu/main.c: Likewise.
20662
20663 * grub-core/gensymlist.sh: New file. Script for generating kernel
20664 symbols file.
20665 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20666
20667 * grub-core/gentrigtables.c: Fix unused variable warnings.
20668
20669 * Makefile.in: Removed.
20670 * conf/any-emu.rmk: Removed.
20671 * conf/common.rmk: Removed.
20672 * conf/i386-coreboot.rmk: Removed.
20673 * conf/i386-efi.rmk: Removed.
20674 * conf/i386-ieee1275.rmk: Removed.
20675 * conf/i386-multiboot.rmk: Removed.
20676 * conf/i386-pc.rmk: Removed.
20677 * conf/i386-qemu.rmk: Removed.
20678 * conf/i386.rmk: Removed.
20679 * conf/mips-yeeloong.rmk: Removed.
20680 * conf/mips.rmk: Removed.
20681 * conf/powerpc-ieee1275.rmk: Removed.
20682 * conf/sparc64-ieee1275.rmk: Removed.
20683 * conf/tests.rmk: Removed.
20684 * conf/x86-efi.rmk: Removed.
20685 * conf/x86_64-efi.rmk: Removed.
20686 * gendistlist.sh: Removed.
20687 * geninitheader.sh: Removed.
20688 * genkernsyms.sh.in: Removed.
20689 * genmk.rb: Removed.
20690 * gensymlist.sh.in: Removed.
20691 * mkinstalldirs: Removed.
20692 * boot: Moved ...
20693 * grub-core/boot: ... to here.
20694 * bus: Moved ...
20695 * grub-core/bus: ... to here.
20696 * commands: Moved ...
20697 * grub-core/commands: ... to here.
20698 * disk: Moved ...
20699 * grub-core/disk: ... to here.
20700 * efiemu: Moved ...
20701 * grub-core/efiemu: ... to here.
20702 * font: Moved ...
20703 * grub-core/font: ... to here.
20704 * fs: Moved ...
20705 * grub-core/fs: ... to here.
20706 * gencmdlist.sh: Moved ...
20707 * grub-core/gencmdlist.sh: ... to here.
20708 * genemuinit.sh: Moved ...
20709 * grub-core/genemuinit.sh: ... to here.
20710 * genemuinitheader.sh: Moved ...
20711 * grub-core/genemuinitheader.sh: ... to here.
20712 * genfslist.sh: Moved ...
20713 * grub-core/genfslist.sh: ... to here.
20714 * genhandlerlist.sh: Moved ...
20715 * grub-core/genhandlerlist.sh: ... to here.
20716 * genmoddep.awk: Moved ...
20717 * grub-core/genmoddep.awk: ... to here.
20718 * genmodsrc.sh: Moved ...
20719 * grub-core/genmodsrc.sh: ... to here.
20720 * genpartmaplist.sh: Moved ...
20721 * grub-core/genpartmaplist.sh: ... to here.
20722 * genparttoollist.sh: Moved ...
20723 * grub-core/genparttoollist.sh: ... to here.
20724 * genterminallist.sh: Moved ...
20725 * grub-core/genterminallist.sh: ... to here.
20726 * gentrigtables.c: Moved ...
20727 * grub-core/gentrigtables.c: ... to here.
20728 * genvideolist.sh: Moved ...
20729 * grub-core/genvideolist.sh: ... to here.
20730 * gettext: Moved ...
20731 * grub-core/gettext: ... to here.
20732 * gfxmenu: Moved ...
20733 * grub-core/gfxmenu: ... to here.
20734 * gnulib: Moved ...
20735 * grub-core/gnulib: ... to here.
20736 * hello: Moved ...
20737 * grub-core/hello: ... to here.
20738 * hook: Moved ...
20739 * grub-core/hook: ... to here.
20740 * io: Moved ...
20741 * grub-core/io: ... to here.
20742 * kern: Moved ...
20743 * grub-core/kern: ... to here.
20744 * lib: Moved ...
20745 * grub-core/lib: ... to here.
20746 * loader: Moved ...
20747 * grub-core/loader: ... to here.
20748 * mmap: Moved ...
20749 * grub-core/mmap: ... to here.
20750 * normal: Moved ...
20751 * grub-core/normal: ... to here.
20752 * partmap: Moved ...
20753 * grub-core/partmap: ... to here.
20754 * parttool: Moved ...
20755 * grub-core/parttool: ... to here.
20756 * script: Moved ...
20757 * grub-core/script: ... to here.
20758 * term: Moved ...
20759 * grub-core/term: ... to here
20760 * tests/example_functional_test.c: Moved ...
20761 * grub-core/tests/example_functional_test.c: ... to here.
20762 * tests/lib/functional_test.c: Moved ...
20763 * grub-core/tests/lib/functional_test.c: ... to here.
20764 * tests/lib/test.c: Moved ...
20765 * grub-core/tests/lib/test.c: ... to here.
20766 * video: Moved ...
20767 * grub-core/video: ... to here.
20768
645586e6
BC
207692010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20770
20771 Replace --enable-grub-emu-modules with grub-emu-lite.
20772
20773 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20774 cache.S.
20775
20776 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20777 * kern/emu/full.c: New file. For grub-emu specific initialization.
20778 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20779 * kern/emu/main.c: Call initialization function grub_emu_init.
20780
20781 * Makefile.in: Include grub-emu-lite in install.
20782 * commands/parttool.c: Use grub_no_autoload to differentiate
20783 between grub-emu and grub-emu-lite.
20784 * include/grub/misc.h: New variable grub_no_autoload.
20785
20786 * conf/any-emu.rmk: New rules for grub-emu-lite.
20787 * configure.ac: Remove --enable-grub-emu-modules.
20788 * genmk.rb: Cleanup unnecessary rules.
20789 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20790
20791 * normal/main.c: Don't load list files on grub-emu-lite.
20792 * util/misc.c (grub_arch_sync_caches): Removed.
20793
f86a4030
CW
207942010-08-23 Colin Watson <cjwatson@ubuntu.com>
20795
20796 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20797 grub-mkimage rather than grub-mkelfimage.
20798 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20799
06776944
VS
208002010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20803 a key after CapsLock or NumLock. It's just a qemu bug.
20804
df262419
VS
208052010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20806
20807 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20808 needed by libusb wrapper.
20809
b40ea81b
ST
208102010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20811
20812 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20813
dee50575
VS
208142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20815
20816 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20817 --nounzip is passed.
20818
fb1d7b79
VS
208192010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 USB hotunplugging and USB serial support.
20822
20823 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20824 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20825 (grub_uhci_transfer): Respect timeout and set *actual.
20826 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20827 non-standard length.
20828 (grub_usb_device_attach): Autoload modules.
20829 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20830 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20831 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20832 users updated.
20833 (grub_usb_add_hub): Fill nports and children.
20834 (attach_root_port): Receive hub instead of controller.
20835 All users updated. Fill hub->devices.
20836 (grub_usb_root_hub): Allocate hub->devices.
20837 (detach_device): New function.
20838 (poll_nonroot_hub): Fill children and detach devices.
20839 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20840 actual arguments. All users updated.
20841 (grub_usb_bulk_read_extended): New function.
20842 * bus/usb/serial/common.c: New file.
20843 * bus/usb/serial/ftdi.c: Likewise.
20844 * bus/usb/serial/pl2303.c: Likewise.
20845 * commands/terminal.c (handle_command): Support wildcard.
20846 * commands/usbtest.c: Output "Unknown" instead of empty string.
20847 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20848 (usbserial_common_mod_SOURCES): New variable.
20849 (usbserial_common_mod_CFLAGS): Likewise.
20850 (usbserial_common_mod_LDFLAGS): Likewise.
20851 (pkglib_MODULES): Add usbserial_pl2303.mod.
20852 (usbserial_pl2303_mod_SOURCES): New variable.
20853 (usbserial_pl2303_mod_CFLAGS): Likewise.
20854 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20855 (pkglib_MODULES): Add usbserial_ftdi.mod.
20856 (usbserial_ftdi_mod_SOURCES): New variable.
20857 (usbserial_ftdi_mod_CFLAGS): Likewise.
20858 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20859 (pkglib_MODULES): Add serial.mod.
20860 (serial_mod_SOURCES): New variable.
20861 (serial_mod_CFLAGS): Likewise.
20862 (serial_mod_LDFLAGS): Likewise.
20863 * conf/i386-pc.rmk: Likewise.
20864 * conf/mips-yeeloong.rmk: Likewise.
20865 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20866 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20867 * disk/usbms.c (first_available_slot): New variable.
20868 (grub_usbms_attach): Don't reuse free slots due to potential cache
20869 problems.
20870 * include/grub/serial.h: Moved to ..
20871 * include/grub/ns8250.h: ...this.
20872 * include/grub/serial.h: New file.
20873 * include/grub/term.h (grub_term_poll_usb): New variable.
20874 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20875 readkey. All users updated.
20876 (grub_terminfo_output_state): Pass term to put.
20877 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20878 (grub_usb_controller_dev): Add timeout and actual arguments to
20879 transfer. All users updated.
20880 (grub_usb_interface): New field detach_data.
20881 (grub_usb_device): New fields children and nports.
20882 (grub_usb_ep_type_t): New type.
20883 (grub_usb_get_ep_type): New function.
20884 (grub_usb_bulk_read_extended): Likewise.
20885 * include/grub/usbdesc.h (grub_usb_desc): New type.
20886 * include/grub/usbserial.h: New file.
20887 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20888 * kern/term.c (grub_term_poll_usb): New variable.
20889 (grub_getkey): Call grub_term_poll_usb if set.
20890 (grub_checkkey): Likewise.
20891 (grub_getkeystatus): Likewise.
20892 * term/serial.c: Moved controller-specific parts to ...
20893 * term/ns8250.c: ... here.
20894 * term/serial.c: Mostly rewritten.
20895 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20896 according to spec.
20897
21a313de
RM
208982010-08-20 Robert Millan <rmh@gnu.org>
20899
20900 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20901 a separate module and maybe other interesting combinations.
20902
20903 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20904 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20905 (kfreebsd_entry): Add generic filesystem module load routine.
20906 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20907
63c734a6
CW
209082010-08-20 Colin Watson <cjwatson@ubuntu.com>
20909
20910 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20911 "numcenter" (I misunderstood the purpose of this entry).
20912 * docs/grub.texi (sendkey): Likewise.
20913
c4d16542
CW
209142010-08-20 Colin Watson <cjwatson@ubuntu.com>
20915
20916 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20917 status flag options; simply omitting the option is equivalent and
20918 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20919 (keysym_table): Rename "num5numlock" to "numlock".
20920 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20921 can uniformly say that only the last of multiple `sendkey'
20922 invocations has any effect.
20923 * docs/grub.texi (sendkey): New section.
20924
93541d66
CW
209252010-08-19 Colin Watson <cjwatson@ubuntu.com>
20926
20927 * commands/i386/pc/sendkey.c (options): Fix three typos.
20928
b4ece5e1
VS
209292010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 Implement sendkey support.
20932
20933 * commands/i386/pc/sendkey.c: New file.
20934 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20935 (sendkey_mod_SOURCES): New variable.
20936 (sendkey_mod_CFLAGS): Likewise.
20937 (sendkey_mod_LDFLAGS): Likewise.
20938
51f1f5af
CW
209392010-08-18 Colin Watson <cjwatson@ubuntu.com>
20940
20941 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20942 fix warnings from Autoconf.
20943
9da94e05
CW
209442010-08-18 Colin Watson <cjwatson@ubuntu.com>
20945
20946 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20947 to avoid false positives with some assemblers that output things
20948 like "someprefix_func" as part of their output.
20949
729a0f2e
RM
209502010-08-15 Robert Millan <rmh@gnu.org>
20951
20952 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20953 errors.
20954 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20955 grub_get_libzfs_handle() errors.
20956
f3710e08
RM
209572010-08-14 Robert Millan <rmh@gnu.org>
20958
20959 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20960 filesystem is not ZFS.
20961
7a3c13de
BC
209622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20963
20964 Fix for misspelled color names defaulting to black/black (bug
20965 reported by Doug Nazar)
20966
20967 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20968 status to prototype.
20969 * normal/color.c (grub_parse_color_name_pair): Return failure
20970 status.
20971 (grub_env_write_color_normal): Ignore bad color names.
20972 (grub_env_write_color_highlight): Likewise.
20973 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20974
ab8ba50d
BC
209752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20976
20977 "shift" command support to GRUB script.
20978
20979 * include/grub/script_sh.h (grub_script_shift): New prototype.
20980 * script/execute.c (grub_script_shift): New function.
20981 * script/main.c (grub_script_init): Register shift command.
20982 (grub_script_fini): Unregister shift command.
20983 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20984
20985 * tests/grub_script_shift.in: New testcase.
20986 * conf/tests.rmk: Rules for new testcase.
20987
4d61999e
BC
209882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20989
20990 "continue" command support to GRUB script.
20991
20992 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20993 (grub_script_break): Continue support.
20994 * script/main.c (grub_script_init): Register continue command.
20995 (grub_script_fini): Unregister continue command.
20996
20997 * tests/grub_script_continue.in: New testcase.
20998 * conf/tests.rmk: Rules for new testcase.
20999
4df51e00
BC
210002010-08-12 BVK Chaitanya <bvk@dbook>
21001
21002 "break" command support to GRUB script.
21003
21004 * conf/common.rmk: Rule updates to grub-script-check.
21005 * include/grub/misc.h (grub_min): New function.
21006 * include/grub/script_sh.h (grub_script_init): New prototype.
21007 (grub_script_fini): New prototype.
21008 (grub_script_break): New prototype.
21009 * script/main.c (grub_script_init): New function.
21010 (grub_script_fini): New function.
21011 * script/execute.c (grub_script_break): New function.
21012 * normal/main.c: Calls to grub_script_{init,fini}.
21013 * util/grub-script-check.c (grub_script_break): New function.
21014
21015 * tests/grub_script_break.in: New testcase.
21016 * conf/tests.rmk: Rules for new test case.
21017
f12c8420
BC
210182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21019
21020 Function parameters support to GRUB script.
21021
21022 * script/yylex.l (VARIABLE): Regular expression update.
21023 * script/function.c (grub_script_function_call): Moved ...
21024 * script/execute.c (grub_script_function_call): ... to here.
21025 (grub_script_execute_arglist_to_argv): Removed.
21026 (grub_script_arglist_to_argv): New function.
21027 * script/argv.c: New file.
21028 (grub_script_argv_free): New function.
21029 (grub_script_argv_next): Likewise.
21030 (grub_script_argv_append): Likewise.
21031 (grub_script_argv_split_append): Likewise.
21032 * include/grub/script_sh.h (grub_script_argv): New struct.
21033 (grub_script_argv_free): New function.
21034 (grub_script_argv_next): Likewise.
21035 (grub_script_argv_append): Likewise.
21036 (grub_script_argv_split_append): Likewise.
21037
21038 * conf/common.rmk (normal.mod): New source script/argv.c.
21039
21040 * tests/grub_script_echo1.in: More tests.
21041 * tests/grub_script_vars1.in: Likewise.
21042 * tests/grub_script_functions.in: New test case.
21043 * conf/tests.rmk: Rules for new testcase.
21044
8022b748
BC
210452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21046
21047 Remove grub_script_cmdblock struct.
21048
21049 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21050 * script/parser.y: Likewise.
21051 * script/execute.c: Rename cmdblock suffix to cmdlist.
21052 * script/script.c: Likewise.
21053 * util/grub-script-check.c: Likewise.
21054
79a6ba61
YB
210552010-08-11 Yves Blusseau <blusseau@zetam.org>
21056
21057 * .bzrignore: add grub-macho2img
21058
d04b9414
VS
210592010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21062
f947ab49
VS
210632010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21064
21065 Remove the dump of sm712 initialisation sequence.
21066
21067 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21068 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21069 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21070 (GRUB_VGA_CR_*): Added many registers.
21071 (GRUB_VGA_SR_*): Likewise.
21072 (GRUB_VGA_GR_*): Likewise.
21073 (grub_vga_write_arx): New function.
21074 (grub_video_hw_config): New struct.
21075 (grub_vga_set_geometry): New function.
21076 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21077 GRUB_PCI_CLASS_SUBCLASS_VGA.
21078 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21079 * video/sm712.c (grub_sm712_write_reg): New function
21080 (grub_sm712_read_reg): Likewise.
21081 (grub_sm712_sr_write): Likewise.
21082 (grub_sm712_gr_write): Likewise.
21083 (grub_sm712_cr_write): Likewise.
21084 (grub_sm712_write_arx): Likewise.
21085 (grub_sm712_cr_shadow_write): Likewise.
21086 (grub_sm712_write_dda_lookup): Likewise.
21087 (grub_video_sm712_setup): Initialise the video rather then
21088 blindly replay the dump.
21089 (main) [TEST]: Add a routine to be able to compile as standalone for
21090 tests.
21091 * video/sm712_init.c (sm712_init): Removed.
21092 (sm712_sr_seq1): New array.
21093 (sm712_sr_seq2): Likewise.
21094
f0206638
VS
210952010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * include/grub/vga.h: Add missing grub/pci.h include.
21098
2764da3b
YB
210992010-08-10 Yves Blusseau <blusseau@zetam.org>
21100
21101 * util/grub-macho2img.c (main): fix typo
21102
cf0c775e
VS
211032010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21106 (grub_vga_gr_read): Likewise.
21107 (grub_vga_cr_write): Likewise.
21108 (grub_vga_cr_read): Likewise.
21109 (grub_vga_sr_write): Likewise.
21110 (grub_vga_sr_read): Likewise.
21111 (grub_vga_palette_read): Likewise.
21112 (grub_vga_palette_write): Likewise.
21113 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21114 (grub_sm712_sr_read): New function.
21115 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21116 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21117
07f360e9
RM
211182010-08-09 Robert Millan <rmh@gnu.org>
21119
21120 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21121 out unused variables on non-ZFS build.
21122
346c2072
RM
211232010-08-08 Robert Millan <rmh@gnu.org>
21124
21125 Fix path generation for sub-filesystems in ZFS.
21126
21127 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21128 missing slash.
21129
71175420
RM
211302010-08-08 Robert Millan <rmh@gnu.org>
21131
21132 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21133
0d8286f3
RM
211342010-08-08 Robert Millan <rmh@gnu.org>
21135
21136 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21137 exist, issue a proper error message (rely on `ls' for translated
21138 strings).
21139
55dd2924
RM
211402010-08-08 Robert Millan <rmh@gnu.org>
21141
21142 Fix grub-probe invocation.
21143
21144 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21145
d3dd9e80
RM
211462010-08-04 Robert Millan <rmh@gnu.org>
21147
21148 * configure.ac: Remove checks for getfsstat() and getmntany().
21149 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21150 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21151 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21152 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21153 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21154 function.
21155 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21156 via find_mount_point_from_dir() and getfsstat() / getmntany().
21157
0de22aa9
RM
211582010-08-04 Robert Millan <rmh@gnu.org>
21159
21160 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21161 (grub_find_zpool_from_mount_point): Merge into ...
21162 (grub_find_zpool_from_dir): ... this.
21163 * kern/emu/misc.c: Likewise.
21164
21165 * kern/emu/misc.c
21166 (grub_make_system_path_relative_to_its_root): Replace
21167 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21168 with grub_find_zpool_from_dir().
21169 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21170
62858144
RM
211712010-08-04 Robert Millan <rmh@gnu.org>
21172
21173 Support OpenSolaris in ZFS device resolution.
21174
21175 * configure.ac: Check for getmntany().
21176 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21177 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21178 support.
21179
9dd6fd50
RM
211802010-08-03 Robert Millan <rmh@gnu.org>
21181
21182 Fix grub-emu build.
21183
21184 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21185 * include/grub/emu/misc.h: ... here.
21186
21187 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21188 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21189
21190 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21191 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21192 (grub_get_libzfs_handle): Move to ...
21193 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21194 (grub_get_libzfs_handle): ... here.
21195
c9f7ff97
BC
211962010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21197
21198 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21199 as command name case.
21200
a870a783
CW
212012010-08-02 Colin Watson <cjwatson@ubuntu.com>
21202
21203 * disk/raid.c (insert_array): Select unique numbers for named arrays
21204 as well, for use as keys in the disk cache.
21205
c7db243b
RM
212062010-08-01 Robert Millan <rmh@gnu.org>
21207
21208 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21209 kFreeBSD device name, except on ZFS where the filesystem label is
21210 used.
21211 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21212 `/boot/zfs/zpool.cache'.
21213 Set mountfrom kernel variable using ${kfreebsd_device}.
21214
f7abdefb
RM
212152010-08-01 Robert Millan <rmh@gnu.org>
21216
21217 Make it even harder to use uninitialized `libzfs_handle' (and
21218 make the interface a bit simpler).
21219
21220 * include/grub/util/misc.h (grub_util_init_libzfs)
21221 (libzfs_handle): Remove.
21222 (grub_get_libzfs_handle): New prototype.
21223
21224 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21225 attribute.
21226 (grub_util_init_libzfs): Remove.
21227 (grub_get_libzfs_handle): New function.
21228
21229 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21230 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21231 accessing `libzfs_handle' directly.
21232
c882acc0
RM
212332010-08-01 Robert Millan <rmh@gnu.org>
21234
21235 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21236 (grub_find_zpool_from_mount_point): New function prototypes.
21237
21238 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21239 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21240
21241 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21242 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21243 `static' attribute.
21244
21245 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21246 finding zpool from mount point into ...
21247 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21248
21249 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21250 requested path is part of a ZFS pool, use
21251 grub_find_zpool_from_mount_point() to detect its filesystem name,
21252 and generate a path with `/fsname@path' syntax.
21253
8bfe31d8
CW
212542010-08-01 Colin Watson <cjwatson@ubuntu.com>
21255
21256 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21257 (void) rather than () so that this is a proper prototype.
21258
553df63d
VS
212592010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21262
8687cf07
VS
212632010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21266 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21267
ea9be8ea
CW
212682010-08-01 Colin Watson <cjwatson@ubuntu.com>
21269
21270 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21271
6eea041a
CW
212722010-08-01 Colin Watson <cjwatson@ubuntu.com>
21273
21274 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21275
2cfb45df
CW
212762010-08-01 Colin Watson <cjwatson@ubuntu.com>
21277
21278 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21279 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21280 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21281 disable gfxpayload.
21282 (Shell-like scripting): Add real content.
21283 (Serial terminal): Suggest `terminal_input serial; terminal_output
21284 serial' rather than putting the two commands on separate lines,
21285 since console input will be inoperative after the first command.
21286 (menuentry): Document --class, --users, and --hotkey options.
21287 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21288 Vladimir Serbinenko).
21289
7decd202
VS
212902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
212912010-08-01 Colin Watson <cjwatson@ubuntu.com>
21292
21293 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21294
c882acc0
RM
212952010-08-01 Robert Millan <rmh@gnu.org>
21296
21297 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21298 (grub_find_zpool_from_mount_point): New function prototypes.
21299
21300 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21301 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21302
21303 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21304 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21305 `static' attribute.
21306
21307 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21308 finding zpool from mount point into ...
21309 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21310
21311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21312 requested path is part of a ZFS pool, use
21313 grub_find_zpool_from_mount_point() to detect its filesystem name,
21314 and generate a path with `/fsname@path' syntax.
21315
deb0caa3
RM
213162010-08-01 Robert Millan <rmh@gnu.org>
21317
21318 Prevent accidental use of uninitialized libzfs_handle.
21319
21320 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21321 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21322 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21323
ce04ef47
CW
213242010-08-01 Colin Watson <cjwatson@ubuntu.com>
21325
21326 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21327 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21328
ebf53056
RM
213292010-08-01 Robert Millan <rmh@gnu.org>
21330
21331 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21332
3710bb6b
RM
213332010-07-31 Robert Millan <rmh@gnu.org>
21334
21335 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21336
8072efeb
RM
213372010-07-31 Robert Millan <rmh@gnu.org>
21338
21339 * kern/emu/misc.c: Add missing license header.
21340
3169f4c7
RM
213412010-07-31 Robert Millan <rmh@gnu.org>
21342
21343 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21344
21345 * include/grub/util/libnvpair.h: Include `<config.h>'.
21346 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21347 declaring libnvpair prototypes ourselves.
21348 * include/grub/util/libzfs.h: Include `<config.h>'.
21349 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21350 declaring libzfs prototypes ourselves.
21351
21352 (libzfs_handle): Moved to ...
21353 * include/grub/util/misc.h (libzfs_handle): ... here.
21354 Include `<grub/util/libzfs.h>'.
21355
c9a00aee
RM
213562010-07-30 Robert Millan <rmh@gnu.org>
21357
21358 * include/grub/emu/misc.h: Add missing license header.
21359
a184f9c8
RM
213602010-07-30 Robert Millan <rmh@gnu.org>
21361
21362 Enable `grub-probe -t device' resolution on ZFS.
21363
21364 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21365 * include/grub/util/libnvpair.h: New file.
21366 * include/grub/util/libzfs.h: New file.
21367
21368 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21369 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21370 `<grub/util/libnvpair.h>'.
21371 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21372
21373 (find_mount_point_from_dir): New static function.
21374 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21375 function.
21376 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21377 find_root_device_from_libzfs() before ressorting to find_root_device().
21378
21379 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21380 prototype.
21381 * util/misc.c: Include `<grub/util/libzfs.h>'.
21382 (grub_util_init_libzfs): New function.
21383 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21384 [HAVE_LIBZFS] (fini_libzfs): New static function.
21385 (grub_util_init_libzfs): New function.
21386 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21387
f7790cdd
RM
213882010-07-30 Robert Millan <rmh@gnu.org>
21389
21390 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21391 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21392 `warn_unused_result' attribute.
21393 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21394 (grub_xasprintf, grub_xvasprintf): Likewise.
21395 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21396
0806b63c
RM
213972010-07-29 Robert Millan <rmh@gnu.org>
21398
21399 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21400 (probe): Handle `PRINT_FS_LABEL'.
21401 (main): Handle `-t fs_label'.
21402
9f841f5c
RM
214032010-07-29 Robert Millan <rmh@gnu.org>
21404
21405 * configure.ac: Remove grub-mkisofs checks.
21406
46371121
VS
214072010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21408
21409 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21410 Reported by: Lennart Sorensen.
21411
214122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21415 prior to terminal_input/terminal_output separation. It's been over 1.5
21416 years and those versions weren't widely deployed.
21417
a9600892
CW
214182010-07-22 Colin Watson <cjwatson@ubuntu.com>
21419
21420 * disk/raid.c (insert_array): Don't count named arrays when looking
21421 for unused array numbers.
697e053c 21422 Reported and tested by: Michael Guntsche.
a9600892 21423
c03507df
CW
214242010-07-20 Colin Watson <cjwatson@ubuntu.com>
21425
21426 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21427 implementation of this so that grub-emu links again, with a note
21428 that this should support hotplugging in the future.
21429
b26f1c11
CW
214302010-07-20 Colin Watson <cjwatson@ubuntu.com>
21431
21432 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21433
efc9d7f1
CW
214342010-07-20 Colin Watson <cjwatson@ubuntu.com>
21435
21436 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21437 handle on failure.
21438 (grub_loopback_close): Remove empty function.
21439 (grub_loopback_dev): Remove close method.
21440
dd8ff5c9
CW
214412010-07-20 Colin Watson <cjwatson@ubuntu.com>
21442
21443 Disable EFI cursor when the EFI console becomes inactive.
21444
21445 * term/efi/console.c (grub_efi_console_init): New function.
21446 (grub_efi_console_fini): New function.
21447 (grub_console_term_output): Register init and fini methods.
21448
5e3bec67
VS
214492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21452 sh script.
21453
afaec079
VS
214542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * disk/loopback.c (grub_loopback): Replace filename with file.
21457 (delete_loopback): Handle new semantics.
21458 (grub_cmd_loopback): Likewise.
21459 (grub_loopback_iterate): Likewise.
21460 (grub_loopback_close): Likewise.
21461
a6a11f3c
VS
214622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21465 with -p "".
21466 Reported by: Tito Keitel.
21467
64a638b0
VS
214682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 * docs/grub.texi (Naming convention): Document new naming convention.
21471
ab8ba957
VS
214722010-07-20 Vadim Solomin <vadic052@gmail.com>
214732010-07-20 Colin Watson <cjwatson@ubuntu.com>
21474
21475 Generate device.map in something closer to the old ordering.
21476
21477 * util/deviceiter.c (struct device): New declaration.
21478 (compare_file_names): Rename to ...
21479 (compare_devices): ... this. Sort by kernel name in preference to
21480 the stable by-id name, but keep the latter as a fallback comparison.
21481 Update header comment.
21482 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21483 of `struct device' rather than of plain file names.
21484
a29d6a4b
TF
214852010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21486
21487 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21488 on i386.
21489
39d824e8
VS
214902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21493 hardcoding size.
21494 (setv1table): Likewise.
21495
f058276b
FZ
214962010-07-20 Colin Watson <cjwatson@ubuntu.com>
21497
21498 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21499 removing the homehost if present.
21500 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21501 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21502 removing the homehost if present.
21503 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21504 if possible.
21505 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21506
21507 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21508 parameter. Set its pointer target to 0.
21509 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21510 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21511 `data_offset' value from the superblock for 1.x metadata.
21512 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21513 data on the device.
21514 (insert_array): Record the start sector of data on the device.
21515 (grub_raid_register): Pass start_sector parameters to
21516 grub_raid_list->detect and insert_array.
21517 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21518 member.
21519 (struct grub_raid): Add start_sector parameter to `detect'.
21520
21521 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21522 __attribute__ ((packed)), leaving a comment.
21523 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21524 (grub_mdraid_detect_09): ... here and ...
21525 (grub_mdraid_detect_1x): ... here.
21526
215272010-07-20 Peter Henn <peter.henn@web.de>
21528
21529 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21530 chunk size and disk size, which are already given as sector counts
21531 as distinct from the 0.90 units. Fetch the correct device number
21532 from the role table instead of using the table index.
21533
215342010-07-20 Felix Zielcke <fzielcke@z-51.de>
21535
21536 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21537 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21538 (WriteMostly1): New macro.
21539 Set array->name to NULL for metadata format 0.90. Add support for
21540 metadata 1.x. Fix some comments.
21541 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21542 few comments.
21543 * util/getroot.c (grub_util_get_grub_dev): Add support for
21544 /dev/md/name style devices.
21545
4b761da9
CW
215462010-07-20 Colin Watson <cjwatson@ubuntu.com>
21547
21548 * .bzrignore: Ignore 20_linux_xen.
21549
5771289a
CW
215502010-07-17 Colin Watson <cjwatson@ubuntu.com>
21551
21552 * util/import_unicode.py: Remove unnecessary imports.
21553
5dab68df
AN
215542010-07-17 Aleš Nesrsta <starous@volny.cz>
21555
21556 Hotplugging and USB hub support.
21557
21558 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21559 (grub_ohci): Likewise.
21560 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21561 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21562 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21563 (GRUB_OHCI_CTRL_EDS): Likewise.
21564 (GRUB_OHCI_BULK_EDS): Likewise.
21565 (GRUB_OHCI_TDS): Likewise.
21566 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21567 (grub_ohci_ed_phys2virt): New function.
21568 (grub_ohci_virt_to_phys): Likewise.
21569 (grub_ohci_td_phys2virt): Likewise.
21570 (grub_ohci_td_virt2phys): Likewise.
21571 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21572 attachment.
21573 (grub_ohci_find_ed): New function.
21574 (grub_ohci_alloc_td): Likewise.
21575 (grub_ohci_free_td): Likewise.
21576 (grub_ohci_free_tds): Likewise.
21577 (grub_ohci_transfer): Use previously allocated memory.
21578 (grub_ohci_portstatus): Reset status changed bit.
21579 (grub_ohci_detect_dev): Supply status changed.
21580 (grub_ohci_fini_hw): Free memory.
21581 (grub_ohci_restore_hw): Reallocate memory.
21582 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21583 Reset status change.
21584 (grub_uhci_detect_dev): Supply status_change.
21585 * bus/usb/usb.c (attach_hooks): New var.
21586 (grub_usb_device_attach): New function.
21587 (grub_usb_register_attach_hook_class): Likewise.
21588 (grub_usb_unregister_attach_hook_class): Likewise.
21589 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21590 (grub_usb_add_hub): Reset connection changed bit.
21591 (attach_root_port): New function.
21592 (grub_usb_root_hub): Likewise.
21593 (poll_nonroot_hub): Likewise.
21594 (grub_usb_poll_devices): Likewise.
21595 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21596 * disk/usbms.c (grub_usbms_open): Use device hooks.
21597 (grub_usbms_iterate) :Poll devices.
21598 (grub_usbms_finddevs): Split into ...
21599 (grub_usbms_attach): ... this ...
21600 (grub_usbms_attach): ... and this.
21601 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21602 in detect_dev.
21603 (grub_usb_interface): New fields attached and detach_hook.
21604 (grub_usb_attach_hook_class): New type.
21605 (grub_usb_attach_desc): New struct.
21606 (grub_usb_register_attach_hook_class): New function.
21607 (grub_usb_unregister_attach_hook_class): Likewise.
21608 (grub_usb_poll_devices): Likewise.
21609 (grub_usb_device_attach): Likewise.
21610 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21611 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21612
3222efaf
VS
216132010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21616 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21617 delta determination style. Works with most NetBSD partitions too.
21618
139b714a
VS
216192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21622 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21623
986aad56
VS
216242010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21627
99be513c
AB
216282010-07-14 Anton Blanchard <anton@samba.org>
21629
21630 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21631 ET_DYN files.
21632
18075f62
GS
216332010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21634
21635 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21636
8d9a5b15
GS
216372010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21638
21639 * kern/partition.c (grub_partition_check_containment): New function to
21640 check that a partition is physically contained in a parent. Since
21641 offsets are relative (and non-negative), this reduces to checking that
21642 the partition ends before its parent.
21643 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21644 (grub_partition_iterate): Likewise.
21645 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21646 comments.
21647 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21648 partitions that start before their parent, and add debug printfs.
21649
19563c25
CW
216502010-07-13 Colin Watson <cjwatson@ubuntu.com>
21651
21652 * Makefile.in (.SUFFIX): Spell correctly, as ...
21653 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21654 bare module name without `.mod', e.g. `test') tried to invoke a
21655 Modula-2 compiler.
21656
1a1f1e67
CW
216572010-07-13 Colin Watson <cjwatson@ubuntu.com>
21658
21659 * README: Point to the Info manual.
21660
811b0dca
JS
216612010-07-13 Jiro SEKIBA <jir@unicus.jp>
21662
21663 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21664 2nd superblock position from partition size.
21665
e4f4eafc
CW
216662010-07-10 Colin Watson <cjwatson@ubuntu.com>
21667
21668 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21669 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21670 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21671 outputs.
21672
4274c30f
VS
216732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 Restructure SCSI .id handling.
21676 Reported and tested by: Aleš Nesrsta.
21677
21678 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21679 (grub_atapi_dev): Changed .name to "ata". New field .id.
21680 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21681 (grub_usbms_dev): New field .id.
21682 * disk/scsi.c (grub_scsi_iterate): Generate name.
21683 (grub_scsi_open): Parse name.
21684 * include/grub/scsi.h (grub_make_scsi_id): New function.
21685 (grub_scsi_dev): Change iterate and open to number instead of naming
21686 busses. All users updated.
21687 (grub_scsi): Remove name. Add .bus.
21688
5bc24388
VS
216892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * commands/help.c (grub_cmd_help): Fix a typo.
21692
249975ba
VS
216932010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21696 Reported and tested by: Colin Watson.
21697
3eaac1a1
VS
216982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21701 in this context.
21702
becce1b1
VS
217032010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21706
f7bf0918
CW
217072010-07-07 Colin Watson <cjwatson@ubuntu.com>
21708
21709 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21710 indentation.
21711
0b0f9620
CW
217122010-07-06 Colin Watson <cjwatson@ubuntu.com>
21713
21714 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21715 and disk/raid6_recover.c.
21716 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21717 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21718
1e545469
CW
217192010-07-06 Colin Watson <cjwatson@ubuntu.com>
21720
21721 * term/gfxterm.c (repaint_schedulded): Rename to ...
21722 (repaint_scheduled): ... this. Update all callers.
21723 (repaint_was_schedulded): Rename to ...
21724 (repaint_was_scheduled): ... this. Update all callers.
21725
5357687a
CW
217262010-07-06 Colin Watson <cjwatson@ubuntu.com>
21727
21728 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21729 which we expect to be handled by upper layers.
21730
29d7e783
BC
217312010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21732
21733 * bus/usb/usbhub.c: #include time.h header.
21734
37582066
CW
217352010-07-06 Colin Watson <cjwatson@ubuntu.com>
21736
21737 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21738 entry_name also for entries without stat blocks (e.g. ".."); fixes
21739 corruption of the first entry in a directory.
21740
c8c06953
CW
217412010-07-06 Colin Watson <cjwatson@ubuntu.com>
21742
21743 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21744 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21745 doesn't work otherwise.
21746
e75056f1
CW
217472010-07-05 Colin Watson <cjwatson@ubuntu.com>
21748
21749 * docs/grub.texi (Features): Update list of supported file systems.
21750 (GNU/Linux): Update for GRUB 2.
21751 (Serial terminal): Remove mention of --disable-serial, which was a
21752 GRUB Legacy configure option. Update instructions to use
21753 `terminal_input' and `terminal_output' rather than `terminal'.
21754 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21755 configuration' and `Installing GRUB using grub-install'.
21756 (Menu entry editor): Update for GRUB 2.
21757 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21758 Document new -a, -u, and -v options.
21759 (initrd): New section.
21760 (initrd16): New section.
21761 (linux): New section.
21762 (linux16): New section.
21763 (search): The `var' argument to `--set' is optional.
21764 (GRUB only offers a rescue shell): Go into a little more detail on
21765 drive ordering.
21766
5cf69151
CW
217672010-07-05 Colin Watson <cjwatson@ubuntu.com>
21768
21769 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21770
e3f90044
CW
217712010-07-05 Colin Watson <cjwatson@ubuntu.com>
21772
21773 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21774 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21775
38d8f4f3
CW
217762010-07-05 Colin Watson <cjwatson@ubuntu.com>
21777
21778 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21779 install_prefix, in line with install_dos_part and install_bsd_part.
21780 Add new prefix variable, which is copied to install_prefix after
21781 comparing core.img in memory with the one read from disk in the
21782 no-embedding case, and use that rather than overwriting
21783 install_prefix immediately when installing to a partition.
21784 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21785 Bicakci.
21786
57ebd41e
GS
217872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21788
21789 * configure.ac: Avoid == in test command, it's not portable.
21790 * util/grub.d/30_os-prober.in: Likewise.
21791
cb7f64b2
CW
217922010-07-04 Colin Watson <cjwatson@ubuntu.com>
21793
21794 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21795
6b654bb0
GS
217962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21797
21798 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21799 multiple (top-level) partmaps.
21800
72a2026d
VS
218012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21804 Reported by: Tino Keitel.
72a2026d 21805
df3eb88f
VS
218062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 Bidi and diacritics support.
21809
21810 * Makefile.in (widthspec.bin): New target.
21811 (widthspec.h): Likewise.
21812 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21813 * autogen.sh: Generate unidata.c.
21814 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21815 * commands/ls.c (grub_ls_list_devices): Likewise.
21816 (grub_ls_list_files): Likewise.
21817 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21818 (grub_mini_cmd_lsmod): Likewise.
21819 * commands/read.c: Likewise.
21820 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21821 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21822 * lib/arg.c (grub_arg_show_help): Likewise.
21823 * lib/crypto.c (grub_password_get): Likewise.
21824 * normal/auth.c (grub_username_get): Likewise.
21825 * normal/misc.c (grub_normal_print_device_info): Likewise.
21826 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21827 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21828 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21829 (normal/charset.c_DEPENDENCIES): New variable.
21830 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21831 (pkglib_MODULES): Remove charset.mod.
21832 (charset_mod_SOURCES): Removed.
21833 (charset_mod_CFLAGS): Likewise.
21834 (charset_mod_LDFLAGS): Likewise.
21835 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21836 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21837 and term/tparm.c.
21838 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21839 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21840 (kernel_img_HEADERS): Add terminfo.h.
21841 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21842 Fill ->font. Reverse ascii bitmaps.
21843 (grub_font_get_xheight): New function.
21844 * font/font.c (grub_font_get_string_width): Moved from here ...
21845 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21846 * font/font.c (grub_font_draw_string): Moved from here ...
21847 * gfxmenu/font.c (grub_font_draw_string): ... here.
21848 * font/font.c (grub_font_dup_glyph): New function.
21849 (grub_font_blit_glyph): Likewise.
21850 (grub_font_blit_glyph_mirror): Likewise.
21851 (blit_comb): Likewise.
21852 (grub_font_construct_dry_run): Likewise.
21853 (grub_font_get_constructed_device_width): Likewise.
21854 (grub_font_construct_glyph): Likewise.
21855 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21856 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21857 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21858 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21859 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21860 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21861 (grub_font_get_xheight): New proto.
21862 (grub_font_get_constructed_device_width): Likewise.
21863 (grub_font_construct_glyph): Likewise.
21864 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21865 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21866 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21867 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21868 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21869 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21870 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21871 (grub_console_getcharwidth): Likewise.
21872 * include/grub/misc.h (grub_xputs): New proto.
21873 (grub_puts): Inlined.
21874 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21875 (grub_normal_get_line_counter): Removed.
21876 (grub_install_newline_hook): Likewise.
21877 (grub_normal_get_char_counter): New proto.
21878 (grub_normal_reset_more): Likewise.
21879 (grub_xputs_normal): Likewise.
21880 * include/grub/powerpc/ieee1275/console.h: Removed.
21881 * include/grub/sparc64/ieee1275/console.h: Likewise.
21882 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21883 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21884 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21885 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21886 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21887 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21888 (grub_term_input): Pass reference to self. All users updated.
21889 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21890 Pass reference to self. New fields normal_color, highlight_color and
21891 data. All users updated.
21892 (grub_putchar): Removed.
21893 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21894 (grub_unicode_estimate_width): New function.
21895 (grub_term_getcharwidth): Add defaults.
21896 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21897 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21898 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21899 (grub_cls): Remove EXPORT_FUNC.
21900 (grub_setcolorstate): Inline.
21901 (grub_newline_hook): Removed.
21902 * include/grub/terminfo.h: Rewritten. All users updated.
21903 * include/grub/unicode.h: New file.
21904 * include/grub/video.h (grub_video_signed_rect): New type.
21905 * kern/emu/console.c (grub_console_highlight_color): Removed.
21906 (grub_console_normal_color): Likewise.
21907 (grub_console_standard_color): Made static.
21908 (grub_ncurses_putchar): Remove mapping.
21909 (grub_ncurses_getcharwidth): Removed.
21910 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21911 (grub_ncurses_setcolor): Removed.
21912 (grub_ncurses_getcolor): Likewise.
21913 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21914 (grub_console_putchar): ... this.
21915 (grub_console_putchar): Handle argument difference.
21916 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21917 console_init_early and console_init_lately.
21918 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21919 * kern/misc.c (grub_puts): Removed.
21920 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21921 (grub_vsnprintf_real): Remove str = NULL support.
21922 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21923 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21924 * kern/term.c (grub_putcode): Renamed to ...
21925 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21926 (grub_putchar): Removed.
21927 (grub_xputs_dumb): New function.
21928 (grub_xputs): New variable.
21929 * lib/charset.c: Move from here ...
21930 * normal/charset.c: ... to here.
21931 (grub_ucs4_to_utf8): New function.
21932 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21933 (join_types): New variable.
21934 (unpack_join): New function.
21935 (bidi_types): New variable.
21936 (unpack_bidi): New function.
21937 (get_bidi_type): Likewise.
21938 (get_join_type): Likewise.
21939 (is_mirrored): Likewise.
21940 (grub_unicode_get_comb_type): Likewise.
21941 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21942 (is_type_after): Likewise.
21943 (grub_unicode_aglomerate_comb): Likewise.
21944 (bidi_line_wrap): Likewise.
21945 (grub_bidi_line_logical_to_visual): Likewise.
21946 (grub_bidi_logical_to_visual): Likewise.
21947 (grub_unicode_mirror_code): Likewise.
21948 (grub_unicode_shape_code): Likewise.
21949 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21950 Don't use grub_putchar.
21951 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21952 (grub_normal_reader_init): Likewise.
21953 (grub_xputs_saved): New variable.
21954 (GRUB_MOD_INIT): Set grub_xputs.
21955 (GRUB_MOD_FINI): Restore grub_xputs.
21956 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21957 (menu_init): Avoid printing gfxmenu error.
21958 (show_menu): Use grub_normal_get_char_counter.
21959 * normal/menu_entry.c (update_screen): Fix out-of-array.
21960 (complete): Avoid NULL dereferencing.
21961 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21962 * normal/menu_text.c (print_spaces): Removed.
21963 (grub_print_ucs4): Likewise.
21964 (grub_print_message_indented): Use grub_print_ucs4.
21965 (print_message): Use grub_putcode.
21966 (print_entry): Hanlde diacritics.
21967 * normal/term.c (term_state): New type.
21968 (grub_more_lines): Removed.
21969 (term_states): New variable.
21970 (grub_normal_line_counter): Renamed to ..
21971 (grub_normal_char_counter): ...this. All users updated.
21972 (grub_normal_get_line_counter): Renamed to ...
21973 (grub_normal_get_char_counter): ... this.
21974 (grub_normal_reset_more): New function.
21975 (process_newline): Removed.
21976 (print_more): New function.
21977 (grub_install_newline_hook): Removed.
21978 (map_code): New function.
21979 (grub_puts_terminal): Use grub_print_ucs4.
21980 (putglyph): New function.
21981 (putcode_real): Likewise.
21982 (grub_putcode): Use putcode_real.
21983 (get_maxwidth): New function.
21984 (get_startwidth): Likewise.
21985 (print_ucs4_terminal): Likewise.
21986 (find_term_state): Likewise.
21987 (put_glyphs_terminal): Likewise.
21988 (print_backlog): Likewise.
21989 (print_ucs4_real): Likewise.
21990 (grub_print_ucs4): Likewise.
21991 (grub_xputs_normal): Likewise.
21992 * term/efi/console.c (grub_console_putchar): Output diacritics.
21993 (grub_console_getcharwidth): Removed.
21994 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21995 * term/gfxterm.c (clear_char): Free chars.
21996 (scroll_up): Avoid leaking memory.
21997 (grub_gfxterm_putchar): Support diacritics.
21998 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21999 * term/i386/pc/console.c (grub_console_term_output): Declare as
22000 GRUB_TERM_CODE_TYPE_VGA.
22001 * term/i386/pc/vga.c (grub_vga_term): Declare as
22002 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22003 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22004 GRUB_TERM_CODE_TYPE_VGA.
22005 * term/i386/vga_common.c (map_char): Removed.
22006 (grub_console_putchar): Likewise.
22007 (grub_console_getcharwidth): Likewise.
22008 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22009 (colors): Reordered to match terminfo.
22010 (grub_ofconsole_normal_color): Removed.
22011 (grub_ofconsole_writeesc): Likewise.
22012 (grub_ofconsole_highlight_color): Likewise.
22013 (grub_ofconsole_getcharwidth): Likewise.
22014 (grub_ofconsole_setcolorstate): Likewise.
22015 (grub_ofconsole_setcolor): Likewise.
22016 (grub_ofconsole_getcolor): Likewise.
22017 (grub_ofconsole_readkey): Renamed to ...
22018 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22019 key.
22020 (grub_ofconsole_checkkey): Removed.
22021 (grub_ofconsole_getkey): Likewise.
22022 (grub_ofconsole_getxy): Likewise.
22023 (grub_ofconsole_gotoxy): Likewise.
22024 (grub_ofconsole_cls): Likewise.
22025 (grub_ofconsole_refresh): Likewise.
22026 (grub_ofconsole_terminfo_input): New struct.
22027 (grub_ofconsole_terminfo_output): Likewise.
22028 (grub_ofconsole_term_input): Use terminfo.
22029 (grub_ofconsole_term_output): Likewise.
22030 (grub_console_init): Split into ...
22031 (grub_console_init_early): ...this and ...
22032 (grub_console_init_lately): ...this. Use terminfo.
22033 (grub_ofconsole_putchar): Renamed to ...
22034 (put): ... this. Remove mapping.
22035 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22036 * term/serial.c: Simplify using terminfo.
22037 (xpos): Removed.
22038 (ypos): Likewise.
22039 (keep_track): Likewise.
22040 (registered): Likewise.
22041 (input_buf): Likewise.
22042 (npending): Likewise.
22043 (serial_translate_key_sequence): Likewise.
22044 (fill_input_buf): Likewise.
22045 (grub_serial_checkkey): Likewise.
22046 (grub_serial_getkey): Likewise.
22047 (grub_serial_getxy): Likewise.
22048 (grub_serial_gotoxy): Likewise.
22049 (grub_serial_putchar): Likewise.
22050 (grub_serial_cls): Likewise.
22051 (grub_serial_setcolorstate): Likewise.
22052 (grub_serial_setcursor): Likewise.
22053 (serial_hw_init): Use serial_hw_fetch.
22054 (grub_serial_terminfo_input): New variable.
22055 (grub_serial_terminfo_output): Likewise.
22056 (grub_serial_term_input): Use terminfo.
22057 (grub_serial_term_output): Likewise.
22058 * term/terminfo.c (putstr): Use put.
22059 (grub_terminfo_all_free): New function
22060 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22061 (grub_terminfo_output_register): New function.
22062 (grub_terminfo_output_unregister): Likewise.
22063 (grub_terminfo_getxy): Likewise.
22064 (grub_terminfo_readkey): Likewise.
22065 (grub_terminfo_checkkey): Likewise.
22066 (grub_terminfo_getkey): Likewise.
22067 (grub_terminfo_input_init): Likewise.
22068 (print_terminfo): Likewise.
22069 (grub_cmd_terminfo): Handle encoding.
22070 (grub_terminfo_gotoxy): Track position.
22071 (grub_terminfo_cls): Likewise.
22072 (grub_terminfo_putchar): Likewise.
22073 (grub_terminfo_setcolorstate): Handle colors
22074 (grub_terminfo_cursor_on): This ...
22075 (grub_terminfo_cursor_off): ... and this merged into ...
22076 (grub_terminfo_setcursor): ... this.
22077 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22078 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22079 * unicode/BidiMirroring.txt: Likewise.
22080 * unicode/UnicodeData.txt: Likewise.
22081 * unicode/COPYING: Likewise.
22082 * util/grub-editenv.c (grub_putchar): Removed.
22083 (grub_xputs_real): New function.
22084 (grub_xputs): New variable.
22085 * util/grub-fstest.c (grub_putchar): Removed.
22086 (grub_xputs_real): New function.
22087 (grub_xputs): New variable.
22088 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22089 (grub_xputs_real): New function.
22090 (grub_xputs): New variable.
22091 * util/grub-probe.c (grub_putchar): Removed.
22092 (grub_xputs_real): New function.
22093 (grub_xputs): New variable.
22094 * util/grub-script-check.c (grub_putchar): Removed.
22095 (grub_xputs_real): New function.
22096 (grub_xputs): New variable.
22097 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22098 (grub_xputs_real): New function.
22099 (grub_xputs): New variable.
22100 * util/import_unicode.py: New file.
22101 * util/grub-mkfont.c (ft_errmsgs): New array.
22102 (grub_glyph_info): Make bitmap a pointer.
22103 (file_formats): New type WIDTH_SPEC.
22104 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22105 (options): Add width-spec.
22106 (help): Likewise.
22107 (add_char): Renamed to ...
22108 (add_glyph): ... this.
22109 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22110 (glyph_replace): New type.
22111 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22112 (add_char): New function.
22113 (add_subst): Likewise.
22114 (process_cursive): Likewise.
22115 (add_font): Handle GSUB.
22116 (write_font_width_spec): New function.
22117 (main): Sort glyphs.
22118 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22119 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22120 * kern/term.c (grub_cls): Moved from here...
22121 * normal/term.c (grub_cls): ... here.
22122
50f0bcda
CW
221232010-07-02 Colin Watson <cjwatson@ubuntu.com>
22124
22125 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22126 suitable for using within the format argument of printf when
22127 converting grub_size_t.
22128 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22129 "x" to convert grub_size_t arguments.
22130
40372103
VS
221312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22134 too long captions.
22135 (list_get_minimal_size): Take selection box into account.
22136
942a10c7
VS
221372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22140 NULL font.
22141
2bdb2892
CW
221422010-07-02 Colin Watson <cjwatson@ubuntu.com>
22143
22144 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22145 devices when iterating over /dev/disk/by-id; they will be handled
22146 later if appropriate, which they aren't always (e.g. LVM).
22147
e03ed6c1
CW
221482010-07-02 Colin Watson <cjwatson@ubuntu.com>
22149
22150 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22151 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22152 fails.
22153 (grub_halt): Likewise.
22154 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22155 reset-all fails.
22156 (grub_halt): Don't return, even if all of shut-down, power-off, and
22157 poweroff fail.
22158
47695765
CW
221592010-07-02 Colin Watson <cjwatson@ubuntu.com>
22160
22161 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22162 arguments, not three.
22163
507736c8
CW
221642010-07-02 Colin Watson <cjwatson@ubuntu.com>
22165
22166 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22167 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22168 LVM-on-RAID is handled correctly.
22169
e3c8cd37
CW
221702010-07-02 Colin Watson <cjwatson@ubuntu.com>
22171
22172 * docs/grub.texi (Changes from GRUB Legacy): New section.
22173 (Future): Fix typo.
22174
8d4a2fec
CW
221752010-07-02 Colin Watson <cjwatson@ubuntu.com>
22176
22177 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22178 grub.d/README accidentally ends up executable for one reason or
22179 another. Ignore it.
22180
1c4827be
VS
221812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22184 (gpt_partition_map_iterate): Support non-512B sectors.
22185
d9a0c941
VS
221862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22189 Tested by: Seth Goldberg.
22190
48f27e87
VS
221912010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22192
22193 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22194 Properly align mbi.
22195 Reported by: Seth Goldberg.
22196
b0c4f956
VS
221972010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 * util/grub-mkrescue.in: Avoid module duplication.
22200
105a2e8c
SF
222012010-07-01 Sean Finney <seanius@seanius.net>
22202
22203 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22204
5944958c
SF
222052010-07-01 Sean Finney <seanius@seanius.net>
22206
22207 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22208
222092010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * disk/lvm.c (grub_lvm_checkvalue): New function.
22212 (grub_lvm_check_flag): Likewise.
22213
b79889ba
RM
222142010-07-01 Robert Millan <rmh@gnu.org>
22215
22216 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22217 Support 'p' as partition separator on kernel of FreeBSD (used
22218 with GPT labels).
22219 (grub_util_biosdisk_get_grub_dev): Likewise.
22220
ec1d04f1
VS
222212010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22222
22223 Yeeloong firmware port.
22224
22225 * boot/mips/yeeloong/fwstart.S: New file.
22226 * bus/cs5536.c (gpiodump): New const.
22227 (set_io_space): New function.
22228 (set_iod): Likewise.
22229 (set_p2d): Likewise.
22230 (grub_cs5536_init_geode): Likewise.
22231 * commands/mips/yeeloong/lsspd.c: New file.
22232 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22233 (serial_mod_SOURCES): New variable.
22234 (serial_mod_CFLAGS): Likewise.
22235 (serial_mod_LDFLAGS): Likewise.
22236 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22237 term/terminfo.c and term/tparm.c.
22238 (pkglib_IMAGES): Add fwstart.img.
22239 (fwstart_img_SOURCES): New variable.
22240 (fwstart_img_CFLAGS): Likewise.
22241 (fwstart_img_ASFLAGS): Likewise.
22242 (fwstart_img_LDFLAGS): Likewise.
22243 (fwstart_img_FORMAT): Likewise.
22244 (pkglib_MODULES): Add lsspd.mod.
22245 (lsspd_mod_SOURCES): New variable.
22246 (lsspd_mod_CFLAGS): Likewise.
22247 (lsspd_mod_LDFLAGS): Likewise.
22248 (pkglib_MODULES): Add halt.mod.
22249 (halt_mod_SOURCES): New variable.
22250 (halt_mod_CFLAGS): Likewise.
22251 (halt_mod_LDFLAGS): Likewise.
22252 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22253 (serial_mod_SOURCES): Removed.
22254 (serial_mod_CFLAGS): Likewise.
22255 (serial_mod_LDFLAGS): Likewise.
22256 * disk/ata.c (check_device): New function.
22257 (grub_ata_device_initialize): Use check_device.
22258 (grub_ata_iterate): Recheck devices.
22259 (grub_ata_open): Likewise.
22260 (grub_atapi_iterate): Likewise.
22261 (grub_atapi_open): Likewise.
22262 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22263 (GRUB_ATA_CH1_PORT1): Likewise.
22264 (GRUB_ATA_CH0_PORT2): Likewise.
22265 (GRUB_ATA_CH1_PORT2): Likewise.
22266 * include/grub/mips/loongson.h: New file.
22267 * include/grub/mips/yeeloong/ec.h: Likewise.
22268 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22269 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22270 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22271 * include/grub/misc.h (grub_halt): Declare as noreturn.
22272 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22273 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22274 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22275 (UART_ENABLE_DTRRTS): Likewise.
22276 (UART_ENABLE_MODEM): Removed.
22277 (UART_ENABLE_OUT2): New const.
22278 * include/grub/term.h (grub_term_register_input_active): New function.
22279 (grub_term_register_output_active): Likewise.
22280 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22281 argument.
22282 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22283 (init_pci): New function.
22284 (grub_machine_init): Execute platform init when firmware. Init serial.
22285 (grub_halt): Implement.
22286 (grub_exit): Likewise.
22287 (grub_reboot): Likewise.
22288 * term/serial.c (serial_hw_init): Update macros.
22289 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22290 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22291 (image_targets): New target mipsel-yeeloong-flash.
22292 (generate_image): Support IMAGE_YEELOONG_FLASH.
22293 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22294 (grub_video_sm712_setup): Init card.
22295 (grub_video_sm712_set_palette): Removed.
22296 * video/sm712_init.c: New file.
22297
ff4a70d2
CW
222982010-06-30 Colin Watson <cjwatson@ubuntu.com>
22299
22300 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22301 PATH when running help2man and then run it on the unadorned
22302 executable names, rather than passing $(builddir)/* paths to
22303 help2man. This avoids the build directory ending up in generated
22304 manual pages.
22305
1246efeb
CW
223062010-06-29 Colin Watson <cjwatson@ubuntu.com>
22307
22308 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22309 to avoid accidents when debugging with 'sh -x'.
22310 * util/grub-mkrescue.in: Likewise.
22311 * util/grub.d/00_header.in: Likewise.
22312 * util/grub.d/10_hurd.in: Likewise.
22313 * util/grub.d/10_kfreebsd.in: Likewise.
22314 * util/grub.d/10_linux.in: Likewise.
22315 * util/grub.d/10_netbsd.in: Likewise.
22316 * util/grub.d/10_windows.in: Likewise.
22317 * util/grub.d/20_linux_xen.in: Likewise.
22318 * util/grub.d/30_os-prober.in: Likewise.
22319 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22320
1ba9b889
CW
223212010-06-29 Colin Watson <cjwatson@ubuntu.com>
22322
22323 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22324 last character in the buffer.
22325 Reported by: Vladimir Serbinenko.
22326
dccaf99d
RM
223272010-06-29 Robert Millan <rmh@gnu.org>
22328
22329 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22330 (Command-line and menu entry commands): Document `badram' command.
22331
d500ed12
RM
223322010-06-28 Robert Millan <rmh@gnu.org>
22333
22334 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22335 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22336 command using ${GRUB_BADRAM} as parameter.
22337
20bc84a6
CW
223382010-06-28 Colin Watson <cjwatson@ubuntu.com>
22339
22340 * docs/grub.texi (Device map): New section.
22341 (Themes): New section (stub).
22342 * Makefile.in (docs/grub.info): The info documentation now builds
22343 without errors. Make sure it stays that way.
22344
4045dee1
VS
223452010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Use normal parser for menu entries.
22348 Reported by: Thomas Frauendorfer
22349
22350 * include/grub/parser.h (grub_parser_execute): Don't export.
22351 * normal/menu.c (grub_menu_execute_entry_real): New function.
22352 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22353
bca58c7b
CW
223542010-06-28 Colin Watson <cjwatson@ubuntu.com>
22355
22356 * docs/grub.texi (Embedded configuration): New section (replacing
22357 old "Preset Menu" stub).
22358 (Images): New section.
22359 (configfile): Note that any menu entries defined in `file' are shown
22360 immediately.
22361
dec53e63
JT
223622010-06-28 Josh Triplett <josh@joshtriplett.org>
22363
22364 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22365
c06e40f7
CW
223662010-06-28 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * util/grub-install.in: Add --debug-image= option.
22369
cb88052b
CW
223702010-06-28 Colin Watson <cjwatson@ubuntu.com>
22371
22372 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22373 possible on Linux.
22374
22375 * util/deviceiter.c (check_device): Rename to ...
22376 (check_device_readable_unique): ... this. Update all callers.
22377 Maintain and check a list of which devices (by canonicalized name)
22378 have already been seen.
22379 (clear_seen_devices): New function.
22380 (compare_file_names) [__linux__]: New function.
22381 (grub_util_iterate_devices): Clear the list of seen devices on exit
22382 and (just in case) on entry.
22383 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22384 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22385 seen-devices list, superseded by general code in check_device.
22386
bbe34652
CW
223872010-06-28 Colin Watson <cjwatson@ubuntu.com>
22388
22389 * commands/cat.c (options): New variable.
22390 (grub_cmd_cat): Parse options. If the --dos option is given, print
22391 DOS-style "\r\n" line endings as simple newlines (Debian bug
22392 #586358).
22393 (GRUB_MOD_INIT): Use extcmd.
22394 (GRUB_MOD_FINI): Likewise.
22395 * docs/grub.texi (cat): Document --dos.
22396
412e09f3
VS
223972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 XEN with Linux grub-mkconfig support.
22400
22401 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22402 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22403 GRUB_CMDLINE_XEN_DEFAULT.
22404 * util/grub.d/20_linux_xen.in: New file.
22405
53f3ef38 224062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22407
22408 Initialise VGA video on qemu ourselves.
22409
22410 * boot/i386/qemu/boot.S: Don't call 0xc000.
22411 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22412 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22413 (kernel_img_HEADERS): Add pci.h.
22414 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22415 * configure.ac: Force unifont on qemu and yeeloong.
22416 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22417 (grub_vga_palette_write): Use correct register.
22418 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22419 Call grub_qemu_init_cirrus.
22420 * kern/i386/qemu/init.c: New file.
22421 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22422
22423 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22424
c75be4fb
PR
224252010-06-26 Pavel Roskin <proski@gnu.org>
22426
22427 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22428 13.
22429
d8034603
CW
224302010-06-26 Colin Watson <cjwatson@ubuntu.com>
22431
22432 * docs/grub.texi (Simple configuration): Explain that
22433 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22434 set to `true' to disable their respective recovery entries, not
22435 merely set.
22436
3fa06487
CW
224372010-06-26 Colin Watson <cjwatson@ubuntu.com>
22438
22439 Make the `source' command slightly faster.
22440
22441 * normal/main.c (grub_normal_execute): Don't re-read list files when
22442 nested.
22443
e9b29642
CW
224442010-06-23 Colin Watson <cjwatson@ubuntu.com>
22445
22446 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22447 field position and mask size to red fields from mode_info, not
22448 green.
22449 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22450 Remove redundant tag->common.framebuffer_type assignment.
22451 Reported by: Seth Goldberg.
22452
e726542f
CW
224532010-06-23 Colin Watson <cjwatson@ubuntu.com>
22454
22455 Sync up other versions of the Linux loader with Robert Millan's
22456 change of 2010-01-09, "Make loader output a bit more user-friendly".
22457
22458 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22459 grub_dprintf().
22460 (grub_cmd_linux): Likewise.
22461 (grub_cmd_initrd): Likewise.
22462 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22463 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22464
d6e98a17
CW
224652010-06-21 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22468 larger than MEMORY_MAP_SIZE.
22469
14d3f08e
BC
224702010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22471
22472 Fix parallel build.
22473
22474 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22475 dependency.
22476 * script/parser.y: #include grub_script.tab.h header.
22477
4f9613a3
VS
224782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22479
22480 Support >3GiB and <16MiB RAM in i386-qemu.
22481
22482 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22483 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22484 (grub_lower_mem): Removed.
22485 (grub_upper_mem): Likewise.
22486 (mem_size): Made static.
22487 (above_4g): New variable.
22488 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22489 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22490 support.
22491
05e51879
VS
224922010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 Cirrus 5446 and Bochs video cards support.
22495
22496 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22497 video_bochs.mod
22498 (video_cirrus_mod_SOURCES): New variable.
22499 (video_cirrus_mod_CFLAGS): Likewise.
22500 (video_cirrus_mod_LDFLAGS): Likewise.
22501 (video_bochs_mod_SOURCES): Likewise.
22502 (video_bochs_mod_CFLAGS): Likewise.
22503 (video_bochs_mod_LDFLAGS): Likewise.
22504 * include/grub/vga.h: New file.
22505 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22506 (grub_video_fb_set_page_t): New type.
22507 (grub_video_fb_setup): New prototype.
22508 (grub_video_fb_swap_buffers): Likewise.
22509 (grub_video_fb_get_info_and_fini): Likewise.
22510 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22511 (CRTC_DATA_PORT): Likewise.
22512 (CRTC_CURSOR): Likewise.
22513 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22514 (CRTC_CURSOR_ADDR_LOW): Likewise.
22515 (CRTC_CURSOR_DISABLE): Likewise.
22516 (update_cursor): Use grub_vga_cr_write.
22517 (grub_vga_text_setcursor): Likewise.
22518 * video/bochs.c: New file.
22519 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22520 (palette): Likewise.
22521 (palette_size): Likewise.
22522 (framebuffer): New variable.
22523 (grub_video_fb_init): Use 'framebuffer'.
22524 (grub_video_fb_fini): Likewise.
22525 (grub_video_fb_get_info): Likewise.
22526 (grub_video_fb_get_palette): Likewise.
22527 (grub_video_fb_set_palette): Likewise.
22528 (grub_video_fb_set_viewport): Likewise.
22529 (grub_video_fb_get_viewport): Likewise.
22530 (grub_video_fb_map_color): Likewise.
22531 (grub_video_fb_map_rgb): Likewise.
22532 (grub_video_fb_map_rgba): Likewise.
22533 (grub_video_fb_unmap_color): Likewise.
22534 (grub_video_fb_unmap_color_int): Likewise.
22535 (grub_video_fb_fill_rect): Likewise.
22536 (grub_video_fb_blit_bitmap): Likewise.
22537 (grub_video_fb_blit_render_target): Likewise.
22538 (grub_video_fb_scroll): Likewise.
22539 (grub_video_fb_create_render_target): Likewise.
22540 (grub_video_fb_doublebuf_blit_init): Likewise.
22541 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22542 (doublebuf_pageflipping_update_screen): New function.
22543 (doublebuf_pageflipping_init): Likewise.
22544 (grub_video_fb_setup): Likewise.
22545 (grub_video_fb_swap_buffers): Likewise.
22546 (grub_video_fb_get_info_and_fini): Likewise.
22547 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22548 All users updated.
22549 (doublebuf_pageflipping_commit): Restructured into ...
22550 (doublebuf_pageflipping_set_page): ... this.
22551 (doublebuf_pageflipping_update_screen): Removed.
22552 (doublebuf_pageflipping_init): Likewise.
22553 (double_buffering_init): Likewise.
22554 (grub_video_vbe_setup): Use grub_video_fb_setup.
22555 (grub_video_vbe_swap_buffers): Removed.
22556 (grub_video_vbe_set_active_render_target): Likewise.
22557 (grub_video_vbe_get_active_render_target): Likewise.
22558 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22559 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22560 grub_video_fb_set_active_render_target and
22561 grub_video_fb_get_active_render_target.
22562 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22563 (SEQUENCER_DATA_PORT): Likewise.
22564 (MAP_MASK_REGISTER): Likewise.
22565 (CRTC_ADDR_PORT): Likewise.
22566 (CRTC_DATA_PORT): Likewise.
22567 (START_ADDR_HIGH_REGISTER): Likewise.
22568 (START_ADDR_LOW_REGISTER): Likewise.
22569 (GRAPHICS_ADDR_PORT): Likewise.
22570 (GRAPHICS_DATA_PORT): Likewise.
22571 (READ_MAP_REGISTER): Likewise.
22572 (INPUT_STATUS1_REGISTER): Likewise.
22573 (INPUT_STATUS1_VERTR_BIT): Likewise.
22574 (get_map_mask): Use grub_vga_sr_read.
22575 (set_map_mask): Use grub_vga_sr_write.
22576 (set_read_map): Use grub_vga_gr_write.
22577 (set_start_address): Use grub_vga_cr_write.
22578 * video/sm712.c (framebuffer): Remove leftover fields.
22579
4321c64a
CW
225802010-06-20 Colin Watson <cjwatson@ubuntu.com>
22581
22582 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22583 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22584 instead. Replace the gfxterm backend check with a check that
22585 ${GRUB_PREFIX}/video.lst is non-empty.
22586 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22587 again.
22588 (load_video): New generated function. Call it before loading
22589 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22590 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22591 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22592 * docs/grub.texi (Simple configuration): Document
22593 GRUB_VIDEO_BACKEND.
22594
225952010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22596
22597 Use video functions in linux and xnu loaders.
22598
22599 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22600 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22601 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22602 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22603 loader/i386/pc/linux.c.
22604 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22605 (find_line_len): Removed.
22606 (find_framebuf): Likewise.
22607 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22608 * loader/i386/efi/xnu.c: Removed.
22609 * loader/i386/pc/xnu.c: Moved from here...
22610 * loader/i386/xnu.c: ...here.
22611
22612 Enable priorities in video drivers.
22613
22614 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22615 (grub_video_adapter): New field prio.
22616 (grub_video_register): Respect prio when inserting.
22617 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22618 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22619 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22620 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22621 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22622 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22623 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22624
22625 Fix SDL driver ID.
22626
22627 * include/grub/video.h (grub_video_driver_id_t): New value
22628 GRUB_VIDEO_DRIVER_SDL.
22629 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22630
7d24e434
CW
226312010-06-17 Colin Watson <cjwatson@ubuntu.com>
22632
22633 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22634 argument to printf.
22635 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22636
c88a83f6
CW
226372010-06-17 Colin Watson <cjwatson@ubuntu.com>
22638
22639 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22640 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22641
094dfb69
CW
226422010-06-17 Colin Watson <cjwatson@ubuntu.com>
22643
22644 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22645 directly, and recommend grub-install instead.
22646 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22647
2164da6b
CW
226482010-06-17 Colin Watson <cjwatson@ubuntu.com>
22649
22650 Fix i386-pc prefix handling with nested partitions (Debian bug
22651 #585068). Note that the case where the core image is booted using
22652 multiboot and relocated from its original location still requires
22653 more work.
22654
22655 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22656 with "(,", fill the boot drive in between those two characters, but
22657 expect that a full partition specification including partition map
22658 names will follow.
22659 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22660 specified, write a prefix without the drive name but including a
22661 full partition specification.
22662
044e2e60
CW
226632010-06-16 Colin Watson <cjwatson@ubuntu.com>
22664
22665 * util/grub-mkconfig.in: Ignore non-option arguments, for
22666 compatibility with older versions (before 2010-06-12) which did the
22667 same. In particular, this makes it easier to ship an update-grub
22668 wrapper which is compatible with that used with GRUB Legacy (Debian
22669 bug #586056).
22670
5591324f
GS
226712010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22672
22673 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22674 for manual page generation.
22675
662e24d5
GS
226762010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22677
22678 * po/POTFILES: Remove leftover commands/handler.c.
22679
8d70754e
CW
226802010-06-14 Colin Watson <cjwatson@ubuntu.com>
22681
22682 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22683 left this script non-functional.
22684
41160e2e
CW
226852010-06-14 Colin Watson <cjwatson@ubuntu.com>
22686
22687 * docs/man/grub-emu.h2m: New file.
22688
b5309cc1
CW
226892010-06-13 Colin Watson <cjwatson@ubuntu.com>
22690
22691 * docs/grub.texi (Commands): Document reduced command set in rescue
22692 mode.
22693 (cpuid): New section.
22694
fcb2d090
GS
226952010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22696
22697 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22698 new partition naming style.
22699 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22700
96e5c556
BC
227012010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22702
22703 Add "-o grub.iso" like cmdline options support.
22704
22705 * util/grub-install.in: Improve cmdline option parsing.
22706 * util/grub-mkconfig.in: Likewise.
22707 * util/grub-mkrescue.in: Likewise.
22708 * util/grub-reboot.in: Likewise.
22709 * util/grub-set-default.in: Likewise.
22710 * util/i386/efi/grub-install.in: Likewise.
22711 * util/ieee1275/grub-install.in: Likewise.
22712 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22713
c16be99b
CW
227142010-06-12 Colin Watson <cjwatson@ubuntu.com>
22715
22716 * .bzrignore: Ignore 41_custom.
22717
ce08a9fb
TS
227182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22719
22720 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22721
7beac90c
CW
227222010-06-12 Colin Watson <cjwatson@ubuntu.com>
22723
22724 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22725 prototype declarations.
22726
22727 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22728 generating fs, partmap, and video lists.
22729 * include/grub/fs.h (grub_fs_register): Omit prototype if
22730 GRUB_LST_GENERATOR is defined.
22731 * include/grub/partition.h (grub_partition_map_register): Likewise.
22732 * include/grub/video.h (grub_video_register): Likewise.
22733
1c8f0f8d
JM
227342010-06-12 Javier Martín <lordhabbit@gmail.com>
22735
22736 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22737
a6085973
TS
227382010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22739
22740 * util/grub-mkrescue.in: Support --xorriso argument.
22741
25c56d29
VS
227422010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22743
22744 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22745 Suggested by: Thomas Schmitt.
22746
e03e4b24
VS
227472010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22748
22749 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22750 Suggested by: Thomas Schmitt.
22751
57711df6
VS
227522010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 custom.cfg support.
22755
22756 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22757 * util/grub.d/41_custom.in: New file.
22758
ee62c427
CW
227592010-06-12 Colin Watson <cjwatson@ubuntu.com>
22760
22761 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22762 been merged back into normal.
22763
283af07a
CW
227642010-06-11 Colin Watson <cjwatson@ubuntu.com>
22765
22766 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22767 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22768
56a0d956
CW
227692010-06-11 Colin Watson <cjwatson@ubuntu.com>
22770
22771 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22772 when generating manual pages.
22773 * docs/man/grub-bin2h.h2m: New file.
22774 * docs/man/grub-editenv.h2m: New file.
22775 * docs/man/grub-fstest.h2m: New file.
22776 * docs/man/grub-install.h2m: New file.
22777 * docs/man/grub-macho2img.h2m: New file.
22778 * docs/man/grub-mkconfig.h2m: New file.
22779 * docs/man/grub-mkdevicemap.h2m: New file.
22780 * docs/man/grub-mkfont.h2m: New file.
22781 * docs/man/grub-mkimage.h2m: New file.
22782 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22783 * docs/man/grub-mkrelpath.h2m: New file.
22784 * docs/man/grub-mkrescue.h2m: New file.
22785 * docs/man/grub-ofpathname.h2m: New file.
22786 * docs/man/grub-pe2elf.h2m: New file.
22787 * docs/man/grub-probe.h2m: New file.
22788 * docs/man/grub-reboot.h2m: New file.
22789 * docs/man/grub-script-check.h2m: New file.
22790 * docs/man/grub-set-default.h2m: New file.
22791 * docs/man/grub-setup.h2m: New file.
22792
3a37e322
VS
227932010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 Use FOR_* macros instead of *_iterate whenever possible.
22796
22797 * commands/handler.c: Removed.
22798 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22799 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22800 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22801 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22802 (grub_probe_SOURCES): Remove kern/parser.c.
22803 (util/grub-script-check.c_DEPENDENCIES): Removed.
22804 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22805 and grub_script_check_init.c.
22806 (grub_script_check_init.lst): Removed.
22807 (grub_script_check_init.h): Likewise.
22808 (grub_script_check_init.c): Likewise.
22809 (pkglib_MODULES): Remove handler.mod and sh.mod.
22810 (handler_mod_SOURCES): Removed.
22811 (handler_mod_CFLAGS): Likewise.
22812 (handler_mod_LDFLAGS): Likewise.
22813 (normal_mod_SOURCES): Remove normal/handler.c.
22814 Add script/main.c, script/script.c, script/execute.c,
22815 script/function.c, script/lexer.c, grub_script.tab.c
22816 and grub_script.yy.c.
22817 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22818 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22819 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22820 (grub_setup_SOURCES): Remove kern/parser.c.
22821 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22822 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22823 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22824 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22825 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22826 (grub_setup_SOURCES): Remove kern/parser.c.
22827 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22828 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22829 * include/grub/command.h (grub_command_iterate): Removed.
22830 (FOR_COMMANDS): New macro.
22831 * include/grub/dl.h (grub_dl): New member next.
22832 (grub_dl_iterate): Removed.
22833 (grub_dl_head): New variable declaration.
22834 (FOR_DL_MODULES): New macro.
22835 * include/grub/fs.h: Include list.h.
22836 (grub_fs): Make next first element.
22837 (grub_fs_list): New variable declaration.
22838 (grub_fs_register): Make inline.
22839 (grub_fs_unregister): Likewise.
22840 (grub_fs_iterate): Removed.
22841 (FOR_FILESYSTEMS): New macro.
22842 * include/grub/handler.h: Removed.
22843 * include/grub/list.h (grub_list_hook_t): Removed.
22844 (grub_list_test_t): Likewise.
22845 (grub_list_pop): Likewise.
22846 (grub_list_iterate): Likewise.
22847 (grub_list_insert): Likewise.
22848 (FOR_LIST_ELEMENTS): New macro.
22849 * include/grub/parser.h (grub_parser_class): Removed.
22850 (grub_parser_register): Likewise.
22851 (grub_parser_unregister): Likewise.
22852 (grub_parser_get_current): Likewise.
22853 (grub_parser_set_current): Likewise.
22854 (grub_register_rescue_parser): Likewise.
22855 (grub_rescue_parse_line): New function.
22856 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22857 * include/grub/script_sh.h (grub_script_function_list): New variable
22858 declaration.
22859 (FOR_SCRIPT_FUNCTIONS): New macro.
22860 (grub_script_function_iterate): Removed.
22861 (grub_normal_parse_line): New prototype.
22862 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22863 (FOR_DISABLED_TERM_INPUTS): Likewise.
22864 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22865 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22866 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22867 element.
22868 (grub_video_register): Inline.
22869 (grub_video_unregister): Likewise.
22870 (grub_video_adapter_list): New variable declaration.
22871 (grub_video_iterate): Removed.
22872 (FOR_VIDEO_ADAPTERS): New macro.
22873 * kern/dl.c (grub_dl_list): Removed. All users updated.
22874 (grub_dl_iterate): Removed.
22875 * kern/fs.c (grub_fs_list): Make global.
22876 (grub_fs_register): Removed.
22877 (grub_fs_unregister): Likewise.
22878 (grub_fs_iterate): Likewise.
22879 * kern/handler.c: Removed.
22880 * kern/list.c (grub_list_pop): Removed.
22881 (grub_list_iterate): Likewise.
22882 (grub_list_insert): Likewise.
22883 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22884 (grub_prio_list_insert): Don't use grub_list_insert.
22885 * kern/main.c (grub_register_rescue_parser): Don't call
22886 grub_register_rescue_parser.
22887 * kern/parser.c (grub_parser_class): Removed.
22888 (grub_parser_execute): Use grub_rescue_parse_line.
22889 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22890 (grub_rescue_parser): Removed.
22891 (grub_register_rescue_parser): Likewise.
22892 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22893 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22894 (grub_auth_check_authentication): Likewise.
22895 * normal/completion.c (iterate_command): Removed.
22896 (grub_normal_do_completion): Use FOR_COMMANDS.
22897 * normal/handler.c: Removed.
22898 * normal/main.c (read_config_file): Remove parser changing.
22899 (grub_normal_execute): Don't call read_handler_list.
22900 (grub_normal_read_line_real): Statically allocate prompt.
22901 (grub_cmdline_run): Use grub_normal_parse_line.
22902 (GRUB_MOD_FINI): Don't call free_handler_list.
22903 * normal/menu_entry.c (run): Likewise.
22904 * script/function.c (grub_script_function_list): Make global.
22905 (grub_script_function_iterate): Removed.
22906 * script/main.c (grub_normal_parse_line): Make global.
22907 (grub_sh_parser): Removed.
22908 (GRUB_MOD_INIT): Likewise.
22909 (GRUB_MOD_FINI): Likewise.
22910 * tests/lib/functional_test.c (grub_functional_test): Use
22911 FOR_LIST_ELEMENTS.
22912 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22913 (grub_test_run): Use FOR_LIST_ELEMENTS.
22914 * tests/lib/unit_test.c (main): Likewise.
22915 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22916 grub_list_pop.
22917 * util/grub-fstest.c (grub_term_input_class): Removed.
22918 (grub_term_output_class): Likewise.
22919 * util/grub-probe.c: Likewise.
22920 * util/i386/pc/grub-setup.c: Likewise.
22921 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22922 * util/grub-script-check.c (main): Don't call grub_init_all and
22923 grub_fini_all.
22924 * video/video.c (grub_video_adapter_list): Make global.
22925 (grub_video_register): Removed.
22926 (grub_video_unregister): Likewise.
22927 (grub_video_iterate): Likewise.
22928
6289c3a7
VS
229292010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22932 reported by Henrique Ferreiro.
22933
91460247
RM
229342010-06-09 Robert Millan <rmh@gnu.org>
22935
22936 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22937 ones, when both are available.
22938
0ea7c4f9
GS
229392010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22940
22941 Make --version uniform and avoid hard-coded program name.
22942
22943 * util/grub-mkimage.c (main): Use `program_name' instead of
22944 hard-coded string.
22945 * util/i386/pc/grub-setup.c (main): Likewise.
22946 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22947 * util/grub-install.in: Save the basename of $0 in $self, and use the
22948 latter in informational messages. Use the same format for --version
22949 as the binary programs.
22950 * util/grub-mkconfig.in: Likewise.
22951 * util/grub-mkrescue.in: Likewise.
22952 * util/grub-reboot.in: Likewise.
22953 * util/grub-set-default.in: Likewise.
22954 * util/i386/efi/grub-install.in: Likewise.
22955 * util/ieee1275/grub-install.in: Likewise.
22956 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22957
e8a6f3b6
GS
229582010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22959
22960 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22961 embedding area. Use <= instead of == when checking for non-emptiness.
22962
f4d095d7
GS
229632010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22964
22965 * configure.ac: Add `.' to the directories searched for unifont.
22966
50e532ca
CW
229672010-06-08 Colin Watson <cjwatson@ubuntu.com>
22968
22969 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22970 grub_script.yy.h.
22971
d39f3dec
CW
229722010-06-08 Colin Watson <cjwatson@ubuntu.com>
22973
22974 * docs/grub.texi (History): Expand to cover GRUB 2.
22975 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22976 commands, not `terminal'.
22977 (serial): Likewise.
22978 (terminal_input): New section.
22979 (terminal_output): New section.
22980 (uppermem): New section (stub).
22981 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22982
6ef0ddb4
CW
229832010-06-08 Colin Watson <cjwatson@ubuntu.com>
22984
22985 * docs/grub.texi (Security): Menu entries are unrestricted by
22986 default, not restricted to superusers as I had previously thought.
22987 Reword to account for this.
22988
e0f4c438
CW
229892010-06-07 Colin Watson <cjwatson@ubuntu.com>
22990
22991 * kern/emu/misc.c (device_mapper_null_log): New function.
22992 (grub_device_mapper_supported): New function.
22993 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22994 prototype.
22995 * kern/emu/hostdisk.c (find_partition_start): Check whether
22996 device-mapper is supported before trying to use it.
22997 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22998
da908200
CW
229992010-06-07 Colin Watson <cjwatson@ubuntu.com>
23000
23001 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23002 (File name syntax): Likewise.
23003 (help): --all is no longer supported in GRUB 2. Be more precise
23004 about pattern matching.
23005
fb55c3ac
CW
230062010-06-07 Colin Watson <cjwatson@ubuntu.com>
23007
23008 * normal/completion.c (grub_normal_do_completion): When completing
23009 arguments to "set" and the current word contains an equals sign,
23010 skip to after the equals sign before starting completion.
23011
258c2573
CW
230122010-06-07 Colin Watson <cjwatson@ubuntu.com>
23013
23014 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23015
ee75515e
CW
230162010-06-07 Colin Watson <cjwatson@ubuntu.com>
23017
23018 * docs/grub.texi (Network): New section.
23019 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23020 `(nd)' as in GRUB Legacy.
23021 (pxe_unload): New section.
23022
a6a700aa
CW
230232010-06-07 Colin Watson <cjwatson@ubuntu.com>
23024
23025 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23026 in the rescue shell, so recommend using `set' instead. Thanks,
23027 Jordan Uggla.
23028
4003dd38
CW
230292010-06-07 Colin Watson <cjwatson@ubuntu.com>
23030
23031 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23032 (password): New section.
23033 (password_pbkdf2): New section.
23034 (search): New section.
23035 (Security): New section.
23036 (Troubleshooting): New section, currently very incomplete.
23037 (Invoking grub-mkpasswd-pbkdf2): New section.
23038 (Internals): New section, currently very incomplete.
23039
e1cbcc40
CW
230402010-06-07 Colin Watson <cjwatson@ubuntu.com>
23041
23042 * util/grub.d/00_header.in: Add some more quoting (of
23043 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23044 work again.
23045 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23046
db8fa1ad
CW
230472010-06-07 Colin Watson <cjwatson@ubuntu.com>
23048
23049 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23050 to `count', fixing variable shadowing that broke the -c option.
23051
230522010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23053
23054 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23055 in case they contain spaces.
23056
f28a9212
CW
230572010-06-04 Colin Watson <cjwatson@ubuntu.com>
23058
23059 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23060 "part_" to partmap module names, in line with grub-install.
23061 Reported by: Jindřich Makovička (Debian bug #584426).
23062
9cdfe32f
CW
230632010-06-04 Colin Watson <cjwatson@ubuntu.com>
23064
23065 * util/grub-mkimage.c: Make target-related error messages slightly
23066 more helpful; -O talks about "format". Explicitly point to the use
23067 of -O if no target is specified.
23068 Reported by: Didier Raboud (Debian bug #584415).
23069
795b593a
CW
230702010-06-03 Colin Watson <cjwatson@ubuntu.com>
23071
23072 * INSTALL: Document several build requirements for optional features
23073 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23074
9d9b5833
GS
230752010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23076
23077 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23078 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23079 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23080
0819fec8
CW
230812010-06-02 Colin Watson <cjwatson@ubuntu.com>
23082
23083 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23084 Thanks to Jordan Uggla for spotting this.
23085
49396b4f
VS
230862010-06-02 Aleš Nesrsta <starous@volny.cz>
23087
23088 Finally make USB usable.
23089
23090 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23091 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23092 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23093 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23094 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23095 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23096 (GRUB_OHCI_FSMPS): Likewise.
23097 (GRUB_OHCI_PERIODIC_START): Likewise.
23098 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23099 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23100 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23101 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23102 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23103 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23104 (grub_ohci_transaction): Likewise.
23105 (grub_ohci_transfer): Improve condition detection algorithms.
23106 Handle toggle property. Program the transactions correctly.
23107 Improve error handling. Various important fixups.
23108 (grub_ohci_portstatus): Put register writes in right order.
23109 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23110 (grub_uhci_transfer): Don't show "failed" message on success.
23111 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23112 array.
23113 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23114 determine its size.
23115 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23116 before initialization is completed. Use IN direction for empty
23117 transfers. Use last_trans and compute toggle.
23118 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23119 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23120 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23121 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23122 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23123 (grub_usb_device): Increase toggle to 256.
23124 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23125 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23126 GRUB_USBMS_SUBCLASS_SFF8070.
23127 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23128 (grub_scsi_inquiry): New member page and alloc_length.
23129 (grub_scsi_request_sense): New structure.
23130 (grub_scsi_request_sense_data): Likewise.
23131 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23132 control.
23133 * disk/scsi.c (grub_scsi_request_sense): New function.
23134 (grub_scsi_test_unit_ready): Likewise.
23135 (grub_scsi_inquiry): Fill new fields.
23136 (grub_scsi_read_capacity): Likewise.
23137 (grub_scsi_read10): Add request sense at the end.
23138 (grub_scsi_read12): Likewise.
23139 (grub_scsi_write10): Likewise.
23140 (grub_scsi_write12): Likewise.
23141 (grub_scsi_open): Add Test Unit Ready.
23142 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23143 Support additional subclasses. Con't clear halt yet. Activate the
23144 proper config. Calculate LUNs correctly.
23145 (grub_usbms_transfer): Various important fixups.
23146
231472010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23148
23149 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23150 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23151 (grub_ohci_fini_hw): New function.
23152 (grub_ohci_restore_hw): Likewise.
23153 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23154 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23155 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23156
231572010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 Dedicated DMA allocations.
23160
23161 * bus/pci.c (grub_memalign_dma32): New function
23162 (grub_dma_free): Likewise.
23163 (grub_dma_get_virt): Likewise.
23164 (grub_dma_get_phys): Likewise.
23165 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23166 (grub_ohci_pci_iter): Use dma32_alloc.
23167 (grub_ohci_transfer): Likewise.
23168 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23169 (grub_usb_bulk_readwrite): Likewise.
23170 * include/grub/pci.h: Add declarations.
23171
231722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 CS5536 support.
23175
23176 * bus/cs5536.c: New file.
23177 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23178 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23179 (cs5536_mod_SOURCES): New variable.
23180 (cs5536_mod_CFLAGS): Likewise.
23181 (cs5536_mod_LDFLAGS): Likewise.
23182 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23183 machine/pci.h.
23184 (kernel_img_SOURCES): Add bus/cs5536.c.
23185 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23186 usb_keyboard.mod.
23187 (usb_mod_SOURCES): New variable.
23188 (usb_mod_CFLAGS): New variable.
23189 (usb_mod_LDFLAGS): New variable.
23190 (usbtest_mod_SOURCES): New variable.
23191 (usbtest_mod_CFLAGS): New variable.
23192 (usbtest_mod_LDFLAGS): New variable.
23193 (ohci_mod_SOURCES): New variable.
23194 (ohci_mod_CFLAGS): New variable.
23195 (ohci_mod_LDFLAGS): New variable.
23196 (usbms_mod_SOURCES): New variable.
23197 (usbms_mod_CFLAGS): New variable.
23198 (usbms_mod_LDFLAGS): New variable.
23199 (usb_keyboard_mod_SOURCES): New variable.
23200 (usb_keyboard_mod_CFLAGS): New variable.
23201 (usb_keyboard_mod_LDFLAGS): New variable.
23202 * include/grub/smbus.h: New file.
23203 * include/grub/cs5536.h: New file.
23204
0b35b2a9
CW
232052010-06-02 Colin Watson <cjwatson@ubuntu.com>
23206
23207 * util/grub.d/00_header.in: Add safety check to make sure that
23208 ${locale_dir} exists before trying to probe it.
23209
ca0afd5b
CW
232102010-06-02 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23213 per the GNU Coding Standards; this is now too obscure to be worth
23214 documenting.
23215 (QNX): Likewise.
23216 (chainloader): Remove cross-reference to `SCO UnixWare'.
23217
1c41aa78
CW
232182010-06-02 Colin Watson <cjwatson@ubuntu.com>
23219
23220 * docs/grub.texi (Chain-loading): New section.
23221 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23222 adjusted for GRUB 2.
23223 (SCO UnixWare): Likewise.
23224 (QNX): Likewise.
23225 (chainloader): Add reference to `Block list syntax'.
23226 (drivemap): New section.
23227 (parttool): New section.
23228
bb8ea0f5
CW
232292010-06-02 Colin Watson <cjwatson@ubuntu.com>
23230
23231 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23232 the grub shell'.
23233 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23234 (Installing GRUB using grub-install): Remove reference to the grub
23235 shell; mention `grub-mkimage' and `grub-setup' instead.
23236 (Invoking grub-install): Likewise.
23237 (Interface): Add reference to `Menu entry editor'.
23238 (serial): Remove `--device' option.
23239
288dd6ed
CW
232402010-06-02 Colin Watson <cjwatson@ubuntu.com>
23241
23242 * docs/grub.texi (Configuration): New section, documenting
23243 configuration file generation using grub-mkconfig. I've left a slot
23244 for documenting the full shell scripting format but have not yet
23245 started on writing that up.
23246 (Invoking grub-mkconfig): New section.
23247
34c9f0e9
CW
232482010-06-02 Colin Watson <cjwatson@ubuntu.com>
23249
23250 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23251 (GNU GRUB manual): Likewise.
23252 (General commands): Update description of `terminfo' for GRUB 2.
23253
9121567e
CW
232542010-06-02 Colin Watson <cjwatson@ubuntu.com>
23255
23256 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23257 (GRUB_MOD_INIT): Fix capitalisation.
23258 * docs/grub.texi (Command-line and menu entry commands): Document
23259 gettext and gptsync commands.
23260
ab631611
CW
232612010-06-02 Colin Watson <cjwatson@ubuntu.com>
23262
23263 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23264 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23265
bde4a9ac
CW
232662010-06-01 Colin Watson <cjwatson@ubuntu.com>
23267
23268 Add btrfs probing support, currently only in the single-device case.
23269
23270 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23271 function.
23272 (grub_guess_root_device): Call find_root_device_from_mountinfo
23273 before looking in /dev.
23274
b1d17e10
VS
232752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23278 GRUB_DISK_SIZE_UNKNOWN.
23279 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23280
dfbfe004
JS
232812010-05-31 Jiro SEKIBA <jir@unicus.jp>
23282
23283 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23284 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23285 corrupted or not synced properly.
23286
c2ffc8e9
VS
232872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23288
23289 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23290 Reported by: Seth Goldberg.
23291
56293166
VS
232922010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23295 addition of dest.
23296 Reported by: Seth Goldberg.
23297
7620e7de
VS
232982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23299
23300 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23301 Reported by: Seth Goldberg.
23302
c837af3f
VS
233032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23306 64-bit address as signed on MIPS.
23307
c7c75cf4
CW
233082010-05-28 Colin Watson <cjwatson@ubuntu.com>
23309
23310 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23311 to the empty string.
23312
fa4b8490
BC
233132010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23314
23315 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23316
23317 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23318 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23319 * kern/misc.c (__enable_execute_stack): Disable on
23320 GRUB_MACHINE_EMU.
23321
a33075b9
CW
233222010-05-28 Colin Watson <cjwatson@ubuntu.com>
23323
23324 Make grub-probe work with symbolic links under /dev/mapper as well
23325 as with real block devices. The Linux world seems to be (at best)
23326 in transition here, and GRUB shouldn't get caught in the middle.
23327
23328 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23329 /dev/mapper.
23330
d8708134
CW
233312010-05-27 Colin Watson <cjwatson@ubuntu.com>
23332
23333 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23334 input files (in which case exit zero).
23335
db2102a0
CW
233362010-05-27 Colin Watson <cjwatson@ubuntu.com>
23337
23338 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23339 return NULL for various reasons even if it has a maximum-length
23340 buffer: for example, there might be a symlink loop, or the path
23341 might exceed PATH_MAX. If this happens, return NULL.
23342
5fdba519
RM
233432010-05-27 Robert Millan <rmh@gnu.org>
23344
23345 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23346 partmap module to handle cross-partmap setups.
23347 Reported by Orestes Mas. Gràcies!
23348
d1d368e4
CW
233492010-05-27 Colin Watson <cjwatson@ubuntu.com>
23350
23351 * util/grub-mkrescue.in: Initialise override_dir rather than
23352 assuming that it's unset or empty in the environment.
23353
95ac3c73
GS
233542010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23355
23356 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23357 variable index into p_index to suppress a warning with -Wshadow.
23358
7d8c0213
BC
233592010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23360
23361 * INSTALL: Added flex >= 2.5.35 requirement.
23362
db4d5813
VS
233632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23366
f24f4300
VS
233672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23368
23369 cmostest support.
23370
23371 * commands/i386/cmostest.c: New file.
23372 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23373 (cmostest_mod_SOURCES): New variable.
23374 (cmostest_mod_CFLAGS): Likewise.
23375 (cmostest_mod_LDFLAGS): Likewise.
23376 * conf/i386-pc.rmk: Likewise.
23377 * docs/grub.texi (Vendor power-on keys): New section.
23378 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23379 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23380 and GRUB_BUTTON_CMOS_ADDRESS.
23381 * util/grub.d/00_header.in: Handle powering-on by separate button.
23382
ad603f61
VS
233832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23384
23385 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23386 Removed drawing_scrollbar argument. All users updated
23387 Fixes #29792.
23388 Reported by Jo Shields
23389
3ecb080a
VS
233902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23391
23392 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23393 buffer since gfxterm handles double repaint.
23394
5f2316c1
VS
233952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23396
23397 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23398 * term/gfxterm.c (real_scroll): Likewise.
23399
9a25f885
VS
234002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23401
23402 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23403 before calling BIOS.
23404
39fbb79a
VS
234052010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23406
23407 * include/grub/i18n.h: Always enable grub_gettext.
23408
228cfa97
VS
234092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23412 partition naming style.
23413
21717c8f
CW
234142010-05-21 Colin Watson <cjwatson@ubuntu.com>
23415
23416 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23417 not the first option.
23418
c0f48e65
CW
234192010-05-20 Colin Watson <cjwatson@ubuntu.com>
23420
23421 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23422
96779aec
CW
234232010-05-20 Colin Watson <cjwatson@ubuntu.com>
23424
23425 * util/misc.c: Move inclusion of <limits.h> to ...
23426 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23427
fa9d256e
GS
234282010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23429
23430 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23431 Fix merge error in NetBSD code.
23432 (find_partition_start) [__NetBSD__]: Likewise.
23433
123b7a85
BC
234342010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23435
23436 Fix grub-mkrescue usage unit testing.
23437
23438 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23439
74276c0d
CF
234402010-05-18 Christian Franke <franke@computer.org>
23441
23442 * util/grub.d/10_windows.in: Use path names instead of
23443 drive letters to prevent warning from Cygwin 1.7.
23444 Add drivemap command to menuentry if needed.
23445
c4f7b523
ST
234462010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23447
23448 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23449 gnumach and gnumach.gz.
23450
95b97950
VS
234512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * include/grub/i18n.h (gettext): Inline instead of using #define.
23454 (grub_gettext): Likewise.
23455 (_): Likewise.
23456
01b8d2d7
VS
234572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23458
23459 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23460 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23461 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23462 (main): Add a slash after pkglibdirroot.
23463
654e1d1e
VS
234642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23465
23466 * util/grub-install.in: Add missing "in" keyword.
23467
26966aeb
VS
234682010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23471 Reported by: Seth Goldberg.
23472
75006747
VS
234732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23474
23475 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23476
74cbf5bd
CW
234772010-05-18 Colin Watson <cjwatson@ubuntu.com>
23478
23479 * configure.ac: Check for Linux device-mapper support.
23480
23481 * util/hostdisk.c (device_is_mapped): New function.
23482 (find_partition_start): New function, partly broken out from
23483 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23484 device-mapper support added.
23485 (linux_find_partition): Use find_partition_start.
23486 (convert_system_partition_to_system_disk): Add `st' argument.
23487 Support Linux /dev/mapper/* devices if device-mapper support is
23488 available; only DM-RAID devices are understood at present.
23489 (find_system_device): Add `st' argument. Pass it to
23490 convert_system_partition_to_system_disk.
23491 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23492 find_system_device and convert_system_partition_to_system_disk. Use
23493 find_partition_start.
23494
23495 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23496 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23497 * util/deviceiter.c [__linux__]: Define MINOR.
23498 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23499 * util/mkdevicemap.c (grub_putchar): New function.
23500 (grub_getkey): New function.
23501 (grub_refresh): New function.
23502 (main): Set debug=all if -v -v is used.
23503
355b51e9
CW
235042010-05-18 Colin Watson <cjwatson@ubuntu.com>
23505
23506 Fix build with non-GNU libcs.
23507
23508 * util/misc.c (canonicalize_file_name): Move to ...
23509 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23510 grub_make_system_path_relative_to_its_root.
23511
7fb5c25f
CW
235122010-05-18 Colin Watson <cjwatson@ubuntu.com>
23513
23514 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23515 we handle finding grub-mkimage. Default to finding grub-mkimage in
23516 ${bindir} with program_transform_name applied, and provide a
23517 --grub-mkimage option to override this.
23518
1d3293d6
VS
235192010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 Remove grub-mkisofs.
23522
23523 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23524 (grub_mkisofs_SOURCES): Removed.
23525 (grub_mkisofs_CFLAGS): Removed.
23526 * util/mkisofs/defaults.h: Removed.
23527 * util/mkisofs/eltorito.c: Likewise.
23528 * util/mkisofs/exclude.h: Likewise.
23529 * util/mkisofs/hash.c: Likewise.
23530 * util/mkisofs/include/: Likewise.
23531 * util/mkisofs/include/fctldefs.h: Likewise.
23532 * util/mkisofs/include/mconfig.h: Likewise.
23533 * util/mkisofs/include/prototyp.h: Likewise.
23534 * util/mkisofs/include/statdefs.h: Likewise.
23535 * util/mkisofs/iso9660.h: Likewise.
23536 * util/mkisofs/joliet.c: Likewise.
23537 * util/mkisofs/match.c: Likewise.
23538 * util/mkisofs/match.h: Likewise.
23539 * util/mkisofs/mkisofs.c: Likewise.
23540 * util/mkisofs/mkisofs.h: Likewise.
23541 * util/mkisofs/msdos_partition.h: Likewise.
23542 * util/mkisofs/multi.c: Likewise.
23543 * util/mkisofs/name.c: Likewise.
23544 * util/mkisofs/rock.c: Likewise.
23545 * util/mkisofs/tree.c: Likewise.
23546 * util/mkisofs/write.c: Likewise.
23547
5dde9afe
VS
235482010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23549
23550 Unify grub-mkimage accross platforms.
23551
23552 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23553 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23554 (grub_mkelfimage_SOURCES): Removed.
23555 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23556 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23557 (bin_UTILITIES): Add grub-mkimage.
23558 (grub_mkimage_SOURCES): New variable.
23559 (kernel_img_HEADERS): Remove machine/kernel.h.
23560 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23561 (pkglib_PROGRAMS): Add kernel.img.
23562 (kernel_img_HEADERS): Add machine/kernel.h.
23563 (kernel_img_FORMAT): Removed.
23564 (bin_UTILITIES): Remove grub-mkimage.
23565 (grub_mkimage_SOURCES): Removed.
23566 (grub_mkimage_CFLAGS): Likewise.
23567 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23568 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23569 (pkglib_PROGRAMS): Add kernel.img.
23570 (bin_UTILITIES): Remove grub-mkimage.
23571 (grub_mkimage_SOURCES): Removed.
23572 (grub_mkimage_CFLAGS): Likewise.
23573 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23574 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23575 (pkglib_PROGRAMS): Add kernel.img.
23576 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23577 (pkglib_PROGRAMS): Add kernel.img.
23578 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23579 (grub_mkimage_SOURCES): Removed.
23580 (grub_mkimage_CFLAGS): Likewise.
23581 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23582 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23583 (pkglib_PROGRAMS): Add kernel.img.
23584 (bin_UTILITIES): Remove grub-mkimage.
23585 (grub_mkimage_SOURCES): Removed.
23586 (grub_mkimage_CFLAGS): Likewise.
23587 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23588 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23589 (grub_mkimage_SOURCES): Removed.
23590 (grub_mkimage_CFLAGS): Likewise.
23591 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23592 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23593 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23594 (grub_pe32_optional_header): ... this.
23595 (grub_pe64_optional_header): ... and this. All users updated.
23596 (GRUB_PE32_PE32_MAGIC): Split into ..
23597 (GRUB_PE32_PE32_MAGIC): .. this.
23598 (GRUB_PE32_PE64_MAGIC): .. and this.
23599 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23600 * include/grub/elf.h (PT_GNU_STACK): New definition.
23601 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23602 * include/grub/i386/efi/kernel.h: Likewise.
23603 * include/grub/i386/kernel.h: Likewise.
23604 * include/grub/i386/pc/kernel.h: Likewise.
23605 * include/grub/i386/qemu/boot.h: Likewise.
23606 * include/grub/mips/kernel.h: Likewise.
23607 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23608 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23609 * include/grub/powerpc/kernel.h: Likewise.
23610 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23611 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23612 * include/grub/sparc64/kernel.h: Likewise.
23613 * include/grub/x86_64/efi/kernel.h: Likewise.
23614 * include/grub/x86_64/kernel.h: Likewise.
23615 * include/grub/offsets.h: New file.
23616 * include/grub/kernel.h (grub_module_info): Split into ...
23617 (grub_module_info32): ... this.
23618 (grub_module_info64): ... and this.
23619 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23620 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23621 (grub_boot_blocklist): Moved from here ...
23622 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23623 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23624 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23625 * include/grub/types.h (grub_target_to_host16): Removed.
23626 (grub_target_to_host32): Likewise.
23627 (grub_target_to_host64): Likewise.
23628 (grub_host_to_target16): Likewise.
23629 (grub_host_to_target32): Likewise.
23630 (grub_host_to_target64): Likewise.
23631 (grub_host_to_target_addr): Likewise.
23632
23633 Support grub-mkrescue for efi, coreboot and qemu.
23634
23635 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23636 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23637 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23638 * util/grub-mkrawimage.c: Moved from here ...
23639 * util/grub-mkimage.c: ... here. All users updated.
23640 (ALIGN_ADDR): Use image_target.
23641 (TARGET_NO_FIELD): New const.
23642 (image_target_desc): New type.
23643 (image_targets): New array.
23644 (grub_target_to_host64): Use image_target.
23645 (grub_target_to_host32): Likewise.
23646 (grub_target_to_host16): Likewise.
23647 (grub_host_to_target64): Likewise.
23648 (grub_host_to_target32): Likewise.
23649 (grub_host_to_target16): Likewise.
23650 (grub_host_to_target_addr): Likewise.
23651 (generate_image): Handle multiimage.
23652 (main): Require -O parameter. All users updated.
23653 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23654 util/efi/grub-mkimage.c
23655 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23656 New option --rom-directory.
23657 Use xorriso.
23658 * util/i386/efi/grub-mkimage.c: Removed.
23659 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23660 (grub_target_to_host32): Likewise.
23661 (grub_target_to_host64): Likewise.
23662 (grub_host_to_target16): Likewise.
23663 (grub_host_to_target32): Likewise.
23664 (grub_host_to_target64): Likewise.
23665 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23666 (grub_target_to_host32): Likewise.
23667 (grub_target_to_host64): Likewise.
23668 (grub_host_to_target16): Likewise.
23669 (grub_host_to_target32): Likewise.
23670 (grub_host_to_target64): Likewise.
23671
f4fc97d0
BC
236722010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23673
23674 Source tree is reorganized for emu build.
23675
23676 * include/grub/util/console.h: Move from here...
23677 * include/grub/emu/console.h: ...to here.
23678 * include/grub/util/getroot.h: Move from here...
23679 * include/grub/emu/getroot.h: ...to here.
23680 * include/grub/util/hostdisk.h: Move from here...
23681 * include/grub/emu/hostdisk.h: ...to here.
23682 * util/console.c: Move from here...
23683 * kern/emu/console.c: ...to here.
23684 * util/getroot.c: Move from here...
23685 * kern/emu/getroot.c: ...to here.
23686 * util/grub-emu.c: Move from here...
23687 * kern/emu/main.c: ...to here.
23688 * util/hostdisk.c: Move from here...
23689 * kern/emu/hostdisk.c: ...to here.
23690 * util/hostfs.c: Move from here...
23691 * kern/emu/hostfs.c: ...to here.
23692 * util/mm.c: Move from here...
23693 * kern/emu/mm.c: ...to here.
23694 * util/pci.c: Move from here...
23695 * bus/emu/pci.c: ...to here.
23696 * util/sdl.c: Move from here...
23697 * video/emu/sdl.c: ...to here.
23698 * util/time.c: Move from here...
23699 * kern/emu/time.c: ...to here.
23700 * util/usb.c: Move from here...
23701 * bus/usb/emu/usb.c: ...to here.
23702
23703 * include/grub/emu/misc.h: New header for grub-emu functions.
23704 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23705
23706 * conf/any-emu.rmk: Rule updates for above renames.
23707 * conf/common.rmk: Likewise.
23708 * conf/i386-pc.rmk: Likewise.
23709 * conf/i386-qemu.rmk: Likewise.
23710 * conf/mips.rmk: Likewise.
23711 * conf/sparc64-ieee1275.rmk: Likewise.
23712 * conf/x86-efi.rmk: Likewise.
23713
23714 * disk/lvm.h: #include updates for above renames.
23715 * util/grub-mkrelpath.c: Likewise.
23716 * util/grub-probe.c: Likewise.
23717 * util/i386/pc/grub-setup.c: Likewise.
23718 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23719 * kern/emu/console.c: Likewise.
23720 * kern/emu/getroot.c: Likewise.
23721 * kern/emu/hostdisk.c: Likewise.
23722 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23723
23724 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23725 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23726 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23727 * util/misc.c: Remove grub-emu functions.
23728
cced9145
VS
237292010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 Fix gfxmenu crash.
23732 Reported by: Thorsten Grützmacher.
23733
23734 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23735 timeout hook.
23736 (circprog_set_property): Register and unregister timeout hook.
23737 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23738 (label_destroy): Free template. and unregister hook.
23739 (label_set_state): New function.
23740 (label_set_property): Handle templates and hooks.
23741 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23742 timeout hook.
23743 (progress_bar_set_property): Register and unregister timeout hook.
23744 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23745 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23746 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23747 (update_timeout_visit): Removed.
23748 (update_timeouts): New function.
23749 (redraw_timeouts): Likewise.
23750 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23751 (grub_gfxmenu_clear_timeout): Likewise.
23752 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23753 (grub_gfxmenu_timeout_notify): Likewise.
23754 (grub_gfxmenu_timeout_notifications): New external variable.
23755 (grub_gfxmenu_timeout_register): New function.
23756 (grub_gfxmenu_timeout_unregister): Likewise.
23757
c6e5caab
VS
237582010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 Transform (broken) vga terminal into (working) vga video driver.
23761
23762 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23763 video/i386/pc/vga.c.
23764 * include/grub/video.h (grub_video_driver_id):
23765 Add GRUB_VIDEO_DRIVER_VGA.
23766 * term/i386/pc/vga.c: Renamed to ...
23767 * video/i386/pc/vga.c: ...this
23768 (DEBUG_VGA): Removed.
23769 (CHAR_WIDTH): Likewise.
23770 (CHAR_HEIGHT): Likewise.
23771 (TEXT_WIDTH): Likewise.
23772 (TEXT_HEIGHT): Likewise.
23773 (DEFAULT_FG_COLOR): Likewise.
23774 (DEFAULT_BG_COLOR): Likewise.
23775 (colored_char): Likewise.
23776 (xpos): Likewise.
23777 (ypos): Likewise.
23778 (cursor_state): Likewise.
23779 (fg_color): Likewise.
23780 (bg_color): Likewise.
23781 (text_buf): Likewise.
23782 (page): Likewise.
23783 (font): Likewise.
23784 (framebuffer): New variable.
23785 (set_read_map): Disabled.
23786 (setup): New variable.
23787 (is_target): Likewise.
23788 (grub_vga_mod_init): Likewise.
23789 (grub_vga_mod_fini): Likewise.
23790 (check_vga_mem): Likewise.
23791 (write_char): Likewise.
23792 (write_cursor): Likewise.
23793 (scroll_up): Likewise.
23794 (grub_vga_putchar): Likewise.
23795 (grub_vga_getcharwidth): Likewise.
23796 (grub_vga_getwh): Likewise.
23797 (grub_vga_getxy): Likewise.
23798 (grub_vga_gotoxy): Likewise.
23799 (grub_vga_cls): Likewise.
23800 (grub_vga_setcolorstate): Likewise.
23801 (grub_vga_setcursor): Likewise.
23802 (grub_video_vga_init): New function.
23803 (grub_video_vga_setup): Likewise.
23804 (grub_video_vga_fini): Likewise.
23805 (update_target): Likewise.
23806 (grub_video_vga_blit_bitmap): Likewise.
23807 (grub_video_vga_blit_render_target): Likewise.
23808 (grub_video_vga_set_active_render_target): Likewise.
23809 (grub_video_vga_get_active_render_target): Likewise.
23810 (grub_video_vga_swap_buffers): Likewise.
23811 (grub_video_vga_set_palette): Likewise.
23812 (grub_video_vga_get_info_and_fini): Likewise.
23813 (grub_vga_term): Removed.
23814 (grub_video_vga_adapter): New variable.
23815 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23816 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23817
2bf61a98
VS
238182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * video/readers/jpeg.c: Indented.
23821
09ddcd11
VS
238222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 Various jpeg cleanups.
23825
23826 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23827 (grub_jpeg_decode_quan_table): Use sizeof.
23828 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23829
e5507505
PH
238302010-05-05 Peter Hurley <No e-mail available> (tiny change)
23831
23832 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23833 tables. Ignore non-last ac bit.
23834 (grub_jpeg_decode_quan_table): Likewise.
23835
7e720a9b
VS
238362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23839 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23840 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23841 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23842 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23843 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23844
a7fc080b
VS
238452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23846
23847 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23848 error.
23849
2bf6012d
VS
238502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23851
23852 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23853
265d68cd
VS
238542010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23855
23856 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23857 condition.
23858
238592010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23860
23861 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23862 part.
23863
265d68cd 238642010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23865
23866 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23867 pointers.
23868
265d68cd 238692010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23870
23871 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23872
d1b61374
CF
238732010-05-01 Christian Franke <franke@computer.org>
23874
23875 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23876 Remove broken Cygwin path conversion.
23877 * util/misc.c: [__CYGWIN__] Add include and define.
23878 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23879 for Cygwin 1.7.
23880 (make_system_path_relative_to_its_root): Simplify loop, replace early
23881 return by break.
23882 [__CYGWIN__] Add conversion to win32 path.
23883 Include "/" case in trailing slash removal.
23884
3558c6e9
VS
238852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23886
23887 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23888 Reported by: Seth Goldberg
23889
f5f3ff93
VS
238902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 * commands/help.c (grub_cmd_help): Fix a typo.
23893 Reported by: Seth Goldberg
23894
d8b5cd40
VS
238952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23898 name and add N_.
23899 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23900 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23901 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23902 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23903 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23904 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23905 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23906 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23907 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23908 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23909 * normal/context.c (GRUB_MOD_INIT): Likewise.
23910 * normal/main.c (GRUB_MOD_INIT): Likewise.
23911 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23912 * term/serial.c (GRUB_MOD_INIT): Likewise.
23913 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23914
88c14915
VS
239152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23918 extra == 0.
23919
165134bc
VS
239202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * commands/iorw.c: New file.
23923 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23924 (iorw_mod_SOURCES): New variable.
23925 (iorw_mod_CFLAGS): Likewise.
23926 (iorw_mod_LDFLAGS): Likewise.
23927
c5ac9b32
VS
239282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23929
23930 Hotkey support
23931
23932 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23933 * normal/main.c (hotkey_aliases): New variable.
23934 (grub_normal_add_menu_entry): Parse "--hotkey".
23935 * normal/menu_text.c (run_menu): Handle hotkeys.
23936
ce60689c
VS
239372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 * kern/i386/coreboot/init.c (grub_machine_init): Call
23940 grub_machine_mmap_init on qemu.
23941
0359d006
VS
239422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * boot/i386/qemu/boot.S: Add a missing .code16.
23945
7819a456
VS
239462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 Use LBIO on coreboot.
23949
23950 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23951 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23952 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23953 New declaration.
23954 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23955 grub_machine_mmap_init on coreboot.
23956 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23957 GRUB_LINUXBIOS_MEMBER_LINK.
23958 (grub_machine_mmap_iterate): Fix declaration.
23959 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23960
7210dca9
VS
239612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23962
23963 Split coreboot and multiboot ports.
23964
23965 * conf/i386-multiboot.rmk: New file.
23966 * configure.ac: Add multiboot port.
23967 * include/grub/i386/multiboot/boot.h: New file.
23968 * include/grub/i386/multiboot/console.h: Likewise.
23969 * include/grub/i386/multiboot/init.h: Likewise.
23970 * include/grub/i386/multiboot/kernel.h: Likewise.
23971 * include/grub/i386/multiboot/loader.h: Likewise.
23972 * include/grub/i386/multiboot/memory.h: Likewise.
23973 * include/grub/i386/multiboot/serial.h: Likewise.
23974 * include/grub/i386/multiboot/time.h: Likewise.
23975 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23976 * loader/multiboot.c: Likewise.
23977 * loader/multiboot_mbi2.c: Likewise.
23978 * util/grub-mkrescue.in: Generate multiboot rescue.
23979
6f8aaf68
VS
239802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23981
3080f7a7
VS
23982 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23983
239842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23987
23988 * commands/terminal.c (abstract_terminal): New struct.
23989 (handle_command): New function. Based on grub_cmd_terminal_input.
23990 (grub_cmd_terminal_input): Use handle_command.
23991 (grub_cmd_terminal_output): Use handle_command.
23992
a8ebb841
BC
239932010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23994
23995 Fix comment handling.
23996
23997 * tests/grub_script_comments.in: New testcase.
23998 * conf/tests.rmk: Rules for new testcase.
23999 * script/yylex.l: Updated flex rules.
24000
bb06ba08
ST
240012010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24002
24003 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24004 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24005 if argc is 1.
bb06ba08 24006
cc9d2425
VS
240072010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24010 autogen issues.
24011
460d8402
CF
240122010-04-26 Christian Franke <franke@computer.org>
24013
24014 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24015 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24016 (grub_get_prefix): Remove function.
24017 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24018 make_system_path_relative_to_its_root ().
24019 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24020
553c01f9
CF
240212010-04-24 Christian Franke <franke@computer.org>
24022
24023 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24024 (kernel_img_LDFLAGS): Remove -static-libgcc.
24025
2aec1692
CF
240262010-04-24 Christian Franke <franke@computer.org>
24027
24028 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24029 and CHECK_END_SYMBOL if grub-emu is built.
24030 Unset TARGET_OBJ2ELF if grub-emu is built
24031 without module support.
24032
f67dc308
JS
240332010-04-24 Jiro SEKIBA <jir@unicus.jp>
24034
24035 Nilfs2 support.
24036
24037 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24038 (grub_fstest_SOURCES): Likewise.
24039 (pkglib_MODULES): Add nilfs2.mod.
24040 (nilfs2_mod_SOURCES): New variable.
24041 (nilfs2_mod_CFLAGS): Likewise.
24042 (nilfs2_mod_LDFLAGS): Likewise.
24043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24044 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24045 * fs/nilfs2.c: New file.
24046
4ba8d354
VS
240472010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24050 is not supported.
24051
0d2c20c6
GS
240522010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24053
24054 Add grub-mkconfig support for NetBSD.
24055
24056 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24057 * util/grub-mkconfig.in: export new NetBSD specific variables.
24058 * po/POTFILES-shell: added 10_netbsd.in.
24059 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24060
bc4a2d83
BC
240612010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24062
24063 Fix emu build with grub-emu-pci and grub-emu-modules.
24064
24065 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24066 functions.
24067 * include/grub/libpciaccess.h: New file.
24068 * conf/any-emu.rmk: Update kernel headers for emu build.
24069
f48c87aa
VS
240702010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24073
18959385
VS
240742010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24075
24076 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24077
0037de3f
VS
240782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24081 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24082 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24083 util/ieee1275/ofpath.c.
24084 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24085 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24086 * include/grub/sparc64/ieee1275/boot.h
24087 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24088 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24089 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24090 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24091 const char *.
24092 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24093 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24094 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24095 install.
24096
38e55e90
GS
240972010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24098
24099 * util/grub-mkconfig.in: Corrected two == equality tests.
24100 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24101 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24102 expect a number appended to it.
24103 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24104 expects a number appended to it.
24105
a9e6ff28
VS
241062010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24107
24108 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24109
0b830b8f
VS
241102010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 * util/hostdisk.c (make_device_name): Change to new partition naming.
24113
0973daeb
VS
241142010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24115
24116 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24117
460d8402 241182010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24119
24120 * Makefile.in: Add missing localedir setting.
24121
0b456309
CW
241222010-04-14 Colin Watson <cjwatson@ubuntu.com>
24123
24124 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24125 mistake in r2156. Noticed by Anthony Fok.
24126
24127 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24128 @localedir@.
24129 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24130
08f46d62
BC
241312010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24132
24133 Fix a spurious, uninitialized variable warning.
24134
24135 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24136 Initialize variable, shdr.
24137 (grub_freebsd_load_elfmodule): Likewise.
24138 (grub_freebsd_load_elf_meta): Likewise.
24139
8c4a72d4
BC
241402010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24141
24142 Fix for escaped dollar in double quoted strings.
24143
24144 * script/yylex.l: Updated flex rules.
24145 * conf/tests.rmk: Rule for new testcase.
24146 * tests/grub_script_dollar.in: New testcase.
24147
ce44826e
CPE
241482010-04-13 Carles Pina i Estany <carles@pina.cat>
241492010-04-13 Colin Watson <cjwatson@ubuntu.com>
24150
24151 Enclose all translated strings in grub.cfg in single quotes, and
24152 escape them appropriately (Ubuntu bug #552921).
24153
24154 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24155 * util/grub.d/10_hurd.in: Use it.
24156 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24157 * util/grub.d/10_linux.in (linux_entry): Likewise.
24158
4b0cd8f8
VS
241592010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 Fix cygwin compilation.
24162
24163 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24164 * include/grub/misc.h (__register_frame_info)
24165 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24166 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24167 * kern/misc.c (__register_frame_info)
24168 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24169 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24170
01fcf061
VS
241712010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24174
5d04b11e
VS
241752010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 Unify libgcc processing.
24178
24179 * Makefile.in (kernel_img_LDFLAGS): New variable.
24180 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24181 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24182 overwriting.
24183 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24184 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24185 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24186 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24187 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24188 overwriting. Remove -lgcc and -static-libgcc
24189 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24190 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24191 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24192 (kernel_img_LDFLAGS): Append instead of overwriting.
24193 Remove -lgcc and -static-libgcc
24194 * conf/sparc64-ieee1275.rmk: Likewise.
24195 * include/grub/powerpc/libgcc.h: Move to ...
24196 * include/grub/libgcc.h: .. this.
24197 * include/grub/libgcc.h: Don't export most of the function on x86.
24198 (__bswapsi2): New export.
24199 (__bswapdi2): Likewise.
24200 * include/grub/mips/libgcc.h: Removed.
24201 * include/grub/sparc64/libgcc.h: Likewise.
24202
b7f3ac29
VS
242032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24206 disk_info_msg (conflicts with gettexting into languages with cases).
24207
2c7031b1
GS
242082010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24209
24210 Add grub-probe support for NetBSD.
24211
24212 * util/getroot.c (find_root_device): Convert block device to
24213 character device on NetBSD.
24214 * util/probe.c (probe): Require character device on NetBSD.
24215 * util/hostdisk.c: NetBSD specific headers.
24216 (configure_device_driver): new function to tune device driver
24217 parameters (currently only for NetBSD floppy driver).
24218 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24219 via disklabel ioctl).
24220 (open_device): call configure_device_driver on NetBSD.
24221 (convert_system_partition_to_system_disk): NetBSD specific code.
24222 (device_is_wholedisk): Likewise.
24223 (grub_util_biosdisk_get_grub_dev): Likewise.
24224 (make_device_name): Fixed a typo in bsd_part_str.
24225 * configure.ac: check for opendisk() and getrawpartition() on
24226 NetBSD and set LIBUTIL.
24227 * Makefile.in: add LIBUTIL to LIBS.
24228
f516290c
BC
242292010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24230
24231 Documentation fix.
24232
24233 * util/grub-script-check.c: Better help message.
24234
d8dcc0df
BC
242352010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24236
24237 Fix FreeBSD build.
24238
24239 * configure.ac: Flex version check.
24240 * conf/common.rmk: Add -Wno-error to sh.mod.
24241 * script/yylex.l: Remove all #pragma.
24242
6734334a
VS
242432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24246 prototype.
24247 Reported by: Seth Goldberg.
24248
daea6abd
VS
242492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24252 Rename "module" to "module2".
24253 Reported by: Seth Goldberg.
24254
f2fd9d2b
VS
242552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24256
24257 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24258 EXPORT_FUNC.
24259 Reported by: Seth Goldberg.
24260
be124579
VS
242612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 * lib/posix_wrap/locale.h: Add missing file.
24264 Reported by: Seth Goldberg.
24265
ef5da797
VS
242662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 grub-emu module load support.
24269
24270 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24271 NO_DYNAMIC_MODULES switched to this.
24272 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24273 (CFLAGS): Likewise.
24274 * conf/any-emu.rmk: Generate symlist.
24275 (kernel_img_HEADERS): Add util/datetime.h.
24276 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24277 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24278 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24279 kern/$(target_cpu)/cache.S.
24280 * configure.ac (grub-emu-modules): New option.
24281 * genmk.rb: Handle multiple source lists.
24282 * include/grub/sdl.h: New file.
24283 * include/grub/libusb.h: Likewise.
24284 * util/grub-emu.c (main): Hanle (host) root.
24285 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24286 GRUB_ERR_UNKNOWN_DEVICE.
24287 * util/misc.c: Move mm functions to ...
24288 * util/mm.c: ... here. All users updated.
24289
47822096
VS
242902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24293 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24294 missing files.
24295 (maintainer-clean): Remove libgcrypt-grub.
24296
5d7e7445
VS
242972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24298
24299 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24300
25f4e252
EC
243012010-04-09 EFI Coder <eficoder@hotmail.com>
24302
24303 * normal/menu_text.c (print_message): Clean up the message and show
24304 the Fn information when on EFI
24305 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24306
027de555
VS
243072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24310 All users updated.
24311 * normal/crypto.c (read_crypto_list): Likewise.
24312 * normal/dyncmd.c (read_command_list): Likewise.
24313 * normal/term.c (read_terminal_list): Likewise.
24314 * normal/main.c (read_lists): Use explicit prefix.
24315 (read_lists_hook): Use read_lists.
24316 (grub_normal_execute): Likewise.
24317
47779711
VS
243182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24319
24320 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24321 Reported by: Thomas Schmitt.
24322 Add -no-emul-boot to grub-mkisofs parameters.
24323
1118c32e
VS
243242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 * font/font.c: Indented.
24327
7d652447
BC
243282010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24329
24330 Elif support to GRUB script (by Deepak Vankadaru).
24331
24332 * tests/grub_script_if.in: New testcase.
24333 * conf/tests.rmk: Rule for new testcase.
24334 * script/parser.y: Grammar rules for elif.
24335
34bb22df
BC
243362010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24337
24338 While and until loops support to GRUB script.
24339
24340 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24341 (grub_script_create_cmdwhile): New function prototype.
24342 (grub_script_execute_cmdwhile): New function prototype.
24343 * script/execute.c (grub_script_execute_cmdwhile): New function.
24344 * script/parser.y (command): New commands.
24345 (whilecmd): New grammar rule.
24346 (untilcmd): New grammar rule.
24347 * script/script.c (grub_script_create_cmdwhile): New function.
24348 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24349 function.
24350
24351 * tests/grub_script_while1.in: New testcase.
24352 * conf/tests.rmk: Rule for new testcase.
24353
e215d8e0
VS
243542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24357 as *.jpg.
24358
d7c43ba1
MV
243592010-04-09 Mario Vazquez <mariovazq@gmail.com>
24360
24361 GRUB_BACKGROUND support.
24362
24363 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24364 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24365
d64795c0
VS
243662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24369 Idea by: Mario Vazquez
d64795c0
VS
24370
24371 * util/grub.d/00_header.in: Load pf2 and image modules.
24372
f267f83a
VS
243732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24374
24375 grub-mkconfig multiple terminal support.
24376
24377 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24378 * util/grub.d/00_header.in: Likewise.
24379
b7841ceb
VS
243802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24383 we use cd $(srcdir).
24384
df60998c
CW
243852010-04-08 Colin Watson <cjwatson@ubuntu.com>
24386
24387 * util/grub.d/10_linux.in: Only use the first word of
24388 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24389 spaces in GRUB_DISTRIBUTOR.
24390 * util/grub.d/10_kfreebsd.in: Likewise.
24391 * util/grub.d/10_hurd.in: Likewise.
24392
fa09c82e
BC
243932010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24394
14e18ae3 24395 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24396
24397 * tests/util/grub-shell.in: Remove -serial stdio option.
24398
daf892b3
BC
243992010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 POSIX header file wrappers.
24402
24403 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24404 equivalents.
24405 * lib/posix_wrap/ctype.h: Likewise.
24406 * lib/posix_wrap/errno.h: Likewise.
24407 * lib/posix_wrap/langinfo.h: Likewise.
24408 * lib/posix_wrap/limits.h: Likewise.
24409 * lib/posix_wrap/localcharset.h: Likewise.
24410 * lib/posix_wrap/stdint.h: Likewise.
24411 * lib/posix_wrap/stdio.h: Likewise.
24412 * lib/posix_wrap/stdlib.h: Likewise.
24413 * lib/posix_wrap/string.h: Likewise.
24414 * lib/posix_wrap/sys/types.h: Likewise.
24415 * lib/posix_wrap/unistd.h: Likewise.
24416 * lib/posix_wrap/wchar.h: Likewise.
24417 * lib/posix_wrap/wctype.h: Likewise.
24418 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24419 (grub_script.yy.h): Likewise.
24420 * script/yylex.l: Remove POSIX emulation #defines.
24421 * Makefile.in (POSIX_CFLAGS): New variable.
24422 (GNULIB_UTIL_CFLAGS): Likewise.
24423
24424 Regexp support.
24425
24426 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24427 (regexp_mod_SOURCES): New variable.
24428 (regexp_mod_CFLAGS): Likewise.
24429 (regexp_mod_LDFLAGS): Likewise.
24430 * commands/regexp.c: New file.
24431 * gnulib/regcomp.c: New file. Imported from gnulib.
24432 * gnulib/regex.c: Likewise.
24433 * gnulib/regex_internal.c: Likewise.
24434 * gnulib/regex_internal.h: Likewise.
24435 * gnulib/regexec.c: Likewise.
24436 * gnulib/regex.h: Likewise.
24437
974ac4f7
VS
244382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24441 unsupported video mode types.
24442
2622c3ff
VS
244432010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24444
24445 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24446
064cb524
VS
244472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24448
24449 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24450 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24451
a8c3b552
VS
244522010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 Remove unused grub_vga_get_font.
24455
24456 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24457 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24458
187bbe3d
GS
244592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24460
24461 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24462 * include/grub/misc.h: Likewise.
24463
b9396631
GS
244642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24465
24466 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24467 for which failure is fatal.
24468
50479feb
GS
244692010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24470
24471 * util/grub-install.in: Use mkdir -p to create grub directory.
24472 * util/i386/efi/grub-install.in: Likewise.
24473 * util/ieee1275/grub-install.in: Likewise.
24474
b1654fdf
GS
244752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24476
24477 * Makefile.in (LEX): new variable.
24478
bd5a6415
GS
244792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24480
24481 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24482 `=' and added double quotes on operands of this equality test.
24483
3db3a82b
VS
244842010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 * Makefile.in (uninstall): Remove a leftover debug echo.
24487 Reported by: Grégoire Sutre
24488
38023412
VS
244892010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 MIPS multiboot2 support.
24492
24493 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24494 (multiboot2_mod_SOURCES): New variable.
24495 (multiboot2_mod_CFLAGS): Likewise.
24496 (multiboot2_mod_LDFLAGS): Likewise.
24497 (multiboot2_mod_ASFLAGS): Likewise.
24498 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24499 definition.
24500 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24501 (MULTIBOOT_MBI_REGISTER): Likewise.
24502 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24503 (MULTIBOOT_ELF32_MACHINE): Likewise.
24504 (MULTIBOOT_ELF64_MACHINE): Likewise.
24505 * include/grub/mips/multiboot.h: New file.
24506 * include/grub/video.h (grub_video_driver_id): New type
24507 GRUB_VIDEO_DRIVER_SM712.
24508 (grub_video_get_info_and_fini): Export.
24509 (grub_video_get_palette): Likewise.
24510 (grub_video_get_driver_id): Likewise.
24511 * include/multiboot2.h: Resynced with spec.
24512 * loader/i386/multiboot.c: Moved from here ...
24513 * loader/multiboot.c: ... here. All users updated.
24514 (grub_multiboot_boot): Use platform-specific macros.
24515 * loader/i386/multiboot_elfxx.c: Moved from here ...
24516 * loader/multiboot_elfxx.c: ... here. All users updated.
24517 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24518 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24519 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24520
47674667
VS
245212010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24522
24523 Import gnulib argp module.
24524
24525 * gnulib/argp-ba.c: New file.
24526 * gnulib/argp-eexst.c: Likewise.
24527 * gnulib/argp-fmtstream.c: Likewise.
24528 * gnulib/argp-fmtstream.h: Likewise.
24529 * gnulib/argp-fs-xinl.c: Likewise.
24530 * gnulib/argp-help.c: Likewise.
24531 * gnulib/argp-namefrob.h: Likewise.
24532 * gnulib/argp-parse.c: Likewise.
24533 * gnulib/argp-pin.c: Likewise.
24534 * gnulib/argp-pv.c: Likewise.
24535 * gnulib/argp-pvh.c: Likewise.
24536 * gnulib/argp-version-etc.c: Likewise.
24537 * gnulib/argp-version-etc.h: Likewise.
24538 * gnulib/argp-xinl.c: Likewise.
24539 * gnulib/argp.h: Likewise.
24540
495442ed
VS
245412010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24542
24543 * kern/device.c (grub_device_iterate): Clear errors after failed
24544 opening device.
24545
f9fd65df
VS
245462010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24549 returned by firmware.
24550
af09641e
VS
245512010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24554 compilation on coreboot and qemu
24555
016883a5
VS
245562010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 * include/multiboot2.h: Resync with spec.
24559
f97e1f7d
VS
245602010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24561
24562 Multiboot2 tag support
24563
24564 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24565 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24566 Remove loader/multiboot_loader.c.
24567 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24568 (grub_multiboot2_real_boot): Likewise.
24569 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24570 (grub_get_multiboot_mmap_count): New proto.
24571 (grub_fill_multiboot_mmap): Likewise.
24572 (grub_multiboot_set_video_mode): Likewise.
24573 (grub_multiboot_set_console): Likewise.
24574 (grub_multiboot_load): Likewise.
24575 (grub_multiboot_load_elf): Likewise.
24576 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24577 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24578 * include/multiboot.h: Resynced with specification.
24579 * include/multiboot2.h: Resynced with specification.
24580 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24581 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24582 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24583 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24584 users updated.
24585 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24586 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24587 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24588 Removed.
24589 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24590 Moved from here...
24591 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24592 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24593 Moved from here...
24594 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24595 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24596 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24597 All users updated.
24598 * loader/i386/multiboot_mbi2.c: New file.
24599
3506b90b
VS
246002010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24601
24602 Resync with gnulib.
24603
24604 * Makefile.in (GNULIB_CFLAGS): New variable.
24605 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24606 (grub_script_check_CFLAGS): New variable.
24607 * gnulib/alloca.h: Resync with gnulib.
24608 * gnulib/error.c: Likewise.
24609 * gnulib/error.h: Likewise.
24610 * gnulib/fnmatch.c: Likewise.
24611 * gnulib/fnmatch_loop.c: Likewise.
24612 * gnulib/getdelim.c: Likewise.
24613 * gnulib/getline.c: Likewise.
24614 * gnulib/getopt.c: Likewise.
24615 * gnulib/getopt1.c: Likewise.
24616 * gnulib/getopt_int.h: Likewise.
24617 * gnulib/gettext.h: Likewise.
24618 * gnulib/progname.c: Likewise.
24619 * gnulib/progname.h: Likewise.
24620
394a3120
GS
246212010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24622
24623 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24624 which is the case with --disabled-nls.
24625
24626 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24627 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24628 * util/misc.c: Likewise.
24629 * util/mkisofs/mkisofs.c: Likewise.
24630 * util/mkisofs/mkisofs.h: Likewise.
24631
969d1c78
VS
246322010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 Simplify Apple CC support.
24635
24636 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24637 Add 0 byte at the end not to have a symbol with empty target.
24638 * mmap/i386/pc/mmap_helper.S: Likewise.
24639 * genmk.rb: Ignore errors 2030 and 2050.
24640 * kern/i386/pc/startup.S: Use LOCAL when possible.
24641
8d2977bb
BC
246422010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24643
24644 Testcase and the fix for final semicolon on cmdline.
24645
24646 * tests/grub_script_final_semicolon.in: New testcase.
24647 * conf/tests.rmk: Rules for the new testcase.
24648 * script/parser.y: Grammar fix.
24649
a7bd6915
BC
246502010-03-26 BVK Chaitanya <bvk@localhost>
24651
24652 Blank lines testcase for GRUB script.
24653
24654 * tests/grub_script_blanklines.in: New testcase.
24655 * conf/tests.rmk: Rules for the new testcase.
24656
e4ff6628
VS
246572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 Don't use __FILE__.
24660
24661 * genmk.rb: Add -DGRUB_FILE to all C targets.
24662 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24663 * include/grub/list.h: Likewise.
24664 * include/grub/misc.h: Likewise.
24665 * include/grub/mm.h: Likewise.
24666 * include/grub/test.h: Likewise.
24667 * kern/mm.c: Likewise.
24668 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24669
6a5cf6b6
VS
246702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24671
24672 Sunpc partitions support.
24673
24674 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24675 (grub_fstest_SOURCES): Likewise.
24676 (pkglib_MODULES): Add part_sunpc.mod.
24677 (part_sunpc_mod_SOURCES): New variable.
24678 (part_sunpc_mod_CFLAGS): Likewise.
24679 (part_sunpc_mod_LDFLAGS): Likewise.
24680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24681 * partmap/sunpc.c: New file.
24682
746d9045
BC
246832010-03-26 BVK Chaitanya <bvk@localhost>
24684
24685 For loop support to GRUB script.
24686
24687 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24688 (grub_script_create_cmdfor): New function prototype.
24689 (grub_script_execute_cmdfor): New function prototype.
24690 * script/execute.c (grub_script_execute_cmdfor): New function.
24691 * script/parser.y (command): New for command.
24692 (forcmd): New grammar rule.
24693 * script/script.c (grub_script_create_cmdfor): New function.
24694 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24695 function.
24696 * tests/grub_script_for1.in: New testcase.
24697 * conf/tests.rmk: Rules for new testcase.
24698
18486b18
VS
246992010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 Nested partitions
24702
24703 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24704 'partition' is NULL, grub_partition_get_start already does that.
24705 * commands/loadenv.c (check_blocklists): Likewise.
24706 (write_blocklists): Likewise.
24707 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24708 (grub_fstest_SOURCES): Likewise.
24709 (pkglib_MODULES): Add part_bsd.mod.
24710 (part_bsd_mod_SOURCES): New variable.
24711 (part_bsd_mod_CFLAGS): Likewise.
24712 (part_bsd_mod_LDFLAGS): Likewise.
24713 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24714 (grub_emu_SOURCES): Likewise.
24715 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24716 * include/grub/bsdlabel.h: New file.
24717 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24718 'get_name'.
24719 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24720 (grub_partition_map_list): New variable.
24721 (grub_partition_map_register): Inline.
24722 (grub_partition_map_unregister): Likewise.
24723 (FOR_PARTITION_MAPS): New macro.
24724 (grub_partition_map_iterate): Removed.
24725 (grub_partition_get_start): Handle nested partitions.
24726 * include/grub/msdos_partition.h: Remove bsd-related entries.
24727 (grub_pc_partition): Remove.
24728 * kern/disk.c (grub_disk_close): Free partition data.
24729 (grub_disk_adjust_range): Handle nested partitions.
24730 * kern/partition.c (grub_partition_map_probe): New function.
24731 (grub_partition_probe): Parse name to number, handle subpartitions.
24732 (get_partmap): New function.
24733 (grub_partition_iterate): Handle subpartitions.
24734 (grub_partition_get_name): Likewise.
24735 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24736 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24737 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24738 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24739 Set 'number'.
24740 (acorn_partition_map_probe): Remove.
24741 (acorn_partition_map_get_name): Likewise.
24742 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24743 Set 'number'.
24744 Set 'index' to 0 since there can be only one partition entry per sector.
24745 (amiga_partition_map_probe): Remove.
24746 (amiga_partition_map_get_name): Likewise.
24747 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24748 Set 'number'.
24749 Set 'offset' and 'index' to real positions of partitions.
24750 (apple_partition_map_probe): Remove.
24751 (apple_partition_map_get_name): Likewise.
24752 * partmap/bsdlabel.c: New file.
24753 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24754 Set 'number'.
24755 Allocate 'data' so it can be correctly freed.
24756 Set 'index' to offset inside sector.
24757 (gpt_partition_map_probe): Remove.
24758 (gpt_partition_map_get_name): Likewise.
24759 * partmap/msdos.c (grub_partition_parse): Remove.
24760 (pc_partition_map_iterate): Don't force raw access.
24761 Set 'number'.
24762 Make 'ext_offset' a local variable.
24763 (pc_partition_map_probe): Remove.
24764 (pc_partition_map_get_name): Remove.
24765 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24766 Set 'number'.
24767 (sun_partition_map_probe): Remove.
24768 (sun_partition_map_get_name): Likewise.
24769 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24770 (grub_pcpart_type): Likewise.
24771 * util/hostdisk.c (open_device): Handle new numbering scheme.
24772 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24773 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24774 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24775 * util/grub-install.in: Insert all subpartition modules.
24776 * util/ieee1275/grub-install.in: Likewise.
24777
a3940f88
AG
247782010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24779
24780 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24781 grammar.
24782
21b99926 247832010-03-24 Colin Watson <cjwatson@ubuntu.com>
24784
24785 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24786
bed1d352
CW
247872010-03-21 Colin Watson <cjwatson@ubuntu.com>
24788
24789 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24790 match where 'make install' puts them.
24791 * util/i386/efi/grub-install.in: Likewise.
24792
c9f58427
CW
247932010-03-19 Colin Watson <cjwatson@ubuntu.com>
24794
24795 * .bzrignore: Add gentrigtables, grub-script-check,
24796 grub_script_check_init.c, grub_script_check_init.h, and
24797 trigtables.c.
24798
f84afb27
VS
247992010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 * kern/parser.c: Indented.
24802
ed0e3d30
VS
248032010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24806
0ea81d98
VS
248072010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24810 alpha_mask_size == 0 case.
24811
0cdc2a09
BC
248122010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24813
24814 GRUB shell lexer and parser improvements.
24815
24816 * conf/any-emu.rmk: Build rule updates.
24817 * conf/common.rmk: Likewise.
24818 * conf/i386-coreboot.rmk: Likewise.
24819 * conf/i386-efi.rmk: Likewise.
24820 * conf/i386-ieee1275.rmk: Likewise.
24821 * conf/i386-pc.rmk: Likewise.
24822 * conf/powerpc-ieee1275.rmk: Likewise.
24823 * conf/x86_64-efi.rmk: Likewise.
24824
24825 * configure.ac: Configure check for flex.
24826
24827 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24828 types.
24829 (grub_lexer_param): Struct member updates.
24830 (grub_parser_param): Likewise.
24831 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24832 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24833 (grub_script_lexer_init): Prototype update.
24834 (grub_script_lexer_record_start): Likewise.
24835 (grub_script_lexer_record_stop): Likewise.
24836 (grub_script_lexer_yywrap): New function prototype.
24837 (grub_script_lexer_fini): Likewise.
24838 (grub_script_execute_argument_to_string): Removed by...
24839 (grub_script_execute_argument_to_argv): ...better version.
24840
24841 * script/execute.c (ROUND_UPTO): New macro.
24842 (grub_script_execute_cmdline): Out of memory fixes.
24843 (grub_script_execute_menuentry): Likewise.
24844 (grub_script_execute_argument_to_string): Removed. Update all
24845 users by...
24846 (grub_script_execute_argument_to_argv): ...better version.
24847 * script/function.c (grub_script_function_create): Use
24848 grub_script_execute_argument_to_argv instead of
24849 grub_script_execute_argument_to_string.
24850
24851 * script/lexer.c (check_varstate): Removed.
24852 (check_textstate): Removed.
24853 (grub_script_lexer_record_start): Likewise.
24854 (grub_script_lexer_record_stop): Likewise.
24855 (recordchar): Replaced with...
24856 (grub_script_lexer_record): ...new function.
24857 (nextchar): Removed.
24858 (grub_script_lexer_init): Rewritten.
24859 (grub_script_yylex): Rewritten.
24860 (append_newline): New function.
24861 (grub_script_lexer_yywrap): New function.
24862 (grub_script_lexer_fini): New function.
24863 (grub_script_yyerror): Sets error flag.
24864
24865 * script/yylex.l: New file.
24866 (grub_lexer_yyfree): Wrapper for flex yyffre.
24867 (grub_lexer_yyalloc): Likewise.
24868 (grub_lexer_yyrealloc): Likewise.
24869 * script/parser.y: Refactored.
24870
24871 * script/script.c (grub_script_arg_add): Out of memory fixes.
24872 (grub_script_add_arglist): Likewise.
24873 (grub_script_create_cmdline): Likewise.
24874 (grub_script_create_cmdmenu): Likewise.
24875 (grub_script_add_cmd): Likewise.
24876 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24877 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24878 unnecessary code.
24879
24880 * tests/grub_script_echo1.in: New testcase.
24881 * tests/grub_script_vars1.in: New testcase.
24882 * tests/grub_script_echo_keywords.in: New testcase.
24883
1d63a066
VS
248842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 Remove some redundancy in build system.
24887
24888 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24889 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24890 (TARGET_LDFLAGS): Add -nostdlib.
24891 (TARGET_IMG_LDFLAGS): Likewise.
24892 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24893 anything since mmap isn't available.
24894 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24895 Add util/time.c.
24896 (pkglib_MODULES): Remove reboot.mod.
24897 (reboot_mod_SOURCES): Removed.
24898 (reboot_mod_CFLAGS): Likewise.
24899 (reboot_mod_LDFLAGS): Likewise.
24900 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24901 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24902 (DEFSYMFILES): Add kernel_syms.lst.
24903 (kernel_img_HEADERS): Add common headers.
24904 (symlist.c): New target.
24905 (kernel_syms.lst): Likewise.
24906 (pkglib_MODULES): Add memdisk.mod.
24907 (memdisk_mod_SOURCES): New variable.
24908 (memdisk_mod_CFLAGS): Likewise.
24909 (memdisk_mod_LDFLAGS): Likewise.
24910 (pkglib_MODULES): Add reboot.mod.
24911 (reboot_mod_SOURCES): New variable.
24912 (reboot_mod_CFLAGS): Likewise.
24913 (reboot_mod_LDFLAGS): Likewise.
24914 (pkglib_MODULES): Add date.mod.
24915 (date_mod_SOURCES): New variable.
24916 (date_mod_CFLAGS): Likewise.
24917 (date_mod_LDFLAGS): Likewise.
24918 (pkglib_MODULES): Add datehook.mod.
24919 (datehook_mod_SOURCES): New variable.
24920 (datehook_mod_CFLAGS): Likewise.
24921 (datehook_mod_LDFLAGS): Likewise.
24922 (pkglib_MODULES): Add lsmmap.mod.
24923 (lsmmap_mod_SOURCES): New variable.
24924 (lsmmap_mod_CFLAGS): Likewise.
24925 (lsmmap_mod_LDFLAGS): Likewise.
24926 (pkglib_MODULES): Add boot.mod.
24927 (boot_mod_SOURCES): New variable.
24928 (boot_mod_CFLAGS): Likewise.
24929 (boot_mod_LDFLAGS): Likewise.
24930 * conf/i386-coreboot.rmk: Removed redundant parts.
24931 * conf/i386-ieee1275.rmk: Likewise.
24932 * conf/i386-pc.rmk: Likewise.
24933 * conf/mips-yeeloong.rmk: Likewise.
24934 * conf/mips.rmk: Likewise.
24935 * conf/powerpc-ieee1275.rmk: Likewise.
24936 * conf/sparc64-ieee1275.rmk: Likewise.
24937 * conf/x86_64-efi.rmk: Likewise.
24938 * conf/i386-coreboot.rmk: Moved qemu parts ..
24939 * conf/i386-qemu.rmk: ... here
24940 * conf/i386-efi.rmk: Moved common parts to...
24941 * conf/x86-efi.rmk: ... here.
24942 * conf/i386.rmk: Added modules common to all x86 variants.
24943 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24944 * disk/memdisk.c: Remove grub/machine/kernel.h.
24945 * gensymlist.sh.in: Include symbol.h.
24946 * hook/datehook.c: Correct module name.
24947 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24948 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24949 * include/grub/i386/efi/serial.h: New file.
24950 * include/grub/x86_64/efi/serial.h: Likewise.
24951 * util/time.c: Likewise.
24952 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24953
463ac55f
CK
249542010-03-14 Colin King <colin.king@ubuntu.com>
249552010-03-14 Colin Watson <cjwatson@ubuntu.com>
24956
24957 Shrink the pre-partition-table part of boot.img by eight bytes.
24958
24959 * boot/i386/pc/boot.S (ERR): New macro.
24960 (chs_mode): Use ERR.
24961 (geometry_error): Likewise.
24962 (hd_probe_error): Remove. This is only used once, so we wrwite
24963 it inline instead.
24964 (read_error): Instead of printing read_error_string, just set up
24965 %si and fall through to ...
24966 (error_message): ... this new function, also used by ERR.
24967
08e46ede
CW
249682010-03-14 Colin Watson <cjwatson@ubuntu.com>
24969
24970 Speed up consecutive hostdisk operations on the same device.
24971
24972 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24973 (grub_util_biosdisk_open): Initialise disk->data.
24974 (struct linux_partition_cache): New structure.
24975 (linux_find_partition): Cache partition start positions; these are
24976 expensive to compute on every read and write.
24977 (open_device): Cache open file descriptor in disk->data, so that we
24978 don't have to reopen it and flush the buffer cache for consecutive
24979 operations on the same device.
24980 (grub_util_biosdisk_close): New function.
24981 (grub_util_biosdisk_dev): Set `close' member.
24982
24983 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24984 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24985 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24986 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24987 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24988
4a6d2d06
VS
249892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Compile parts of grub-emu as modules.
24992
24993 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24994 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24995 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24996 (all-local): Add $(GRUB_EMU).
24997 (install-local): Install $(GRUB_EMU).
24998 (uninstall): Uninstall $(GRUB_EMU).
24999 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25000 * kern/dl.c: Likewise.
25001 * commands/sleep.c: Not include machine/time.h.
25002 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25003 (COMMON_CFLAGS): Likewise.
25004 (sbin_UTILITIES): Remove grub-emu.
25005 (grub_emu_SOURCES): Removed.
25006 (kernel_img_RELOCATABLE): New variable.
25007 (pkglib_PROGRAMS): Add kernel.img.
25008 (kernel_img_SOURCES): New variable
25009 (kernel_img_CFLAGS): Likewise.
25010 (kernel_img_LDFLAGS): Likewise.
25011 (TARGET_NO_STRIP): Likewise.
25012 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25013 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25014 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25015 (grub-emu): New target.
25016 (GRUB_EMU): New variable.
25017 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25018 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25019 * loader/xnu.c: Likewise.
25020 * include/grub/pci.h: Likewise.
25021 * genemuinit.sh: New file.
25022 * genemuinitheader.sh: Likewise.
25023 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25024 Support TARGET_NO_DYNAMIC_MODULES.
25025 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25026 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25027 * disk/loopback.c: Likewise.
25028 * font/font_cmd.c: Likewise.
25029 * partmap/acorn.c: Likewise.
25030 * partmap/amiga.c: Likewise.
25031 * partmap/apple.c: Likewise.
25032 * partmap/gpt.c: Likewise.
25033 * partmap/msdos.c: Likewise.
25034 * partmap/sun.c: Likewise.
25035 * parttool/msdospart.c: Likewise.
25036 * term/gfxterm.c: Likewise.
25037 * video/bitmap.c: Likewise.
25038 * video/readers/jpeg.c: Likewise.
25039 * video/readers/png.c: Likewise.
25040 * video/readers/tga.c: Likewise.
25041 * video/video.c: Likewise.
25042 * util/grub-emu.c (read_command_list): Removed.
25043 (main): Don't call util_init_nls.
25044 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25045 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25046
91fdd2ed
VS
250472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25048
25049 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25050 date.mod, datehook.mod.
25051 (datetime_mod_SOURCES): New variable.
25052 (datetime_mod_CFLAGS): Likewise.
25053 (datetime_mod_LDFLAGS): Likewise.
25054 (date_mod_SOURCES): Likewise.
25055 (date_mod_CFLAGS): Likewise.
25056 (date_mod_LDFLAGS): Likewise.
25057 (datehook_mod_SOURCES): Likewise.
25058 (datehook_mod_CFLAGS): Likewise.
25059 (datehook_mod_LDFLAGS): Likewise.
25060 * conf/sparc64-ieee1275.rmk: Likewise.
25061 * lib/ieee1275/datetime.c: New file.
25062
873ccae6
VS
250632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25066 (ieee1275_fb_mod_SOURCES): New variable.
25067 (ieee1275_fb_mod_CFLAGS): Likewise.
25068 (ieee1275_fb_mod_LDFLAGS): Likewise.
25069 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25070 New proto.
25071 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25072 (HEAP_MAX_ADDR): Likewise.
25073 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25074 type.
25075 Correct stop condition.
25076 (grub_ieee1275_devices_iterate): New function.
25077 * video/ieee1275.c: New file.
25078
601c97c0
VS
250792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25080
25081 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25082
25083 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25084 as scratch.
25085 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25086 SCRATCH_PAD_DISKBOOT as scratch.
25087 (bootit): Pass Openfirmware pointer in %o4.
25088 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25089 of 0x200000.
25090 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25091 with util/grub-mkrawimage.c.
25092 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25093 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25094 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25095 (grub_aout_load) [GRUB_UTIL]: Likewise.
25096 * include/grub/kernel.h (grub_modules_get_end): New proto.
25097 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25098 (SCRATCH_PAD_BOOT): New definition.
25099 (SCRATCH_PAD_DISKBOOT): Likewise.
25100 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25101 * include/grub/sparc64/ieee1275/ieee1275.h
25102 (grub_ieee1275_original_stack): New variable
25103 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25104 New definition
25105 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25106 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25107 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25108 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25109 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25110 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25111 (grub_platform_image_format_t): New type.
25112 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25113 * kern/main.c (grub_modules_get_end)
25114 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25115 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25116 (codestart): Switch stacks.
25117 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25118 variable.
25119 (grub_heap_init): Use grub_modules_get_end.
25120 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25121 stack.
25122 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25123 (main): Likewise.
25124 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25125
d68b491e
TG
251262010-03-14 Thorsten Glaser <tg@mirbsd.org>
25127
25128 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25129
4e02ed50
MK
251302010-03-08 Matt Kraai <kraai@ftbfs.org>
25131
25132 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25133 bug #559005).
25134
1f15fc1e
VS
251352010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25136
25137 * genmoddep.awk: Output all missing symbols and not only first.
25138
fce5d8ff
VS
251392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 * NEWS: Put the date of 1.98 release.
25142
d1e8a02f
VS
251432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25144
25145 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25146 ft2build.h.
25147
696fd607
VS
251482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25149
25150 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25151 completition in the middle of string.
25152
33e2e6f3
VS
251532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 * util/grub-mkrescue.in: Use mktemp with explicit template.
25156
b1f6d291
VS
251572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25160
2ac227c7
VS
251612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25164 right pointer.
25165
8f9a632b
VS
251662010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 Fix FreeBSD compilation.
25169
25170 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25171 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25172
60b03859
VS
251732010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25174
25175 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25176
48a5a769
VS
251772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25180
3ab4bd77
VS
251812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25182
25183 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25184
d116e0d8
RM
251852010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25186
25187 Support relative image path in theme file.
25188
25189 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25190 (image_set_property): Handle theme_dir and relative path.
25191
c7ef54aa
VS
251922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25193
25194 * configure.ac: Alias amd64 to x86_64.
25195
fcee14ed
VS
251962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25197
25198 * NEWS: mention multiboot on EFI.
25199
d0780363
VS
252002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25201
25202 * kern/main.c (grub_load_modules): Handle errors from init functions of
25203 embeded modules.
25204
41168ea4
VS
252052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 * normal/autofs.c (autoload_fs_module): Handle errors.
25208
b54d93ac
VS
252092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 Disable linux.mod on qemu-mips since it's not functional and leads
25212 to compilation failure.
25213
25214 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25215 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25216 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25217 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25218 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25219 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25220 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25221 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25222 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25223 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25224 Reported by: BVK Chaitanya
25225
fc8345da
JU
252262010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25227
25228 * INSTALL: Add gettext as a dependency and add qemu to a new section
25229 "Prerequisites for make-check".
25230
4760f979
CF
252312010-03-04 Christian Franke <franke@computer.org>
25232
25233 * util/grub-pe2elf.c: Add missing include "progname.h".
25234
f209b5b2
VS
252352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 * normal/crypto.c (read_crypto_list): Fix a typo.
25238 Reported by: Seth Goldberg.
25239
b4b7be98
VS
252402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25243 Reported by: Seth Goldberg.
b4b7be98 25244
c0ee0385
VS
252452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25246
25247 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25248 ascii.bitmaps.
25249
a8efbf64
VS
252502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25251
25252 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25253 Reported by: Seth Goldberg.
a8efbf64 25254
08dcd913
VS
252552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25256
25257 * util/i386/efi/grub-install.in: Copy gettext files.
25258
c4d0b332
VS
252592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25260
25261 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25262
c6f2fe52
VS
252632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 Wait for user entry basing on presence of output rather than on errors.
25266
25267 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25268 (grub_install_newline_hook): Likewise.
25269 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25270 * normal/menu.c (show_menu): Check line_counter to determine presence
25271 of output.
25272 * normal/term.c (grub_normal_line_counter): New variable.
25273 (grub_normal_get_line_counter): New function.
25274 (grub_install_newline_hook): Likewise.
25275
5382b1e4
VS
252762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25279
5519963b
VS
252802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25281
25282 * configure.ac: Update version to 1.98.
25283
72b28631
VS
252842010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25285
25286 * util/grub.d/10_linux.in (linux_entry): Don't default to
25287 gfxpayload=keep if Linux doesn't support video handover.
25288
c140a180
VS
252892010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 Don't compile video modules on yeeloong since video subsystem is part
25292 of kernel.
25293
25294 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25295 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25296 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25297 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25298 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25299 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25300 * include/grub/bitmap_scale.h: Likewise.
25301 * include/grub/bufio.h: Likewise.
25302 * include/grub/font.h: Likewise.
25303 * include/grub/gfxterm.h: Likewise.
25304 * include/grub/video.h: Likewise.
25305 * include/grub/vbe.h: Don't include video_fb.h.
25306 * video/i386/pc/vbe.c: Include video_fb.h.
25307 * commands/i386/pc/vbetest.c: Include video.h.
25308
a0ca21c2
CW
253092010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25310
25311 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25312 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25313 default entry if GRUB_SAVEDEFAULT=true. This allows using
25314 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25315 saving a new default on every boot.
25316
4a8a763c
VS
253172010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25318
25319 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25320 * normal/term.c (read_terminal_list): Likewise.
25321 * normal/main.c (grub_normal_init_page): Likewise.
25322 (grub_normal_read_line_real): Likewise.
25323
607ffde2
VS
253242010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25327 memory leak.
25328 Reported by: Seth Goldberg.
25329
2b8fa975
CW
253302010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25331
25332 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25333 duplicate declaration of `start'.
25334
618307dd
VS
253352010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25336
25337 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25338 filename.
25339 Reported by: Georgy Buranov
25340
7dd05b96 253412010-02-20 Carles Pina i Estany <carles@pina.cat>
25342
25343 * util/grub-mkrawimage.c (usage): Change string formatting to
25344 improve gettext.
25345
d1484a42
MRA
253462010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25347
25348 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25349 backspace keys.
25350
42b1d186
VS
253512010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25352
25353 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25354 Reported by: Michael Suchanek.
25355
253562010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25357
25358 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25359 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25360
d9f31a41
VS
253612010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 Remove any reference to non-free fonts.
25364
25365 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25366 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25367 uses non-free components.
25368 * font/font.c (grub_font_get_name): Remove example name.
25369 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25370 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25371 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25372 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25373
2793c71e
GB
253742010-02-16 Georgy Buranov <gburanov@gmail.com>
25375
25376 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25377
402e3779
VS
253782010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25381 Double divisor.
25382 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25383 features.
25384 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25385
0dd1e0dd
VS
253862010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25387
25388 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25389
6fa7cfce
ST
253902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25391
25392 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25393 * docs/grub.texi (Command-line and menu entry commands): Document play
25394 command.
25395
37c8483b
ST
253962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25397
25398 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25399 parse arguments as inline tempo and notes. Move code for playing notes
25400 to...
25401 (play): ... new function.
25402
14da0fb7
ST
254032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25404
25405 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25406 grub_uint16_t instead of short.
25407 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25408 disk from little endian to cpu endianness.
25409
04459e70
ST
254102010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25411
25412 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25413 GRUB_TICKS_PER_SECOND instead of 120.
25414
a0876943
VS
254152010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25418 escape sequence after \e.
25419
e29f95dc
VS
254202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25423 non-ASCII characters.
25424
d27859b2
VS
254252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25428 set root in single quotes to prevent \, from being unescaped.
25429
bc028f2f
VS
254302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 Prevent unknown commands from stopping menuentry execution.
25433
25434 * script/execute.c (grub_script_execute_cmdline): Print error after
25435 unknown command.
25436
095f5f82
VS
254372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25440 Reported by: Pavel Pisa.
25441
8c717950
VS
254422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25445
904935c3
VS
254462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 Merge grub_ieee1275_map_physical into grub_map and rename to
25449 grub_ieee1275_map
25450
25451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25452 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25453 Remove.
25454 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25455 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25456 necessary.
25457 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25458
5b59a4e3
VS
254592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25460
25461 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25462 opening and not after.
25463
69e137e8
VS
254642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25465
25466 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25467 constants.
25468
2c0fcc36
VS
254692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25470
25471 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25472 (alloc_phys): Use ALIGN_UP instead of align_addr.
25473
8c6052ce
VS
254742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25477
17cec782
VS
254782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25481
e0128bbd
VS
254822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25483
25484 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25485 verbose dprintf.
25486
ca62070b
VS
254872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25488
25489 Fix over-4GiB seek on sparc64.
25490
25491 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25492 Replace pos_i and pos_lo with pos. All users updated.
25493 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25494 New constant.
25495 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25496 Likewise.
25497 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25498 and pos_lo.
25499
bdca2607
VS
255002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * util/grub-mkrawimage.c (main): Call set_program_name.
25503
da278c4d
VS
255042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 Properly align 64-bit targets.
25507
25508 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25509 (generate_image): Use ALIGN_ADDR.
25510
b274d734
VS
255112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25512
25513 Properly create cross-endian images.
25514
25515 * include/grub/types.h (grub_host_to_target_addr): New macro
25516 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25517
82da2062
VS
255182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25521
7cae4377
VS
255222010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25525
25526 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25527 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25528 (grub_linux_boot): Divide by 64K when on VESA.
25529
65a533e7
VS
255302010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 Support GRUB_GFXPAYLOAD_LINUX.
25533
25534 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25535 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25536
dd01d397
VS
255372010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25540 to show messages instead of discarding them.
25541 Process errors after executing command and not before. Keep old method
25542 too as precaution.
25543
660960d6
VS
255442010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25545
25546 * configure.ac: Check for ft2build.h.
25547
62509f04
VS
255482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25551
473df63d
VS
255522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25553
25554 * genkernsyms.sh.in: Use TARGET_CC.
25555
c98d2a13
CW
255562010-02-07 Colin Watson <cjwatson@ubuntu.com>
25557
25558 * NEWS: Update.
25559
6e14234c
VS
255602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25563 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25564 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25565
b255e9cf
YB
255662010-02-07 Yves Blusseau <blusseau@zetam.org>
25567
6e14234c 25568 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25569
98e6959d
VS
255702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25571
25572 Fix warnings in grub-emu when compiling with maximum warning options.
25573
25574 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25575 (grub_arch_modules_addr): Return 0 and not NULL.
25576 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25577 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25578 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25579 of disk to dsk to avoid shadowing.
74e4934e
VS
25580 (find_free_slot): Fix prototype.
25581 * util/getroot.c (grub_util_is_dmraid): Make static.
25582 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25583 Add missing prototype.
25584 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25585
74e31b5c
VS
255862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25587
25588 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25589 appropriately.
25590
6b2ad14b
VS
255912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25592
25593 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25594 code out.
25595
8f891adc
VS
255962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25597
25598 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25599 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25600 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25601 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25602 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25603 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25604
74b45184
VS
256052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25606
25607 * include/grub/err.h (grub_err_printf): Don't export.
25608
a4bced77
VS
256092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25612
007d0695
VS
256132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25616 * kern/misc.c (grub_gettext_dummy): Make static.
25617
b6c0d9c2
VS
256182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25619
25620 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25621 by non-valid ones.
25622 * kern/term.c (grub_putchar): Likewise.
25623
f51a90d0
VS
256242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25625
25626 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25627 buggy hook call and memory leak.
25628
6846cec5
VS
256292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25630
25631 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25632
468d69fe
VS
256332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25634
25635 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25636
51906b8c
VS
256372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25638
25639 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25640 modevar.
25641 Return grub_errno on allocation error.
25642
09706ce5
VS
256432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25646
911df80c
YB
256472010-02-06 Yves Blusseau <blusseau@zetam.org>
25648
25649 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25650 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25651
3746a6bc
VS
256522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25655 non-pxe disk.
25656 (grub_pxefs_open): Likewise.
25657
09706ce5
VS
256582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25659
25660 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25661 * util/grub.d/10_kfreebsd.in: Likewise.
25662 * util/grub.d/10_linux.in: Likewise.
25663
7cc192d9
VS
256642010-02-06 Colin D Bennett <colin@gibibit.com>
25665
25666 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25667 (gfxmenu_mod_SOURCES): New variable.
25668 (gfxmenu_mod_CFLAGS): Likewise.
25669 (gfxmenu_mod_LDFLAGS): Likewise.
25670 * include/grub/term.h (grub_term_set_current_output): Declare
25671 argument as const.
25672 * docs/gfxmenu-theme-example.txt: New file.
25673 * gfxmenu/gfxmenu.c: Likewise.
25674 * gfxmenu/gui_box.c: Likewise.
25675 * gfxmenu/gui_canvas.c: Likewise.
25676 * gfxmenu/gui_circular_progress.c: Likewise.
25677 * gfxmenu/gui_image.c: Likewise.
25678 * gfxmenu/gui_label.c: Likewise.
25679 * gfxmenu/gui_list.c: Likewise.
25680 * gfxmenu/gui_progress_bar.c: Likewise.
25681 * gfxmenu/gui_string_util.c: Likewise.
25682 * gfxmenu/gui_util.c: Likewise.
25683 * gfxmenu/icon_manager.c: Likewise.
25684 * gfxmenu/model.c: Likewise.
25685 * gfxmenu/named_colors.c: Likewise.
25686 * gfxmenu/theme_loader.c: Likewise.
25687 * gfxmenu/view.c: Likewise.
25688 * gfxmenu/widget-box.c: Likewise.
25689 * include/grub/gfxmenu_model.h: Likewise.
25690 * include/grub/gfxmenu_view.h: Likewise.
25691 * include/grub/gfxwidgets.h: Likewise.
25692 * include/grub/gui.h: Likewise.
25693 * include/grub/gui_string_util.h: Likewise.
25694 * include/grub/icon_manager.h: Likewise.
25695
256962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25697
25698 Agglomerate scrolling in gfxterm.
25699
25700 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25701 (grub_virtual_screen_setup): Initialise 'total_screen'.
25702 (write_char): Split to ...
25703 (paint_char): ... this ...
25704 (write_char): ... and this.
25705 (paint_char): Handle delayed scrolling.
25706 (draw_cursor): Likewise.
25707 (scroll_up): Split to ...
25708 (real_scroll): ... this ...
25709 (scroll_up): ... and this.
25710 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25711 characters.
25712 (grub_gfxterm_refresh): Call real_scroll.
25713
257142010-02-06 Colin D Bennett <colin@gibibit.com>
25715
25716 * include/grub/misc.h (grub_iscntrl): New inline function.
25717 (grub_isalnum): Likewise.
25718 (grub_strtol): Likewise.
25719
257202010-02-06 Colin D Bennett <colin@gibibit.com>
25721
25722 * normal/menu_text.c (get_entry_number): Move from here ...
25723 * normal/menu.c (get_entry_number): ... moved here.
25724 * include/grub/menu.h (grub_menu_get_default_entry_index):
25725 New prototype.
25726 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25727 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25728 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25729 (grub_menu_viewer_should_return): Likewise.
25730 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25731 * normal/menu_text.c (run_menu): Enable menu switching.
25732 * normal/menu_viewer.c (should_return): New variable.
25733 (menu_viewer_changed): Likewise.
25734 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25735 (grub_menu_viewer_should_return): New function.
25736 (menuviewer_write_hook): Likewise.
25737 (grub_menu_viewer_init): Likewise.
25738
257392010-02-06 Colin D Bennet <colin@gibibit.com>
257402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25741
25742 Support for gfxterm in a window.
25743
25744 * include/grub/gfxterm.h: New file.
25745 * include/grub/video.h (struct grub_video_rect): New declaration.
25746 (grub_video_rect_t): Likewise.
25747 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25748 (refcount): New variable.
25749 (render_target): Likewise.
25750 (window): Likewise.
25751 (repaint_callback): Likewise.
25752 (grub_virtual_screen_setup): Use 'render_target'.
25753 (init_window): New function.
25754 (grub_gfxterm_init_window): Likewise.
25755 (grub_gfxterm_init): Check reference counter.
25756 Use init_window.
25757 (destroy_window): New function.
25758 (grub_gfxterm_destroy_window): Likewise.
25759 (grub_gfxterm_fini): Check reference counter.
25760 Use destroy_window.
25761 (redraw_screen_rect): Restore viewport.
25762 Use 'render_target' and 'window'.
25763 Call 'repaint_callback'.
25764 (write_char): Use 'render_target'.
25765 (draw_cursor): Likewise.
25766 (scroll_up): Restore viewport.
25767 Use 'render_target' and 'window'.
25768 Call 'repaint_callback'.
25769 (grub_gfxterm_cls): Likewise.
25770 (grub_gfxterm_refresh): Use 'window'.
25771 (grub_gfxterm_set_repaint_callback): New function.
25772 (grub_gfxterm_background_image_cmd): Use 'window'.
25773 (grub_gfxterm_get_term): New function.
25774 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25775
257762010-02-06 Colin D Bennett <colin@gibibit.com>
25777
25778 Bitmap scaling support.
25779
25780 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25781 (bitmap_scale_mod_SOURCES): New variable.
25782 (bitmap_scale_mod_CFLAGS): Likewise.
25783 (bitmap_scale_mod_LDFLAGS): Likewise.
25784 * include/grub/bitmap_scale.h: New file.
25785 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25786 (background_image_cmd_options): New variable.
25787 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25788 (cmd): Rename and change type to ...
25789 (background_image_cmd_handle): ... this. All users updated.
25790 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25791 * video/bitmap_scale.c: New file.
25792
257932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 SDL support.
25796
25797 * Makefile.in (LIBSDL): New variable.
25798 (enable_grub_emu_sdl): Likewise.
25799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25800 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25801 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25802 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25803 * util/sdl.c: New file.
25804
258052010-02-06 Colin D Bennett <colin@gibibit.com>
258062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 Double buffering support.
25809
25810 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25811 * include/grub/video.h: Update comment.
25812 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25813 New type.
25814 (grub_video_fb_doublebuf_blit_init): New prototype.
25815 * term/gfxterm.c (scroll_up): Support double buffering.
25816 (grub_gfxterm_refresh): Likewise.
25817 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25818 (grub_video_fb_doublebuf_blit_init): Likewise.
25819 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25820 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25821 'displayed_page', 'render_page' and 'update_screen'.
25822 (grub_video_vbe_fini): Free offscreen buffer.
25823 (doublebuf_pageflipping_commit): New function.
25824 (doublebuf_pageflipping_update_screen): Likewise.
25825 (doublebuf_pageflipping_init): Likewise.
25826 (double_buffering_init): Likewise.
25827 (grub_video_vbe_setup): Enable doublebuffering.
25828 (grub_video_vbe_swap_buffers): Implement.
25829 (grub_video_vbe_set_active_render_target): Handle double buffering.
25830 (grub_video_vbe_get_active_render_target): Likewise.
25831 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25832 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25833 (grub_video_vbe_enable_double_buffering): Likewise.
25834 (grub_video_vbe_swap_buffers): Use update_screen.
25835 (grub_video_set_mode): Use double buffering.
25836
258372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25838
25839 * maintainance/gentrigtables.py: Remove.
25840 * lib/trig.c: Likewise.
25841
25842 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25843
25844 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25845 `trigtables.c'.
25846 (trigtables.c): New rule.
25847 (gentrigtables): Likewise.
25848 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25849
258502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25851
25852 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25853 integer constants.
25854
258552010-02-06 Colin D Bennet <colin@gibibit.com>
25856
25857 Trigonometry support.
25858
25859 * include/grub/trig.h: New file.
25860 * lib/trig.c: Likewise.
25861 * maintainance/gentrigtables.py: Likewise.
25862 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25863 (trig_mod_SOURCES): New variable.
25864 (trig_mod_CFLAGS): Likewise.
25865 (trig_mod_LDFLAGS): Likewise.
25866
5562834e
VS
258672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25868
25869 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25870 disk devices.
25871
4f8528fc
VS
258722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25873
25874 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25875 error.
25876
2b4068e9
VS
258772010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25878
25879 * util/hostdisk.c (open_device): Don't use partition device when reading
25880 before the partition.
25881 (grub_util_biosdisk_read): Don't read from partition and before the
25882 partition in single operation.
25883 (grub_util_biosdisk_write): Don't write to partition and before the
25884 partition in single operation.
25885
399f6e4d
TL
258862010-02-03 Torsten Landschoff <torsten@debian.org>
25887
25888 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25889 last sectors.
25890
996649b0
VS
258912010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25892
25893 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25894 CDROM reads.
25895 (grub_biosdisk_write): Refuse to write to CDROM.
25896
3b205d4d
VS
258972010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25898
25899 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25900
61e89d9d
VS
259012010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 * font/font.c (find_glyph): Check that bmp_idx is available before
25904 using it.
25905 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25906 with (font == NULL).
25907
bf7fcba2
CS
259082010-01-28 Christian Schmitt <chris@ilovelinux.de>
25909
25910 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25911
f45d2663
BC
259122010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25913
25914 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25915 * util/grub-script-check.c (getline): Fix empty lines case.
25916
ec1444e6
RM
259172010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25918
25919 * Makefile.in (check): Exit with fail status when one of the tests
25920 fails.
25921 * tests/example_functional_test.c (example_test): Fix reversed assert.
25922 * tests/example_unit_test.c (example_test): Likewise.
25923
2e1cb9bb
CW
259242010-01-28 Colin Watson <cjwatson@ubuntu.com>
25925
25926 * util/grub.d/10_linux.in: This script does not use any of the
25927 contents of gettext.sh, only the external command `gettext', so stop
25928 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25929 the same prefix as GRUB.)
25930 * util/grub.d/10_kfreebsd.in: Likewise.
25931
63533ab0
VS
259322010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25933
25934 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25935 of the line.
25936
989e1f93
VS
259372010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25940 last sectors.
25941
e709ebe2
VS
259422010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25945 having a 4KiB and not 32KiB buffer size.
25946
27dea7ed
RM
259472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25948
25949 * util/hostfs.c: Include `<errno.h>'.
25950 (grub_hostfs_read): Handle errors from fseeko() and fread().
25951
67667b9c
RM
259522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25953
25954 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25955 loop when using read hooks on files whose size isn't sector-aligned.
25956
c294d9d8
RM
259572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 Remove unused parameter.
25960
25961 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25962 (grub_iso9660_open): Remove initialization of `data->length'.
25963
af75a9f1
RM
259642010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25967 memleak conditions.
25968
254e2ce5 259692010-01-27 Carles Pina i Estany <carles@pina.cat>
25970
25971 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25972 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25973
b510928c 259742010-01-26 Carles Pina i Estany <carles@pina.cat>
25975
25976 * util/bin2h.c (usage): Fix warning (space after backslash).
25977
aa2f9dd2 259782010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25979
25980 * font/font.c: Include `grub/fontformat.h.
25981 Remove font file format constants.
25982 (grub_font_load): Use the new macros.
25983 * include/grub/fontformat.h: New file.
25984 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25985 (write_font_pf2): Use the new macros.
25986
94e7e712
RM
259872010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25990 does.
25991
3973a59a
RM
259922010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25993
25994 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25995
25996 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25997 (_start): Macroify `0x7F'.
25998
25999 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26000 (make_install_device): Use "(pxe)" as fallback prefix when booting
26001 via PXE.
26002
42e0cba3
GS
260032010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26004
26005 * configure.ac: Reset LIBS after check for libgcc symbols.
26006
847effd8
CW
260072010-01-25 Colin Watson <cjwatson@ubuntu.com>
26008
26009 * util/hostdisk.c (open_device): Add trailing newline to debug
26010 message.
26011
ea4a7e35
GS
260122010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26013
26014 * configure.ac: Check for `limits.h'.
26015 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26016
67951a53
RM
260172010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26018
26019 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26020 capitalize error strings.
26021
c273d4ce
ST
260222010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26023
26024 * util/grub.d/10_hurd.in: Add a recovery mode.
26025
69be5b74
VS
260262010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26027
26028 * configure.ac: Check for libgcc symbols with -nostdlib.
26029
fc9e5810
BC
260302010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26031
26032 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26033
4b358c0a
VS
260342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26035
26036 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26037 stack since heap may be unavailable at that point.
26038 (grub_ofconsole_gotoxy): Likewise.
26039
454fcd1c
VS
260402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26041
26042 * configure.ac: Check for _restgpr_14_x.
26043 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26044 and _savegpr_* prototypes.
26045
566863ca
RM
260462010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26047
26048 Use generic grub_reboot() for i386-efi.
26049
26050 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26051 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26052 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26053
bf86e59a
VS
260542010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26057 presence of "prefix" variable as it breaks when normal.mod is
26058 embedded.
26059
d645e0f8
VS
260602010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26063 stack since heap is unavailable at that point.
26064
f9ab2e25
VS
260652010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26068 (grub_freebsd_bootinfo): Rewritten.
26069 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26070
01fc7054
VS
260712010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26072
26073 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26074
caab4fd6
RM
260752010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26076
26077 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26078 domain now.
26079
67eb1427
FZ
260802010-01-20 Felix Zielcke <fzielcke@z-51.de>
26081
26082 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26083 around for handling "/" to the correct fix. Fix a memory leak. Use
26084 xstrdup instead of strdup.
26085
a9ed4ff3
VS
260862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26089
260902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26091
26092 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26093
26094 * font/font.c (struct grub_font): New member 'bmp_idx'.
26095 (font_init): Initialise 'bmp_idx'.
26096 (load_font_index): Fill 'bmp_idx'.
26097 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26098
48209f4f
VS
260992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26100
26101 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26102 unnecessary calls.
26103
9f0a4bb7
VS
261042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26105
26106 Move context handling out of the kernel.
26107
26108 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26109 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26110 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26111 * conf/i386-efi.rmk: Likewise.
26112 * conf/i386-ieee1275.rmk: Likewise.
26113 * conf/i386-pc.rmk: Likewise.
26114 * conf/powerpc-ieee1275.rmk: Likewise.
26115 * conf/sparc64-ieee1275.rmk: Likewise.
26116 * conf/x86_64-efi.rmk: Likewise.
26117 * include/grub/env.h: Include grub/menu.h.
26118 (grub_env_var_type): Removed.
26119 (grub_env_var): Replaced field 'type' with 'global'.
26120 (grub_env_find): New prototype.
26121 (grub_env_context_open): Remove EXPORT_FUNC.
26122 (grub_env_context_close): Likewise.
26123 (grub_env_export): Likewise.
26124 (grub_env_set_data_slot): Removed.
26125 (grub_env_get_data_slot): Likewise.
26126 (grub_env_unset_data_slot): Likewise.
26127 (grub_env_unset_menu): New prototype.
26128 (grub_env_set_menu): Likewise.
26129 (grub_env_get_menu): Likewise.
26130 * include/grub/env_private.h: New file.
26131 * include/grub/normal.h (grub_context_init): New prototype.
26132 (grub_context_fini): Likewise.
26133 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26134 * normal/context.c (grub_cmd_export): ... to here.
26135 * kern/env.c: Include env_private.h.
26136 (HASHSZ): Moved to include/grub/env_private.h.
26137 (grub_env_context): Likewise.
26138 (grub_env_sorted_var): Likewise.
26139 (current_context): Renamed from this ...
26140 (grub_current_context): ...to this. 'static' removed. All users updated.
26141 (grub_env_find): Removed 'static'.
26142 (grub_env_context_open): Moved to normal/context.c.
26143 (grub_env_context_close): Likewise.
26144 (grub_env_export): Likewise.
26145 (mangle_data_slot_name): Removed.
26146 (grub_env_set_data_slot): Likewise.
26147 (grub_env_get_data_slot): Likewise.
26148 (grub_env_unset_data_slot): Likewise.
26149 * kern/main.c (grub_set_root_dev): Don't export root.
26150 It will be done later.
26151 (grub_main): Don't export prefix.
26152 It will be done later.
26153 * normal/context.c: New file.
26154 * normal/main.c (free_menu): Use grub_env_unset_menu.
26155 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26156 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26157 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26158 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26159
8dd35b8c
VS
261602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26161
26162 setpci support.
26163
26164 * commands/setpci.c: New file.
26165 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26166 (setpci_mod_SOURCES): New variable.
26167 (setpci_mod_CFLAGS): Likewise.
26168 (setpci_mod_LDFLAGS): Likewise.
26169
449193d5
VS
261702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Byte-addressable PCI configuration space.
26173
26174 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26175 dword address.
26176 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26177 GRUB_PCI_REG_CACHELINE.
26178 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26179 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26180 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26181 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26182 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26183 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26184 grub_pci_make_address.
26185 (lock_rom_area): Likewise.
26186 * commands/lspci.c (grub_lspci_iter): Use macroses
26187 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26188 of grub_pci_make_address.
26189 * disk/ata.c (grub_ata_pciinit): Likewise.
26190 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26191 (GRUB_PCI_REG_VENDOR): Likewise.
26192 (GRUB_PCI_REG_DEVICE): Likewise.
26193 (GRUB_PCI_REG_COMMAND): Likewise.
26194 (GRUB_PCI_REG_STATUS): Likewise.
26195 (GRUB_PCI_REG_REVISION): Likewise.
26196 (GRUB_PCI_REG_CLASS): Likewise.
26197 (GRUB_PCI_REG_CACHELINE): Likewise.
26198 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26199 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26200 (GRUB_PCI_REG_BIST): Likewise.
26201 (GRUB_PCI_REG_ADDRESSES): Likewise.
26202 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26203 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26206 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26207 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26208 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26209 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26210 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26211 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26212 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26213 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26214 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26215 (GRUB_PCI_REG_MIN_GNT): Likewise.
26216 (GRUB_PCI_REG_MAX_LAT): Likewise.
26217 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26218 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26219 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26220 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26221 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26222 space.
26223
96d73208
RM
262242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26225
26226 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26227 can be reliably determined to be supported.
26228
d4484482
RM
262292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26232 that VESA is supported.
26233 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26234 supported.
26235
00308ecf
VS
262362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26239
f66924a4
RM
262402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26241
26242 * util/misc.c (make_system_path_relative_to_its_root): Work around
26243 special-casing of "/", as previous incarnation of this routine did.
26244
cbca0ada
VS
262452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26246
26247 Fix any-emu compilation.
26248
26249 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26250 * grub_bin2h_SOURCES: New variable.
26251
34a66d99
RM
262522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26253
26254 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26255
94fabf58
RM
262562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26257
26258 * util/grub.d/00_header.in: Fix handling of locale_dir.
26259
02cf98ca
VS
262602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26263 as possible unifont location (Gentoo).
26264 Reported by: Alexander Brüning
26265
327dbcd7
VS
262662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26267
26268 Don't try to generate lists for kernel.img.
26269
26270 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26271 (pkglib_MODULES): Remove kernel.img.
26272 (kernel_img_EXPORTS): Removed.
26273 (kernel_img_RELOCATABLE): New variable.
26274 * conf/x86_64-efi.rmk: Likewise.
26275 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26276
ca467290
VS
262772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26278
26279 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26280 grub_xasprintf or grub_snprintf.
26281 (grub_vsprintf): Likewise.
26282 (grub_snprintf): New proto.
26283 (grub_vsnprintf): Likewise.
26284 (grub_xasprintf): Likewise.
26285 (grub_xvasprintf): Likewise.
26286 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26287 (grub_sprintf): Removed.
26288 (grub_vsnprintf): New function.
26289 (grub_snprintf): Likewise.
26290 (grub_xvasprintf): Likewise.
26291 (grub_xasprintf): Likewise.
26292 (grub_vsprintf): Renamed to ...
26293 (grub_vsnprintf_real): ...this. New argument max_len.
26294
aca655fd
BC
262952010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26296
26297 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26298 fix grub-script-check warning.
26299
7ee92c32
VS
263002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 * include/grub/font.h (grub_font_load): Fix prototype.
26303
f80927ca
VS
263042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26307
119c50ea
VS
263082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26309
26310 * include/grub/x86_64/at_keyboard.h: New file.
26311
47d5f3c1
VS
263122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26313
26314 * loader/mips/linux.c: Include missing grub/i18n.h.
26315
55ff5266
RM
263162009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26317
26318 * normal/menu.c (notify_execution_failure): Clarify error message.
26319
c893cc87
RM
263202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26321
26322 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26323 return value (and revert all return statements). Update users.
26324
917dd370
CW
263252010-01-20 Dan Merillat <debian@dan.merillat.org>
26326
26327 * kern/device.c (grub_device_iterate): Allocate new part_ent
26328 structure based on sizeof (*p) rather than sizeof (p->next), to
26329 account for structure padding.
26330
26331 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26332 disk is NULL, which might happen for LVM physical volumes with no
26333 LVM signature.
26334
d4a4ee57
RM
263352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26336
26337 * loader/mips/linux.c (grub_cmd_initrd)
26338 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26339
263402009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26341
26342 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26343 (grub_video_video_init, grub_video_bitmap_init)
26344 (grub_font_manager_init, grub_term_gfxterm_init)
26345 (grub_at_keyboard_init): New extern declarations.
26346 (grub_machine_init): Initialize gfxterm and at_keyboard.
26347
26348 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26349
26350 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26351 `gfxterm.mod' into core image.
26352
26353 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26354 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26355 (kernel_img_FORMAT): Copy to ...
26356
26357 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26358 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26359 (kernel_img_FORMAT): ... here, and ...
26360
26361 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26362 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26363 (kernel_img_FORMAT): ... here.
26364
26365 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26366 and input (at_keyboard) terminals in kernel.
26367 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26368
26369 (pkglib_MODULES): Remove `pci.mod'.
26370 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26371 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26372 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26373 (at_keyboard_mod_LDFLAGS): Remove variables.
26374
263752010-01-11 Felix Zielcke <fzielcke@z-51.de>
26376
26377 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26378
263792009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26380
26381 * include/grub/mips/libgcc.h: Only export symbols for functions
26382 that libgcc provides.
26383
263842009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26385
26386 MIPS support.
26387
26388 * bus/bonito.c: New file.
26389 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26390 GRUB_PCI_NUM_DEVICES.
26391 * term/i386/pc/serial.c: Move to ...
26392 * term/serial.c: ... here. All users updated.
26393 * util/i386/pc/grub-mkimage.c: Move to ...
26394 * util/grub-mkrawimage.c: ... here. All users updated.
26395 * term/i386/pc/at_keyboard.c: Move to ...
26396 * term/at_keyboard.c: ... here. All users updated.
26397 * conf/mips-qemu-mips.rmk: New file.
26398 * conf/mips-yeeloong.rmk: Likewise.
26399 * conf/mips.rmk: Likewise.
26400 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26401 mipsel-qemu-mips.
26402 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26403 to port addresses.
26404 (grub_ata_pciinit): Support CS5536.
26405 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26406 * font/font_cmd.c (loadfont_command): Open file before passing it to
26407 grub_font_load.
26408 (pseudo_file_read): New function.
26409 (pseudo_file_close): Likewise.
26410 (pseudo_fs): New structure.
26411 (load_font_module): New function.
26412 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26413 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26414 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26415 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26416 * include/grub/i386/at_keyboard.h: Split into ...
26417 * include/grub/at_keyboard.h: ... this ...
26418 * include/grub/i386/at_keyboard.h: ... and this.
26419 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26420 New prototype.
26421 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26422 updated.
26423 (grub_elf64_size): Likewise.
26424 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26425 filename.
26426 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26427 * include/grub/i386/coreboot/serial.h: Rewritten.
26428 * include/grub/i386/ieee1275/serial.h: Include
26429 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26430 * include/grub/i386/pc/serial.h: Moved from here ...
26431 * include/grub/serial.h: ... to here. All users updated.
26432 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26433 (GRUB_PCI_NUM_BUS): Likewise.
26434 (GRUB_PCI_NUM_DEVICES): Likewise.
26435 (grub_pci_device_map_range): Add missing volatile keyword.
26436 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26437 * include/grub/mips/at_keyboard.h: New file.
26438 * include/grub/mips/cache.h: Likewise.
26439 * include/grub/mips/io.h: Likewise.
26440 * include/grub/mips/kernel.h: Likewise.
26441 * include/grub/mips/libgcc.h: Likewise.
26442 * include/grub/mips/pci.h: Likewise.
26443 * include/grub/mips/qemu-mips/boot.h: Likewise.
26444 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26445 * include/grub/mips/qemu-mips/loader.h: Likewise.
26446 * include/grub/mips/qemu-mips/memory.h: Likewise.
26447 * include/grub/mips/qemu-mips/serial.h: Likewise.
26448 * include/grub/mips/qemu-mips/time.h: Likewise.
26449 * include/grub/mips/relocator.h: Likewise.
26450 * include/grub/mips/time.h: Likewise.
26451 * include/grub/mips/types.h: Likewise.
26452 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26453 * include/grub/mips/yeeloong/boot.h: Likewise.
26454 * include/grub/mips/yeeloong/kernel.h: Likewise.
26455 * include/grub/mips/yeeloong/loader.h: Likewise.
26456 * include/grub/mips/yeeloong/memory.h: Likewise.
26457 * include/grub/mips/yeeloong/pci.h: Likewise.
26458 * include/grub/mips/yeeloong/serial.h: Likewise.
26459 * include/grub/mips/yeeloong/time.h: Likewise.
26460 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26461 * kern/elf.c (grub_elf32_size): New parameter. All users
26462 updated.
26463 (grub_elf64_size): Likewise.
26464 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26465 Load modules before saying "Welcome to GRUB!".
26466 Call grub_refresh after saying "Welcome to GRUB!".
26467 * kern/mips/cache.S: New file.
26468 * kern/mips/cache_flush.S: Likewise.
26469 * kern/mips/dl.c: Likewise.
26470 * kern/mips/init.c: Likewise.
26471 * kern/mips/qemu-mips/init.c: Likewise.
26472 * kern/mips/startup.S: Likewise.
26473 * kern/mips/yeeloong/init.c: Likewise.
26474 * kern/term.c (grub_putcode): Handle NULL terminal.
26475 (grub_getcharwidth): Likewise.
26476 (grub_getkey): Likewise.
26477 (grub_checkkey): Likewise.
26478 (grub_getkeystatus): Likewise.
26479 (grub_getxy): Likewise.
26480 (grub_getwh): Likewise.
26481 (grub_gotoxy): Likewise.
26482 (grub_cls): Likewise.
26483 (grub_setcolorstate): Likewise.
26484 (grub_setcolor): Likewise.
26485 (grub_getcolor): Likewise.
26486 (grub_refresh): Likewise.
26487 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26488 (write_jump): Add hatch nop.
26489 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26490 * lib/mips/setjmp.S: New file.
26491 * loader/mips/linux.c: Likewise.
26492 * term/i386/pc/at_keyboard.c: Move from here ...
26493 * term/at_keyboard.c: ... to here.
26494 * term/i386/pc/serial.c: Moved from here ...
26495 * term/serial.c: ... to here. All users updated.
26496 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26497 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26498 (serial_translate_key_sequence): Avoid deadlock.
26499 (grub_serial_getkey): Handle backspace.
26500 (grub_serial_putchar): Fix newline handling.
26501 * util/i386/pc/grub-mkimage.c: Move from here ...
26502 * util/grub-mkrawimage.c: ... to here. All users updated.
26503 (generate_image): New parameters 'font_path' and 'format'.
26504 Support embedding font.
26505 Use grub_host_to_target* instead of grub_cpu_to_le*.
26506 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26507 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26508 (options): New option "--font".
26509 (usage): Likewise.
26510 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26511 (main): Handle "--font".
26512 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26513 (grub_virtual_screen_setup): Set bg_color_display.
26514 (redraw_screen_rect): Use bg_color_display instead of incorrect
26515 bg_color.
26516 (grub_gfxterm_cls): Likewise.
26517 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26518 Support embedding config file.
26519 (add_segments): Likewise.
26520 (options): New option "--config".
26521 (main): Handle "--config".
26522 * video/sm712.c: New file.
26523
25c2b5b3
RM
265242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26525
26526 Fix parallel builds.
26527
26528 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26529 font.c depend on ascii.h).
26530
265312010-01-12 Carles Pina i Estany <carles@pina.cat>
26532
26533 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26534
265352010-01-11 Carles Pina i Estany <carles@pina.cat>
26536
26537 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26538 By default: disabled.
26539 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26540 parameter.
26541
265422010-01-10 Carles Pina i Estany <carles@pina.cat>
26543
26544 * font/font.c: Update copyright years.
26545 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26546
265472010-01-10 Carles Pina i Estany <carles@pina.cat>
26548
26549 * font/font.c: Include `ascii.h'.
26550 (ASCII_BITMAP_SIZE): New macro.
26551 (ascii_font_glyph): Define.
26552 (ascii_glyph_lookup): New function.
26553 (grub_font_get_string_width): Change comment. If glyph not found, use
26554 ascii_glyph_lookup.
26555 (grub_font_get_glyph_with_fallback): If glyph not available returns
26556 ascii_glyph_lookup.
26557 * util/grub-mkfont.c (file_formats): New enum.
26558 (options): Add `ascii-bitmaps' new option.
26559 (usage): Add `asii-bitmaps' new option.
26560 (write_font_ascii_bitmap): New function.
26561 (write_font): Rename to ...
26562 (write_font_p2): ... this. Remove print_glyphs call.
26563 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26564 used. Call print_glyphs.
26565 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26566
265672010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26570 (grub_bin2h_SOURCES): New variable.
26571 * util/bin2h.c: New file.
26572
915fc1b8
VS
265732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * include/multiboot.h: Resynced with spec.
26576 * include/multiboot2.h: Likewise.
26577 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26578 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26579
9444b678
RM
265802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26581
26582 * include/grub/term.h (grub_term_register_input,
26583 grub_term_register_output): Check return of terminal init()
26584 routines, and abort if errors are raised.
26585
26586 * commands/terminal.c: Update copyright year.
26587
cba98e8d
RM
265882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * commands/terminal.c (grub_cmd_terminal_input)
26591 (grub_cmd_terminal_output): Check return of terminal init()
26592 routines, and abort if errors are raised.
26593
6f7db5d6
VS
265942010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26595
26596 * include/grub/i386/bsd.h: Fix include pathes.
26597
262bff8d
VS
265982010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 Add missing *BSD copyright headers.
26601
26602 * include/grub/aout.h: Add BSD licence.
26603 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26604 * include/grub/i386/freebsd_linker.h: ... here,
26605 * include/grub/i386/freebsd_reboot.h: ... here,
26606 * include/grub/i386/netbsd_bootinfo.h: ... here,
26607 * include/grub/i386/netbsd_reboot.h: ... here,
26608 * include/grub/i386/openbsd_bootarg.h: ... here,
26609 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26610 licence to each file.
26611
b2cab848
RM
266122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * acinclude.m4: Remove `nop' assembly instruction; it's not
26615 implemented by all architectures.
26616
2cb6be4b
RM
266172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26618
26619 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26620 ELILO. This is no longer necessary.
26621
a2eaee15
BC
266222010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26623
26624 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26625
26626 * util/grub-script-check.c: grub-script-check tool.
26627 * conf/common.rmk: Make rules for grub-script-check.
26628
88d17012
RM
266292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26630
26631 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26632 spotting it back in 2008. Shame on me for forgetting he did.
26633
26634 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26635
8040619d
RM
266362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26637
26638 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26639 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26640 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26641 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26642 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26643 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26644
a0c2a0f6
RM
266452010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26646
26647 * include/grub/test.h: Add license header.
26648 * tests/example_functional_test.c: Likewise.
26649 * tests/example_unit_test.c: Likewise.
26650 * tests/lib/functional_test.c: Likewise.
26651 * tests/lib/test.c: Likewise.
26652 * tests/lib/unit_test.c: Likewise.
26653
b0b13907
VS
266542010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26655
26656 Use flag-based instead of hook-based video mode selection and "auto"
26657 keyword.
26658
26659 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26660 (grub_video_set_mode): Changed prototype. All users updated.
26661 (grub_video_check_mode_flag): New inline function.
26662 * video/video.c (parse_modespec): New function.
26663 (grub_video_set_mode): Parse flags and keywords.
26664
ea379330 266652010-01-17 Carles Pina i Estany <carles@pina.cat>
26666
26667 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26668 fprintf call.
26669
e15c215e
FZ
266702010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26671
26672 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26673
409ae1c9 266742010-01-16 Carles Pina i Estany <carles@pina.cat>
26675
26676 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26677 string.
26678 * util/grub-emu.c (usage): Likewise.
26679 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26680 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26681 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26682 * util/i386/pc/grub-setup.c (usage): Likewise.
26683
70a14d3d 266842010-01-16 Carles Pina i Estany <carles@pina.cat>
26685
26686 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26687 the message.
26688 (grub_util_info): Likewise.
26689 (grub_util_error): Likewise.
26690 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26691 and/or new lines in `grub_util_warna', `grub_util_info',
26692 `grub_util_error' calls.
26693 * util/getroot.c: Likewise.
26694 * util/grub-editenv.c: Likewise.
26695 * util/grub-emu.c: Likewise.
26696 * util/grub-fstest.c: Likewise.
26697 * util/grub-mkdevicemap.c: Likewise.
26698 * util/grub-mkfont.c: Likewise.
26699 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26700 * util/grub-mkrelpath.c: Likewise.
26701 * util/grub-pe2elf.c: Likewise.
26702 * util/grub-probe.c: Likewise.
26703 * util/hostdisk.c: Likewise.
26704 * util/i386/efi/grub-mkimage.c: Likewise.
26705 * util/i386/pc/grub-mkimage.c: Likewise.
26706 * util/i386/pc/grub-setup.c: Likewise.
26707 * util/ieee1275/ofpath.c: Likewise.
26708 * util/mkisofs/eltorito.c: Likewise.
26709 * util/mkisofs/rock.c: Likewise.
26710 * util/mkisofs/write.c: Likewise.
26711 * util/raid.c: Likewise.
26712 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26713 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26714
a0b766fc
VS
267152010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26716
26717 Enable multiboot on non-pc.
26718
26719 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26720 multiboot.mod and multiboot2.mod to ...
26721 * conf/i386.rmk (pkglib_MODULES): ... here.
26722 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26723 Moved to ...
26724 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26725 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26726 Moved to ...
26727 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26728 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26729 Moved to ...
26730 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26731 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26732 Moved to ...
26733 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26734 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26735 relocator.mod.
26736 (ata_mod_SOURCES): Removed.
26737 (ata_mod_CFLAGS): Likewise.
26738 (ata_mod_LDFLAGS): Likewise.
26739 (relocator_mod_SOURCES): Removed.
26740 (relocator_mod_CFLAGS): Likewise.
26741 (relocator_mod_ASFLAGS): Likewise.
26742 (relocator_mod_LDFLAGS): Likewise.
26743 Include i386.mk.
26744 * include/grub/x86_64/multiboot.h: New file.
26745 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26746 Terminate EFI.
26747
884ade56
VS
267482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 Video multiboot support.
26751
26752 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26753 New prototype.
26754 * include/multiboot.h: Resynced with multiboot specification.
26755 * include/multiboot2.h: Likewise.
26756 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26757 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26758 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26759 (HAS_VGA_TEXT): Likewise.
26760 (accepts_video): New variable.
26761 (grub_multiboot_set_accepts_video): New function.
26762 (grub_multiboot_get_mbi_size): Account for video structures.
26763 (set_video_mode): New function.
26764 (retrieve_video_parameters): Likewise.
26765 (grub_multiboot_make_mbi): Fill video fields.
26766
0d90e8a6
VS
267672010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 Video driver ids.
26770
26771 * include/grub/video.h (grub_video_driver_id): New type.
26772 (grub_video_adapter): New member 'id'. All users updated.
26773 (grub_video_get_driver_id): New proto.
26774 * video/video.c (grub_video_get_driver_id): New function.
26775
5c71db1b 267762010-01-14 Carles Pina i Estany <carles@pina.cat>
26777
26778 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26779 `var=val'.
26780
cca15b52 267812010-01-14 Carles Pina i Estany <carles@pina.cat>
26782
26783 * normal/cmdline.c (print_completion): Gettextizze.
26784
c586fbb2 267852001-01-14 Carles Pina i Estany <carles@pina.cat>
26786
26787 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26788
ba2f6848 267892010-01-14 Carles Pina i Estany <carles@pina.cat>
26790
26791 * gettext/gettext.c (grub_gettext_translate): Push and pop
26792 grub_errno.
26793 (grub_gettext_delete_list): Change comment style.
26794 * kern/err.c (grub_error): Gettextizze.
26795 (grub_fatal): Gettextizze.
26796
0a46429a
RM
267972010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26798
26799 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26800 (grub_linux16_real_boot): ... this.
26801 * kern/i386/loader.S: Likewise.
26802 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26803 (grub_linux16_boot): New function. Switches to text mode and calls
26804 grub_linux16_real_boot().
26805
26806 * loader/i386/bsd.c: Include `<grub/video.h>'.
26807 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26808 text mode before calling grub_unix_real_boot().
26809
26810 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26811 (grub_multiboot_boot): Switch to text mode before calling
26812 grub_relocator32_boot().
26813
26814 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26815 (grub_chainloader_boot): Switch to text mode before calling
26816 grub_chainloader_real_boot().
26817
d6f93a66
RM
268182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
268192010-01-05 Colin Watson <cjwatson@ubuntu.com>
26820
26821 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26822 non-empty value.
26823
268242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
268252010-01-05 Colin Watson <cjwatson@ubuntu.com>
26826
26827 * util/grub.d/00_header.in: Define a "savedefault" function for use
26828 in menu entries.
26829 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26830
268312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
268322010-01-05 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26835 saved_entry if boot_once is unset.
26836 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26837 previous saved entry (i.e. grub-reboot).
26838
268392009-12-08 Colin Watson <cjwatson@ubuntu.com>
26840
26841 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26842
268432009-12-08 Colin Watson <cjwatson@ubuntu.com>
26844
26845 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26846 `var=val'.
26847 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26848
268492009-12-08 Colin Watson <cjwatson@ubuntu.com>
26850
26851 * util/grub-reboot.in: Fix --version output.
26852 * util/grub-set-default.in: Likewise.
26853
268542009-12-08 Colin Watson <cjwatson@ubuntu.com>
26855
26856 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26857 blocks.
26858
268592009-12-08 Colin Watson <cjwatson@ubuntu.com>
26860
26861 * util/grub.d/00_header.in: Quote the value assigned to `default',
26862 in case it contains spaces.
26863
268642009-12-08 Colin Watson <cjwatson@ubuntu.com>
26865
26866 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26867 `save_default_entry' call from the macosx case to the linux case.
26868
268692009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
268702009-10-25 Colin Watson <cjwatson@ubuntu.com>
26871
26872 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26873 in `chosen' environment variable.
26874 * normal/menu_text.c (get_entry_number): Check if the variable
26875 matches the title of a menu entry.
26876 (run_menu): Pass menu to get_entry_number.
26877
26878 * util/grub-reboot.in: New file.
26879 * util/grub-set-default.in: New file.
26880 * conf/common.rmk (grub-reboot): New utility.
26881 (grub-set-default): New utility.
26882
26883 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26884 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26885 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26886 move it to `saved_entry' for the next boot. Load environment on
26887 initialisation.
26888 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26889 * util/grub.d/10_hurd.in: Likewise.
26890 * util/grub.d/10_linux.in (linux_entry): Likewise.
26891 * util/grub.d/10_windows.in: Likewise.
26892 * util/grub.d/30_os-prober.in: Likewise.
26893
26894 * util/grub-install.in: Create environment block.
26895 * util/i386/efi/grub-install.in: Likewise.
26896 * util/ieee1275/grub-install.in: Likewise.
26897 * util/sparc64/ieee1275/grub-install.in: Likewise.
26898
0934d184
BC
268992010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26900
26901 Unit testing framework for GRUB.
26902
26903 * Makefile.in: Test framework build rules for 'make check'.
26904 * conf/tests.rmk: Build rules for individual tests and framework.
26905
26906 * include/grub/test.h: Header file for whitebox tests.
26907 * tests/lib/functional_test.c: Framework support for whitebox
26908 functional tests.
26909 * tests/lib/test.c: Common whitebox testing code for unit and
26910 functional tests.
26911 * tests/lib/unit_test.c: Framework support for whitebox unit
26912 tests.
26913
26914 * tests/util/grub-shell-tester.in: Support utility for grub-script
26915 tests.
26916 * tests/util/grub-shell.in: Utility to execute grub-script
26917 commands in a Qemu instance.
26918
26919 * tests/example_functional_test.c: Example whitebox functional
26920 test.
26921 * tests/example_grub_script_test.in: Example grub-script test.
26922 * tests/example_scripted_test.in: Example scripted test.
26923 * tests/example_unit_test.c: Example whitebox unit test.
26924
9c4ffeeb
VS
269252010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26926
26927 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26928 Add loader/i386/multiboot_mbi.c.
26929 (multiboot2_mod_SOURCES): Likewise.
26930 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26931 (multiboot2_mod_SOURCES): Likewise.
26932 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26933 (grub_multiboot_make_mbi): Likewise.
26934 (grub_multiboot_free_mbi): Likewise.
26935 (grub_multiboot_init_mbi): Likewise.
26936 (grub_multiboot_add_module): Likewise.
26937 (grub_multiboot_set_bootdev): Likewise.
26938 * loader/i386/multiboot.c (mbi): Removed.
26939 (mbi_dest): Likewise.
26940 (alloc_mbi): New variable.
26941 (grub_multiboot_payload_size): Removed. All users updated.
26942 (grub_multiboot_pure_size): New variable.
26943 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26944 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26945 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26946 (grub_fill_multiboot_mmap): Likewise.
26947 (grub_multiboot_get_bootdev): Likewise.
26948 (grub_multiboot): Use multiboot_mbi functions.
26949 * loader/i386/multiboot_mbi.c: New file.
26950
17383dfe
VS
269512010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26954 it would result in module crash.
26955
c1f28820
VS
269562010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26959 (grub_ofconsole_getwh): Split to ...
26960 (grub_ofconsole_getwh): ... this.
26961 (grub_ofconsole_dimensions): ...and this.
26962 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26963
58655a16
RM
269642010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26965
26966 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26967
10891398
VS
269682010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26969
26970 * loader/i386/pc/multiboot2.c: Removed stalled file.
26971
0b8a223c
VS
269722010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26975 Reported by: Grégoire Sutre
26976
92ab12b0
RM
269772010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26978
26979 * util/misc.c (canonicalize_file_name): New function.
26980 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26981 instead of realpath().
26982
a788afb6
CW
269832010-01-11 Colin Watson <cjwatson@ubuntu.com>
26984
26985 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26986 and make it clearer that it's optional. Based on confusion
26987 witnessed on IRC.
26988
ffa8e3d2
VS
269892010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26992 in premature implicit newline.
26993
e9060a9d
VS
269942010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26997 which resulted in garbled command line at the end of screen.
26998
f0d0c0b7
RM
269992010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27000
27001 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27002 initialization with similar approach as with other Linux loaders.
27003
0e60bae7
RM
270042010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27005
27006 Fix i386-ieee1275 build.
27007
27008 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27009 and grub_term_height() for video_{width,height} initialization.
27010
270112010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27012
27013 Fix grub-emu build.
27014
27015 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27016
cdb3f378
RM
270172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
270182010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27019
27020 Support for multiple terminals.
27021
27022 * Makefile.in (pkglib_DATA): terminal.lst.
27023 (terminal.lst): New target.
27024 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27025 (GRUB_MOD_INIT(handler)): Likewise.
27026 (GRUB_MOD_FINI(handler)): Likewise.
27027 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27028 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27029 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27030 (grub_cmd_sleep): Use grub_term_save_pos.
27031 * commands/terminal.c: New file.
27032 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27033 commands/terminal.c and lib/charset.c.
27034 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27035 (pkglib_MODULES): Add terminal.mod.
27036 (terminal_mod_SOURCES): New variable.
27037 (terminal_mod_CFLAGS): Likewise.
27038 (terminal_mod_LDFLAGS): Likewise.
27039 * genhandlerlist.sh: Don't handle terminals.
27040 * genmk.rb: Generate terminal-*.lst.
27041 * genterminallist.sh: New file.
27042 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27043 (grub_is_valid_utf8): Likewise.
27044 (grub_utf8_to_ucs4_alloc): Likewise.
27045 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27046 (grub_menu_register_viewer): Changed argument.
27047 (grub_menu_try_text): New proto.
27048 (grub_gfxmenu_try_hook): New declaration.
27049 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27050 (grub_menu_init_page): Additional argument term.
27051 (grub_normal_init_page): Likewise.
27052 (grub_cmdline_get): Arguments simplified.
27053 (grub_utf8_to_ucs4_alloc): Removed.
27054 (grub_print_ucs4): Additional argument term.
27055 (grub_getstringwidth): Likewise.
27056 (grub_print_message_indented): Likewise.
27057 (grub_menu_text_register_instances): New proto.
27058 (grub_show_menu): Likewise.
27059 (read_terminal_list): Likewise.
27060 (grub_set_more): Likewise.
27061 * include/grub/parser.h: Include handler.h.
27062 * include/grub/reader.h: Rewritten.
27063 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27064 (GRUB_TERM_WIDTH): Changed to function.
27065 (GRUB_TERM_HEIGHT): Likewise.
27066 (GRUB_TERM_BORDER_WIDTH): Likewise.
27067 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27068 (GRUB_TERM_NUM_ENTRIES): Likewise.
27069 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27070 (GRUB_TERM_CURSOR_X): Likewise.
27071 (grub_term_input_class): Likewise.
27072 (grub_term_output_class): Likewise.
27073 (grub_term_outputs_disabled): New declaration.
27074 (grub_term_inputs_disabled): Likewise.
27075 (grub_term_outputs): Likewise.
27076 (grub_term_inputs): Likewise.
27077 (grub_term_register_input): Rewritten.
27078 (grub_term_register_output): Likewise.
27079 (grub_term_unregister_input): Likewise.
27080 (grub_term_unregister_output): Likewise.
27081 (FOR_ACTIVE_TERM_INPUTS): New macro.
27082 (FOR_DISABLED_TERM_INPUTS): Likewise.
27083 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27084 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27085 * include/grub/terminfo.h: Add oterm argument to all protypes.
27086 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27087 Use grub_rescue_run.
27088 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27089 All users updated.
27090 * kern/reader.c: Removed. All users updated.
27091 * kern/rescue_reader.c (grub_rescue_init): Removed.
27092 (grub_rescue_reader): Likewise.
27093 (grub_register_rescue_reader): Likewise.
27094 (grub_rescue_run): New function based on kern/reader.c.
27095 * kern/term.c: Adapted for multiterm.
27096 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27097 (grub_is_valid_utf8): Likewise.
27098 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27099 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27100 right terminal.
27101 * loader/i386/linux.c (grub_linux_boot): Likewise.
27102 * normal/auth.c (grub_username_get): New function.
27103 (grub_auth_check_authentication): Use grub_username_get.
27104 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27105 * normal/color.c: Adapt for multiterm.
27106 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27107 (grub_normal_init_page): Additional argument term.
27108 (read_lists): Call read_terminal_lists.
27109 (grub_enter_normal_mode): Call grub_cmdline_run.
27110 Handle grub_normal_exit_level.
27111 (grub_cmd_normal): Make reentrant.
27112 (grub_cmd_normal_exit): New function.
27113 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27114 * normal/menu.c: Adapt for multiterm.
27115 * normal/menu_entry.c: Likewise.
27116 * normal/menu_text.c: Likewise.
27117 * normal/menu_viewer.c: Removed. All users updated.
27118 * normal/term.c: New file.
27119 * util/console.c: Change order of includes to workaround a bug in
27120 ncurses headers.
27121 * term/terminfo.c: New argument oterm on all exported functions.
27122 All users updated.
27123 * util/grub-editenv.c (grub_term_input_class): Removed.
27124 (grub_term_output_class): Likewise.
27125
1a064917
RM
271262010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27127
27128 Make loader output a bit more user-friendly.
27129
27130 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27131 is being loaded. Likewise for the Hurd.
27132
27133 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27134 that kernel of FreeBSD ${version} is being loaded.
27135
27136 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27137 grub_dprintf().
27138 (grub_cmd_initrd): Likewise.
27139 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27140 that Linux ${version} is being loaded. Likewise for initrd.
27141
5ce0a83a 271422010-01-09 Carles Pina i Estany <carles@pina.cat>
27143
27144 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27145
809bbfeb 271462010-01-08 Carles Pina i Estany <carles@pina.cat>
27147
27148 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27149 (GRUB_MOD_INIT): Gettextizze.
27150 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27151 (GRUB_MOD_INIT): Gettextizze.
27152 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27153 (grub_cmd_linux): Capitalise Linux.
27154 (GRUB_MOD_INIT): Gettextizze.
27155 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27156 (grub_cmd_linux): Capitalise Linux.
27157 (GRUB_MOD_INIT): Gettextizze.
27158 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27159 (grub_cmd_linux): Capitalise Linux.
27160 (GRUB_MOD_INIT): Gettextizze.
27161 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27162 (GRUB_MOD_INIT): Gettextizze.
27163 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27164 (grub_cmd_linux): Capitalise Linux.
27165 (GRUB_MOD_INIT): Gettextizze.
27166 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27167 (grub_cpu_xnu_init): Gettextizze.
27168 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27169 (GRUB_MOD_INIT): Gettextizze.
27170 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27171 (GRUB_MOD_INIT): Gettextizze.
27172 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27173 (grub_linux_load64): Capitalise Linux.
27174 (GRUB_MOD_INIT): Gettextizze.
27175 * loader/xnu.c: Include `<grub/i18n.h>'.
27176 (GRUB_MOD_INIT): Gettextizze.
27177 * po/POTFILES: Add `loader/efi/appleloader.c',
27178 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27179 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27180 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27181 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27182 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27183 and `loader/xnu.c'.
27184
b394b2ca
RM
271852010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27186
27187 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27188
271892010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27190
27191 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27192 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27193 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27194
bc8b32b3
RM
271952010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 Reset Multiboot 2 support. New loader implements the draft in
27198 /branches/multiboot2 and shares as much code as possible with the
27199 production Multiboot 1 implementation.
27200
27201 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27202 * loader/multiboot2.c: Likewise.
27203 * loader/i386/multiboot_helper.S: Likewise.
27204 * include/multiboot2.h: Replace with latest version from the draft
27205 in /branches/multiboot2.
27206
27207 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27208 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27209 and `loader/multiboot2.c'.
27210 (pkglib_MODULES): Add `multiboot2.mod'.
27211 (multiboot2_mod_SOURCES): New variable.
27212 (multiboot2_mod_LDFLAGS): Likewise.
27213 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27214
27215 * conf/i386-pc.rmk: Likewise.
27216
27217 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27218 (multiboot_mod_SOURCES): Remove variable.
27219 (multiboot_mod_LDFLAGS): Likewise.
27220 (multiboot_mod_CFLAGS): Likewise.
27221
27222 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27223 `<multiboot2.h>' instead of `<multiboot.h>'.
27224 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27225 (MULTIBOOT_HEADER_MAGIC): New macros.
27226
27227 * loader/multiboot_loader.c (module_version_status): Remove variable.
27228 (find_multi_boot2_header): Remove function.
27229 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27230 logic. Always check for the Multiboot version we're compiling for.
27231 (grub_cmd_module_loader): Likewise.
27232 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27233 command instead of `multiboot'.
27234
5d2c52b8
RM
272352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27236
27237 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27238 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27239 all users.
27240
53108d92
RM
272412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
272422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27243
27244 Fix breakage introduced with previous commit.
27245
27246 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27247 commands.
27248 * normal/handler.c (read_handler_list): Revert part of previous commit
27249 affecting this file.
27250 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27251 (grub_normal_execute): ... here.
27252
e2e936b2
RM
272532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 Merge prefix-redefinition-fix branch.
27256
27257 * normal/autofs.c (read_fs_list): Make function capable of being
27258 run multiple times, gracefuly replacing the previous data
27259 structures.
27260 * normal/dyncmd.c (read_command_list): Likewise.
27261 * normal/handler.c (read_handler_list): Likewise.
27262 * normal/main.c (read_lists): New function. Calls all the
27263 list reading functions.
27264 (grub_normal_execute): Use read_lists() instead of calling all
27265 list reading functions explicitly. Register read_lists() as a
27266 variable hook attached to ${prefix}.
27267
607a3701
VS
272682010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27269
27270 Merge crypto branch.
27271
27272 * Makefile.in (pkglib_DATA): Add crypto.lst.
27273 (crypto.lst): New target.
27274 * commands/hashsum.c: New file.
27275 * commands/password.c (check_password): Use grub_crypto_memcmp.
27276 * commands/password_pbkdf2.c: New file.
27277 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27278 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27279 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27280 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27281 -I$(srcdir)/lib/libgcrypt_wrap.
27282 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27283 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27284 password_pbkdf2.mod.
27285 (crypto_mod_SOURCES): New variable.
27286 (crypto_mod_CFLAGS): Likewise.
27287 (crypto_mod_LDFLAGS): Likewise.
27288 (hashsum_mod_SOURCES): New variable.
27289 (hashsum_mod_CFLAGS): Likewise.
27290 (hashsum_mod_LDFLAGS): Likewise.
27291 (pbkdf2_mod_SOURCES): New variable.
27292 (pbkdf2_mod_CFLAGS): Likewise.
27293 (pbkdf2_mod_LDFLAGS): Likewise.
27294 (password_pbkdf2_mod_SOURCES): New variable.
27295 (password_pbkdf2_mod_CFLAGS): Likewise.
27296 (password_pbkdf2_mod_LDFLAGS): Likewise.
27297 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27298 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27299 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27300 Include conf/gcry.rmk.
27301 * include/grub/auth.h: Rewritten.
27302 * include/grub/crypto.h: New file.
27303 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27304 * include/grub/normal.h (read_crypto_list): New prototype.
27305 * lib/crypto.c: New file.
27306 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27307 * lib/pbkdf2.c: Likewise.
27308 * normal/auth.c (grub_auth_strcmp): Removed.
27309 (grub_iswordseparator): Likewise.
27310 (grub_auth_strword): Likewise.
27311 (is_authenticated): Use grub_strword.
27312 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27313 and grub_strword. Pass entered password to authentication callback.
27314 * normal/crypto.c: New file.
27315 * normal/main.c: Call read_crypto_list.
27316 * util/grub-mkpasswd-pbkdf2.c: New file.
27317 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27318
42841caa
VS
273192010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27320
27321 Fix descent and ascent calculation.
27322
27323 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27324 (options): New option "asce".
27325 (usage): Likewise.
27326 (add_char): Ignore invalid glyphs for descent calculation.
27327 Calculate ascent from actual content.
27328 (print_glyphs): Use 'asce'.
27329 (write_font): Likewise. Allow ascent override.
27330 (main): Handle "asce" option.
27331
e7730de7 273322010-01-06 Carles Pina i Estany <carles@pina.cat>
27333
27334 * kern/err.c: Include `<grub/i18n.h>'.
27335 (grub_print_error): Add full stop. Gettextizze.
27336 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27337 (grub_bsd_load_elf): Capitalise ELF.
27338 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27339 (grub_cmd_freebsd_module): Likewise.
27340 (grub_cmd_freebsd_module_elf): Likewise.
27341 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27342
40e3a41f 273432010-01-06 Carles Pina i Estany <carles@pina.cat>
27344
27345 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27346 * commands/search_file.c (HELP_MESSAGE): New macro.
27347 * commands/search_label.c (HELP_MESSAGE): Likewise.
27348 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27349 * po/POTFILES: Add `commands/search_file.c',
27350 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27351 `commands/search.c'.
27352
83507e68
RM
273532010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27354
27355 * config.rpath: Update from Gnulib.
27356
465c787b
YB
273572010-01-05 Yves Blusseau <blusseau@zetam.org>
27358
27359 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27360
6581dd3a
YB
273612010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27362
27363 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27364
3bff18c5
CW
273652010-01-05 Colin Watson <cjwatson@ubuntu.com>
27366
27367 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27368 arguments to fread so that we get a return value in bytes, rather
27369 than something that will normally be rounded down to 0.
27370 Adjust error handling to avoid producing garbage when size_t is not
27371 the same size as long long.
27372
a1368118
CW
273732010-01-05 Colin Watson <cjwatson@ubuntu.com>
27374
27375 * util/mkisofs/write.c (padblock_write): Check return value of
27376 fread.
27377
7c302978
RM
273782010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27381 floppy images now.
27382
27383 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27384
e33ace06
RM
273852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27386
27387 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27388 instead of manual alignment.
27389 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27390 verbose). Avoid attempts to read past end of the device
27391 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27392 but GRUB_DISK_CACHE_SIZE may exceed that).
27393
4b856776
RM
273942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27395
27396 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27397 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27398 it to upper layer.
27399
52c2d97f
VS
274002010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27401
27402 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27403 New constant.
27404 (grub_efi_piwg_device_path): New structure
27405 (grub_efi_piwg_device_path_t): New type.
27406 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27407 (devpath_1): Transform to a structure. All users updated.
27408 (devpath_2): Likewise.
27409 (devpath_3): Likewise.
27410 (devpath_4): Likewise.
27411 (devpath_5): Likewise.
27412
98ff6a54
VS
274132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27414
27415 * loader/efi/appleloader.c: Restored. Update all users.
27416
3a73dcb6
RM
274172010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27418
27419 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27420
27421 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27422 (struct boot_blocklist): Move from here ...
27423 * include/grub/i386/pc/boot.h [ASM_FILE]
27424 (struct grub_boot_blocklist): ... to here. Update all users.
27425 (setup): Only initialize `start' member of `first_block'
27426 structure. Add assert() calls to verify the other members.
27427
27428 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27429 (generate_image): Fix broken blocklist length initialization.
27430 Add assert() call to verify blocklist `segment' field.
27431
ab0eeb0c
RM
274322010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27433
27434 * loader/efi/appleloader.c: Remove. Update all users.
27435
58bc8bd5
RM
274362010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27437
27438 * boot/i386/pc/boot.S: Update copyright year.
27439 * boot/i386/pc/cdboot.S: Likewise.
27440 * boot/i386/pc/diskboot.S: Likewise.
27441 * boot/i386/pc/lnxboot.S: Likewise.
27442 * boot/i386/pc/pxeboot.S: Likewise.
27443 * bus/pci.c: Likewise.
27444 * commands/cmp.c: Likewise.
27445 * commands/help.c: Likewise.
27446 * commands/hexdump.c: Likewise.
27447 * commands/i386/pc/halt.c: Likewise.
27448 * commands/i386/pc/play.c: Likewise.
27449 * commands/i386/pc/vbeinfo.c: Likewise.
27450 * commands/ls.c: Likewise.
27451 * commands/test.c: Likewise.
27452 * disk/dmraid_nvidia.c: Likewise.
27453 * disk/i386/pc/biosdisk.c: Likewise.
27454 * disk/ieee1275/nand.c: Likewise.
27455 * disk/ieee1275/ofdisk.c: Likewise.
27456 * disk/lvm.c: Likewise.
27457 * disk/raid.c: Likewise.
27458 * disk/raid6_recover.c: Likewise.
27459 * disk/scsi.c: Likewise.
27460 * fs/affs.c: Likewise.
27461 * fs/cpio.c: Likewise.
27462 * fs/ext2.c: Likewise.
27463 * fs/hfs.c: Likewise.
27464 * fs/iso9660.c: Likewise.
27465 * fs/ntfs.c: Likewise.
27466 * fs/sfs.c: Likewise.
27467 * fs/udf.c: Likewise.
27468 * fs/ufs.c: Likewise.
27469 * fs/xfs.c: Likewise.
27470 * gencmdlist.sh: Likewise.
27471 * genmk.rb: Likewise.
27472 * include/grub/disk.h: Likewise.
27473 * include/grub/efi/api.h: Likewise.
27474 * include/grub/efi/efi.h: Likewise.
27475 * include/grub/efi/pe32.h: Likewise.
27476 * include/grub/elf.h: Likewise.
27477 * include/grub/fs.h: Likewise.
27478 * include/grub/i386/at_keyboard.h: Likewise.
27479 * include/grub/i386/pc/memory.h: Likewise.
27480 * include/grub/i386/pc/vbe.h: Likewise.
27481 * include/grub/i386/pci.h: Likewise.
27482 * include/grub/i386/tsc.h: Likewise.
27483 * include/grub/ieee1275/ieee1275.h: Likewise.
27484 * include/grub/ntfs.h: Likewise.
27485 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27486 * include/grub/sparc64/libgcc.h: Likewise.
27487 * include/grub/symbol.h: Likewise.
27488 * include/grub/types.h: Likewise.
27489 * include/multiboot2.h: Likewise.
27490 * io/gzio.c: Likewise.
27491 * kern/device.c: Likewise.
27492 * kern/disk.c: Likewise.
27493 * kern/efi/efi.c: Likewise.
27494 * kern/efi/mm.c: Likewise.
27495 * kern/elf.c: Likewise.
27496 * kern/file.c: Likewise.
27497 * kern/i386/dl.c: Likewise.
27498 * kern/i386/pc/init.c: Likewise.
27499 * kern/i386/pc/startup.S: Likewise.
27500 * kern/ieee1275/ieee1275.c: Likewise.
27501 * kern/ieee1275/init.c: Likewise.
27502 * kern/main.c: Likewise.
27503 * kern/mm.c: Likewise.
27504 * kern/powerpc/dl.c: Likewise.
27505 * kern/sparc64/dl.c: Likewise.
27506 * kern/x86_64/dl.c: Likewise.
27507 * lib/hexdump.c: Likewise.
27508 * loader/efi/appleloader.c: Likewise.
27509 * loader/i386/ieee1275/linux.c: Likewise.
27510 * loader/i386/pc/chainloader.c: Likewise.
27511 * loader/i386/pc/linux.c: Likewise.
27512 * loader/i386/pc/multiboot2.c: Likewise.
27513 * loader/ieee1275/multiboot2.c: Likewise.
27514 * loader/multiboot2.c: Likewise.
27515 * loader/multiboot_loader.c: Likewise.
27516 * loader/powerpc/ieee1275/linux.c: Likewise.
27517 * normal/completion.c: Likewise.
27518 * normal/menu_entry.c: Likewise.
27519 * partmap/apple.c: Likewise.
27520 * util/grub.d/10_hurd.in: Likewise.
27521 * util/hostfs.c: Likewise.
27522 * video/readers/png.c: Likewise.
27523
e2d70b5c
CW
275242010-01-03 Colin Watson <cjwatson@ubuntu.com>
27525
27526 * include/grub/misc.h (GNUC_PREREQ): New macro.
27527 (ATTRIBUTE_ERROR): New macro.
27528 * include/grub/list.h (grub_bad_type_cast_real): Use
27529 ATTRIBUTE_ERROR.
27530
a173283f 275312010-01-03 Carles Pina i Estany <carles@pina.cat>
27532
27533 * normal/menu_text.c (print_message): Change messages.
27534
7fa7ff74 275352010-01-03 Carles Pina i Estany <carles@pina.cat>
27536
27537 * normal/menu_entry.c (store_completion): Gettextizze.
27538
136d24f6 275392010-01-03 Carles Pina i Estany <carles@pina.cat>
27540
27541 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27542
f936862e 275432010-01-03 Carles Pina i Estany <carles@pina.cat>
27544
27545 * po/POTFILES: Sort correctly.
27546
29c44ad1 275472010-01-03 Carles Pina i Estany <carles@pina.cat>
27548
27549 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27550 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27551 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27552 full stop.
27553 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27554 summary. Gettextizze the strings.
27555 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27556 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27557 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27558 full stop.
27559 (GRUB_MOD_INIT): Remove command name from summary.
27560 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27561 summary.
27562 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27563 * term/i386/pc/serial.c (options): Add full stops.
27564 (GRUB_MOD_INIT): Remove command name from the summary.
27565
77a79592 275662010-01-03 Carles Pina i Estany <carles@pina.cat>
27567
27568 * commands/acpi.c: Gettextizze help strings and/or options. Include
27569 `grub/i18n.h' if needed.
27570 * commands/blocklist.c: Likewise.
27571 * commands/boot.c: Likewise.
27572 * commands/cat.c: Likewise.
27573 * commands/cmp.c: Likewise.
27574 * commands/configfile.c: Likewise.
27575 * commands/crc.c: Likewise.
27576 * commands/date.c: Likewise.
27577 * commands/echo.c: Likewise.
27578 * commands/efi/fixvideo.c: Likewise.
27579 * commands/efi/loadbios.c: Likewise.
27580 * commands/gptsync.c: Likewise.
27581 * commands/halt.c: Likewise.
27582 * commands/handler.c: Likewise.
27583 * commands/hdparm.c: Likewise.
27584 * commands/hexdump.c: Likewise.
27585 * commands/i386/cpuid.c: Likewise.
27586 * commands/i386/pc/drivemap.c: Likewise.
27587 * commands/i386/pc/halt.c: Likewise.
27588 * commands/i386/pc/pxecmd.c: Likewise.
27589 * commands/i386/pc/vbeinfo.c: Likewise.
27590 * commands/i386/pc/vbetest.c: Likewise.
27591 * commands/ieee1275/suspend.c: Likewise.
27592 * commands/keystatus.c: Likewise.
27593 * commands/loadenv.c: Likewise.
27594 * commands/ls.c: Likewise.
27595 * commands/lsmmap.c: Likewise.
27596 * commands/lspci.c: Likewise.
27597 * commands/memrw.c: Likewise.
27598 * commands/minicmd.c: Likewise.
27599 * commands/parttool.c: Likewise.
27600 * commands/password.c: Likewise.
27601 * commands/probe.c: Likewise.
27602 * commands/read.c: Likewise.
27603 * commands/reboot.c: Likewise.
27604 * commands/search.c: Likewise.
27605 * commands/sleep.c: Likewise.
27606 * commands/test.c: Likewise.
27607 * commands/true.c: Likewise.
27608 * commands/usbtest.c: Likewise.
27609 * commands/videotest.c: Likewise.
27610 * commands/xnu_uuid.c: Likewise.
27611 * disk/loopback.c: Likewise.
27612 * hello/hello.c: Likewise.
27613 * loader/i386/bsd.c: Likewise.
27614 * term/i386/pc/serial.c: Likewise.
27615 * po/POTFILES: Add new files.
27616
da8d5c53
CW
276172010-01-02 Colin Watson <cjwatson@ubuntu.com>
27618
27619 * term/i386/pc/at_keyboard.c
27620 (keyboard_controller_wait_untill_ready): Rename to ...
27621 (keyboard_controller_wait_until_ready): ... this. Update all users.
27622
33937904 276232010-01-01 Carles Pina i Estany <carles@pina.cat>
27624
27625 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27626 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27627 string using string width.
27628 * normal/menu_text.c (grub_print_message_indented): Use
27629 grub_print_spaces and not print_spaces.
27630 (print_timeout): Likewise.
27631 (print_spaces): Move to...
27632 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27633
3fd3b8d8
RM
276342010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27635
27636 Import from Gnulib.
27637
27638 * gnulib/getdelim.c: New file.
27639 * gnulib/getline.c: Likewise.
27640
33433555
VS
276412009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27642
27643 * include/grub/list.h (grub_assert_fail): Removed.
27644 (grub_bad_type_cast_real): New function.
27645 (grub_bad_type_cast): New macro.
27646 (GRUB_AS_LIST): Use grub_bad_type_cast.
27647 (GRUB_AS_LIST_P): Likewise.
e44721e8 27648 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27649 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27650 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27651 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27652 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27653
f5a51306
VS
276542009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27657 Fix syntax error.
27658
90d1e879
RM
276592009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27660
27661 * configure.ac: Check for TARGET_CFLAGS initialization before we
27662 initialize it ourselves (sigh).
27663 Move a few modifications to TARGET_CFLAGS to be unconditional
27664 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27665 eh_frame)
27666
27667 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27668 * term/i386/pc/at_keyboard.c
27669 (keyboard_controller_wait_untill_ready): Likewise.
27670 (keyboard_controller_led): Rename `led_status' paramter to avoid
27671 name conflict.
27672
465b5a81 276732009-12-28 Carles Pina i Estany <carles@pina.cat>
27674
27675 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27676 quotes.
27677
c181849b
VS
276782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27679
27680 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27681
9c8739a4
VS
276822009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27683
27684 * normal/menu_text.c (grub_print_message_indented): Prevent
27685 past-the-end-of-array dereference.
27686
3e74249c
VS
276872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27688
27689 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27690 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27691
64fd18ed 276922009-12-27 Carles Pina i Estany <carles@pina.cat>
27693
27694 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27695 * normal/main.c (grub_normal_read_line): Remove a space from the
27696 default prompt.
27697
714af9b9 276982009-12-27 Carles Pina i Estany <carles@pina.cat>
27699
27700 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27701 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27702 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27703 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27704 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27705 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27706 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27707
82f3e412 277082009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27709
27710 * video/readers/jpeg.c (cmd): Declare.
27711 (grub_cmd_jpegtest): Use `grub_command_t' type.
27712 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27713 Assign to `cmd'.
27714 (GRUB_MOD_FINI): Use `cmd' to unregister.
27715 * video/readers/png.c (cmd): Declare.
27716 (grub_cmd_pngtest): Use `grub_command_t' type.
27717 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27718 Assign to `cmd'.
27719 (GRUB_MOD_FINI): Use `cmd' to unregister.
27720 * video/readers/tga.c (cmd): Declare.
27721 (grub_cmd_tgatest): Use `grub_command_t' type.
27722 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27723 Assign to `cmd'.
27724 (GRUB_MOD_FINI): Use `cmd' to unregister.
27725
82f3e412 277262009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27727
27728 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27729 stops.
27730 * kern/corecmd.c (grub_register_core_commands): Likewise.
27731 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27732 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27733 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27734 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27735 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27736 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27737 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27738 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27739 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27740 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27741 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27742 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27743 * normal/handler.c (insert_handler): Likewise.
27744 * normal/main.c (GRUB_MOD_INIT): Likewise.
27745 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27746
fdcdbb66 277472009-12-26 Carles Pina i Estany <carles@pina.cat>
27748
27749 * commands/help.c (grub_cmd_help): Print the command name before the
27750 summary.
27751 (GRUB_MOD_INIT): Remove command name from the summary.
27752 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27753 string as summary.
fdcdbb66 27754 * lib/arg.c (find_long): Print the command name before the summary.
27755 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27756 summary.
27757 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27758 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27759 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27760 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27761 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27762 * commands/date.c (GRUB_MOD_INIT): Likewise.
27763 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27764 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27765 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27766 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27767 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27768 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27769 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27770 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27771 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27772 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27773 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27774 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27775 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27776 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27777 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27778 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27779 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27780 * commands/password.c (GRUB_MOD_INIT): Likewise.
27781 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27782 * commands/read.c (GRUB_MOD_INIT): Likewise.
27783 * commands/search.c (GRUB_MOD_INIT): Likewise.
27784 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27785 * commands/test.c (GRUB_MOD_INIT): Likewise.
27786 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27787 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27788 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27789 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27790 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27791 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27792 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27793 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27794 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27795 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27796 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27797 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27798 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27799 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27800
9c288be2
VS
278012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27802
27803 Use search command for preliminar UUID search.
27804
27805 * commands/search.c: Split into ...
27806 * commands/search_wrap.c: ...this
27807 * commands/search.c: ...and this.
27808 * commands/search_file.c: New file.
27809 * commands/search_label.c: New file.
27810 * commands/search_uuid.c: New file.
27811 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27812 Add commands/search_wrap.c, commands/search_file.c,
27813 commands/search_label.c and commands/search_uuid.c.
27814 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27815 (search_mod_SOURCES): Set to commands/search_wrap.c.
27816 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27817 search_label.mod.
27818 (search_fs_file_mod_SOURCES): New variable.
27819 (search_fs_file_mod_CFLAGS): Likewise.
27820 (search_fs_file_mod_LDFLAGS): Likewise.
27821 (search_label_mod_SOURCES): Likewise.
27822 (search_label_mod_CFLAGS): Likewise.
27823 (search_label_mod_LDFLAGS): Likewise.
27824 (search_fs_uuid_mod_SOURCES): New variable.
27825 (search_fs_uuid_mod_CFLAGS): Likewise.
27826 (search_fs_uuid_mod_LDFLAGS): Likewise.
27827 (fs_file_mod_SOURCES): Removed.
27828 (fs_file_mod_CFLAGS): Likewise.
27829 (fs_file_mod_LDFLAGS): Likewise.
27830 (fs_uuid_mod_SOURCES): Removed.
27831 (fs_uuid_mod_CFLAGS): Likewise.
27832 (fs_uuid_mod_LDFLAGS): Likewise.
27833 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27834 Set to util/grub-install.in.
27835 * disk/fs_file.c: Removed.
27836 * disk/fs_uuid.c: Likewise.
27837 * include/grub/search.h: New file.
27838 * util/grub-install.in: Handle sparc64.
27839 Create and use load.cfg.
27840 * util/sparc64/ieee1275/grub-install.in: Removed.
27841
db943399
VS
278422009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27843
27844 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27845 Ignore return status if CF is cleared.
27846 (grub_biosdisk_get_diskinfo_standard): Likewise.
27847
3fdae612
RM
278482009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27849
27850 * term/i386/pc/at_keyboard.c
27851 (keyboard_controller_wait_untill_ready): New function.
27852 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27853 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27854 for keyboard polling, rather than duplicate the same loop. This
27855 saves a few bytes in code size.
27856
7ebaa2b4
VS
278572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27858
27859 Support for (pxe[:server[:gateway]]) syntax and
27860 use environment variable for PXE.
27861
27862 * commands/i386/pc/pxecmd.c (options): Removed.
27863 (print_ip): Removed.
27864 (grub_cmd_pxe): Removed
27865 (grub_cmd_pxe_unload): New function.
27866 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27867 (grub_pxe_your_ip): Made static.
27868 (grub_pxe_default_server_ip): Likewise.
27869 (grub_pxe_default_gateway_ip): Likewise.
27870 (grub_pxe_blksize): Likewise.
27871 (parse_ip): New function.
27872 (grub_pxe_open): Support server and gateway specification.
27873 (grub_pxe_close): Free disk->data.
27874 (grub_pxefs_open): Use disk->data.
27875 (grub_pxefs_read): Likewise.
27876 (grub_env_write_readonly): New function.
27877 (set_mac_env): Likewise.
27878 (set_env_limn_ro): Likewise.
27879 (parse_dhcp_vendor): Likewise.
27880 (grub_pxe_detect): Set the environment variables.
27881 (set_ip_env): New function.
27882 (write_ip_env): Likewise.
27883 (grub_env_write_pxe_default_server): Likewise.
27884 (grub_env_write_pxe_default_gateway): Likewise.
27885 (grub_env_write_pxe_blocksize): Likewise.
27886 (GRUB_MOD_INIT(pxe)): Set environment variables.
27887 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27888 (grub_pxe_mac_addr_t): ... this. All users updated.
27889 (grub_pxe_your_ip): Removed.
27890 (grub_pxe_server_ip): Likewise.
27891 (grub_pxe_gateway_ip): Likewise.
27892 (grub_pxe_blksize): Likewise.
27893
ec5f98ab 278942009-12-25 Carles Pina i Estany <carles@pina.cat>
27895
27896 * commands/help.c: Include `<grub/i18n.h>'.
27897 (grub_cmd_help): Gettextizze.
27898 (GRUB_MOD_INIT): Likewise.
27899 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27900 (GRUB_MOD_INIT): Gettextizze.
27901 * commands/search.c: Include `<grub/i18n.h>'.
27902 (options): Gettextizze.
27903 (GRUB_MOD_INIT): Gettextizze.
27904 * lib/arg.c: Include `<grub/i18n.h>'.
27905 (help_options): Gettextizze.
27906 (find_long): Likewise.
27907 (grub_arg_show_help): Likewise.
27908 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27909 (read_command_list): Gettextizze.
27910 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27911 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27912
22815526
RM
279132009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27914
27915 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27916 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27917 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27918 (led_status): New variable.
27919 (keyboard_controller_led): New function.
27920 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27921 update led status for caps lock, num lock and scroll lock.
27922
0ad46fd7
FZ
279232009-12-25 Felix Zielcke <fzielcke@z-51.de>
27924
27925 * util/hostdisk.c (open_device): Fix a comment.
27926
d0e158c2
RM
279272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27928
27929 * util/grub-install.in (host_os): New variable.
27930 * util/i386/efi/grub-install.in (host_os): Likewise.
27931
401c0ad6
RM
279322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27933
27934 * util/mkisofs/write.c (padblock_write): Abort when given an
27935 excedingly large embed image, instead of silently truncating it.
27936
d14d3370
RM
279372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27938
27939 * include/multiboot.h: Indentation fixes.
27940
eeed10b4
RM
279412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27942
27943 * include/multiboot.h (struct multiboot_aout_symbol_table)
27944 (struct multiboot_elf_section_header_table): New structure
27945 declarations (stolen from GRUB Legacy).
27946 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27947 table information.
27948
27949 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27950 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27951 type aliases.
27952
681c70ab
RM
279532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27954
27955 * include/multiboot.h: Make comments src2texi-friendly.
27956
e4d47d8d
RM
279572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27958
27959 For consistency with [multiboot]/docs/boot.S.
27960
27961 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27962 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27963 (MULTIBOOT_MAGIC2): Rename from this ...
27964 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27965
a0b70bda
RM
279662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27967
27968 * include/multiboot.h: Remove `<grub/types.h>'.
27969 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27970 types. Update all users.
27971
61ba42be 279722009-12-25 Carles Pina i Estany <carles@pina.cat>
27973
27974 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27975 `couldn't' and `can not' by `cannot'.
27976 * commands/i386/pc/drivemap.c: Likewise.
27977 * disk/ata.c: Likewise.
27978 * disk/ieee1275/nand.c: Likewise.
27979 * fs/affs.c: Likewise.
27980 * fs/fat.c: Likewise.
27981 * fs/hfs.c: Likewise.
27982 * fs/hfsplus.c: Likewise.
27983 * fs/iso9660.c: Likewise.
27984 * fs/jfs.c: Likewise.
27985 * fs/minix.c: Likewise.
27986 * fs/reiserfs.c: Likewise.
27987 * fs/sfs.c: Likewise.
27988 * fs/udf.c: Likewise.
27989 * fs/ufs.c: Likewise.
27990 * fs/xfs.c: Likewise.
27991 * loader/powerpc/ieee1275/linux.c: Likewise.
27992 * loader/sparc64/ieee1275/linux.c: Likewise.
27993 * util/grub-probe.c: Likewise.
27994 * util/misc.c: Likewise.
27995
7fd0baee 279962009-12-24 Carles Pina i Estany <carles@pina.cat>
27997
27998 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27999 grub_errno calls.
28000 * commands/acpi.c: Likewise.
28001 * commands/blocklist.c: Likewise.
28002 * commands/efi/loadbios.c: Likewise.
28003 * commands/i386/pc/drivemap.c: Likewise.
28004 * commands/loadenv.c: Likewise.
28005 * commands/memrw.c: Likewise.
28006 * commands/password.c: Likewise.
28007 * commands/videotest.c: Likewise.
28008 * disk/ata.c: Likewise.
28009 * disk/ata_pthru.c: Likewise.
28010 * disk/dmraid_nvidia.c: Likewise.
28011 * disk/ieee1275/nand.c: Likewise.
28012 * disk/ieee1275/ofdisk.c: Likewise.
28013 * disk/loopback.c: Likewise.
28014 * disk/lvm.c: Likewise.
28015 * disk/mdraid_linux.c: Likewise.
28016 * disk/raid.c: Likewise.
28017 * disk/raid6_recover.c: Likewise.
28018 * disk/scsi.c: Likewise.
28019 * efiemu/main.c: Likewise.
28020 * efiemu/mm.c: Likewise.
28021 * efiemu/pnvram.c: Likewise.
28022 * efiemu/symbols.c: Likewise.
28023 * font/font.c: Likewise.
28024 * fs/cpio.c: Likewise.
28025 * fs/hfsplus.c: Likewise.
28026 * fs/iso9660.c: Likewise.
28027 * fs/jfs.c: Likewise.
28028 * fs/minix.c: Likewise.
28029 * fs/ntfs.c: Likewise.
28030 * fs/ntfscomp.c: Likewise.
28031 * fs/reiserfs.c: Likewise.
28032 * fs/ufs.c: Likewise.
28033 * fs/xfs.c: Likewise.
28034 * gettext/gettext.c: Likewise.
28035 * include/grub/auth.h: Likewise.
28036 * kern/elf.c: Likewise.
28037 * kern/file.c: Likewise.
28038 * kern/ieee1275/init.c: Likewise.
28039 * kern/ieee1275/mmap.c: Likewise.
28040 * kern/ieee1275/openfw.c: Likewise.
28041 * kern/powerpc/dl.c: Likewise.
28042 * kern/sparc64/dl.c: Likewise.
28043 * lib/arg.c: Likewise.
28044 * loader/i386/bsd.c: Likewise.
28045 * loader/i386/bsdXX.c: Likewise.
28046 * loader/i386/efi/linux.c: Likewise.
28047 * loader/i386/efi/xnu.c: Likewise.
28048 * loader/i386/ieee1275/linux.c: Likewise.
28049 * loader/i386/linux.c: Likewise.
28050 * loader/i386/multiboot.c: Likewise.
28051 * loader/i386/pc/linux.c: Likewise.
28052 * loader/i386/pc/multiboot2.c: Likewise.
28053 * loader/i386/xnu.c: Likewise.
28054 * loader/ieee1275/multiboot2.c: Likewise.
28055 * loader/macho.c: Likewise.
28056 * loader/machoXX.c: Likewise.
28057 * loader/multiboot2.c: Likewise.
28058 * loader/multiboot_loader.c: Likewise.
28059 * loader/powerpc/ieee1275/linux.c: Likewise.
28060 * loader/sparc64/ieee1275/linux.c: Likewise.
28061 * loader/xnu.c: Likewise.
28062 * loader/xnu_resume.c: Likewise.
28063 * mmap/i386/pc/mmap.c: Likewise.
28064 * normal/menu_viewer.c: Likewise.
28065 * partmap/acorn.c: Likewise.
28066 * partmap/amiga.c: Likewise.
28067 * partmap/apple.c: Likewise.
28068 * script/lexer.c: Likewise.
28069 * term/gfxterm.c: Likewise.
28070 * term/i386/pc/serial.c: Likewise.
28071 * term/i386/pc/vga.c: Likewise.
28072 * term/ieee1275/ofconsole.c: Likewise.
28073 * term/terminfo.c: Likewise.
28074 * video/bitmap.c: Likewise.
28075 * video/efi_gop.c: Likewise.
28076 * video/efi_uga.c: Likewise.
28077 * video/fb/video_fb.c: Likewise.
28078 * video/i386/pc/vbe.c: Likewise.
28079 * video/readers/tga.c: Likewise.
28080 * video/video.c: Likewise.
28081
0ad46fd7 280822009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28083
28084 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28085 * commands/lspci.c: Likewise.
28086 * commands/probe.c: Likewise.
28087 * commands/xnu_uuid.c: Likewise.
28088 * conf/i386-coreboot.rmk: Likewise.
28089 * conf/i386-efi.rmk: Likewise.
28090 * conf/i386-ieee1275.rmk: Likewise.
28091 * conf/i386-pc.rmk: Likewise.
28092 * conf/powerpc-ieee1275.rmk: Likewise.
28093 * conf/sparc64-ieee1275.rmk: Likewise.
28094 * conf/x86_64-efi.rmk: Likewise.
28095 * fs/i386/pc/pxe.c: Likewise.
28096 * gettext/gettext.c: Likewise.
28097 * include/grub/efi/graphics_output.h: Likewise.
28098 * include/grub/i386/pc/memory.h: Likewise.
28099 * kern/env.c: Likewise.
28100 * kern/i386/qemu/startup.S: Likewise.
28101 * lib/i386/pc/biosnum.c: Likewise.
28102 * lib/i386/relocator.c: Likewise.
28103 * lib/i386/relocator_asm.S: Likewise.
28104 * lib/relocator.c: Likewise.
28105 * loader/i386/bsd.c: Likewise.
28106 * loader/i386/multiboot.c: Likewise.
28107 * loader/i386/pc/chainloader.c: Likewise.
28108 * loader/i386/xnu.c: Likewise.
28109 * loader/xnu.c: Likewise.
28110 * normal/main.c: Likewise.
28111 * normal/menu_text.c: Likewise.
28112 * util/getroot.c: Likewise.
28113 * util/grub-mkconfig_lib.in: Likewise.
28114 * util/grub.d/00_header.in: Likewise.
28115 * util/i386/pc/grub-mkimage.c: Likewise.
28116 * util/mkisofs/eltorito.c: Likewise.
28117 * util/mkisofs/exclude.h: Likewise.
28118 * util/mkisofs/hash.c: Likewise.
28119 * util/mkisofs/iso9660.h: Likewise.
28120 * util/mkisofs/joliet.c: Likewise.
28121 * util/mkisofs/mkisofs.c: Likewise.
28122 * util/mkisofs/mkisofs.h: Likewise.
28123 * util/mkisofs/multi.c: Likewise.
28124 * util/mkisofs/name.c: Likewise.
28125 * util/mkisofs/rock.c: Likewise.
28126 * util/mkisofs/tree.c: Likewise.
28127 * util/mkisofs/write.c: Likewise.
28128 * video/efi_gop.c: Likewise.
28129
009ec743
VS
281302009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28131
28132 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28133 size counting.
28134
0ad46fd7 281352009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28136
28137 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28138 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28139
d3d30ea0
VS
281402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28141
28142 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28143 (GRUB_MOD_INIT(memrw)): Update help line.
28144
a34f5c70
VS
281452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28146
28147 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28148 Use grub_extcmd_t. All users updated.
28149 (options): New variable.
28150 (grub_cmd_read): Restructure for readability. Support "-v" option.
28151 (grub_cmd_write): Restructure for readability.
28152
0ad46fd7 281532009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28154
28155 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28156
0ad46fd7 281572009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28158
28159 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28160 with the actual contents of the correspondending make variable.
28161 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28162 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28163 specifying `*.lst' and `efiemu??.o'
28164
0ad46fd7 281652009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28166
28167 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28168 after function name.
28169 Noticed by Rene Engelhard <rene@debian.org>.
28170
dc77a799
VS
281712009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28172
28173 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28174 (options): New variable.
28175 (iospace): Likewise.
28176 (grub_lspci_iter): List IO spaces if "-i" was given.
28177 (grub_cmd_lspci): Parse options.
28178 (GRUB_MOD_INIT(lspci)): Use extcmd.
28179 (GRUB_MOD_FINI(lspci)): Likewise.
28180
0ad46fd7 281812009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28182
28183 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28184 `function' keyword.
28185 Patch by Tony Mancill <tmancill@debian.org>.
28186
b5d5993b
VS
281872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28190 (grub_uhci_portstatus): Likewise.
28191 (grub_uhci_portstatus): Add necessary delay.
11d18281 28192 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28193
941903f2 281942009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28195
941903f2 28196 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28197 (GRUB_MOD_INIT): Likewise.
28198 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28199 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28200 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28201 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28202 (enable_rom_area): Likewise.
28203 (GRUB_MOD_INIT): Likewise.
28204 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28205 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28206 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28207 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28208 * commands/hexdump.c (options): Likewise.
28209 * commands/i386/cpuid.c (options): Likewise.
28210 (GRUB_MOD_INIT): Likewise.
28211 * commands/i386/pc/drivemap.c (options): Likewise.
28212 (GRUB_MOD_INIT): Likewise.
28213 * commands/i386/pc/halt (options): Likewise.
28214 (GRUB_MOD_INIT): Likewise.
28215 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28216 * commands/i386/pc/pxecmd.c (options): Likewise.
28217 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28218 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28219 * commands/keystatus.c (options): Likewise.
28220 (GRUB_MOD_INIT): Likewise.
28221 * commands/loadenv.c (options): Likewise.
28222 * commands/ls.c (options): Likewise.
28223 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28224 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28225 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28226 * commands/parttool.c (helpmsg): Likewise.
28227 * commands/probe.c (options): Likewise.
28228 * commands/read.c (GRUB_MOD_INIT): Likewise.
28229 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28230 * commands/search.c (options): Likewise.
28231 * commands/sleep.c (options): Likewise.
28232 * commands/test.c (GRUB_MOD_INIT): Likewise.
28233 * commands/true.c (GRUB_MOD_INIT): Likewise.
28234 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28235 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28236 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28237 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28238 `$(XGETTEXT)'.
98a50553 28239 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28240
0ad46fd7 282412009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28242
ef3c2c3a 28243 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28244 instead of specifying them explicit.
28245
7922f68b
RM
282462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * NEWS: Add grub-probe support for GNU/Hurd.
28249
537ce47f
RM
282502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28251
28252 * NEWS: gettext was added after 1.97.
28253
9b214e3a
RM
282542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28255
28256 * util/mkisofs/msdos_partition.h: New file (based on
28257 include/grub/msdos_partition.h).
28258 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28259 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28260 (ld_options, main): Recognize --protective-msdos-label.
28261 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28262 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28263 (padblock_write): If `use_protective_msdos_label' is set, patch a
28264 protective DOS-style label in the output image.
28265
28266 * util/grub-mkrescue.in: Use --protective-msdos-label.
28267
e9309813
RM
282682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28269
28270 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28271 boot.
28272
0ae56929
RM
282732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28274
28275 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28276 variables.
28277 (ld_options, main): Recognize `--embedded-boot'.
28278 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28279 declarations.
28280 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28281 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28282 (padblock_write): Likewise. Rewrite to support embedded boot image.
28283
28284 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28285 for BIOS-based disk boot instead of only ElTorito.
28286
b15937b1
RM
282872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28288
28289 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28290 build (not needed for bootstrap).
28291
52cc3ce0
RM
282922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28293
28294 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28295 from i386-pc build (not needed for bootstrap).
28296 Rewrite a pair of strings.
28297
36f5ff04
RM
282982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28299
28300 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28301
973c6c85 283022009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28303
28304 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28305
05d21547
AB
283062009-12-21 Andreas Born <futur.andy@googlemail.com>
28307
28308 * kern/env.c (grub_env_context_open): Mark exported variable for
28309 reexport.
28310
0175d51f
AB
283112009-12-21 Andreas Born <futur.andy@googlemail.com>
28312
28313 * kern/env.c (grub_env_export): Create nonexistent variables before
28314 exporting.
28315
7f39d92f 283162009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28317
7f39d92f 28318 * include/grub/auth.h: Include `<grub/i18n.h>'.
28319 (GRUB_GET_PASSWORD): Gettextizze string.
28320 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28321 menu_text.c.
28322 (grub_utf8_to_ucs4_alloc): Fix indentation.
28323 (grub_print_ucs4): Likewise.
28324 (grub_getstringwidth): Likewise.
28325 (print_message_indented): New declaration.
28326 * normal/auth.c: Include `<grub/i18n.h>'.
28327 (grub_auth_check_authentication): Gettexttize string.
28328 * normal/cmdline.c: Include `<grub/i18n.h>'.
28329 (grub_cmdline_get): Gettextizze.
28330 * normal/color.c: Include `<grub/i18n.h>'.
28331 (grub_parse_color_name_pair): Gettexttize strings.
28332 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28333 string (use `print_message_indented').
28334 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28335 `include/grub/normal.h'.
28336 (print_message_indented): Renamed to ...
28337 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28338 used in normal/main.c).
28339 (print_message): Use `grub_print_message_indented' instead of
28340 `print_message_indented'.
28341 (print_timeout): Likewise.
28342 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28343 (grub_normal_print_device_info): Gettexttize strings.
28344 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28345
3041d898
VS
283462009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28349 of arguments. Return number of tokens and not arguments. All users
28350 updated.
28351
de15bf8e
VS
283522009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28353
28354 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28355 non-MSDOS paritions.
28356
e0a6ca52
VS
283572009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 * include/grub/types.h (UNUSED): Removed since it conflicts with
28360 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28361 Reported by Grégoire Sutre.
28362
b99518d1 283632009-12-19 Carles Pina i Estany <carles@pina.cat>
28364
28365 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28366 (grub_print_ucs4_alloc): Likewise.
28367 (grub_getstringwidth): Likewise.
28368 * normal/main.c (grub_normal_init_page): Gettextize version string.
28369 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28370 (getstringwidth): Renamed to ...
28371 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28372 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28373 (grub_print_ucs4): Remove `static' qualifer (now used in
28374 normal/main.c).
28375 * po/POTFILES: Add normal/main.c.
28376
bfd5e52b 283772009-12-19 Carles Pina i Estany <carles@pina.cat>
28378
28379 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28380 (print_message_indented): Add `margin_left' and `margin_right'
28381 parameters.
28382 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28383 strings.
28384 (print_timeout): Use `print_message_indented' to print the message.
28385 Deletes `second_stage' parameter.
28386 (run_menu): Update `print_timeout' calls.
28387
5a1ad2b9
VS
283882009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28389
28390 Fix console palette on OpenFirmware.
28391
28392 * term/ieee1275/ofconsole.c (MAX): Removed.
28393 (colors): Redone based on VGA palette.
28394 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28395 colors are supported.
28396 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28397
b045f00a
VS
283982009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28399
28400 Fix potential EfiEmu double prepare.
28401
28402 * efiemu/main.c (prepared): New variable
28403 (grub_efiemu_unload): Set prepare to '0'.
28404 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28405
28406 set_virtual_address_map support.
28407
28408 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28409 prototype.
28410 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28411 prototype.
28412 (grub_efiemu_crc32): Likewise.
28413 (grub_efiemu_crc64): Likewise.
28414 (grub_efiemu_set_virtual_address_map): Likewise.
28415 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28416 New definition.
28417 (grub_autoefi_set_virtual_address_map): Likewise.
28418 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28419 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28420 Restructure flow to accomodate it.
28421 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28422 (grub_efiemu_crc): Recompute CRC32.
28423 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28424 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28425 * efiemu/symbols.c (relocated_handle): New variable.
28426 (grub_efiemu_free_syms): Free relocated_handle.
28427 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28428 (grub_efiemu_write_sym_markers): New function.
28429 (grub_efiemu_set_virtual_address_map): Likewise.
28430
28431 Newer XNU parameters.
28432
28433 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28434 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28435 (grub_xnu_fill_devicetree): New prototype.
28436 (grub_xnu_heap_real_start): New variable.
28437 * loader/xnu.c (get_name_ptr): New function.
28438 (grub_xnu_load_driver): Fill namelen and name.
28439
28440 64-bit xnu support.
28441
28442 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28443 and 'loader/macho64.c'.
28444 * conf/i386-pc.rmk: Likewise.
28445 * conf/x86_64-efi.rmk: Likewise.
28446 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28447 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28448 * include/grub/macho.h (grub_macho_segment64): New structure.
28449 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28450 (grub_macho_size32): ... to this.
28451 (grub_macho32_get_entry_point): Renamed from ...
28452 (grub_macho_get_entry_point32): ... to this.
28453 (grub_macho_contains_macho64): New prototype.
28454 (grub_macho_size64): Likewise.
28455 (grub_macho_get_entry_point64): Likewise.
28456 (grub_macho32_load): Renamed from ...
28457 (grub_macho_load32): ... to this.
28458 (grub_macho32_filesize): Renamed from ...
28459 (grub_macho_filesize32): ... to this.
28460 (grub_macho32_readfile): Renamed from ...
28461 (grub_macho_readfile32): ... to this.
28462 (grub_macho_filesize64): New prototype.
28463 (grub_macho_readfile64): Likewise.
28464 (grub_macho_parse32): Likewise.
28465 (grub_macho_parse64): Likewise.
28466 * loader/macho.c: Split into ...
28467 * loader/machoXX.c: ... and this. Replace 32 with XX.
28468 * loader/macho32.c: New file.
28469 * loader/macho64.c: Likewise.
28470 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28471 (grub_cmd_xnu_kernel): Make 32-bit only.
28472 (grub_cmd_xnu_kernel64): New function.
28473 (grub_xnu_load_driver): Support Mach-O 64.
28474 (grub_cmd_xnu_mkext): Likewise.
28475 * util/grub.d/30_os-prober.in (osx_entry): New function.
28476 Generate entries for 64-bit boot too.
28477
28478 Eliminate ad-hoc tree format in XNU and EfiEmu.
28479
28480 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28481 * efiemu/pnvram.c: Rewritten to use environment variables.
28482 All users updated.
28483
28484 Inline utf16_to_utf8.
28485
28486 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28487 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28488 All users updated.
28489 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28490
28491 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28492 * commands/usbtest.c (grub_usb_get_string): ... move here.
28493 (usb_print_str): Fix error handling.
28494 * include/grub/usb.h (grub_usb_get_string): Remove.
28495
28496 UTF-8 to UTF-16 transformation.
28497
28498 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28499 (charset_mod_SOURCES): New variable.
28500 (charset_mod_CFLAGS): Likewise.
28501 (charset_mod_LDFLAGS): Likewise.
28502 * include/grub/utf.h: New file.
28503 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28504
28505 Support for device properties.
28506
28507 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28508 (grub_xnu_devprop_device_header): Likewise.
28509 (grub_xnu_devprop_device_descriptor): Likewise.
28510 (grub_xnu_devprop_add_device): New prototype.
28511 (grub_xnu_devprop_remove_device): Likewise.
28512 (grub_xnu_devprop_remove_property): Likewise.
28513 (grub_xnu_devprop_add_property_utf8): Likewise.
28514 (grub_xnu_devprop_add_property_utf16): Likewise.
28515 (grub_cpu_xnu_init): Likewise.
28516 (grub_cpu_xnu_fini): Likewise.
28517 (grub_cpu_xnu_unload): Likewise.
28518 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28519 (property_descriptor): Likewise.
28520 (devices): New variable.
28521 (grub_xnu_devprop_remove_property): New function.
28522 (grub_xnu_devprop_add_device): Likewise.
28523 (grub_xnu_devprop_remove_device): Likewise.
28524 (grub_xnu_devprop_add_property): Likewise.
28525 (grub_xnu_devprop_add_property_utf8): Likewise.
28526 (grub_xnu_devprop_add_property_utf16): Likewise.
28527 (hextoval): Likewise.
28528 (grub_cpu_xnu_fill_devprop): Likewise.
28529 (grub_cmd_devprop_load): Likewise.
28530 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28531 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28532 (cmd_devprop_load): New variable.
28533 (grub_cpu_xnu_init): New function.
28534 (grub_cpu_xnu_fini): Likewise.
28535 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28536 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28537 (grub_cmd_xnu_devtree): Likewise.
28538 (hextoval): New function.
28539 (unescape): Likewise.
28540 (grub_xnu_fill_devicetree): Likewise.
28541
28542 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28543 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28544
0945f181
VS
285452009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28546
28547 Workaround for broken ATI VBE.
28548
28549 * video/i386/pc/vbe.c (last_set_mode): New variable.
28550 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28551 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28552 (grub_video_vbe_setup): Don't check for reserved flag.
28553
0ad46fd7 285542009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28555
28556 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28557 the `find' command.
28558
c179ebe4
VS
285592009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28560
28561 UUID support for HFS.
28562
28563 * fs/hfs.c (grub_hfs_uuid): New function.
28564 (grub_hfs_fs): New value .uuid.
28565 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28566
0ad46fd7 285672009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28568
28569 Fix a segfault with parsing unknown long options.
28570
28571 * util/grub-mkrelpath.c (options): Zero terminate it.
28572
c4a3e41a
CPE
285732009-12-13 Carles Pina i Estany <carles@pina.cat>
28574
28575 * include/grub/misc.h (grub_puts): New declaration.
28576 (grub_puts_): Likewise.
a22008a6 28577 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28578 (grub_puts_): Likewise.
28579
2e8a7602
RM
285802009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28581
28582 * util/grub-probe.c (probe): Improve error message.
28583
b50b77b9
RM
285842009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28585
28586 * loader/i386/multiboot_elfxx.c
28587 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28588 initialization.
28589
285902009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28591
28592 Relocator framework
28593
28594 * loader/i386/xnu_helper.S: Removed. All users updated.
28595 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28596 (relocator_mod_SOURCES): New variable.
28597 (relocator_mod_CFLAGS): Likewise.
28598 (relocator_mod_LDFLAGS): Likewise.
28599 (relocator_mod_ASFLAGS): Likewise.
28600 * conf/x86_64.rmk: Likewise.
28601 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28602 (grub_multiboot_payload_entry_offset): Likewise.
28603 (grub_multiboot_forward_relocator): Likewise.
28604 (grub_multiboot_forward_relocator_end): Likewise.
28605 (grub_multiboot_backward_relocator): Likewise.
28606 (grub_multiboot_backward_relocator_end): Likewise.
28607 (grub_multiboot_payload_eip): New variable.
28608 (grub_multiboot_payload_orig): Likewise.
28609 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28610 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28611 * include/grub/i386/memory.h
28612 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28613 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28614 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28615 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28616 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28617 * include/grub/i386/relocator.h: New file.
28618 * include/grub/x86_64/relocator.h: Likewise.
28619 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28620 (XNU_RELOCATOR): New macro.
28621 (grub_xnu_launcher_start): Remove.
28622 (grub_xnu_launcher_end): Likewise.
28623 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28624 (grub_xnu_heap_real_start): Remove.
28625 (grub_xnu_heap_start): Change to void *. All users updated.
28626 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28627 * lib/i386/relocator.c: New file.
28628 * lib/i386/relocator_asm.S: Likewise.
28629 * lib/i386/relocator_backward.S: Likewise.
28630 * lib/mips/relocator.c: Likewise.
28631 * lib/mips/relocator_asm.S: Likewise.
28632 * lib/relocator.c: Likewise.
28633 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28634 (entry): Removed.
28635 (playground): Likewise.
28636 (grub_multiboot_payload_orig): New variable.
28637 (grub_multiboot_payload_dest): Likewise.
28638 (grub_multiboot_payload_size): Likewise.
28639 (grub_multiboot_payload_eip): Likewise.
28640 (grub_multiboot_payload_esp): Likewise.
28641 (grub_multiboot_boot): Use grub_relocator32_boot.
28642 (grub_multiboot_unload): Free relocators.
28643 (grub_multiboot): Setup stack. Use relocators.
28644 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28645 (grub_multiboot_load_elfXX): Use relocators.
28646 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28647 (grub_multiboot_payload_size): Likewise.
28648 (grub_multiboot_payload_dest): Likewise.
28649 (grub_multiboot_payload_entry_offset): Likewise.
28650 (grub_multiboot_forward_relocator): Likewise.
28651 (grub_multiboot_backward_relocator): Likewise.
28652 (grub_multiboot_real_boot): Likewise.
28653 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28654 (grub_xnu_entry_point): Likewise.
28655 (grub_xnu_arg1): Likewise.
28656 (grub_xnu_stack): Likewise.
28657 (grub_xnu_launch): Removed.
28658 (grub_xnu_boot_resume): New function.
28659 (grub_xnu_boot): Use relocators.
28660 * loader/i386/xnu_helper.S: Removed.
28661 * loader/xnu.c (grub_xnu_heap_start): New variable.
28662 (grub_xnu_heap_size): Likewise.
28663 (grub_xnu_heap_malloc): Use relocators.
28664 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28665
29eb90c6
VS
286662009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28667
28668 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28669 anything.
28670
31027430
CPE
286712009-12-13 Carles Pina i Estany <carles@pina.cat>
28672
28673 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28674 GRUB_ERR_NONE before calling grub_env_set.
28675
dc0c71d9
RM
286762009-12-12 Robert Millan <rmh@aybabtu.com>
28677
28678 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28679 * genmk.rb (video): New variable.
28680 (CLEANFILES, VIDEOFILES): Add #{video}.
28681 (#{video}): New target rule.
28682 * genvideolist.sh: New file.
28683 * Makefile.in (pkglib_DATA): Add video.lst.
28684 (video.lst): New target rule.
28685 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28686 `video.lst'.
28687 * util/grub.d/30_os-prober.in: Replace `vbe' with
28688 ${GRUB_VIDEO_BACKEND}.
28689
2a4bfcf0
RM
286902009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 * THANKS: Add David Miller.
28693
2a3aa4d5
RM
286942009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28695
28696 libpciaccess support.
28697
28698 * Makefile.in (LIBPCIACCESS): New variable.
28699 (enable_grub_emu_pci): Likewise.
28700 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28701 util/pci.c and commands/lspci.c.
28702 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28703 * configure.ac (grub-emu-pci): New option.
28704 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28705 (grub_pci_device_unmap_range): Likewise.
28706 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28707 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28708 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28709 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28710 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28711 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28712 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28713 * include/grub/pciutils.h: New file.
28714 * util/pci.c: Likewise.
28715
0ad46fd7 287162009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28717
28718 * util/misc.c: Don't include <errno.h> twice.
28719
0ad46fd7 287202009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28721
28722 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28723 name in an error message.
28724 (grub_biosdisk_rw): Likewise.
28725
2e59983c
VS
287262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28727
28728 Eliminate NTFS 4Gib barrier.
28729
28730 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28731 (read_run_data): Likewise.
28732 (grub_ntfs_read_run_list): Likewise.
28733 (grub_ntfs_read_block): Likewise.
28734 (grub_ntfs_iterate_dir): Likewise.
28735 (read_mft): Likewise.
28736 (read_data): Likewise.
28737 Use COM_LOG_LEN.
28738 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28739 to avoid 64-bit division
28740 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28741 (grub_ntfs_rlst): Use grub_disk_addr_t.
28742
71ee178a
VS
287432009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28744
28745 Eliminate grub-fstest 4Gib barrier.
28746
28747 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28748 (read_file): Fix error reporting.
28749
2520d4b8
VS
287502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28751
28752 Eliminate hexdump 4Gib barrier.
28753
28754 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28755 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28756
e1f27065
VS
287572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28760 Fixes amarsh bug.
28761
1a0f7f45
RM
287622009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28763
28764 Remove miscellaneous files in distclean target.
28765
28766 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28767
c631d9fb
CW
287682009-12-09 Colin Watson <cjwatson@ubuntu.com>
28769
28770 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28771 if they're already set. This resolves the conflict between my
28772 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28773 fixing the --grub-probe option again.
28774 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28775 change on 2009-10-06, so that we now once again source
28776 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28777
7c7b6106
RM
287782009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28779
28780 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28781 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28782 `util/devicemap.c'.
28783
e3069ec1
CPE
287842009-12-08 Carles Pina i Estany <carles@pina.cat>
28785
28786 * include/grub/misc.h (grub_printf_): New declaration.
28787 * kern/misc.c (grub_printf_): New definition.
28788 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28789 instead of `grub_printf' and `_'.
28790 * normal/menu_entry.c (store_completion): Likewise.
28791 (run): Likewise.
28792 (grub_menu_entry_run): Likewise.
28793 * normal/menu_text.c (grub_wait_after_message): Likewise.
28794 (notify_booting): Likewise.
28795 (notify_fallback): Likewise.
28796 (notify_execution_failure): Likewise.
28797
d6ceebf1
CW
287982009-12-07 Colin Watson <cjwatson@ubuntu.com>
28799
28800 * configure.ac: Check for vasprintf.
28801 * util/misc.c (asprintf): Move allocation from here ...
28802 (vasprintf): ... to here. New function.
28803 (xasprintf): New function.
28804 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28805 prototypes.
28806 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28807 * util/grub-mkfont.c (write_font): Likewise.
28808 * util/grub-probe.c (probe): Likewise.
28809 * util/hostdisk.c (make_device_name): Likewise.
28810
de6daa8b
DM
288112009-12-06 David S. Miller <davem@sunset.davemloft.net>
28812
28813 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28814 anything even prefixed with 'cdrom' as a cdrom.
28815
0ad46fd7 288162009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28817
28818 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28819 mount points.
28820
98d3dc02
CPE
288212009-12-05 Carles Pina i Estany <carles@pina.cat>
28822
28823 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28824 grub_gettext_msg_list.
28825 (grub_gettext_gettranslation_from_position): Return const char *
28826 and not char *.
a2c1332b 28827 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28828 returns from the list if existing there.
28829 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28830 (grub_gettext_delete_list): Delete the list.
28831 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28832 lang environment variable is changed.
28833 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28834
b283f108
VS
288352009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 Rename kernel.mod to kernel.img.
28838
28839 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28840 (kernel_mod_EXPORTS): Rename to ...
28841 (kernel_img_EXPORTS): ... this.
28842 (kernel_mod_SOURCES): Rename to ...
28843 (kernel_img_SOURCES): ... this.
28844 (kernel_mod_HEADERS): Rename to ...
28845 (kernel_img_HEADERS): ... this. All users updated.
28846 (kernel_mod_CFLAGS): Rename to ...
28847 (kernel_img_CFLAGS): ... this.
28848 (kernel_mod_ASFLAGS): Rename to ...
28849 (kernel_img_ASFLAGS): ... this.
28850 (kernel_mod_LDFLAGS): Rename to ...
28851 (kernel_img_LDFLAGS): ... this.
28852 * conf/x86_64-efi.rmk: Likewise.
28853 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28854 (read_kernel_image): ... this. All users updated.
28855 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28856
69055f8a
CPE
288572009-12-05 Carles Pina i Estany <carles@pina.cat>
28858
28859 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28860 (print_spaces): New function.
28861 (grub_print_ucs4): New function.
28862 (getstringwidth): New function.
28863 (print_message_indented): New function.
28864 (print_message): Gettexttize strings using print_message_indented.
28865 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28866 width.
28867 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28868 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28869 Gettextize.
28870 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28871 string.
28872 (run): Likewise.
28873 (grub_menu_entry_run): Likewise.
28874 * PO/POTFILES: Add normal/menu_entry.c.
28875
f616f51c
VS
288762009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28879
57bbe3be
CPE
288802009-12-05 Carles Pina i Estany <carles@pina.cat>
28881
28882 * util/grub-install.in: Install gettext .mo files.
28883 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28884
013d67a1
CPE
288852009-12-05 Carles Pina i Estany <carles@pina.cat>
28886
28887 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28888 grub_dprintf.
28889
fb954db0
RM
288902009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28891
28892 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28893 non-firmware-dependant one in realmode.S takes precedence.
28894
6b8474f8
RM
288952009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28896
28897 * commands/halt.c: Replace misc arch-specific headers with
28898 `<grub/misc.h>'.
28899 * commands/reboot.c: Likewise.
28900 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28901 `<grub/misc.h>'.
28902 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28903 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28904 (kernel_img_SOURCES): ... to here.
28905
28906 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28907 * include/grub/i386/pc/init.h: Likewise.
28908 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28909 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28910
28911 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28912
28913 * include/grub/i386/halt.h: Remove.
28914 * include/grub/i386/reboot.h: Likewise.
28915
28916 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28917
4b2e6ca2
DM
289182009-12-03 David S. Miller <davem@sunset.davemloft.net>
28919
28920 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28921 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28922 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28923 "progname.h"
28924 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28925 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28926 (usage): Add missing comma in printf.
28927
5239348f
RM
289282009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28929
28930 Use the same reboot approach on i386 coreboot and qemu as we do on
28931 BIOS.
28932
28933 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28934 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28935 * kern/i386/reboot.c: Remove.
28936 * include/grub/i386/reboot.h (grub_reboot): Export function.
28937 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28938 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28939 0xf000:0xfff0 instead of 0xffff:0x0000.
28940 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28941 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28942
ef34cbd4
RM
289432009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28944
28945 Fix $srcdir != $objdir build.
28946
28947 * Makefile.in (po/%.po): Rewrite as ...
28948 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28949
dc9837ea
ST
289502009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28951
28952 Fix GNU/Hurd grub-install crash.
28953 * util/grub-probe.c (probe): Try to access `path' only when it is not
28954 NULL.
28955
2f857f98
VS
289562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28957
28958 Correct module naming.
28959
28960 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28961 (GRUB_MOD_INIT(efi_uga)): ... to this
28962 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28963 (GRUB_MOD_FINI(efi_uga)): ... to this
28964 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28965 (GRUB_MOD_INIT(efi_gop)): ... to this
28966 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28967 (GRUB_MOD_FINI(efi_gop)): ... to this
28968
c5448046
RM
289692009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28970
28971 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28972 translatable.
28973 (usage): Translate `arg' strings using gettext().
28974 Thanks to Jordi Mallach for the suggestion.
28975
c85184ad
VS
289762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28977
28978 GOP support. Based on patch from Bean
28979 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28980
28981 * video/efi_gop.c: New file.
28982 * include/grub/efi/graphics_output.h: Likewise.
28983 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28984 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28985 variables.
28986 * conf/x86_64-efi.rmk: Likewise.
28987
8a4c48d8
VS
289882009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28989
28990 Rename efi_fb to efi_uga.
28991
28992 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28993 'efi_uga.mod'.
28994 (efi_fb_mod_SOURCES): Rename this ...
28995 (efi_uga_mod_SOURCES): ... to this.
28996 (efi_fb_mod_CFLAGS): Rename this ...
28997 (efi_uga_mod_CFLAGS): ... to this.
28998 (efi_fb_mod_LDFLAGS): Rename this ...
28999 (efi_uga_mod_LDFLAGS): ... to this.
29000 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29001 'efi_uga.mod'.
29002 (efi_fb_mod_SOURCES): Rename this ...
29003 (efi_uga_mod_SOURCES): ... to this.
29004 (efi_fb_mod_CFLAGS): Rename this ...
29005 (efi_uga_mod_CFLAGS): ... to this.
29006 (efi_fb_mod_LDFLAGS): Rename this ...
29007 (efi_uga_mod_LDFLAGS): ... to this.
29008 * video/efi_fb.c: Move this ...
29009 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29010
fb6c1a7b
RM
290112009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29012
29013 * po/README: New file. Explain our PO file workflow.
29014
3bc7896c
RM
290152009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29016
29017 * po/ChangeLog: Remove. Move relevant entries back to ...
29018 * ChangeLog: ... here.
29019 * po/ca.po: Remove (now handled by TLP).
29020 * po/id.po: Likewise.
29021 * po/zh_CN.po: Likewise.
29022 * Makefile.in (LINGUAS): Initialize in a way that supports
29023 empty set.
29024
9ed4841d
RM
290252009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29026
29027 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29028 reliing on po/LINGUAS.
29029 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29030 (po/%.po): ... this.
29031
0ad46fd7 290322009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29033
29034 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29035 (main): Use `program_name' instead of nonexistent `progname'.
29036
e30dd392
FZ
290372009-11-26 Felix Zielcke <fzielcke@z-51.de>
29038
29039 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29040 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29041
7656de4f
RM
290422009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29043
29044 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29045 commit.
29046 * conf/i386-efi.rmk: Likewise.
29047 * conf/i386-ieee1275.rmk: Likewise.
29048 * conf/powerpc-ieee1275.rmk: Likewise.
29049 * conf/sparc64-ieee1275.rmk: Likewise.
29050 * conf/x86_64-efi.rmk: Likewise.
29051
db77c4d4
FZ
290522009-11-26 Felix Zielcke <fzielcke@z-51.de>
29053
29054 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29055
a755bb04
FZ
290562009-11-26 Felix Zielcke <fzielcke@z-51.de>
29057
29058 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29059
8a4c07fd
RM
290602009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29061
29062 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29063 (grub_mkdevicemap_SOURCES): New variable.
29064 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29065 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29066 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29067 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29068 (grub_mkdevicemap_SOURCES): Remove.
29069 * conf/i386-efi.rmk: Likewise.
29070 * conf/i386-ieee1275.rmk: Likewise.
29071 * conf/i386-pc.rmk: Likewise.
29072 * conf/powerpc-ieee1275.rmk: Likewise.
29073 * conf/sparc64-ieee1275.rmk: Likewise.
29074 * conf/x86_64-efi.rmk: Likewise.
29075 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29076 (usage): Fix strings to use `program_name'.
29077 (main): Initialize gettext.
29078 * util/grub-editenv.c: Likewise.
29079 * util/grub-emu.c: Likewise.
29080 * util/grub-fstest.c: Likewise.
29081 * util/grub-mkdevicemap.c: Likewise.
29082 * util/grub-mkfont.c: Likewise.
29083 * util/grub-mkrelpath.c: Likewise.
29084 * util/grub-pe2elf.c: Likewise.
29085 * util/grub-probe.c: Likewise.
29086 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29087 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29088 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29089
29090 * util/misc.c: Include `"progname.h"'.
29091 (progname): Remove variable.
29092 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29093
6f61ed55
FZ
290942009-11-25 Felix Zielcke <fzielcke@z-51.de>
29095
29096 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29097 printf and print a newline after the menuentry header line.
29098 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29099
f022876b
FZ
291002009-11-25 Felix Zielcke <fzielcke@z-51.de>
29101
29102 autoconf >= 2.60 support $(localedir).
29103
29104 * INSTALL: Note that autoconf 2.60 is required.
29105 * configure.ac (AC_PREREQ): Bump to 2.60.
29106 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29107 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29108
6717926e
YB
291092009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29110
29111 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29112 aclocal is run.
29113
08806a54
RM
291142009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29115
29116 * normal/main.c (grub_normal_read_line): Fix off-by-one
29117 buffer overflow.
29118
13b33fba
RM
291192009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29120
29121 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29122 "parser.grub" in grub_command_execute() call.
29123
4a8572e9
CPE
291242009-11-24 Carles Pina i Estany <carles@pina.cat>
29125
29126 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29127 * conf/i386-efi.rmk: Likewise.
29128 * conf/i386-ieee1275.rmk: Likewise.
29129 * conf/i386-pc.rmk: Likewise.
29130 * conf/powerpc-ieee1275.rmk: Likewise.
29131 * conf/sparc64-ieee1275.rmk: Likewise.
29132 * conf/x86_64-efi.rmk: Likewise.
29133 * gettext/gettex.c: Include <grub/i18n.h>.
29134 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29135 here ...
29136 * include/grub/i18n.h: ... to here
29137 * include/grub/i18n.h: ... to here.
29138 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29139 (grub_gettext_dummy): Move above user.
4a8572e9 29140
bee48093
FZ
291412009-11-24 Felix Zielcke <fzielcke@z-51.de>
29142
29143 * util/Makefile.in (install-local): Convert a `for' into a normal
29144 shell expansion.
29145
a031e91c
RM
291462009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29147
29148 * autogen.sh: Add automake call.
29149 * config.guess: Remove.
29150 * config.sub: Likewise.
29151 * install-sh: Likewise.
29152
26bec39d
FZ
291532009-11-24 Felix Zielcke <fzielcke@z-51.de>
29154
29155 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29156
8e2532fd
FZ
291572009-11-24 Felix Zielcke <fzielcke@z-51.de>
29158
29159 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29160 function to a normal shell `for'.
29161
fefa1b7d
FZ
291622009-11-24 Felix Zielcke <fzielcke@z-51.de>
29163
29164 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29165
4501250b
FZ
291662009-11-24 Felix Zielcke <fzielcke@z-51.de>
29167
29168 * util/grub-mkrelpath.c: New file.
29169 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29170 (grub_mkrelpath_SOURCES): New variable.
29171 * include/grub/util/misc.h: New function prototype.
29172 * util/misc.c (make_system_path_relative_to_its_root): New function.
29173
29174 * util/grub-mkconfig_lib.in (bindir): New variable.
29175 (grub_mkrelpath): Likewise.
29176 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29177
29178 * util/probe.c (probe): Make the file path relative to its root.
29179 Change a info message to use the GRUB path. Enable again the
29180 check if we can read the file with GRUB facilities.
29181
29182 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29183 to its root.
29184
11d9778b
FZ
291852009-11-24 Felix Zielcke <fzielcke@z-51.de>
29186
29187 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29188 platform.
29189
4465287d
FZ
291902009-11-24 Felix Zielcke <fzielcke@z-51.de>
29191
29192 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29193 strncmp().
29194
62b47f22
FZ
291952009-11-24 Felix Zielcke <fzielcke@z-51.de>
29196
29197 * util/getroot.c (grub_util_is_dmraid): New function.
29198 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29199 devices as normal ones, not as LVM.
29200
1eafb9b9 292012009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29202
29203 * conf/common.rmk: Add grub-gettext_lib target and updates
29204 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29205 LDFLAGS.
29206 * gettext/gettext.c: New file. (Reads mo files).
29207 * include/grub/file.h (grub_file_pread): New prototype.
29208 * include/grub/i18n.h (_): New prototype.
29209 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29210 prototypes.
29211 * kern/misc.c (grub_gettext_dummy): New function.
29212 * normal/menu_text.c: Include <grub/i18n.h>.
29213 * normal/menu_text.c (print_timeout): Gettexttize string.
29214 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29215 * po/POTFILES: Add `normal/menu_text.c'.
29216 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29217 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29218 gettext module and defines locale_dir and lang in grub.cfg.
29219 * NEWS: Add gettext support.
29220
0fdb2568
RM
292212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29222
29223 * util/hostdisk.c: Include `<grub/i18n.h>'.
29224 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29225 (make_device_name): Rewrite using asprintf.
29226 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29227 (find_system_device): If a device is not found, generate one just
29228 by reusing the OS path name.
29229 (read_device_map): Make it permissible for device.map not to exist.
29230
f515aa62
RM
292312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 * script/sh/execute.c: Move from here ...
29234 * script/execute.c: ... to here. Update all users.
29235 * script/sh/function.c: Move from here ...
29236 * script/function.c: ... to here. Update all users.
29237 * script/sh/lexer.c: Move from here ...
29238 * script/lexer.c: ... to here. Update all users.
29239 * script/sh/main.c: Move from here ...
29240 * script/main.c: ... to here. Update all users.
29241 * script/sh/parser.y: Move from here ...
29242 * script/parser.y: ... to here. Update all users.
29243 * script/sh/script.c: Move from here ...
29244 * script/script.c: ... to here. Update all users.
29245
f84b481b
RM
292462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29247
29248 * configure.ac: Detect all `emu' platforms. Define
29249 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29250 --enable-grub-emu logic. Disable include/grub/machine
29251 symlink on `emu' platforms.
29252
29253 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29254 * gensymlist.sh.in: Likewise.
29255
29256 * include/grub/i386/coreboot/machine.h: Remove file.
29257 * include/grub/i386/efi/machine.h: Likewise.
29258 * include/grub/i386/ieee1275/machine.h: Likewise.
29259 * include/grub/i386/pc/machine.h: Likewise.
29260 * include/grub/i386/qemu/machine.h: Likewise.
29261 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29262 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29263 * include/grub/x86_64/efi/machine.h: Likewise.
29264
29265 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29266 * commands/halt.c: Likewise.
29267 * commands/reboot.c: Likewise.
29268 * include/grub/autoefi.h: Likewise.
29269 * include/grub/i386/at_keyboard.h: Likewise.
29270 * include/grub/i386/kernel.h: Likewise.
29271 * include/grub/i386/loader.h: Likewise.
29272 * include/grub/i386/pc/memory.h: Likewise.
29273 * kern/dl.c: Likewise.
29274 * kern/i386/coreboot/init.c: Likewise.
29275 * loader/i386/bsd.c: Likewise.
29276 * loader/i386/linux.c: Likewise.
29277 * loader/multiboot_loader.c: Likewise.
29278 * term/i386/pc/serial.c: Likewise.
29279 * term/usb_keyboard.c: Likewise.
29280
29281 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29282 `<grub/machine/machine.h>'
29283 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29284 * util/misc.c: Remove `<grub/machine/machine.h>' and
29285 `<grub/machine/time.h>'.
29286
29287 * Makefile.in (enable_grub_emu): Remove variable.
29288 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29289
29290 * conf/any-emu.rmk: New file.
29291 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29292 (grub_emu_init.c): Move from here ...
29293 * conf/any-emu.rmk: ... to here.
29294
29295 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29296 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29297 * conf/any-emu.rmk: ... to here.
29298
4efeab03
RM
292992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29300
29301 * include/grub/parser.h (grub_parser_register): Document need
29302 of `name' parameter.
29303 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29304 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29305 "sh" to "grub".
29306
ea1dd8bf
RM
293072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29310 `$(XGETTEXT)'.
29311 * include/grub/i18n.h (N_): New macro.
29312 * util/mkisofs/mkisofs.h: Likewise.
29313 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29314 around N_().
29315 (usage): Use gettext() to translate help strings when printing them.
29316
0c140626
RM
293172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29318
29319 Based on patch from Bean
29320 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29321
29322 * video/efi_fb.c: New file.
29323 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29324 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29325 variables.
29326 * conf/x86_64-efi.rmk: Likewise.
29327
87d58298
RM
293282009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29331 * util/i386/pc/grub-setup.c: Likewise.
29332
994cc3a3
ST
293332009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29334
29335 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29336 <hurd/fs.h>
29337 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29338 file_get_storage_info to implement grub_guess_root_device.
29339
26a61d6a
FZ
293402009-11-21 Felix Zielcke <fzielcke@z-51.de>
29341
29342 * Makefile.in (target): Use make's builtin $(shell) function
29343 instead of calling directly $(SHELL) to create the locale directories,
29344 inside the $(foreach) function.
29345
74ff1dd5
FZ
293462009-11-21 Felix Zielcke <fzielcke@z-51.de>
29347
29348 * util/grub-mkrescue.in: Print an error and usage if output option
29349 has not been given.
29350
0b787d0e
FZ
293512009-11-21 Felix Zielcke <fzielcke@z-51.de>
29352
29353 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29354 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29355 root and /boot are on different devices.
29356
1164b270
RM
293572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29358
29359 Fix build for srcdir != objdir.
29360
29361 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29362 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29363 $(srcdir).
29364 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29365 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29366 reference for input.
29367
13774a2f
RM
293682009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29369
29370 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29371 or hardlinking it). Remove -J option, Joliet is not compatible with
29372 multiple source directories.
29373
efda854e
RM
293742009-11-21 Carles Pina i Estany <carles@pina.cat>
293752009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29376
29377 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29378 (process_input_dir): New function. Process an arbitrary input
29379 directory.
29380 Misc adjustments to support both "override mode" and system-wide mode.
29381
6c09890c
FZ
293822009-11-20 Felix Zielcke <fzielcke@z-51.de>
29383
29384 * configure.ac (UNIFONT_BDF): Rename to ...
29385 (FONT_SOURCE): ... this. Update all users.
29386
a797824f
FZ
293872009-11-20 Felix Zielcke <fzielcke@z-51.de>
29388
29389 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29390 to the list of unifont files to look for.
29391
cd4f42b0
RM
293922009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29393
29394 Patch from Joe Auricchio <jauricchio@gmail.com>
29395 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29396 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29397 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29398
393c783d
FZ
293992009-11-19 Felix Zielcke <fzielcke@z-51.de>
29400
29401 * Makefile.in (install-local): Add a missing backslash.
29402
b2f1e327
FZ
294032009-11-19 Felix Zielcke <fzielcke@z-51.de>
29404
29405 * include/grub/x86_64/io.h: New file.
29406
f577f7a0
RM
294072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29408
29409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29410 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29411 Include `"progname.h"'.
29412 (main): Initialize gettext.
29413 * util/i386/pc/grub-setup.c: Gettexttize.
29414 * util/i386/pc/grub-mkimage.c: Likewise.
29415
29416 * Makefile.in (po/*.po): Redefine as ...
29417 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29418
3bc7896c
RM
29419 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29420
c37943b6
RM
294212009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29422
29423 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29424 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29425 (program_name): Remove.
29426 (main): Initialize gettext support.
6323f705
RM
29427 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29428 Include `<libintl.h>'.
29429 (_): New macro.
c37943b6
RM
29430
29431 * util/mkisofs/eltorito.c: Gettexttize.
29432 * util/mkisofs/joliet.c: Likewise.
29433 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29434 * util/mkisofs/multi.c: Likewise.
29435 * util/mkisofs/rock.c: Likewise.
29436 * util/mkisofs/tree.c: Likewise.
29437 * util/mkisofs/write.c: Likewise.
29438
3bc7896c
RM
29439 * po/POTFILES: Update with new files.
29440
5ce77c6e
RM
294412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29442
29443 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29444 * util/mkisofs/iso9660.h: Likewise.
29445 * util/mkisofs/joliet.c: Likewise.
29446 * util/mkisofs/mkisofs.c: Likewise.
29447 * util/mkisofs/mkisofs.h: Likewise.
29448 * util/mkisofs/rock.c: Likewise.
29449 * util/mkisofs/tree.c: Likewise.
29450 * util/mkisofs/write.c: Likewise.
29451
29452 * util/mkisofs/eltorito.c (rcsid): Remove.
29453 * util/mkisofs/hash.c: Likewise.
29454 * util/mkisofs/joliet.c: Likewise.
29455 * util/mkisofs/name.c: Likewise.
29456 * util/mkisofs/rock.c: Likewise.
29457 * util/mkisofs/tree.c: Likewise.
29458 * util/mkisofs/write.c: Likewise.
29459
1dabbc77
RM
294602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29461
29462 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29463 instead of static allocation.
29464 * util/mkisofs/match.h: Likewise.
29465
633877cb
RM
294662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29467
3bc7896c
RM
29468 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29469 and `util/grub.d/10_linux.in'.
633877cb
RM
29470 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29471 translatable Shell files.
29472
af1c0c85
RM
294732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29474
29475 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29476
769ae37b
RM
294772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29478
29479 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29480 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29481 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29482 Add gettext initialization.
29483 (kfreebsd_entry): Make menuentry output translatable.
29484
294852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29486
29487 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29488 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29489 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29490 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29491 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29492 * po/LINGUAS: New file.
769ae37b
RM
29493
294942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29495
29496 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29497 other things).
29498 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29499 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29500 bindtextdomain() calls for gettext initialization.
29501
295022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29503
29504 * gnulib/progname.c: New file (imported from Gnulib).
29505 * gnulib/progname.h: Likewise.
29506 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29507 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29508 (usage): Replace `progname' with `program_name'.
29509 (main): Use set_program_name() for program name initialization.
29510
295112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29512
29513 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29514 from here ...
29515 * Makefile.in (CPPFLAGS): ... to here.
29516
295172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29518
29519 * aclocal.m4: Move from here ...
29520 * acinclude.m4: ... to here.
29521 * autogen.sh: Add call to `aclocal'.
29522 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29523
295242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29525
29526 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29527 (LINGUAS): New variable.
29528 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29529 (install-local): Install MO files.
29530 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29531 * include/grub/i18n.h: New file.
3bc7896c
RM
29532 * po/POTFILES: New file.
29533 * po/ca.po: New file.
769ae37b
RM
29534 * util/grub.d/10_linux.in (bindir): New variable.
29535 Add gettext initialization.
29536 (linux_entry): Make menuentry output translatable.
29537 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29538 (usage): Make --help output translatable.
29539 (main): Initialize gettext.
29540
02c0a6ad
RM
295412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29542
29543 * import_gcry.py: New file (written by Vladimir with minor
29544 adjustments).
29545 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29546 ciphers.
29547 * INSTALL: Document that Python is required for bootstrap.
29548
295492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29550
29551 Import ciphers from libgcrypt 1.4.4.
29552
29553 * lib/libgcrypt/cipher/ChangeLog
29554 * lib/libgcrypt/cipher/ac.c
29555 * lib/libgcrypt/cipher/arcfour.c
29556 * lib/libgcrypt/cipher/bithelp.h
29557 * lib/libgcrypt/cipher/blowfish.c
29558 * lib/libgcrypt/cipher/camellia-glue.c
29559 * lib/libgcrypt/cipher/camellia.c
29560 * lib/libgcrypt/cipher/camellia.h
29561 * lib/libgcrypt/cipher/cast5.c
29562 * lib/libgcrypt/cipher/cipher.c
29563 * lib/libgcrypt/cipher/crc.c
29564 * lib/libgcrypt/cipher/des.c
29565 * lib/libgcrypt/cipher/dsa.c
29566 * lib/libgcrypt/cipher/ecc.c
29567 * lib/libgcrypt/cipher/elgamal.c
29568 * lib/libgcrypt/cipher/hash-common.c
29569 * lib/libgcrypt/cipher/hash-common.h
29570 * lib/libgcrypt/cipher/hmac-tests.c
29571 * lib/libgcrypt/cipher/md.c
29572 * lib/libgcrypt/cipher/md4.c
29573 * lib/libgcrypt/cipher/md5.c
29574 * lib/libgcrypt/cipher/primegen.c
29575 * lib/libgcrypt/cipher/pubkey.c
29576 * lib/libgcrypt/cipher/rfc2268.c
29577 * lib/libgcrypt/cipher/rijndael-tables.h
29578 * lib/libgcrypt/cipher/rijndael.c
29579 * lib/libgcrypt/cipher/rmd.h
29580 * lib/libgcrypt/cipher/rmd160.c
29581 * lib/libgcrypt/cipher/rsa.c
29582 * lib/libgcrypt/cipher/seed.c
29583 * lib/libgcrypt/cipher/serpent.c
29584 * lib/libgcrypt/cipher/sha1.c
29585 * lib/libgcrypt/cipher/sha256.c
29586 * lib/libgcrypt/cipher/sha512.c
29587 * lib/libgcrypt/cipher/tiger.c
29588 * lib/libgcrypt/cipher/twofish.c
29589 * lib/libgcrypt/cipher/whirlpool.c
29590
af2f93ac
RM
295912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29592
29593 Fix build for systems without error().
29594
29595 * gnulib/error.c: New file (imported from Gnulib).
29596 * gnulib/error.h: Likewise.
29597 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29598 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29599 (this variable is now used by error()).
29600
73fb3dd5
FZ
296012009-11-16 Felix Zielcke <fzielcke@z-51.de>
29602
814f5e96
FZ
29603 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29604 instead of relying that char is signed.
73fb3dd5 29605
a691ca33
VS
296062009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29607
29608 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29609 blocksize different from specified.
29610 (grub_pxefs_read): Likewise.
29611
2af8f0f4
FZ
296122009-11-16 Felix Zielcke <fzielcke@z-51.de>
29613
29614 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29615
29616 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29617 (grub_ata_readwrite): Likewise. Update 2 format strings.
29618 (grub_atapi_read): Likewise.
29619
29620 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29621 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29622 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29623 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29624 (ata_mod_LDFLAGS): Move from here ...
29625 * conf/i386.rmk: ... to here ...
29626 * conf/x86_64-efi.rmk: ... and here.
29627 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29628 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29629
83bdecaf
RM
296302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29631
29632 Relicense multiboot.h, with RMS' blessing.
29633
29634 * include/multiboot.h: Change to X11 license.
29635
fd6fd3d7
RM
296362009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29637
29638 Support --version in grub-mkisofs.
29639
29640 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29641 (OPTION_VERSION): New macro.
29642 (ld_options): Recognize --version.
29643 (usage): Move `program_name' from here ...
29644 (program_name): ... to here. Add `static' qualifier.
29645 (main): Recognize `OPTION_VERSION'.
29646
16a88c49
FZ
296472009-11-15 Felix Zielcke <fzielcke@z-51.de>
29648
29649 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29650 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29651
a4158476
RM
296522009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29653
29654 Fix help2man generation for mkisofs.
29655
29656 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29657 (usage): Send output to stdout (rather than stderr).
29658
fc2208b0
RM
296592009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29660
29661 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29662 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29663 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29664 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29665 (bin_SCRIPTS): Add `grub-mkfloppy'.
29666 (grub_mkfloppy_SOURCES): New variable.
29667
29668 * util/grub-mkrescue.in: New file.
29669 * util/i386/pc/grub-mkfloppy.in: New file.
29670
29671 * util/i386/coreboot/grub-mkrescue.in: Remove.
29672 * util/i386/pc/grub-mkrescue.in: Remove.
29673
8d0edf4a
RM
296742009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29675
29676 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29677 from here ...
29678 * include/multiboot.h (struct multiboot_header): ... to here. Update
29679 all users.
29680 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29681 from here ...
29682 * include/multiboot.h (struct multiboot_info): ... to here. Update
29683 all users.
29684 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29685 from here ...
29686 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29687 Update all users.
29688 * include/grub/multiboot.h (struct grub_mod_list): Move
29689 from here ...
29690 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29691 Update all users.
29692
a73f5969
RM
296932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29694
29695 * include/multiboot2.h (multiboot_word): Rename from this ...
29696 (multiboot2_word): ... to this. Update all users.
29697 (multiboot_header): Rename from this ...
29698 (multiboot2_header): ... to this. Update all users.
29699 (multiboot_tag_header): Rename from this ...
29700 (multiboot2_tag_header): ... to this. Update all users.
29701 (multiboot_tag_start): Rename from this ...
29702 (multiboot2_tag_start): ... to this. Update all users.
29703 (multiboot_tag_name): Rename from this ...
29704 (multiboot2_tag_name): ... to this. Update all users.
29705 (multiboot_tag_module): Rename from this ...
29706 (multiboot2_tag_module): ... to this. Update all users.
29707 (multiboot_tag_memory): Rename from this ...
29708 (multiboot2_tag_memory): ... to this. Update all users.
29709 (multiboot_tag_unused): Rename from this ...
29710 (multiboot2_tag_unused): ... to this. Update all users.
29711 (multiboot_tag_end): Rename from this ...
29712 (multiboot2_tag_end): ... to this. Update all users.
29713
1c8927f0
RM
297142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29717 this platform we should support Multiboot1 first.
29718
29719 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29720 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29721 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29722
6e1e0d89
RM
297232009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29726 of write calls (converting them to fwrite() if they aren't already).
29727 (get_torito_desc): Likewise.
29728 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29729
7f2b34d8
RM
297302009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29731
29732 * util/i386/pc/grub-install.in: Move from here ...
29733 * util/grub-install.in: ... to here. Update all users.
29734
c0ef3311
CW
297352009-11-11 Colin Watson <cjwatson@ubuntu.com>
29736
29737 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29738
e1f240ff
RM
297392009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29740
29741 Support for El Torito without floppy emulation.
29742
29743 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29744 (init_boot_catalog): Improve error handling.
29745 (get_torito_desc): Don't use floppy emulation unless requested by
29746 user. Patch boot information table when requested via
29747 `-boot-info-table'.
29748 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29749 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29750 (use_boot_info_table): New variables.
29751 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29752 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29753 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29754 `--eltorito-emul-floppy'.
29755 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29756 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29757 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29758 (use_boot_info_table, get_731): New prototypes.
29759 * util/mkisofs/write.c (get_731): New function.
29760
af7d4de5
FZ
297612009-11-11 Felix Zielcke <fzielcke@z-51.de>
29762
29763 Fix the generation of the man page.
29764
29765 * util/pc/i386/grub-install.in: Source
29766 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29767
2c55dbc0
RM
297682009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29769
29770 Large file support for grub-mkisofs.
29771
29772 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29773 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29774 (session_start): Upgrade type to `uint64_t'. Update all users.
29775 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29776 (struct directory_entry): Upgrade type of `starting_block' and
29777 `size' to `uint64_t'. Update all users.
29778 (struct deferred): Remove unused structure.
29779 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29780 Update all users.
29781 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29782 file is larger than `UINT32_MAX'.
29783 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29784 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29785 return value.
29786 (struct deferred_write): Upgrade type of `extent' and `size' to
29787 `uint64_t'. Update all users.
29788 (last_extent_written): Upgrade type to `uint64_t'. Update all
29789 users.
29790 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29791 Update all users. Upgrade type of `remain' to `int64_t' and
29792 `use' to `size_t'. Use error() to handle fread() errors.
29793 (write_files): Rely on write_one_file() rather than calling
29794 xfwrite() directly.
29795
6a9cead5
FZ
297962009-11-09 Felix Zielcke <fzielcke@z-51.de>
29797
29798 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29799
4825d790
RM
298002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29801
29802 * util/mkisofs/fnmatch.c: Remove.
29803 * util/mkisofs/getopt1.c: Likewise.
29804 * util/mkisofs/getopt.c: Likewise.
29805 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29806 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29807 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29808 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29809 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29810
29811 * configure.ac: Detect `mingw32msvc' host_os.
29812 Check for lstat(), getuid() and getgid().
29813
29814 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29815 instances of `u_char' with `uint8_t'.
29816
29817 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29818 [!HAVE_GETUID] (getuid): New function (stub).
29819 [!HAVE_GETGID] (getgid): Likewise.
29820 [!HAVE_LSTAT] (lstat): Likewise.
29821 [!S_IROTH] (S_IROTH): New macro (dummy).
29822 [!S_IRGRP] (S_IRGRP): Likewise.
29823
84b860d8
RM
298242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29825
29826 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29827 conditional expression).
29828
66e9b712
RM
298292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29830
29831 Import from Gnulib.
29832
29833 * gnulib/fnmatch.c: New file.
29834 * gnulib/fnmatch.h: Likewise.
29835 * gnulib/fnmatch_loop.c: Likewise.
29836 * gnulib/getopt.c: Likewise.
29837 * gnulib/getopt.h: Likewise.
29838 * gnulib/getopt1.c: Likewise.
29839 * gnulib/getopt_int.h: Likewise.
29840 * gnulib/gettext.h: Likewise.
29841
34f4a5b0
RM
298422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29843
29844 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29845 * normal/handler.c (read_handler_list): Likewise.
29846
ac451143
RM
298472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29848
29849 Misc cleanup.
29850
29851 * kern/command.c (grub_register_command_prio): Use
29852 grub_zalloc() instead of explicitly zeroing data.
29853 * kern/list.c: Include `<grub/mm.h>'.
29854 (grub_named_list_find): Replace `0' with `NULL'.
29855 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29856 (fs_module_list): Change type to `grub_named_list_t'. Update all
29857 users.
29858 * normal/dyncmd.c (read_command_list): Add space between function
29859 call and parenthesis.
29860 * normal/handler.c (read_handler_list): Likewise.
29861
4089b167
RM
298622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29863
29864 * normal/auth.c (punishment_delay): Moved from here ...
29865 (grub_auth_strcmp): ... to here (inside function).
29866
325f5037
RM
298672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29868
29869 * include/grub/list.h (struct grub_named_list): Remove `const'
29870 qualifier from `name'.
29871 (struct grub_prio_list): Likewise.
29872
7aea29a3
RM
298732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29874
29875 * normal/auth.c: Include `<grub/time.h>'.
29876 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29877
3fd6f044
RM
298782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29879
29880 * normal/auth.c (punishment_delay): New variable.
29881 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29882 (grub_auth_check_authentication): Punish failed login attempts with
29883 an incremental (2^N) delay.
29884
a4cd68e4
RM
298852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29886
29887 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29888 path with $(srcdir).
29889
7ad12f43
VS
298902009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29891
29892 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29893
c1129f03
RM
298942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29895
29896 * util/i386/coreboot/grub-mkrescue.in: New file.
29897 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29898 variables.
29899
29900 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29901 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29902 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29903 requirements.
29904 * util/mkisofs/defaults.h: New file.
29905 * util/mkisofs/eltorito.c: Likewise.
29906 * util/mkisofs/exclude.h: Likewise.
29907 * util/mkisofs/fnmatch.c: Likewise.
29908 * util/mkisofs/getopt.c: Likewise.
29909 * util/mkisofs/getopt1.c: Likewise.
29910 * util/mkisofs/hash.c: Likewise.
29911 * util/mkisofs/include/fctldefs.h: Likewise.
29912 * util/mkisofs/include/mconfig.h: Likewise.
29913 * util/mkisofs/include/prototyp.h: Likewise.
29914 * util/mkisofs/include/statdefs.h: Likewise.
29915 * util/mkisofs/iso9660.h: Likewise.
29916 * util/mkisofs/joliet.c: Likewise.
29917 * util/mkisofs/match.c: Likewise.
29918 * util/mkisofs/match.h: Likewise.
29919 * util/mkisofs/mkisofs.c: Likewise.
29920 * util/mkisofs/mkisofs.h: Likewise.
29921 * util/mkisofs/multi.c: Likewise.
29922 * util/mkisofs/name.c: Likewise.
29923 * util/mkisofs/rock.c: Likewise.
29924 * util/mkisofs/tree.c: Likewise.
29925 * util/mkisofs/write.c: Likewise.
29926
ec8bb77d
VS
299272009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29930 being insecure.
29931
3716b12c
RM
299322009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29933
29934 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29935 `grub-mkimage' (and use $0 when possible).
29936
b97b7b91
RM
299372009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29938
29939 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29940 error message for excessively large memory map.
29941
04114812
RM
299422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29943
29944 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29945 executable bit.
29946
e4eb2373
RM
299472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29948
29949 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29950 message for coreboot users.
29951
c926e1d5 299522009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 Fix build with GNU gold.
29955
29956 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29957 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29958 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29959 link addresses.
29960 * aclocal.m4: Likewise.
29961
86e5b1db 299622009-11-04 Felix Zielcke <fzielcke@z-51.de>
29963
29964 * configure.ac (AC_PREREQ): Bump to 2.59d.
29965 * INSTALL: Make it more clear when Autoconf and Ruby are
29966 needed and when to run `./autogen.sh'.
29967
246cd78f 299682009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29969
29970 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29971 OSes.
29972
4f9dfb37 299732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29974
29975 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29976
b82bd5e1 299772009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29978
29979 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29980 giving it to GNU Mach.
29981
ff1a9bca 299822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29983
29984 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29985 GNU partition number to get internal GRUB partition number.
29986
61697d9c 299872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29988
29989 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29990 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29991
a50569e1 299922009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29993
29994 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29995 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29996 case.
29997
5b153867 299982009-11-01 Felix Zielcke <fzielcke@z-51.de>
29999
30000 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30001
d9e2cd70 300022009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30003
30004 Fix build problem.
30005
30006 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30007 `-isystem=$(srcdir)/include'.
30008
805111a4 300092009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30010
30011 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30012 checked (grub-install doesn't currently rely on it).
30013
fa6e945f 300142009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30015
30016 Revert SVN r2660.
30017
30018 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30019 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30020 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30021 * conf/i386-ieee1275.rmk: Likewise.
30022 * conf/i386-pc.rmk: Likewise.
30023 * conf/powerpc-ieee1275.rmk: Likewise.
30024 * conf/sparc64-ieee1275.rmk: Likewise.
30025 * conf/x86_64-efi.rmk: Likewise.
30026
cee15086 300272009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30028
30029 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30030
95b9239e 300312009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30032
30033 * include/grub/misc.h: Stop checking for APPLE_CC.
30034
2ed19dfd 300352009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30036
30037 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30038 doesn't cause an infinite call loop.
30039
fdcdde19 300402009-10-28 Felix Zielcke <fzielcke@z-51.de>
30041
30042 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30043 strings.
30044
cefabfe1 300452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30046
30047 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30048 variable.
30049 * Makefile.in: Likewise.
30050
ed96ab6d 300512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30052
30053 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30054
0579b753 300552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30058
478df409 300592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30060
30061 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30062
083d1679 300632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30064
30065 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30066 from here ...
30067 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30068
5947ae32 300692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30070
30071 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30072 in $(MAKEINFO) invocation. This makes it clear in output that
30073 errors are being ignored.
30074
94180ff6 300752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30076
30077 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30078 from here ...
30079 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30080 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30081 * conf/i386-ieee1275.rmk: Likewise.
30082 * conf/i386-pc.rmk: Likewise.
30083 * conf/powerpc-ieee1275.rmk: Likewise.
30084 * conf/sparc64-ieee1275.rmk: Likewise.
30085 * conf/x86_64-efi.rmk: Likewise.
30086
9031b03a 300872009-10-26 Colin Watson <cjwatson@ubuntu.com>
30088
30089 * util/grub-editenv.c (main): If only a command is given, use
30090 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30091 (usage): FILENAME is now optional and has a default.
30092
e4f6809b 300932009-10-26 Colin Watson <cjwatson@ubuntu.com>
30094
30095 Improve grub-mkconfig performance when there are several menu
30096 entries on a single filesystem.
30097
30098 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30099 prepare_grub_to_access_device.
30100 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30101 * util/grub.d/30_os-prober.in: Likewise.
30102
67937d4d 301032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30104
30105 * util/grub.d/10_freebsd.in: Remove.
30106 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30107 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30108
ee3756cc 301092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30110
5c35048e 30111 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30112
4dea1c6f 301132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30114
30115 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30116 grub_util_error() call.
30117
042484d7 301182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30119
30120 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30121 `reserved_first_sector' member.
30122 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30123 `reserved_first_sector' to 1.
30124 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30125 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30126 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30127 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30128 filesystems which begin at first sector.
30129 (options): New option --skip-fs-probe.
30130 (main): Handle --skip-fs-probe and pass it to setup().
30131
d64448a7 301322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30133
30134 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30135 (memset): Fix function prototype.
30136
508d42ec 301372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
301382009-10-25 Vasily Averin <vvs@parallels.com>
30139
30140 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30141 `dirent.direntlen == 0'.
30142
b240e30c 301432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30144
30145 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30146 `cpio'.
30147 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30148
346e7fbe 301492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30150
30151 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30152 `__trampoline_setup' and `__ucmpdi2'.
30153 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30154 that libgcc provides.
30155
cdb308b0 301562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30157
30158 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30159 * include/grub/sparc64/libgcc.h (memset): Likewise.
30160 * include/grub/misc.h (memset, memcmp): New function prototypes.
30161
fb26abc2 301622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30163
30164 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30165 `cpio'.
30166 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30167
f6693890 301682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30169
30170 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30171 * docs/grub.cfg: Compensate for recent change in multiboot
30172 loader (since 2009-08-14 it won't pass filename to payload).
30173 * util/grub.d/10_hurd.in: Likewise.
30174
0933cdc0 301752009-10-21 Felix Zielcke <fzielcke@z-51.de>
30176
30177 * config.guess: Update to latest version from config git
30178 repository.
30179 * config.sub: Likewise.
30180
3b2fe8c2 301812009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30182
30183 Fix build on sparc64.
30184
30185 * configure.ac: Perform checks for libgcc symbols before
30186 adding `-nostdlib' to LDFLAGS.
30187
46695a62 301882009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30189
30190 Let user specify OpenBSD root device.
30191
30192 * loader/i386/bsd.c (openbsd_root): New variable.
30193 (openbsd_opts): New option 'root'.
30194 (OPENBSD_ROOT_ARG): New macro.
30195 (grub_openbsd_boot): Use 'openbsd_root'.
30196 (grub_cmd_openbsd): Fill 'openbsd_root'.
30197
d2b6b7fc 301982009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * NEWS: Misc adjustments.
30201
421bd7ac 302022009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30205
f1d29d87 302062009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30207
30208 * configure.ac: Bump version to 1.97.
30209
6f3cd880 302102009-10-16 Colin Watson <cjwatson@ubuntu.com>
30211
30212 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30213 -mno-3dnow on x86 architectures. Some toolchains enable these
30214 features by default, but they rely on registers that aren't enabled
30215 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30216
035f7122 302172009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30218
30219 Make entry text a bit more readable.
30220
30221 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30222
44998e58 302232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30224
30225 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30226
cd2851b3 302272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30228
30229 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30230 operations.
30231
c6f3b249 302322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30233
30234 * configure.ac: Add missing dollar.
30235
6b5886ba 302362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30237
30238 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30239
30240 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30241 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30242 exports.
30243 * include/grub/sparc64/libgcc.h: Likewise. Use
30244 preprocessor conditionals.
30245
e9d66f6d 302462009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30247
30248 * conf/common.rmk (grub-dumpbios): Remove rule.
30249 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30250 * util/grub-dumpbios.in: Remove file.
30251
9155bc17 302522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30253
30254 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30255 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30256
30257 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30258 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30259 users.
30260
30261 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30262 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30263 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30264 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30265 users.
30266
bf7f7a18 302672009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30268
30269 * term/tparm.c: Switch to GPLv3.
30270
86564c26 302712009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30272
30273 * include/grub/i386/cpuid.h: Add header protection.
30274
5c936493 302752009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30276
30277 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30278
30279 * include/grub/i386/cpuid.h: New file.
30280 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30281 (has_longmode): Rename to ...
30282 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30283 `static' attribute.
30284 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30285 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30286 on a CPU that doesn't implement AMD64 instruction set.
30287
186e7cf2 302882009-10-06 Colin Watson <cjwatson@ubuntu.com>
30289
30290 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30291 that version.texi is rebuilt on version number changes.
30292
83b65c4a 302932009-10-06 Colin Watson <cjwatson@ubuntu.com>
30294
30295 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30296 Fixes bug #27602.
30297
d244281c 302982009-10-06 Colin Watson <cjwatson@ubuntu.com>
30299
30300 * util/i386/pc/grub-install.in: Source
30301 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30302 that the --grub-probe option will work.
30303 * util/sparc64/ieee1275/grub-install.in: Likewise.
30304
da25306d 303052009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30306
30307 * configure.ac: Bump version to 1.97~beta4.
30308
e8ee83c0 303092009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30310
30311 Resync grub-mkdevicemap in x86_64-efi.
30312
30313 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30314 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30315 `util/devicemap.c'.
30316
50dcabcf 303172009-10-01 Colin Watson <cjwatson@ubuntu.com>
30318
30319 * util/grub-editenv.c (create_envblk_file): Write new block with a
30320 .new suffix and then rename it into place, to ensure atomic
30321 creation.
30322
0e51c3a7 303232009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30324
30325 Do not automatically install headers.
30326
30327 * Makefile.in (include_DATA): Remove. Update all users.
30328
31299a95 303292009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30330
30331 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30332 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30333
30334 * util/osdetect.lua: Remove.
30335 * script/lua/lauxlib.c: Likewise.
30336 * script/lua/ldebug.c: Likewise.
30337 * script/lua/grub_main.c: Likewise.
30338 * script/lua/lauxlib.h: Likewise.
30339 * script/lua/ldebug.h: Likewise.
30340 * script/lua/ltablib.c: Likewise.
30341 * script/lua/liolib.c: Likewise.
30342 * script/lua/lstrlib.c: Likewise.
30343 * script/lua/lualib.h: Likewise.
30344 * script/lua/ldo.c: Likewise.
30345 * script/lua/ldump.c: Likewise.
30346 * script/lua/ldo.h: Likewise.
30347 * script/lua/loslib.c: Likewise.
30348 * script/lua/lundump.c: Likewise.
30349 * script/lua/grub_lib.c: Likewise.
30350 * script/lua/ldblib.c: Likewise.
30351 * script/lua/lundump.h: Likewise.
30352 * script/lua/lmem.c: Likewise.
30353 * script/lua/grub_lib.h: Likewise.
30354 * script/lua/lmathlib.c: Likewise.
30355 * script/lua/lstate.c: Likewise.
30356 * script/lua/ltm.c: Likewise.
30357 * script/lua/lvm.c: Likewise.
30358 * script/lua/lmem.h: Likewise.
30359 * script/lua/lstate.h: Likewise.
30360 * script/lua/ltm.h: Likewise.
30361 * script/lua/ltable.c: Likewise.
30362 * script/lua/lvm.h: Likewise.
30363 * script/lua/llex.c: Likewise.
30364 * script/lua/lgc.c: Likewise.
30365 * script/lua/grub_lua.h: Likewise.
30366 * script/lua/loadlib.c: Likewise.
30367 * script/lua/lfunc.c: Likewise.
30368 * script/lua/lopcodes.c: Likewise.
30369 * script/lua/lparser.c: Likewise.
30370 * script/lua/ltable.h: Likewise.
30371 * script/lua/llex.h: Likewise.
30372 * script/lua/lgc.h: Likewise.
30373 * script/lua/lfunc.h: Likewise.
30374 * script/lua/lbaselib.c: Likewise.
30375 * script/lua/lopcodes.h: Likewise.
30376 * script/lua/lparser.h: Likewise.
30377 * script/lua/lzio.c: Likewise.
30378 * script/lua/linit.c: Likewise.
30379 * script/lua/lobject.c: Likewise.
30380 * script/lua/llimits.h: Likewise.
30381 * script/lua/lstring.c: Likewise.
30382 * script/lua/lzio.h: Likewise.
30383 * script/lua/lapi.c: Likewise.
30384 * script/lua/lcode.c: Likewise.
30385 * script/lua/lua.h: Likewise.
30386 * script/lua/lobject.h: Likewise.
30387 * script/lua/lstring.h: Likewise.
30388 * script/lua/lapi.h: Likewise.
30389 * script/lua/lcode.h: Likewise.
30390 * script/lua/luaconf.h: Likewise.
30391
cb8a2c38 303922009-09-26 Colin Watson <cjwatson@ubuntu.com>
30393
30394 * docs/grub.texi (Command-line and menu entry commands): Document
30395 date and echo commands.
30396
6b9b6276 303972009-09-24 Pavel Roskin <proski@gnu.org>
30398
30399 * include/grub/kernel.h (struct grub_module_header): Remove
30400 `grub_module_header_types'. Make `type' unsigned. Make `size'
30401 32-bit on all platforms.
30402 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30403 8-bit field. Use grub_host_to_target32() for `size'.
30404 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30405 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30406 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30407
4e5a02a7 304082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30409
30410 Fix "lost keypress" bug in at_keyboard.
30411
30412 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30413 Checks for readyness of input buffer (without flushing it).
30414 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30415 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30416
c6dcedf6 304172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30418
30419 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30420 size check within GRUB_MACHINE_PCBIOS section.
30421
74c958b1 304222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30423
30424 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30425 return value.
30426 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30427 KEYBOARD_ISREADY check.
30428 (grub_at_keyboard_checkkey): Rename to ...
30429 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30430 Remove gratuitous cast.
30431
ff420223 304322009-09-23 Colin Watson <cjwatson@ubuntu.com>
30433
30434 * configure.ac: Call AC_PROG_MKDIR_P.
30435 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30436 version.texi in $(builddir) rather than $(srcdir).
30437 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30438 to makeinfo's @include search path.
30439
d96875df 304402009-09-23 Felix Zielcke <fzielcke@z-51.de>
30441
30442 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30443
9b3f8365 304442009-09-23 Felix Zielcke <fzielcke@z-51.de>
30445
30446 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30447 for `*.dpkg-new'.
30448
c44c90db 304492009-09-21 Colin Watson <cjwatson@ubuntu.com>
30450
30451 Build info documentation. Some code borrowed from Automake.
30452
30453 * configure.ac: Check for makeinfo.
30454 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30455 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30456 docs/version.texi.
30457 (MOSTLYCLEANFILES): Add vti.tmp.
30458 (docs/version.texi, docs/stamp-vti): Update automatically.
30459 (docs/grub.info): Build info documentation. Use --force and ignore
30460 errors for now.
30461 (all-local): Add $(INFOS).
30462 (install-local): Install info files.
30463 (uninstall): Uninstall info files.
30464 * docs/version.texi: Remove from revision control. This file is
30465 automatically generated on build now.
30466 * gendistlist.sh: Add `*.info'.
30467
e0b37bb5 304682009-09-21 Felix Zielcke <fzielcke@z-51.de>
30469
30470 * kern/term.c: Fix indentation.
30471
5a78865b 304722009-09-21 Felix Zielcke <fzielcke@z-51.de>
30473
30474 * util/hostdisk.c: Fix a comment.
30475
dace7e8a 304762009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30477
30478 Fix regression introduced in r2539.
30479
30480 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30481 to 0xA1.
30482
a83d079b 304832009-09-19 Colin Watson <cjwatson@ubuntu.com>
30484
30485 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30486 os-prober. Under normal operation, it does not print anything to
30487 stderr; if it does, we need to debug it, and throwing away stderr
30488 makes that excessively difficult.
a83d079b 30489
be94a509 304902009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30491
30492 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30493
63f745e8 304942009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30495
30496 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30497 AC_LANG_PROGRAM from autoconf.
30498 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30499 prototypes (fixes warning).
30500
30501 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30502 `--disable-werror' was used.
30503
bbb2a70f 305042009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30505
30506 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30507 uninitialized `lastaddr'.
30508
77c24f1d 305092009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30510
0f0b8c87 30511 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30512
07197f23 305132009-09-14 Colin Watson <cjwatson@ubuntu.com>
30514
30515 * commands/test.c (get_fileinfo): Return immediately if
30516 grub_fs_probe fails.
30517
dabf1798 305182009-09-14 José Martínez <xosemp@gmail.com>
30519
30520 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30521
d52109a7 305222009-09-14 Colin Watson <cjwatson@ubuntu.com>
30523
30524 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30525 output.
30526
56532179 305272009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30528
30529 * configure.ac: Remove --enable-grub-pe2elf. Only build
30530 grub-pe2elf when needed by the build system itself.
30531 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30532
8ef070f5 305332009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * configure.ac: Bump version to 1.97~beta3.
30536 * docs/version.texi: Likewise.
30537
61229557 305382009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30539
30540 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30541 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30542 from here ...
30543 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30544 (grub_linux_setup_video): ... to here (with some adjustments).
30545
5c9f8d84 305462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30547
30548 Fix memory corruption issue (spotted by Colin Watson).
30549
30550 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30551 causing returned size to be stored in an incorrect memory location.
30552 Fix use of uninitialized value when storing the returned size.
30553
e8f5d6e9 305542009-09-12 Yves Blusseau <blusseau@zetam.org>
30555
30556 Change clean rules to properly remove files
30557
30558 * genmk.rb: add new clean rules
30559 * Makefile.in (clean): add the new targets
30560 (mostlyclean): likewise
30561
cda2a409 305622009-09-11 Colin Watson <cjwatson@ubuntu.com>
30563
30564 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30565 to grub_uint64_t.
30566 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30567 non-resident files.
30568
86695375 305692009-09-11 Colin Watson <cjwatson@ubuntu.com>
30570
30571 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30572 part of bug #27349.
30573
8aa1541a 305742009-09-10 Felix Zielcke <fzielcke@z-51.de>
30575
30576 * util/grub-mkconfig.in: Make the created config mode 400 and
30577 print a warning if it fails.
30578
48d9bb0a 305792009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30580
30581 * util/grub.d/40_custom.in: Ask user to type custom entries below
30582 comment, rather than below 'exec tail' line.
30583
3b0521be 305842009-09-10 Colin Watson <cjwatson@ubuntu.com>
30585
30586 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30587 visible in grub.cfg.
30588
50051d55 305892009-09-10 Colin Watson <cjwatson@ubuntu.com>
30590
30591 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30592 file.
30593
c0d34387 305942009-09-10 Felix Zielcke <fzielcke@z-51.de>
30595
30596 * docs/grub.cfg: Add an example menu entry for memtest86+.
30597
80a608f3 305982009-09-09 Felix Zielcke <fzielcke@z-51.de>
30599
a2094832 30600 * config.guess: Update to latest version from config git.
80a608f3 30601 * config.sub: Likewise.
30602
99423078 306032009-09-08 Colin Watson <cjwatson@ubuntu.com>
30604
30605 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30606 unknown-command case. Fixes bug #27320.
30607
44454e4c 306082009-09-08 Felix Zielcke <fzielcke@z-51.de>
30609
30610 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30611 `help' if the command exists.
30612
e30d87ad 306132009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30614
30615 * INSTALL: Require GCC 4.1.3 or later.
30616
9a86f1ec 306172009-09-06 Yves Blusseau <blusseau@zetam.org>
30618
30619 * Makefile.in (RMKFILES): add i386-qemu.rmk
30620 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30621 $(srcdir)/stamp-h.in
30622
7f26d466 306232009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30624
30625 * util/grub-probe.c (probe): Comment out buggy codepath, which
30626 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30627 should be re-enabled after 1.97.
30628
3a613259 306292009-09-05 Felix Zielcke <fzielcke@z-51.de>
30630
30631 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30632 find searches for.
30633
197f76c7 306342009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30635
30636 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30637 unnecessary calls to grub_error.
30638
70ba68ce 306392009-09-04 Colin Watson <cjwatson@ubuntu.com>
30640
30641 * NEWS: Mention `keystatus' and Unicode fonts.
30642
4ff0d7a4 306432009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30644
30645 * configure.ac: Bump version to 1.97~beta2.
30646 * docs/version.texi: Likewise.
30647
77c55a87 306482009-09-03 Colin Watson <cjwatson@ubuntu.com>
30649
30650 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30651 containing unwind information in some cases where it previously did
30652 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30653 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30654 discussion.
30655
f79572cd 306562009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30657
30658 Embedding loadenv module into grub-emu
30659
30660 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30661 commands/loadenv.c
30662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30663 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30668
93a81088 306692009-09-03 Magnus Granberg <zorry@ume.nu>
30670
30671 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30672 include -fPIE in the default specs.
30673 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30674 to TARGET_CFLAGS.
30675
160034b2 306762009-09-03 Felix Zielcke <fzielcke@z-51.de>
30677
30678 * INSTALL: Note that GNU Bison 2.3 or later is required.
30679
087c07c4 306802009-09-03 Colin Watson <cjwatson@ubuntu.com>
30681
30682 * kern/i386/pc/startup.S: Fix typo.
30683
cbf978c0 306842009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30685
30686 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30687 according to GCS.
30688
306892009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30690
30691 * docs/grub.texi (Naming convention): Describe one-based partition
30692 numbering.
30693 (Device syntax): Likewise.
30694 (File name syntax): Likewise.
30695 (Block list syntax): Likewise.
30696 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30697 menu.lst.
30698 (File name syntax): Likewise.
30699 (Command-line and menu entry commands): Document acpi, blocklist,
30700 crc, export, insmod, keystatus, ls, set, and unset commands.
30701
f3e8cdfd 307022009-09-02 Colin Watson <cjwatson@ubuntu.com>
30703
30704 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30705 to avoid implying that only one of --shift, --ctrl, or --alt may be
30706 used.
30707
c0bc232b 307082009-09-02 Colin Watson <cjwatson@ubuntu.com>
30709
30710 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30711 rather than comparing against S_IFREG, which will almost never work.
30712
aa0f752d 307132009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30714
30715 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30716 (write_blocklists): Likewise.
30717
ecb3166a 307182009-09-01 Colin Watson <cjwatson@ubuntu.com>
30719
30720 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30721 argument to grub_printf.
30722
c403a125 307232009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30724
30725 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30726 non GNU test.
31aba781 30727
b5e7312c 307282009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30729
30730 * kern/file.c (grub_file_read): Spelling fix
30731
fe00f472 307322009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30733
30734 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30735 loading of headers in some cases.
30736
cc55302e 307372009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30738
30739 * configure.ac: Bump version to 1.97~beta1.
30740 * docs/version.texi: Likewise.
30741
5c90cdd2 307422009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30743
30744 * include/grub/i386/xnu.h: Add license header.
30745 include grub/err.h explicitly.
30746
c90edae4 307472009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30748
30749 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30750 to `ufs' in the vfs.root.mountfrom kernel parameter.
30751
d8888b5c 307522009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30753
30754 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30755
30756 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30757 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30758
30759 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30760 `ARRAY_SIZE' macro.
30761
6f07b921 307622009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30763
30764 * kern/file.c (grub_file_read): Check offset.
30765 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30766 * fs/jfs.c (grub_jfs_read_file): Likewise.
30767 * fs/ntfs.c (grub_ntfs_read): Likewise.
30768 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30769 * fs/minix.c (grub_minix_read_file): Correct offset check.
30770 * fs/ufs.c (grub_ufs_read_file): Likewise.
30771
b4f34077 307722009-08-28 Colin Watson <cjwatson@ubuntu.com>
30773
30774 * term/i386/pc/console.c (bios_data_area): Cast
30775 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30776
e7c69859 307772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30778
30779 1-bit optimised blitters.
30780
30781 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30782 prototype.
30783 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30784 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30785 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30786 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30787 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30788 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30789 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30790 function.
30791 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30792 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30793 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30794 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30795 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30796 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30797 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30798 when possible.
30799 * video/video.c (grub_video_get_blit_format): Return
30800 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30801
a57da43f 308022009-08-28 Colin Watson <cjwatson@ubuntu.com>
30803
30804 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30805 the first argument to grub_printf.
30806
4cbe67e5 308072009-08-28 Colin Watson <cjwatson@ubuntu.com>
308082009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30809
30810 Add `getkeystatus' terminal method. Add a new `keystatus' command
30811 to query it.
30812
30813 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30814 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30815 modifier key bitmasks.
30816 (struct grub_term_input): Add `getkeystatus' member.
30817 (grub_getkeystatus): Add prototype.
30818 * kern/term.c (grub_getkeystatus): New function.
30819
30820 * include/grub/i386/pc/memory.h
30821 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30822 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30823 Data Area layout.
30824 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30825 (grub_console_term_input): Set `getkeystatus' member.
30826 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30827 constants.
30828 (grub_usb_keyboard_getreport): Likewise.
30829 (grub_usb_keyboard_checkkey): Likewise.
30830 (grub_usb_keyboard_getkeystatus): New function.
30831 (grub_usb_keyboard_term): Set `getkeystatus' member.
30832
30833 * commands/keystatus.c: New file.
30834 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30835 (keystatus_mod_SOURCES): New variable.
30836 (keystatus_mod_CFLAGS): Likewise.
30837 (keystatus_mod_LDFLAGS): Likewise.
30838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30839 commands/keystatus.c.
30840 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30841 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30842 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30846
6e2a9085 308472009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30848
30849 Split befs.mod and afs.mod into *_be.mod and *.mod
30850
30851 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30852 (grub_fstest_SOURCES): Likewise.
30853 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30854 (afs_be_mod_SOURCES): New variable.
30855 (afs_be_mod_CFLAGS): Likewise.
30856 (afs_be_mod_LDFLAGS): Likewise.
30857 (befs_be_mod_SOURCES): Likewise.
30858 (befs_be_mod_CFLAGS): Likewise.
30859 (befs_be_mod_LDFLAGS): Likewise.
30860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30863 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30864 (grub_emu_SOURCES): Likewise.
30865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30868 * fs/afs_be.c: New file.
30869 * fs/befs_be.c: New file.
30870 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30871 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30872 (U16): Replaced with ...
30873 (grub_afs_to_cpu16): ...this. All users updated.
30874 (U32): Replaced with ...
30875 (grub_afs_to_cpu32): ...this. All users updated.
30876 (U64): Replaced with ...
30877 (grub_afs_to_cpu64): ...this. All users updated.
30878 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30879 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30880 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30881 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30882 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30883 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30884 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30885 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30886 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30887 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30888 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30889
32a71655 308902009-08-26 Bean <bean123ch@gmail.com>
30891
30892 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30893 64-bit number.
30894 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30895 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30896 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30897
552bf6c5 308982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30899
30900 NetBSD memory map support.
30901
30902 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30903 (grub_netbsd_btinfo_mmap_header): New structure.
30904 (grub_netbsd_btinfo_mmap_entry): Likewise.
30905 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30906
1ae2078c 309072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30908
30909 Enable bsd.mod on coreboot.
30910
30911 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30912 (bsd_mod_SOURCES): New variable.
30913 (bsd_mod_CFLAGS): Likewise.
30914 (bsd_mod_LDFLAGS): Likewise.
30915 (bsd_mod_ASFLAGS): Likewise.
30916 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30917 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30918
beefc598 309192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30920
30921 Cleanup NetBSD root support.
30922
30923 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30924 grub_bsd_get_device.
30925 Fix typo.
30926
3b76e68b 309272009-08-25 Felix Zielcke <fzielcke@z-51.de>
30928
30929 * util/grub.d/00_header.in: Move check for the video backend of
30930 gfxterm from here ...
30931 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30932 a suitable video backend.
30933
aea664ea 309342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30935
30936 Fix breakage in grub-setup.
30937
30938 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30939 "msdos_partition_map".
30940
ff747d50 309412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30942
30943 Fix breakage in normal/auth.c.
30944
30945 * normal/auth.c (grub_iswordseparator): New function.
30946
e7e1f93f 309472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30948
30949 Authentication support.
30950
30951 * commands/password.c: New file.
30952 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30953 (password_mod_SOURCES): New variable.
30954 (password_mod_CFLAGS): Likewise.
30955 (password_mod_LDFLAGS): Likewise.
30956 (normal_mod_SOURCES): Add normal/auth.c.
30957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30958 normal/auth.c.
30959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30960 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30963 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30965 * include/grub/auth.h: New file.
30966 * include/grub/err.h (grub_err_t): New enum value
30967 GRUB_ERR_ACCESS_DENIED.
30968 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30969 'users'.
30970 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30971 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30972 users updated.
30973 * normal/auth.c: New file.
30974 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30975 (grub_cmdline_run): Don't allow to go to command line without
30976 authentication.
30977 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30978 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30979 menuentry without superuser rights.
30980 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30981 user isn't a superuser.
30982
70f1161d 309832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30984
30985 Save space by inlining misc.c functions.
30986
30987 * kern/misc.c (grub_iswordseparator): Made static.
30988 * kern/misc.c (grub_strcat): Moved from here ...
30989 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30990 * kern/misc.c (grub_strncat): Moved from here ...
30991 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30992 * kern/misc.c (grub_strcasecmp): Moved from here ...
30993 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30994 * kern/misc.c (grub_strncasecmp): Moved from here ...
30995 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30996 * kern/misc.c (grub_isalpha): Moved from here ...
30997 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30998 * kern/misc.c (grub_isdigit): Moved from here ...
30999 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31000 * kern/misc.c (grub_isgraph): Moved from here ...
31001 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31002 * kern/misc.c (grub_tolower): Moved from here ...
31003 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31004
48e40bff 310052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 * script/sh/function.c (grub_script_function_find): Cut error message
31008 not to flood terminal.
31009 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31010 limit.
31011 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31012
c385bfc3 310132009-08-24 Colin Watson <cjwatson@ubuntu.com>
31014
31015 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31016 `report' grub_uint8_t *.
31017 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31018 Use a 50-millisecond timeout rather than just repeating
31019 grub_usb_keyboard_getreport 50 times.
31020 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31021
2d21e3e8 310222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31023
31024 Rename *_partition_map to part_*
31025
31026 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31027 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31028 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31029 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31030 All users updated.
31031 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31032 All users updated.
31033 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31034 * util/grub-probe.c (probe_partmap): Don't transform partition name
31035 to get module name.
31036
dd103c4e 310372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31038
31039 Fix OpenBSD and NetBSD support.
31040
31041 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31042 memory address conflict.
31043 (OPENBSD_MMAP_ACPI): New definition.
31044 (OPENBSD_MMAP_NVS): Likewise.
31045 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31046 and OPENBSD_MMAP_NVS.
31047 Add memory map terminator
31048 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31049 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31050
16c84d74 310512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31052
31053 Let user specify NetBSD root device.
31054
31055 * loader/i386/bsd.c (netbsd_root): New variable.
31056 (netbsd_opts): New option 'root'.
31057 (NETBSD_ROOT_ARG): New macro.
31058 (grub_netbsd_boot): Use 'netbsd_root'.
31059 (grub_bsd_unload): Free 'netbsd_root'.
31060 (grub_cmd_netbsd): Fill 'netbsd_root'.
31061
adb29902 310622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31063
31064 Support for 64-bit NetBSD.
31065
31066 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31067 point when booting non-FreeBSD.
31068
f5ae9f74 310692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31070
31071 Support --no-smp and --no-acpi for NetBSD.
31072
31073 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31074 (NETBSD_AB_NOACPI): Likewise.
31075 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31076 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31077
de74f136 310782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31079
31080 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31081 errors.
31082 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31083 errors. Call grub_error when needed.
31084
e9a925da 310852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31086
31087 * commands/search.c (search_fs): Try searching without autoload first.
31088 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31089 filesystem module explicitly for faster booting.
31090
5174302b 310912009-08-23 Colin Watson <cjwatson@ubuntu.com>
31092
31093 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31094
c8c80635 310952009-08-23 Colin Watson <cjwatson@ubuntu.com>
31096
31097 * util/grub.d/30_os-prober.in: Disable os-prober if
31098 `GRUB_DISABLE_OS_PROBER' was set to true.
31099
71acf5e5 311002009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31101
31102 * partmap/pc.c: Rename to ...
31103 * partmap/msdos.c: ... this. Update all users.
31104 (grub_pc_partition_map): Rename to ...
31105 (grub_msdos_partition_map): ... this. Update all users.
31106
31107 * parttool/pcpart.c: Rename to ...
31108 * parttool/msdospart.c: ... this. Update all users.
31109
31110 * include/grub/pc_partition.h: Rename to ...
31111 * include/grub/msdos_partition.h: ... this. Update all users.
31112 (grub_pc_partition_bsd_entry): Rename to ...
31113 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31114 (grub_pc_partition_disk_label): Rename to ...
31115 (grub_msdos_partition_disk_label): ... this. Update all users.
31116 (grub_pc_partition_entry): Rename to ...
31117 (grub_msdos_partition_entry): ... this. Update all users.
31118 (grub_pc_partition_mbr): Rename to ...
31119 (grub_msdos_partition_mbr): ... this. Update all users.
31120 (grub_pc_partition): Rename to ...
31121 (grub_msdos_partition): ... this. Update all users.
31122 (grub_pc_partition_is_empty): Rename to ...
31123 (grub_msdos_partition_is_empty): ... this. Update all users.
31124 (grub_pc_partition_is_extended): Rename to ...
31125 (grub_msdos_partition_is_extended): ... this. Update all users.
31126 (grub_pc_partition_is_bsd): Rename to ...
31127 (grub_msdos_partition_is_bsd): ... this. Update all users.
31128
31129 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31130 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31131 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31132 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31133 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31134 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31135 (gpt_mod_LDFLAGS): Rename to ...
31136 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31137 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31138 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31139 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31140 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31141 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31142 (part_gpt_mod_LDFLAGS): ... this.
31143 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31144 `pcpart.mod' to `msdospart.mod'.
31145 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31146 to ...
31147 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31148 (msdospart_mod_LDFLAGS): ... this.
31149
c11fded5 311502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31151
31152 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31153 (openbsd_opts): Likewise.
31154 (netbsd_opts): Likewise.
31155 (freebsd_flags): Added 0 terminator.
31156 (openbsd_flags): Likewise.
31157 (netbsd_flags): Likewise.
31158 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31159 (grub_cmd_freebsd): Transformed into extended command.
31160 (grub_cmd_openbsd): Likewise.
31161 (grub_cmd_netbsd): Likewise.
31162 (cmd_freebsd): Changed type to grub_extcmd_t.
31163 (cmd_openbsd): Likewise.
31164 (cmd_netbsd): Likewise.
31165 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31166 grub_cmd_openbsd as extended commands.
31167 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31168 cmd_netbsd and cmd_openbsd
31169
11d1c769 311702009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31171
31172 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31173
7a9094e5 311742009-08-21 Pavel Roskin <proski@gnu.org>
31175
5496c37e 31176 * Makefile.in (install-local): When checking if a file is in the
31177 build directory, use "test -e" to detect symlinks.
31178
7a9094e5 31179 * Makefile.in (install-local): Remove all files in
31180 $(DESTDIR)$(pkglibdir) before installing new files there.
31181
e53cea11 311822009-08-18 Felix Zielcke <fzielcke@z-51.de>
31183
31184 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31185 grub-mkelfimage.
31186
9aced544 311872009-08-18 Felix Zielcke <fzielcke@z-51.de>
31188
31189 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31190 explicitly specified by the user.
31191
b7da6bab 311922009-08-18 Pavel Roskin <proski@gnu.org>
31193
31194 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31195 grub_uint8_t pointer for data.
31196 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31197 Likewise.
31198 * video/fb/fbutil.c: Remove unnecessary casts.
31199
19f1b335 312002009-08-17 Michal Suchanek <hramrach@centrum.cz>
31201
31202 VBE cleanup.
31203
31204 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31205 (grub_vbe_set_video_mode): Save active mode info
31206 only after setting the mode.
31207 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31208 second argument.
31209
2f467aa9 312102009-08-17 Michal Suchanek <hramrach@centrum.cz>
31211
31212 Rename variables for clarity.
31213
31214 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31215 (active_vbe_mode_info): ... this. All users updated.
31216 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31217 All users updated.
31218 (initial_mode): Rename to ...
31219 (initial_vbe_mode): ... this. All users updated.
31220 (mode_in_use): Rename to ..
31221 (vbe_mode_in_use): ... this. All users updated.
31222 (mode_list): Rename to ..
31223 (vbe_mode_list): ... this. All users updated.
31224 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31225 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31226 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31227 'mode_list_size' to 'vbe_mode_list_size'.
31228 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31229 'best_mode_info' to 'best_vbe_mode_info' and
31230 'best_mode' to 'best_vbe_mode'
31231
6025fcd7 312322009-08-17 Michal Suchanek <hramrach@centrum.cz>
31233
31234 Remove duplicate grub_video_fb_get_video_ptr.
31235
31236 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31237 (grub_video_fb_get_video_ptr): ... this.
31238 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31239 * video/fb/fbutil.c: Add comment about addressing.
31240 (get_data_ptr): Rename to ...
31241 (grub_video_fb_get_video_ptr): ... this. All users updated.
31242 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31243
cc8c6faf 312442009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31245
31246 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31247 grub_dprintf() that was just added.
31248
08aa61f0 312492009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31250
31251 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31252 (DEFAULT_VIDEO_MODE): Remove macros.
31253 (grub_linux_boot): Remove assumption that Linux has FB support,
31254 and use "text" as default video mode.
31255
7cef4f75 312562009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31257
31258 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31259 grub_dprintf.
31260 * fs/fat.c (grub_fat_read_data): Likewise.
31261
e1f39873 312622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31263
31264 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31265 payload.
31266 (grub_module): Likewise.
31267
c166d79e 312682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31269
31270 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31271 mbi->cmdline but free playground.
31272
c60cee8e 312732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31274
31275 Handle group offset on UFS1.
31276
31277 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31278 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31279
c0d8b5d4 312802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31281
31282 Split ufs.mod into ufs1.mod and ufs2.mod.
31283
31284 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31285 (grub_fstest_SOURCES): Likewise.
31286 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31287 (ufs_mod_SOURCES): Remove.
31288 (ufs_mod_CFLAGS): Likewise.
31289 (ufs_mod_LDFLAGS): Likewise.
31290 (ufs1_mod_SOURCES): New variable.
31291 (ufs1_mod_CFLAGS): Likewise.
31292 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31293 (ufs2_mod_SOURCES): New variable.
31294 (ufs2_mod_CFLAGS): Likewise.
31295 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31296 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31297 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31298 Likewise.
31299 (grub_emu_SOURCES): Likewise.
31300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31301 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31302 (grub_setup_SOURCES): Likewise.
31303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31304 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31305 (grub_setup_SOURCES): Likewise.
31306 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31307 Likewise.
31308 * fs/ufs2.c: New file.
31309 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31310
d3539132 313112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31312
31313 Framebuffer split.
31314
31315 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31316 subsystem at the end.
31317 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31318 (video_fb_mod_SOURCES): New variable.
31319 (video_fb_mod_CFLAGS): Likewise.
31320 (video_fb_mod_LDFLAGS): Likewise.
31321 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31322 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31323 * video/i386/pc/vbeblit.c: Moved from here ...
31324 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31325 * video/i386/pc/vbefill.c: Moved from here ...
31326 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31327 * video/i386/pc/vbeutil.c: Moved from here ...
31328 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31329 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31330 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31331 * include/grub/i386/pc/vbefill.h: Moved from here ...
31332 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31333 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31334 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31335 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31336 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31337 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31338 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31339 (grub_video_adapter): Added 'get_info_and_fini'.
31340 (grub_video_get_info_and_fini): New prototype.
31341 (grub_video_set_mode): make modestring const char *.
31342 * loader/i386/linux.c (grub_linux_setup_video): Use
31343 grub_video_get_info_and_fini.
31344 (grub_linux_boot): Move modesetting just before booting.
31345 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31346 grub_video_get_info_and_fini.
31347 * video/i386/pc/vbe.c: Moved framebuffer part ...
31348 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31349 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31350 grub_video_fbstd_colors and grub_video_fb_set_palette.
31351 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31352 grub_video_fb_init.
31353 (grub_video_vbe_fini): Use grub_video_fb_fini.
31354 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31355 render_target and use grub_video_fb_set_active_render_target and
31356 grub_video_fb_set_palette.
31357 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31358 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31359 (grub_video_vbe_adapter): Use framebuffer.
31360 * video/video.c (grub_video_get_info_and_fini): New function.
31361 (grub_video_set_mode): Make modestring const char *.
31362 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31363 values are already initialised.
31364
d404ee56 313652009-08-14 Pavel Roskin <proski@gnu.org>
31366
31367 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31368 ABS and APPLE_CC.
31369 * boot/i386/pc/diskboot.S: Likewise.
31370 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31371 sectors allow compilation on MacOSX.
31372 * conf/i386-pc.rmk: Enable unconditional compilation of
31373 lnxboot.img.
31374
9a10df16 313752009-08-13 Colin Watson <cjwatson@ubuntu.com>
31376
31377 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31378 * util/grub.d/00_header.in: Enter interruptible sleep if
31379 GRUB_HIDDEN_TIMEOUT is set.
31380
be3c9ca7 313812009-08-13 Yves Blusseau <blusseau@zetam.org>
31382
31383 * include/grub/symbol.h: Add the LOCAL macro.
31384 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31385 starting with "L_".
31386
1f9e557e 313872009-08-13 Pavel Roskin <proski@gnu.org>
31388
9ca62843 31389 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31390 any modern compilers we support.
31391
1f9e557e 31392 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31393 Use local labels starting with "L_" so that Apple assembler
31394 knows they are local.
31395
81623db6 313962009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31397
31398 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31399 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31400 (bsd_kernel_types): ... this enum.
31401
31402 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31403 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31404 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31405
31406 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31407 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31408 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31409 messages.
31410
f5d35e7a 314112009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31412
31413 * util/grub-dumpdevtree: Moved from here ...
31414 * util/i386/efi/grub-dumpdevtree: ... to here.
31415 (hexify): New function. Converts a string to its hex version.
31416 Generate hex versions of "efi" and "device-properties" by calling
31417 hexify() on the ASCII strings rather than by hardcoding numbers.
31418
d1e1d527 314192009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31420
31421 * fs/jfs.c: Update copyright year.
31422
1ebbe064 314232009-08-08 Felix Zielcke <fzielcke@z-51.de>
31424
31425 * util/grub.d/00_header.in: Fix a comment.
31426 * util/grub.d/10_linux.in: Likewise.
31427 * util/grub.d/10_windows.in: Likewise.
31428 * util/grub.d/10_hurd.in: Likewise.
31429
a78c8d24 314302009-08-08 Felix Zielcke <fzielcke@z-51.de>
31431
31432 * util/grub-mkconfig.in: Allow the user to specify the used font
31433 with GRUB_FONT.
31434
29a6b9e8 314352009-08-08 Pavel Roskin <proski@gnu.org>
31436
b5f16cc4 31437 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31438 available, xfs.mod needs it now.
31439
2f5cb827 31440 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31441 the "g" modifier in sed when the intention is to strip something
31442 once. This fixes comparison of kernels with multiple dashes.
31443
29a6b9e8 31444 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31445 on it. Add missing space before closing bracket. Fix
31446 misleading formatting.
31447
892a3d98 314482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31449
31450 * docs/grub.texi: Major overhaul. Remove all sections that are
31451 specific to GRUB Legacy, or mostly composed of Legacy-specific
31452 information.
31453
ed94253f 314542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31455
31456 * docs/version.texi: New file. Provides version information for
31457 grub.texi.
31458
126d6628 314592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31460
31461 * docs/grub.texi: Update CVS information to SVN.
31462 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31463
998b5aa9 314642009-08-07 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * util/grub-mkconfig.in: Remove a wrong `fi'.
31467
818e094a 314682009-08-07 Felix Zielcke <fzielcke@z-51.de>
31469
31470 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31471 (grub_jfs_uuid): New function.
31472 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31473
b969c52f 314742009-08-07 Felix Zielcke <fzielcke@z-51.de>
31475
31476 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31477 of it to ...
31478 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31479 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31480
7a4894cc 314812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31482
31483 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31484 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31485 Update all users.
31486
31487 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31488 not just "vmlinu[zx]".
31489 Moved from here ...
31490 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31491 all users.
31492
31493 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31494 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31495 all users.
31496
4e2171f8 314972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31498
31499 * util/grub.d/10_freebsd.in: Use an absolute device path for
31500 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31501
6dcfcb32 315022009-08-06 Felix Zielcke <fzielcke@z-51.de>
31503
31504 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31505 handling of multiple abstraction modules.
31506
f56a8756 315072009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31508
31509 Fix a bug resulting in black screen when loading Linux using a
31510 packed video mode.
31511
31512 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31513 function.
31514
31515 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31516 (grub_vbe_bios_getset_dac_palette_width): New function.
31517 (grub_vbe_bios_get_dac_palette_width)
31518 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31519 grub_vbe_bios_getset_dac_palette_width()).
31520
31521 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31522 check for return status.
31523 (grub_vbe_get_video_mode_info): When getting information for a packed
31524 mode (<= 8 bpp), obtain DAC palette width using
31525 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31526 {red,green,blue}_mark_size.
31527
222671b2 315282009-08-04 Felix Zielcke <fzielcke@z-51.de>
31529
ecb1a6d9 31530 * commands/search.c (options): Fix help output to match actual code.
222671b2 31531
f84114f5 315322009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31533
31534 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31535 of homegrown code.
31536
bd288a20 315372009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31538
31539 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31540 on XFS or ReiserFS.
31541
8aab5e25 315422009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31543
31544 Support Apple partition map with sector size different from 512 bytes.
31545
31546 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31547 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31548 and 'apart.partmap_size'.
31549
6ad6258a 315502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
315512009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31552
31553 Fix cpuid command.
31554
31555 * commands/i386/cpuid.c (options): New variable.
31556 (grub_cmd_cpuid): Return real error.
31557 (GRUB_MOD_INIT(cpuid)): Declare options.
31558
67459bc6 315592009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31560
31561 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31562 valid.
31563
fbc6ab54 315642009-07-31 Bean <bean123ch@gmail.com>
31565
31566 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31567 log2_inode.
31568 (grub_fshelp_node): Move inode field to the end.
31569 (grub_xfs_data): Remove inode field.
31570 (grub_xfs_inode_block): Calculate inode size using sblock.
31571 (grub_xfs_inode_offset): Likewise.
31572 (grub_xfs_read_inode): Calculate inode size using sblock.
31573 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31574 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31575 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31576 to match inode size.
31577 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31578 not accessible when data is null.
31579 (grub_xfs_open): Likewise.
31580
f45d6cfc 315812009-07-31 Bean <bean123ch@gmail.com>
31582
31583 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31584 Don't change pv->disk if it's already set.
31585
31586 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31587 (grub_raid_register): ... here.
31588 (grub_raid_rescan): Removed.
31589
31590 * include/grub/raid.h (grub_raid_rescan): Removed.
31591
31592 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31593 (fstest): Replace grub_raid_rescan with module fini function followed
31594 by init function.
31595
31596 * util/grub-probe.c: Add include file <grub/raid.h>.
31597 (probe_raid_level): New function.
31598 (probe): Detect abstraction by walking the disk device, support two
31599 level of abstraction (LVM on RAID) when detecting partition map.
31600
24443b5a 316012009-07-31 Pavel Roskin <proski@gnu.org>
31602
31603 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31604 to grub_zalloc(), it was erroneous.
31605 Reported by Bean <bean123ch@gmail.com>
31606
a275d9e7 316072009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31608
31609 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31610 embedding zone, not only the first one.
a275d9e7 31611
56c5a47f 316122009-07-29 Joe Auricchio <jauricchio@gmail.com>
31613
31614 * term/gfxterm.c (clear_char): New function.
31615 (grub_virtual_screen_setup): Use clear_char.
31616 (scroll_up): Likewise.
31617 (grub_virtual_screen_cls): Likewise.
31618
67bb323a 316192009-07-29 Felix Zielcke <fzielcke@z-51.de>
31620
31621 * util/deviceiter.c (get_acceleraid_disk_name): New static
31622 function.
31623 (grub_util_iterate_devices): Handle Accelraid devices.
31624 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31625
388a7c75 316262009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31627
31628 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31629 separator for the suggested gfxpayload string (';' collides with the
31630 parser and needs escaping).
31631
3bb7abcf 316322009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31633
31634 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31635 Clear direction flag before jumping to OS.
31636 (grub_multiboot2_real_boot): Likewise.
31637
2ddd36d7 316382009-07-28 Felix Zielcke <fzielcke@z-51.de>
31639
31640 * util/i386/pc/grub-install: Fix parsing of --disk-module
31641 option.
31642
c521b62b 316432009-07-28 Felix Zielcke <fzielcke@z-51.de>
31644
31645 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31646 when embedding.
31647
880e0a0c 316482009-07-26 Felix Zielcke <fzielcke@z-51.de>
31649
31650 * util/grub-mkconfig.in (package_version): New variable.
31651 Use it do display the version.
31652
2366e356 316532009-07-25 Felix Zielcke <fzielcke@z-51.de>
31654
31655 * kern/file.c (grub_file_open): Revert to previous check with
31656 grub_errno.
31657
7ad8c80e 316582009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31659
31660 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31661 from help line. It's out of sync with code.
31662
72b9658b 316632009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31664
31665 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31666 entries on failed boot.
31667
77435277 316682009-07-25 Felix Zielcke <fzielcke@z-51.de>
31669
31670 * kern/file.c (grub_file_open): Fix an error check.
31671
fcaa8b21 316722009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31673
35d16c74 31674 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31675 partition map couldn't be identified.
fcaa8b21 31676
48904cd1 316772009-07-23 Pavel Roskin <proski@gnu.org>
31678
ef3c317f 31679 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31680 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31681 case of little endian words becomes just an optimization.
31682 Respect const modifier.
ad8ea1f4 31683 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31684
48904cd1 31685 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31686 to avoid loss of upper bits if align is unsigned and shorter
31687 than addr.
31688
260c9a89 316892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31690
31691 UUID support for UFS
31692
31693 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31694 (grub_ufs_uuid): New function.
31695 (grub_ufs_fs): add .uuid
31696
f76ce889 316972009-07-21 Pavel Roskin <proski@gnu.org>
31698
31699 * kern/dl.c (grub_dl_check_header): Make static.
31700
6a6cbcaf 317012009-07-21 Felix Zielcke <fzielcke@z-51.de>
31702
31703 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31704 add drivemap for Vista. It breaks Windows 7.
31705
cffcddb2 317062009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31707
31708 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31709 128 bytes
31710
1ef44b80 317112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31712
31713 Add BFS support
31714
31715 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31716 (grub_fstest_SOURCES): Likewise.
31717 (pkglib_MODULES): Add befs.mod.
31718 (befs_mod_SOURCES): New variable.
31719 (befs_mod_CFLAGS): Likewise.
31720 (befs_mod_LDFLAGS): Likewise.
31721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31722 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31724 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31725 (grub_setup_SOURCES): Likewise.
31726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31728 (grub_setup_SOURCES): Likewise.
31729 * fs/befs.c: New file.
31730 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31731 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31732 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31733 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31734 (B_KEY_INDEX_ALIGN): New declaration.
31735 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31736 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31737 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31738 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31739 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31740 (grub_afs_mount) [MODE_BFS]: Likewise.
31741 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31742 (grub_afs_fs): Use GRUB_AFS_FSNAME
31743 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31744 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31745 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31746 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31747
4f253044 317482009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31749
31750 * util/getroot.c (find_root_device): Add support for MacOSX.
31751 * util/hostdisk.c: Likewise.
31752
57a55913 317532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31754
31755 * font/font.c (find_glyph): Check whether a font is present to avoid
31756 segmentation fault.
75421ca9 31757
317582009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31759
31760 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31761
e98cd0c2 317622009-07-20 Pavel Roskin <proski@gnu.org>
31763
31764 * configure.ac: Trim excessively wordy excuses.
31765
1d2d169a 317662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31767
31768 Add symlink, mtime and label support to AtheFS.
31769
31770 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31771 (grub_afs_iterate_dir): Handle symlinks.
31772 (grub_afs_open): Use grub_afs_read_symlink.
31773 (grub_afs_dir): Likewise.
31774 Pass mtime.
31775 (grub_afs_label): New function.
31776 (grub_afs_fs): Add grub_afs_label.
31777 (grub_afs_read_symlink): New function.
31778
186f3189 317792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31780
31781 Fix AtheFS support.
31782
31783 * fs/afs.c: Fix comments style.
31784 (grub_afs_blockrun): Declare as packed.
31785 (grub_afs_datastream): Likewise.
31786 (grub_afs_bnode): Likewise.
31787 (grub_afs_btree): Likewise.
31788 (grub_afs_sblock): Likewise.
31789 Declare `name' as char.
31790 (grub_afs_inode): Declare as packed.
31791 Change void *vnode to grub_uint32_t unused.
31792 (grub_afs_iterate_dir): Check that key_size is positive.
31793 (grub_afs_mount): Don't read superblock twice.
75421ca9 31794 (grub_afs_dir): Don't free node in case of error,
186f3189 31795 grub_fshelp_find_file already handles this.
31796 (grub_afs_open): Likewise.
31797
5680109e 317982009-07-19 Pavel Roskin <proski@gnu.org>
31799
31800 * Makefile.in: Remove LIBLZO and enable_lzo.
31801 * conf/i386-pc.rmk: Remove lzo support.
31802 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31803 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31804 support.
31805 * kern/i386/pc/lzo1x.S: Remove.
31806 * kern/i386/pc/startup.S: Remove lzo support.
31807 * util/i386/pc/grub-mkimage.c: Likewise.
31808
ac70fa32 318092009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31812 * fs/xfs.c (grub_xfs_dir): Likewise.
31813 * fs/afs.c (grub_afs_dir): Likewise.
31814 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31815 (grub_iso9660_open): Likewise.
31816 * fs/jfs.c (grub_jfs_open): Likewise.
31817 * fs/ext2.c (grub_ext2_dir): Likewise.
31818 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31819 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31820
eab58da2 318212009-07-16 Pavel Roskin <proski@gnu.org>
31822
d2838156 31823 * configure.ac: Never add "-c" to CFLAGS.
31824
55c70904 31825 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31826
43e6200c 31827 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31828 grub_cv_cc_efiemu should be used.
31829
ce7a733d 31830 * configure.ac: Typo fixes.
31831
eab58da2 31832 * kern/mm.c (grub_zalloc): New function.
31833 (grub_debug_zalloc): Likewise.
31834 * include/grub/mm.h: Declare grub_zalloc() and
31835 grub_debug_zalloc().
31836 * util/misc.c (grub_zalloc): New function.
31837 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31838 instead of grub_malloc(), remove unneeded initializations.
31839 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31840 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31841 * commands/parttool.c (grub_cmd_parttool): Likewise.
31842 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31843 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31844 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31845 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31846 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31847 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31848 (grub_cmd_efiemu_pnvram): Likewise.
31849 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31850 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31851 (grub_iso9660_iterate_dir): Likewise.
31852 * fs/jfs.c (grub_jfs_opendir): Likewise.
31853 * fs/ntfs.c (list_file): Likewise.
31854 (grub_ntfs_mount): Likewise.
31855 * kern/disk.c (grub_disk_open): Likewise.
31856 * kern/dl.c (grub_dl_load_core): Likewise.
31857 * kern/elf.c (grub_elf_file): Likewise.
31858 * kern/env.c (grub_env_context_open): Likewise.
31859 (grub_env_set): Likewise.
31860 (grub_env_set_data_slot): Likewise.
31861 * kern/file.c (grub_file_open): Likewise.
31862 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31863 * loader/i386/multiboot.c (grub_module): Likewise.
31864 * loader/xnu.c (grub_xnu_create_key): Likewise.
31865 (grub_xnu_create_value): Likewise.
31866 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31867 (read_config_file): Likewise.
31868 * normal/menu_entry.c (make_screen): Likewise.
31869 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31870 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31871 * script/sh/script.c (grub_script_parse): Likewise.
31872 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31873 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31874 * video/readers/png.c (grub_png_output_byte): Likewise.
31875 (grub_video_reader_png): Likewise.
31876
830afef7 318772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31878
31879 Enable all targets that can be built by default
31880
830afef7 31881 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31882 grub-mkfont and grub-fstest if they can be built
31883
ee293aee 318842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31885
31886 Fix hang and segmentation fault in grub-emu-usb
31887
31888 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31889 * util/usb.c (grub_libusb_devices): likewise
31890 (grub_libusb_init): rename to ...
31891 (GRUB_MOD_INIT (libusb)):...this
31892 (grub_libusb_fini): rename to ..
31893 (GRUB_MOD_FINI (libusb)):...this
31894 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31895 * include/grub/disk.h (grub_raid_init): removed, it's useless
31896 (grub_raid_fini): likewise
31897 (grub_lvm_init): likewise
31898 (grub_lvm_fini): likewise
31899 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31900 by grub_init_all
31901
94414221 319022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31903
31904 Fix libusb
31905
31906 * Makefile.in (LIBUSB): new macro
31907 * genmk.rb (Utility/print_tail): new method
31908 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31909 (top level): call util.print_tail at the end.
31910
59ade63d 319112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31912
31913 Make FreeBSD accept zpool.cache
31914
31915 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31916 type is /boot/zfs/zpool.cache
31917
a58da8c7 319182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31919
31920 Fix 64-bit efiemu
31921
31922 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31923 correct wrong typedef
31924 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31925
20591577 319262009-07-15 Pavel Roskin <proski@gnu.org>
31927
560ca572 31928 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31929 * kern/disk.c (struct grub_disk_cache): Likewise.
31930
e8e8e4fd 31931 * commands/probe.c (options): Typo fix.
31932
fde24e10 31933 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31934 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31935 accordingly.
31936 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31937
379c54c1 31938 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31939 the end of "Error" to make the message more readable.
31940
7bd8f5bf 31941 * boot/i386/pc/boot.S (kernel_segment): Remove.
31942 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31943 for destination.
31944
40b132c5 31945 * boot/i386/pc/boot.S (boot_version): Remove.
31946 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31947 Remove.
31948
20591577 31949 * include/grub/i386/pc/boot.h: Sort all offsets.
31950 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31951 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31952 * boot/i386/pc/boot.S: Assert location of every offset listed in
31953 include/grub/i386/pc/boot.h.
31954
2df32b2c 319552009-07-13 Pavel Roskin <proski@gnu.org>
31956
44b5d879 31957 * include/grub/i386/coreboot/machine.h: Rename
31958 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31959 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31960 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31961
17dc3751 31962 * kern/dl.c: Force native word size to suppress warnings when
31963 compiling grub-emu.
31964
2df32b2c 31965 * kern/device.c (grub_device_iterate): Change struct part_ent to
31966 hold the name, not a pointer to it. Use one grub_malloc() per
31967 partition, not two. Free partition_name if grub_malloc() fails.
31968 Set ents to NULL only before grub_partition_iterate() is called.
31969
75c59f59 319702009-07-11 Bean <bean123ch@gmail.com>
31971
31972 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31973 childname.
31974
0ae1bf88 319752009-07-10 Bean <bean123ch@gmail.com>
319762009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31977
31978 * kern/ieee1275/openfw.c (grub_children_iterate)
31979 (grub_devalias_iterate): Fix size evaluation for property or path
31980 strings, which was broken since r2132.
31981
8279cade 319822009-07-07 Pavel Roskin <proski@gnu.org>
31983
7d8a52d3 31984 * commands/search.c (search_file): Merge into ...
31985 (search_fs): ... this. Accept search type as argument.
31986 (grub_cmd_search): Pass search type to search_fs().
31987
25f9a05a 31988 * include/grub/util/console.h: New file.
31989 * util/console.c: Use it instead of grub/machine/console.h.
31990 * util/grub-emu.c: Likewise.
31991
8279cade 31992 * lib/arg.c (find_long_option): Remove.
31993 (find_long): Add `len' argument, make `s' const char *.
31994 (grub_arg_parse): Parse long options in place, not in a
31995 temporary buffer.
31996
4a11b60f 319972009-07-06 Pavel Roskin <proski@gnu.org>
31998
99f68041 31999 * commands/search.c (search_fs): Fix potential NULL pointer
32000 dereference.
32001
4a11b60f 32002 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32003 function pointer.
32004
e110f4de 320052009-07-06 Daniel Mierswa <impulze@impulze.org>
32006
32007 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32008 comparison.
32009
46eeb6a2 320102009-07-05 Pavel Roskin <proski@gnu.org>
32011
bab74958 32012 * include/grub/i386/linux.h (struct linux_kernel_params):
32013 Restore padding3, it's still needed.
32014
46eeb6a2 32015 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32016 FreeBSD.
32017 * util/osdetect.lua: Likewise.
32018
b4a1dc79 320192009-07-05 Bean <bean123ch@gmail.com>
32020
32021 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32022
32023 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32024 (grub_lua_getenv): Likewise.
32025 (grub_lua_setenv): Likewise.
32026 (save_errno): New function.
32027 (push_result): Likewise.
32028 (grub_lua_enum_device): Likewise.
32029 (grub_lua_enum_file): Likewise.
32030 (grub_lua_file_open): Likewise.
32031 (grub_lua_file_close): Likewise.
32032 (grub_lua_file_seek): Likewise.
32033 (grub_lua_file_read): Likewise.
32034 (grub_lua_file_getline): Likewise.
32035 (grub_lua_file_getsize): Likewise.
32036 (grub_lua_file_getpos): Likewise.
32037 (grub_lua_file_eof): Likewise.
32038 (grub_lua_file_exist): Likewise.
32039 (grub_lua_add_menu): Likewise.
32040
32041 * script/lua/grub_lua.h (isupper): New inline function.
32042 (islower): Likewise.
32043 (ispunct): Likewise.
32044 (isxdigit): Likewise.
32045 (strcspn): Change to normal function.
32046 (strpbkr): New function declaration.
32047 (memchr): Likewise.
32048
32049 * script/lua/grub_main.c (scan_str): New function.
32050 (strcspn): Likewise.
32051 (strpbrk): Likewise.
32052 (memchr): Likewise.
32053
32054 * script/lua/linit.c (lualibs): Enable the string library.
32055
32056 * util/osdetect.lua: New file.
32057
2da92295 320582009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32059
32060 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32061 `capabilities' member.
32062
b2582ec9 320632009-07-02 Pavel Roskin <proski@gnu.org>
32064
32065 * genparttoollist.sh: Add missing newline at the end.
32066
32622956 320672009-07-01 Pavel Roskin <proski@gnu.org>
32068
87a7339e 32069 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32070
d23af54e 32071 * util/hostdisk.c (open_device): Remove `const' from
32072 `sysctl_size', as sysctlbyname() can change it (in this case it
32073 doesn't actually happen).
32074
c94b18a9 32075 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32076 using signed long int constants.
32077
c6cd3ef0 32078 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32079 constant to avoid a warning on FreeBSD.
32080
0df63420 32081 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32082 where it's needed.
32083
999577f1 32084 * Makefile.in: Install include/grub/machine symlink.
32085
6f41557f 32086 * Makefile.in: When installing symlinks, use "cp -fR", which
32087 works on FreeBSD and MacOSX.
32088 From Yves Blusseau <cl7m42e02@sneakemail.com>
32089
c8d22988 32090 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32091 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32092
1b96e952 32093 * util/misc.c: Move grub_reboot() and grub_halt() ...
32094 * util/grub-emu.c: ... here. Make main_env static.
32095 * include/grub/util/misc.h: Remove main_env.
32096
2ef0084d 32097 * kern/mm.c: Use correct format to print size_t.
32098
32622956 32099 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32100 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32101 * kern/powerpc/dl.c: Likewise.
32102 * kern/sparc64/dl.c: Likewise.
32103 * kern/x86_64/dl.c: Likewise.
32104
3f7f0cd0 321052009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32106
32107 Fix grub-emu build on sparc64-ieee1275.
32108
75421ca9 32109 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32111
211d06b5 321122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32115 (grub_reboot, grub_halt): New functions.
32116
32117 * util/i386/pc/misc.c: Delete. Update all users.
32118 * util/sparc64/ieee1275/misc.c: Likewise.
32119 * util/powerpc/ieee1275/misc.c: Likewise.
32120
aaf53e3c 321212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32122
32123 * conf/i386.rmk (setjmp_mod_SOURCES)
32124 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32125 * conf/common.rmk (setjmp_mod_SOURCES)
32126 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32127 to use $(target_cpu).
32128 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32129 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32130 * conf/powerpc-ieee1275.rmk: Likewise.
32131 * conf/sparc64-ieee1275.rmk: Likewise.
32132
32133 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32134 $(target_cpu) for kern/$(target_cpu)/dl.c.
32135 * conf/i386-efi.rmk: Likewise.
32136 * conf/i386-ieee1275.rmk: Likewise.
32137 * conf/x86_64-efi.rmk: Likewise.
32138 * conf/i386-coreboot.rmk: Likewise.
32139 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32140 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32141 kern/$(target_cpu)/cache.S.
32142 * conf/sparc64-ieee1275.rmk: Likewise.
32143
a337130b 321442009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32145
32146 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32147 type to `grub_uint8_t', and adjust `padding9' accordingly.
32148
c6fe4d53 321492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32150
b09db61d 32151 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32152
c6fe4d53 32153 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32154 assembly in final jump, using register constraints.
32155
b09db61d 32156 (grub_linux_boot): For text mode, initialize `have_vga' using
32157 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32158
32159 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32160 right before the final jump.
32161
32162 Set `video_mode' to 0x3.
32163
32164 Document initialization of `video_page', `video_mode' and
32165 `video_ega_bx'.
32166
28333ad0 321672009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32168
32169 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32170 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32171 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32172
02164e1b 321732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32174
32175 Fix build on Debian / sparc.
32176
32177 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32178
18b6c557 321792009-06-28 Pavel Roskin <proski@gnu.org>
32180
85f2aab6 32181 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32182 fix a warning.
32183
18b6c557 32184 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32185
ad760f81 321862009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32187
32188 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32189 `err'.
32190
87a4623b 321912009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32192
32193 Revert r2338.
32194
32195 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32196 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32197 grub_errno / grub_errmsg appropriately.
87a4623b 32198 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32199
8231fb77 322002009-06-27 Pavel Roskin <proski@gnu.org>
322012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32202
32203 * include/grub/dl.h: Include grub/elf.h.
32204 (struct grub_dl): Add symtab field.
32205 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32206 GRUB_MODULES_MACHINE_READONLY.
32207 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32208 of the header for read-only modules.
32209 (grub_dl_unload): Free mod->symtab for read-only modules.
32210 * kern/i386/dl.c: Use mod->symtab.
32211 * kern/powerpc/dl.c: Likewise.
32212 * kern/sparc64/dl.c: Likewise.
32213 * kern/x86_64/dl.c: Likewise.
32214
32215 * conf/i386-qemu.rmk: New file.
32216 * kern/i386/qemu/startup.S: Likewise.
32217 * kern/i386/qemu/mmap.c: Likewise.
32218 * boot/i386/qemu/boot.S: Likewise.
32219 * include/grub/i386/qemu/time.h: Likewise.
32220 * include/grub/i386/qemu/serial.h: Likewise.
32221 * include/grub/i386/qemu/kernel.h: Likewise.
32222 * include/grub/i386/qemu/console.h: Likewise.
32223 * include/grub/i386/qemu/boot.h: Likewise.
32224 * include/grub/i386/qemu/init.h: Likewise.
32225 * include/grub/i386/qemu/machine.h: Likewise.
32226 * include/grub/i386/qemu/loader.h: Likewise.
32227 * include/grub/i386/qemu/memory.h: Likewise.
32228
32229 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32230 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32231 [qemu] (pkglib_IMAGES): Add `boot.img'.
32232 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32233 [qemu] (boot_img_FORMAT): New variables.
32234 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32235 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32236 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32237 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32238 [qemu] (kernel_img_FORMAT): New variables.
32239
32240 * configure.ac: Recognise `i386-qemu'.
32241
32242 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32243 (for no compression).
32244 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32245 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32246 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32247 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32248 ifdefs).
32249
97fe384e 322502009-06-27 Pavel Roskin <proski@gnu.org>
32251
32252 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32253 read.
32254 * efiemu/prepare32.c: Likewise.
32255 * efiemu/prepare64.c: Likewise.
32256
c402ab17 322572009-06-26 Pavel Roskin <proski@gnu.org>
32258
32259 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32260 * include/grub/elf.h: Define symbols without "32" or "64" based
32261 on GRUB_TARGET_WORDSIZE.
32262 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32263 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32264 ELF definitions.
32265 * efiemu/loadcore64.c: Likewise.
32266 * loader/i386/bsd32.c: Likewise.
32267 * loader/i386/bsd64.c: Likewise.
32268 * kern/dl.c: Remove own ELF definitions.
32269 * util/i386/efi/grub-mkimage.c: Likewise.
32270
9bbdfd4d 322712009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32272
32273 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32274 segment 0x0 unconditionally, because the reference generated by
32275 GAS is an absolute address.
32276
a42ce6e9 322772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32278
32279 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32280 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32281
c952cf92 322822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32283
32284 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32285 indexes. Check for -f explicitly.
cc3752ad 32286 (search_file): Improve error message.
32287 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32288
132a0a59 322892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32290
32291 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32292 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32293
387a140c 322942009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32295
32296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32297 * conf/i386-ieee1275.rmk: Likewise.
32298 * conf/i386-coreboot.rmk: Likewise.
32299
32300 * kern/i386/pc/startup.S (grub_stop): Remove function.
32301 * kern/i386/ieee1275/startup.S: Likewise.
32302 * kern/i386/coreboot/startup.S: Likewise.
32303 * kern/i386/misc.S (grub_stop): New function.
32304
41da9665 323052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32306
32307 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32308 * kern/i386/realmode.S (real_to_prot): ... to here.
32309
bf337234 323102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32311
32312 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32313 with `kernel.img'.
32314 (kernel_elf_SOURCES): Rename to ...
32315 (kernel_img_SOURCES): ... this.
32316 (kernel_elf_HEADERS): Rename to ...
32317 (kernel_img_HEADERS): ... this. Update all users.
32318 (kernel_elf_ASFLAGS): Rename to ...
32319 (kernel_img_ASFLAGS): ... this.
32320 (kernel_elf_CFLAGS): Rename to ...
32321 (kernel_img_CFLAGS): ... this.
32322 (kernel_elf_LDFLAGS): Rename to ...
32323 (kernel_img_LDFLAGS): ... this.
32324 * conf/i386-coreboot.rmk: Likewise.
32325 * conf/powerpc-ieee1275.rmk: Likewise.
32326
32327 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32328 with "kernel.img".
32329
f52196ff 323302009-06-21 Pavel Roskin <proski@gnu.org>
32331
c3cee413 32332 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32333 to match nested functions.
32334 * loader/sparc64/ieee1275/linux.c: Likewise.
32335
f52196ff 32336 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32337
58750afc 323382009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32339
32340 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32341 all i386 platforms.
32342
15355c7d 323432009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32344
32345 Fix asm file handling on ELF, and remove workarounds.
32346
32347 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32348 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32349 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32350 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32351
3f3ec72b 323522009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32353
32354 Load BSD ELF modules
32355
32356 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32357 and loader/i386/bsd64.c
32358 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32359 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32360 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32361 (grub_freebsd_load_elfmodule32): New declaration
32362 (grub_freebsd_load_elfmoduleobj64): Likewise
32363 (grub_freebsd_load_elf_meta32): Likewise
32364 (grub_freebsd_load_elf_meta64): Likewise
32365 (grub_freebsd_add_meta): Likewise
32366 (grub_freebsd_add_meta_module): Likewise
32367 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32368 (grub_freebsd_add_meta_module): Likewise and move module-specific
32369 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32370 (grub_cmd_freebsd): Add elf-kernel specific parts
32371 based on grub_freebsd_add_meta_module
32372 (grub_cmd_freebsd_module): Add type parsing moved from
32373 grub_freebsd_add_meta_module
32374 (grub_cmd_freebsd_module_elf): New function
32375 (cmd_freebsd_module_elf): New variable
32376 (GRUB_MOD_INIT): Register freebsd_module_elf
32377 * loader/i386/bsd32.c: New file
32378 * loader/i386/bsd64.c: Likewise
32379 * loader/i386/bsdXX.c: Likewise
32380 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32381 (grub_elf64_load): Likewise
32382 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32383 All users updated
32384 (grub_elf64_load_hook_t): Likewise
32385
0db15301 323862009-06-21 Colin Watson <cjwatson@ubuntu.com>
32387
32388 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32389 variable.
32390 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32391 don't write a menu entry for recovery mode.
32392
546796c1 323932009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32394
32395 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32396 after it's no longer needed.
32397
cd7310d5 323982009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32399
32400 * include/grub/i386/loader.h (grub_linux_prot_size)
32401 (grub_linux_tmp_addr, grub_linux_real_addr)
32402 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32403 GRUB_MACHINE_PCBIOS.
32404 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32405 common grub_util_info() call to ...
32406 (generate_image): ... here.
32407 Fix use of uninitialized memory, comparison of signed with
32408 unsigned integers and memory leak.
32409 Remove bogus module address message.
32410
ab32d3b5 324112009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32412
32413 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32414 grub_raid_register
32415 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32416
024ef597 324172009-06-19 Pavel Roskin <proski@gnu.org>
32418
32419 * configure.ac: Remove stray AC_MSG_CHECKING.
32420
3ac72b51 324212009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32422
32423 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32424
e14cd814 324252009-06-18 Pavel Roskin <proski@gnu.org>
32426
32427 * conf/common.rmk: Add fs_file.mod.
32428 * disk/fs_file.c: New file.
32429 * include/grub/disk.h (enum grub_disk_dev_id): Add
32430 GRUB_DISK_DEVICE_FILE_ID.
32431
26586d98 324322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32433
32434 Fix build with Apple's toolchain. Part 2
32435
32436 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32437 a fake start
32438
26de2bcd 324392009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32440
32441 Fix build with Apple's toolchain. Part 1
32442
32443 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32444 for long calls
32445 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32446 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32447 Apple's toolchain
32448
09b3490b 324492009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32450
32451 Fix warnings
32452
32453 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32454 (decomp_block): initialize ch
32455 use grub_memcpy instead of memcpy
32456
c22a006a 324572009-06-17 Pavel Roskin <proski@gnu.org>
32458
d3638678 32459 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32460 version, use declarations needed to use vga_text as the startup
32461 console.
32462
c22a006a 32463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32464 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32465 the kernel.
32466 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32467 and grub_at_keyboard_fini(), it's done on module load and
32468 unload.
32469
05b129e0 324702009-06-17 Felix Zielcke <fzielcke@z-51.de>
32471
32472 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32473 file can't be found.
32474 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32475
cf24ed9e 324762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32477
32478 Fix newline handling
32479
32480 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32481 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32482 (grub_script_yylex): don't segfault on unterminated script
32483 newline terminates command and variable
32484
74aa8e4b 324852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32486
32487 avoid double grub_adjust_range call. Bug reported by David Simner
32488
32489 * kern/disk.c (grub_disk_write): change to raw disk access before
32490 calling disk_read
32491
1bd265f3 324922009-06-17 Colin Watson <cjwatson@ubuntu.com>
32493
32494 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32495 spaces, for the benefit of help2man.
32496 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32497
a2d08c06 324982009-06-16 Pavel Roskin <proski@gnu.org>
32499
32500 * kern/i386/halt.c: Include grub/machine/init.h.
32501 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32502
b97bcb19 325032009-06-16 Felix Zielcke <fzielcke@z-51.de>
32504
32505 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32506 drivemap menuentry.
32507
0644f96c 325082009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32509
32510 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32511 `echo' command.
32512
3ef17a2e 325132009-06-16 Pavel Roskin <proski@gnu.org>
32514
32515 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32516 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32517 save %dx, we only need %dl and we never change it.
32518 * boot/i386/pc/cdboot.S: Don't set the root drive.
32519 * boot/i386/pc/pxeboot.S: Likewise.
32520 * include/grub/i386/pc/boot.h: Remove
32521 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32522 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32523 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32524 * kern/i386/pc/init.c (make_install_device): Remove references
32525 to grub_root_drive.
32526 * kern/i386/pc/startup.S: Likewise.
32527 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32528
693fe637 325292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32530
32531 xnu_uuid command
32532
32533 * commands/xnu_uuid.c: new file
32534 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32535 (xnu_uuid_mod_SOURCES): new variable
32536 (xnu_uuid_mod_CFLAGS): likewise
32537 (xnu_uuid_mod_LDFLAGS): likewise
32538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32539 * conf/i386-ieee1275.rmk: likewise
32540 * conf/i386-pc.rmk: likewise
32541 * conf/powerpc-ieee1275.rmk: likewise
32542 * conf/sparc64-ieee1275.rmk: likewise
32543 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32544
c9da87d0 325452009-06-16 Pavel Roskin <proski@gnu.org>
32546
32547 * configure.ac: Avoid '==' in test command, it's not portable.
32548
9c6f4596 325492009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32550
32551 Probe command
32552
32553 * commands/probe.c: new file
32554 * conf/common.rmk (pkglib_MODULES): add probe.mod
32555 (probe_mod_SOURCES): new variable
32556 (probe_mod_CFLAGS): likewise
32557 (probe_mod_LDFLAGS): likewise
32558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32559 * conf/i386-ieee1275.rmk: likewise
32560 * conf/i386-pc.rmk: likewise
32561 * conf/powerpc-ieee1275.rmk: likewise
32562 * conf/sparc64-ieee1275.rmk: likewise
32563
70b7f9fd 325642009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32565
32566 Fix handling of string like \"hello\" and "a
32567 b"
32568
32569 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32570 (grub_script_yylex): fix parsing of quoting, escaping and newline
32571
71c79a6b 325722009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32573
dd74360c 32574 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32575 handling
dd74360c 32576
0644f96c 325772009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32578
32579 * util/grub-mkconfig.in: Fix parsing of --output option.
32580
e40893c3 325812009-06-12 Pavel Roskin <proski@gnu.org>
32582
32583 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32584 genmk.rb don't need to be generated or installed.
32585
3a1acfe2 325862009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32587
32588 * commands/i386/pc/drivemap_int13h.S: add more comments
32589
3a4575d4 325902009-06-11 Pavel Roskin <proski@gnu.org>
32591
0658e928 32592 * Makefile.in (uninstall): Uninstall manuals.
32593
ca0388f0 32594 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32595 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32596 and update-grub_lib in two places.
32597 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32598
e3b27c39 32599 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32600 a compiler warning.
32601
3a4575d4 32602 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32603 `entry_lo' to fix variable shadowing.
32604
af1f4f55 326052009-06-11 Christian Franke <franke@computer.org>
32606
32607 * kern/misc.c (__enable_execute_stack): Add missing return type
32608 to prevent gcc warning.
32609
5225e649 326102009-06-11 Felix Zielcke <fzielcke@z-51.de>
32611
32612 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32613
7d83bd47 326142009-06-11 Pavel Roskin <proski@gnu.org>
32615
c1cb63ba 32616 * Makefile.in: Don't rely on any scripts being executable.
32617 Always use $(SHELL) to run shell scripts.
32618
7d83bd47 32619 * configure.ac: Always define ___main if using -nostdlib. This
32620 fixes tests on Cygwin.
32621
948f48e7 326222009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32623
32624 UDF fix
32625
7d83bd47 32626 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32627 is in bytes and not in blocks
7d83bd47 32628
8ada9bc1 326292009-06-11 Pavel Roskin <proski@gnu.org>
32630
32631 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32632 warning.
32633
25ad2323 326342009-06-11 Felix Zielcke <fzielcke@z-51.de>
32635
32636 * util/grub.d/30_os-prober.in: Fix a comment. Source
32637 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32638 to set the root device. Place drivemap command in the generated
32639 chain entry.
32640
e65acb0c 326412009-06-11 Pavel Roskin <proski@gnu.org>
32642
32643 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32644 have long been resolved.
32645
f285fe2d 326462009-06-11 Colin Watson <cjwatson@ubuntu.com>
32647
bd47b0b5 32648 * util/grub.d/10_linux.in: Capitalise "Linux".
32649
f285fe2d 32650 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32651
a0c62e4e 326522009-06-11 Pavel Roskin <proski@gnu.org>
32653
b6783cb2 32654 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32655 fix a gcc warning and ensure that the function won't ever exit.
32656
dde032e8 32657 * kern/i386/ieee1275/init.c: Add missing prototype for
32658 grub_stop_floppy().
32659
22cd079d 32660 * loader/ieee1275/multiboot2.c [__i386__]: Include
32661 grub/cpu/multiboot.h.
32662
a0c62e4e 32663 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32664 casts to short - they are not portable and cause warnings. Fix
32665 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32666
63963d17 326672009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32668
32669 Drivemap fixes
32670
32671 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32672 new function
32673 (grub_get_root_biosnumber_saved): new variable
32674 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32675 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32676 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32677 %dx after the call if necessary
32678 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32679 (boot_mod_SOURCES): remove
32680 (boot_mod_CFLAGS): remove
32681 (boot_mod_LDFLAGS): remove
32682 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32683 (boot_mod_SOURCES): new variable
32684 (boot_mod_CFLAGS): likewise
32685 (boot_mod_LDFLAGS): likewise
32686 * conf/i386-efi.rmk: likewise
32687 * conf/i386-ieee1275.rmk: likewise
32688 * conf/i386-pc.rmk: likewise
32689 * conf/powerpc-ieee1275.rmk: likewise
32690 * conf/sparc64-ieee1275.rmk: likewise
32691 * conf/x86_64-efi.rmk: likewise
32692 * include/grub/i386/pc/biosnum.h: new file
32693 * lib/i386/pc/biosnum.c: likewise
32694 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32695 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32696 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32697
33abf7ae 326982009-06-10 Pavel Roskin <proski@gnu.org>
32699
5ac35b35 32700 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32701 Use separate variables. Read only the file size at the end, but
32702 not the checksum that we don't use.
32703
5c5215d5 32704 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32705 Adjust all callers.
32706
27d5fef7 32707 * kern/ieee1275/openfw.c: Remove libc includes.
32708 * kern/ieee1275/cmain.c: Likewise.
32709 * include/grub/ieee1275/ieee1275.h: Likewise.
32710
33abf7ae 32711 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32712 compiler warnings.
32713
19d50c2b 327142009-06-10 Felix Zielcke <fzielcke@z-51.de>
32715
32716 * Makefile.in: Remove all trailing whitespace.
32717 * conf/i386-pc.rmk: Likewise.
32718 * conf/powerpc-ieee1275.rmk: Likewise.
32719 * conf/sparc64-ieee1275.rmk: Likewise.
32720 * docs/grub.texi: Likewise.
32721 * docs/texinfo.tex: Likewise.
32722 * disk/fs_uuid.c: Likewise.
32723 * disk/lvm.c: Likewise.
32724 * disk/scsi.c: Likewise.
32725 * disk/ata.c: Likewise.
32726 * disk/ieee1275/ofdisk.c: Likewise.
32727 * disk/i386/pc/biosdisk.c: Likewise.
32728 * disk/host.c: Likewise.
32729 * disk/raid.c: Likewise.
32730 * disk/efi/efidisk.c: Likewise.
32731 * disk/usbms.c: Likewise.
32732 * disk/memdisk.c: Likewise.
32733 * disk/loopback.c: Likewise.
32734 * kern/powerpc/dl.c: Likewise.
32735 * kern/device.c: Likewise.
32736 * kern/dl.c: Likewise.
32737 * kern/sparc64/dl.c: Likewise.
32738 * kern/ieee1275/ieee1275.c: Likewise.
32739 * kern/term.c: Likewise.
32740 * kern/fs.c: Likewise.
32741 * kern/i386/dl.c: Likewise.
32742 * kern/i386/pc/startup.S: Likewise.
32743 * kern/i386/pc/init.c: Likewise.
32744 * kern/i386/pc/mmap.c: Likewise.
32745 * kern/i386/pc/lzo1x.S: Likewise.
32746 * kern/i386/ieee1275/init.c: Likewise.
32747 * kern/i386/realmode.S: Likewise.
32748 * kern/i386/tsc.c: Likewise.
32749 * kern/partition.c: Likewise.
32750 * kern/corecmd.c: Likewise.
32751 * kern/file.c: Likewise.
32752 * kern/efi/efi.c: Likewise.
32753 * kern/efi/init.c: Likewise.
32754 * kern/efi/mm.c: Likewise.
32755 * kern/main.c: Likewise.
32756 * kern/err.c: Likewise.
32757 * kern/env.c: Likewise.
32758 * kern/disk.c: Likewise.
32759 * kern/generic/millisleep.c: Likewise.
32760 * kern/generic/rtc_get_time_ms.c: Likewise.
32761 * kern/misc.c: Likewise.
32762 * kern/parser.c: Likewise.
32763 * genmk.rb: Likewise.
32764 * configure.ac: Likewise.
32765 * boot/i386/pc/diskboot.S: Likewise.
32766 * boot/i386/pc/pxeboot.S: Likewise.
32767 * boot/i386/pc/boot.S: Likewise.
32768 * boot/i386/pc/lnxboot.S: Likewise.
32769 * boot/i386/pc/cdboot.S: Likewise.
32770 * parttool/pcpart.c: Likewise.
32771 * video/readers/tga.c: Likewise.
32772 * video/video.c: Likewise.
32773 * video/bitmap.c: Likewise.
32774 * lib/envblk.c: Likewise.
32775 * lib/i386/setjmp.S: Likewise.
32776 * fs/xfs.c: Likewise.
32777 * fs/afs.c: Likewise.
32778 * fs/fat.c: Likewise.
32779 * fs/ntfs.c: Likewise.
32780 * fs/udf.c: Likewise.
32781 * fs/affs.c: Likewise.
32782 * fs/iso9660.c: Likewise.
32783 * fs/hfs.c: Likewise.
32784 * fs/fshelp.c: Likewise.
32785 * fs/ext2.c: Likewise.
32786 * fs/jfs.c: Likewise.
32787 * fs/reiserfs.c: Likewise.
32788 * fs/hfsplus.c: Likewise.
32789 * fs/minix.c: Likewise.
32790 * fs/cpio.c: Likewise.
32791 * fs/sfs.c: Likewise.
32792 * fs/ufs.c: Likewise.
32793 * efiemu/prepare.c: Likewise.
32794 * efiemu/loadcore_common.c: Likewise.
32795 * efiemu/runtime/efiemu.sh: Likewise.
32796 * efiemu/runtime/efiemu.S: Likewise.
32797 * efiemu/runtime/efiemu.c: Likewise.
32798 * efiemu/pnvram.c: Likewise.
32799 * efiemu/main.c: Likewise.
32800 * efiemu/i386/pc/cfgtables.c: Likewise.
32801 * efiemu/i386/loadcore64.c: Likewise.
32802 * efiemu/i386/loadcore32.c: Likewise.
32803 * efiemu/loadcore.c: Likewise.
32804 * efiemu/symbols.c: Likewise.
32805 * efiemu/mm.c: Likewise.
32806 * include/grub/autoefi.h: Likewise.
32807 * include/grub/datetime.h: Likewise.
32808 * include/grub/term.h: Likewise.
32809 * include/grub/hfs.h: Likewise.
32810 * include/grub/lvm.h: Likewise.
32811 * include/grub/i386/tsc.h: Likewise.
32812 * include/grub/i386/linux.h: Likewise.
32813 * include/grub/i386/xnu.h: Likewise.
32814 * include/grub/i386/efiemu.h: Likewise.
32815 * include/grub/i386/pc/biosdisk.h: Likewise.
32816 * include/grub/i386/pc/memory.h: Likewise.
32817 * include/grub/i386/pc/vbe.h: Likewise.
32818 * include/grub/parttool.h: Likewise.
32819 * include/grub/video.h: Likewise.
32820 * include/grub/memory.h: Likewise.
32821 * include/grub/fs.h: Likewise.
32822 * include/grub/partition.h: Likewise.
32823 * include/grub/xnu.h: Likewise.
32824 * include/grub/efi/api.h: Likewise.
32825 * include/grub/efi/pe32.h: Likewise.
32826 * include/grub/efi/memory.h: Likewise.
32827 * include/grub/multiboot.h: Likewise.
32828 * include/grub/usbdesc.h: Likewise.
32829 * include/grub/multiboot2.h: Likewise.
32830 * include/grub/acpi.h: Likewise.
32831 * include/grub/efiemu/efiemu.h: Likewise.
32832 * include/grub/disk.h: Likewise.
32833 * include/grub/ieee1275/ieee1275.h: Likewise.
32834 * include/grub/net.h: Likewise.
32835 * include/grub/machoload.h: Likewise.
32836 * include/grub/macho.h: Likewise.
32837 * include/multiboot.h: Likewise.
32838 * genmoddep.awk: Likewise.
32839 * normal/main.c: Likewise.
32840 * normal/menu_entry.c: Likewise.
32841 * normal/menu_viewer.c: Likewise.
32842 * normal/completion.c: Likewise.
32843 * normal/cmdline.c: Likewise.
32844 * normal/misc.c: Likewise.
32845 * normal/datetime.c: Likewise.
32846 * bus/usb/usbtrans.c: Likewise.
32847 * bus/usb/ohci.c: Likewise.
32848 * bus/usb/uhci.c: Likewise.
32849 * bus/usb/usb.c: Likewise.
32850 * mmap/efi/mmap.c: Likewise.
32851 * mmap/i386/pc/mmap_helper.S: Likewise.
32852 * mmap/i386/pc/mmap.c: Likewise.
32853 * mmap/i386/mmap.c: Likewise.
32854 * mmap/i386/uppermem.c: Likewise.
32855 * mmap/mmap.c: Likewise.
32856 * commands/acpi.c: Likewise.
32857 * commands/echo.c: Likewise.
32858 * commands/blocklist.c: Likewise.
32859 * commands/loadenv.c: Likewise.
32860 * commands/usbtest.c: Likewise.
32861 * commands/boot.c: Likewise.
32862 * commands/parttool.c: Likewise.
32863 * commands/search.c: Likewise.
32864 * commands/cat.c: Likewise.
32865 * commands/i386/pc/play.c: Likewise.
32866 * commands/i386/pc/drivemap.c: Likewise.
32867 * commands/i386/pc/vbeinfo.c: Likewise.
32868 * commands/i386/pc/acpi.c: Likewise.
32869 * commands/i386/pc/vbetest.c: Likewise.
32870 * commands/ls.c: Likewise.
32871 * commands/cmp.c: Likewise.
32872 * commands/test.c: Likewise.
32873 * commands/efi/acpi.c: Likewise.
32874 * commands/gptsync.c: Likewise.
32875 * commands/help.c: Likewise.
32876 * partmap/amiga.c: Likewise.
32877 * partmap/apple.c: Likewise.
32878 * partmap/acorn.c: Likewise.
32879 * partmap/pc.c: Likewise.
32880 * partmap/sun.c: Likewise.
32881 * partmap/gpt.c: Likewise.
32882 * script/sh/lexer.c: Likewise.
32883 * script/sh/function.c: Likewise.
32884 * font/font.c: Likewise.
32885 * font/font_cmd.c: Likewise.
32886 * loader/powerpc/ieee1275/linux.c: Likewise.
32887 * loader/efi/chainloader.c: Likewise.
32888 * loader/multiboot_loader.c: Likewise.
32889 * loader/macho.c: Likewise.
32890 * loader/i386/multiboot.c: Likewise.
32891 * loader/i386/linux.c: Likewise.
32892 * loader/i386/pc/linux.c: Likewise.
32893 * loader/i386/pc/multiboot2.c: Likewise.
32894 * loader/i386/pc/chainloader.c: Likewise.
32895 * loader/i386/pc/xnu.c: Likewise.
32896 * loader/i386/bsd_trampoline.S: Likewise.
32897 * loader/i386/efi/linux.c: Likewise.
32898 * loader/i386/multiboot_elfxx.c: Likewise.
32899 * loader/i386/bsd_helper.S: Likewise.
32900 * loader/i386/bsd.c: Likewise.
32901 * loader/i386/linux_trampoline.S: Likewise.
32902 * loader/i386/xnu_helper.S: Likewise.
32903 * loader/i386/xnu.c: Likewise.
32904 * loader/i386/bsd_pagetable.c: Likewise.
32905 * loader/i386/multiboot_helper.S: Likewise.
32906 * loader/xnu.c: Likewise.
32907 * loader/xnu_resume.c: Likewise.
32908 * io/gzio.c: Likewise.
32909 * term/efi/console.c: Likewise.
32910 * term/terminfo.c: Likewise.
32911 * term/ieee1275/ofconsole.c: Likewise.
32912 * term/i386/pc/serial.c: Likewise.
32913 * term/i386/pc/vesafb.c: Likewise.
32914 * term/i386/pc/vga.c: Likewise.
32915 * term/usb_keyboard.c: Likewise.
32916 * term/gfxterm.c: Likewise.
32917 * aclocal.m4: Likewise.
32918 * util/lvm.c: Likewise.
32919 * util/grub.d/30_os-prober.in: Likewise.
32920 * util/grub.d/10_hurd.in: Likewise.
32921 * util/console.c: Likewise.
32922 * util/grub-macho2img.c: Likewise.
32923 * util/grub-probe.c: Likewise.
32924 * util/hostfs.c: Likewise.
32925 * util/i386/pc/grub-mkimage.c: Likewise.
32926 * util/i386/pc/grub-setup.c: Likewise.
32927 * util/i386/efi/grub-mkimage.c: Likewise.
32928 * util/grub-mkconfig.in: Likewise.
32929 * util/raid.c: Likewise.
32930 * util/resolve.c: Likewise.
32931 * util/grub-mkdevicemap.c: Likewise.
32932 * util/grub-emu.c: Likewise.
32933 * util/getroot.c: Likewise.
32934 * util/hostdisk.c: Likewise.
32935 * util/usb.c: Likewise.
32936 * util/grub-editenv.c: Likewise.
32937 * util/misc.c: Likewise.
32938
d2d49665 329392009-06-10 Felix Zielcke <fzielcke@z-51.de>
32940
32941 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32942 `genparttoollist.sh'.
32943 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32944 Add `*.sh' to the list find searches for and change `mdate.sh'
32945 to `mdate-sh'.
32946
fe052e37 329472009-06-10 Pavel Roskin <proski@gnu.org>
32948
2763ac18 32949 * include/grub/multiboot2.h: Provide compatibility defines for
32950 multiboot2.h.
32951 * include/multiboot2.h: Include stdint.h only if needed, using
32952 angle brackets.
32953 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32954 grub/multiboot2.h.
32955 * loader/ieee1275/multiboot2.c: Likewise.
32956 * loader/multiboot2.c: Likewise.
32957 * loader/multiboot_loader.c: Likewise.
32958
437e6adc 32959 * configure.ac: Use -nostdlib when probing for the target. It
32960 should not be required to have libc for the target.
32961
06a6836c 32962 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32963 they fail without libc headers for the target.
32964 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32965 exports.
32966 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32967 preprocessor conditionals.
32968
fe052e37 32969 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32970 build system doesn't need to be aware of the tar.c internals.
32971
afd22553 329722009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32973
afd22553 32974 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32975
6b787c4f 329762009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32979 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32980
329812009-06-09 Felix Zielcke <fzielcke@z-51.de>
32982
32983 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32984 aren't available if ata.mod gets used.
6b787c4f 32985
473d1e45 329862009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32987
473d1e45 32988 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32989 initialising controller.
473d1e45 32990 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32991
255a27d4 329922009-06-08 Felix Zielcke <fzielcke@z-51.de>
32993
32994 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32995 to choose between ata and biosdisk module on i386-pc.
32996
473d1e45 329972009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32998
d55842d8 32999 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33000 Subclass and Programming Interface fields in terms of the 3 byte
33001 Class Code register.
33002 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33003
fa5db0b1 33004 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33005 interface is OHCI. Add grub_dprintf for symmetry with
33006 bus/usb/uhci.c.
33007 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33008 interface is UHCI. Add interf variable for programming
33009 interface. Print interface with class/subclass.
33010
c0947beb 33011 * bus/usb/ohci.c: Set interf with correct field.
33012
69da8877 33013 * bus/usb/uhci.c: Remove unneeded doubled lines.
33014 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33015 Remove whitespace inside comment.
33016
9e172e30 330172009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33018
33019 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33020 as fallback an equivalent option without depth.
33021
de65ee2b 330222009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33023
33024 Not fail if unable to retrieve C/H/S on LBA disks
33025
473d1e45 33026 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33027 if unable to retrieve C/H/S on LBA disks
33028
b57ea2c9 330292009-06-08 Pavel Roskin <proski@gnu.org>
33030
33031 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33032 about aliasing.
33033
af361263 330342009-06-08 Felix Zielcke <fzielcke@z-51.de>
33035
33036 * Makefile.in (uninstall): Remove all $lib_DATA files.
33037
4c9ec6b3 330382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33039
33040 Bugfix: install on partitionless device
33041
33042 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33043 is a whole disk
33044
e76fc924 330452009-06-08 Felix Zielcke <fzielcke@z-51.de>
33046
33047 * Makefile.in (uninstall): Remove all $include_DATA files.
33048
ba5a0d05 330492009-06-08 Felix Zielcke <fzielcke@z-51.de>
33050
33051 * commands/true.c: New file. Implement the true and false commands.
33052 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33053 (true_mod_SOURCES): New variable.
33054 (true_mod_CFLAGS): Likewise.
33055 (true_mod_LDFLAGS): Likewise.
33056
c8048e32 330572009-06-05 Colin D Bennett <colin@gibibit.com>
33058
33059 Optimized font character lookup using binary search instead of linear
33060 search. Fonts now are required to have the character index ordered by
33061 code point.
33062
33063 * font/font.c (load_font_index): Verify that fonts have ordered
33064 character indices.
33065 (find_glyph): Use binary search instead of linear search to find a
33066 character in a font.
33067
408305be 330682009-06-05 Michael Scherer <misc@mandriva.org>
33069
33070 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33071 uses case sensitive btree.
33072 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33073 only for case insensitive filesystems.
33074
8ee1e0d9 330752009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33076
33077 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33078 * conf/common.rmk (search_mod_CFLAGS): likewise
33079
a9966eb1 330802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33081
473d1e45 33082 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33083 compensate a compiler bug
33084
9e7100fb 330852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33086
473d1e45 33087 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33088 instead of '\b'
473d1e45 33089
ede21d71 330902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33091
33092 Definitions for creating asm symbols with Apple's CC
33093
33094 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33095 [APPLE_CC] (VARIABLE): likewise
33096
9dbf7653 330972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33098
33099 Disable lnxboot.img when compiled
33100 with Apple's CC
33101
33102 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33103 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33104 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33105 [! APPLE_CC] (CODE_LENG): skip
33106 [! APPLE_CC] (setup_sects): likewise
33107 [! APPLE_CC]: skip filling
473d1e45 33108
e93cdc3d 331092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33110
33111 Address in trampolines based on 32-bit registers when compiled
33112 with Apple's CC
33113
473d1e45 33114 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33115 for addresses
33116 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33117
6c688477 331182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33119
33120 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33121
33122 * kern/misc.c [APPLE_CC] (memcpy): new function
33123 [APPLE_CC] (memmove): likewise
33124 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33125 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33126 (memset): likewise
33127 (abort): likewise
33128 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33129 APPLE_CC are defined
33130 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33131 (grub_assert_fail): make prototype conditional
33132
e37ffc5c 331332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33134
33135 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33136
473d1e45 33137 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33138 grub-macho2img
e37ffc5c 33139 (CLEANFILES): add grub-macho2img
33140 (grub_macho2img_SOURCES): new variable
33141 * kern/i386/pc/startup.S (bss_start): new variable
33142 (bss_end): likewise
33143 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33144 * util/grub-macho2img.c: new file
33145
cf00df31 331462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33147
33148 Use objconv when compiling with Apple's CC
33149
33150 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33151 (efiemu64.o): likewise
33152 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33153 when compiling with Apple's CC
33154 (efiemu64_s.o): likewise
33155 * configure.ac: check for objconv when compiling with Apple's CC
33156 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33157
d119a20c 331582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33159
33160 Define segment as well as section when compiling with
33161 Apple's CC
33162
33163 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33164 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33165 (efiemu_convert_pointer): likewise
33166 (efiemu_set_virtual_address_map): likewise
33167 (efiemu_convert_pointer): likewise
33168 (efiemu_getcrc32): likewise
33169 (init_crc32_table): likewise
33170 (reflect): likewise
33171 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33172 (GRUB_MOD_DEP): likewise
473d1e45 33173
c8600122 331742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33175
33176 Allow a compilation without -mcmodel=large
33177
33178 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33179 when compiled without -mcmodel=large
473d1e45 33180 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33181 without -mcmodel=large
473d1e45 33182 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33183 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33184
e8df1d4e 331852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33186
33187 Remove nested functions in efiemu core
33188
33189 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33190
cc6c3ac1 331912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33192
33193 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33194
33195 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33196 temporary storage
473d1e45 33197 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33198 using Apple's CC
cc6c3ac1 33199 (grub_cpu_is_tsc_supported): likewise
33200 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33201
3e325901 332022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33203
33204 Absolute addressing through constant with Apple's cc
33205
33206 * kern/i386/pc/startup.S: Define necessary constants
33207 and address through it when using ABS with Apple's CC
33208 * boot/i386/pc/diskboot.S: likewise
33209 * boot/i386/pc/boot.S: likewise
33210 * boot/i386/pc/lnxboot.S: likewise
33211 * boot/i386/pc/cdboot.S: likewise
33212 * mmap/i386/pc/mmap_helper.S: likewise
33213 * commands/i386/pc/drivemap_int13h.S: likewise
33214
2b167a72 332152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33216
33217 Check if compiler is apple cc
33218
33219 * Makefile.in (ASFLAGS): new variable
33220 (TARGET_ASFLAGS): likewise
33221 (TARGET_MODULE_FORMAT): likewise
33222 (TARGET_APPLE_CC): likewise
33223 (OBJCONV): likewise
33224 (TARGET_IMG_CFLAGS): likewise
33225 (TARGET_CPPFLAGS): add includedir
33226 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33227 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33228 Check for linker script only if compiler isn't Apple's CC
33229 (TARGET_MODULE_FORMAT): set
33230 (TARGET_APPLE_CC): likewise
33231 (TARGET_ASFLAGS): likewise
33232 (ASFLAGS): likewise
33233 Check for objcopy only if compiler isn't Apple's CC
33234 Check for BSS symbol only if compiler isn't Apple's CC
33235 * genmk.rb: adapt nm options if we use Apple's utils
33236 * aclocal.m4 (grub_apple_cc): new test
33237 (grub_apple_target_cc): likewise
473d1e45 33238
fb14123e 332392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33240
33241 Simplify sed expressions and improve awk
33242
33243 * Makefile.in (install-local): simplify sed expression
33244 * gencmdlist.sh: likewise
33245 * genmoddep.awk: avoid adding module as a dependency of itself
33246
5b889789 332472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33248
33249 Add missing start symbols
33250
33251 * boot/i386/pc/boot.S: add start
fb14123e 33252 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33253
fd2bf2e3 332542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33255
33256 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33257
33258 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33259 (relocate_addresses): consider both r_addend and value at offset
33260 (make_mods_section): zerofill modinfo and header
33261 (convert_elf): write prefix here
473d1e45 33262
5389763d 332632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33264
33265 Use .asciz instead of .string
33266
33267 * i386/pc/diskboot.S: use .asciz instead of .string
33268 * i386/pc/boot.S: likewise
33269 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33270 (GRUB_MOD_NAME): likewise
473d1e45 33271
3eb5ed4e 332722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33273
33274 gfxpayload support
33275
33276 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33277 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33278 (grub_video_setup): remove
33279 (grub_video_set_mode): new prototype
33280 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33281 (vid_mode): remove
33282 (linux_vesafb_res): compile only on PCBIOS
33283 (grub_linux_boot): support gfxpayload
33284 * loader/i386/pc/xnu.c (video_hook): new function
33285 (grub_xnu_set_video): support gfxpayload
33286 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33287 (DEFAULT_VIDEO_HEIGHT): likewise
33288 (DEFAULT_VIDEO_FLAGS): likewise
33289 (DEFAULT_VIDEO_MODE): new definition
33290 (video_hook): new function
33291 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33292 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33293 loading xnu
33294 * video/video.c (grub_video_setup): removed
473d1e45 33295 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33296 grub_video_setup
33297
4b0e1143 332982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33299
33300 Avoid calling biosdisk in drivemap
33301
33302 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33303 (revparse_biosdisk): likewise
33304 (list_mappings): derive name from id directly
33305 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33306
fda6cb98 333072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33308
33309 Script fixes
33310
33311 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33312 (grub_lexer_param): add tokenonhold
33313 (grub_script_create_cmdline): remove cmdline. All callers updated
33314 (grub_script_function_create): make functionname
33315 grub_script_arg. All callers updated
33316 (grub_script_execute_argument_to_string): new prototype
33317 * kern/parser.c (state_transitions): reorder
33318 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33319 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33320 make global
33321 (grub_script_execute_cmdline): use new format
33322 * script/sh/function.c (grub_script_function_create): make functionname
33323 grub_script_arg. All callers updated
473d1e45 33324 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33325 (grub_script_yylex): remove
33326 (grub_script_yylex2): renamed to ...
33327 (grub_script_yylex): ...renamed
33328 parse the expressions like a${b}c
33329 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33330 (GRUB_PARSER_TOKEN_VAR): remove
33331 (GRUB_PARSER_TOKEN_NAME): likewise
33332 ("if"): declare as typeless
33333 ("while"): likewise
33334 ("function"): likewise
33335 ("else"): likewise
33336 ("then"): likewise
33337 ("fi"): likewise
33338 (text): remove
33339 (argument): likewise
33340 (script): accept empty scripts and make exit on error
33341 (arguments): use GRUB_PARSER_TOKEN_ARG
33342 (function): likewise
33343 (command): move error handling to script
33344 (menuentry): move grub_script_lexer_ref before
473d1e45 33345 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33346 argument. All callers updated
33347
f4448a07 333482009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33349
33350 Prevent GRUB from probing floppies during boot.
33351
33352 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33353 * commands/search.c (options): Add --no-floppy.
33354 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33355 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33356 --no-floppy when searching for UUIDs.
33357
2bf5885a 333582009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33359
33360 Simplify the code duplication in commands/search.c.
33361
33362 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33363 (search_fs): ... this. Update all users.
33364
f6fd460a 333652009-06-03 Felix Zielcke <fzielcke@z-51.de>
33366
33367 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33368
cbb3c83e 333692009-05-28 Pavel Roskin <proski@gnu.org>
33370
57788cfd 33371 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33372 Remove the original symlink explicitly.
33373
cbb3c83e 33374 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33375 just one slash. That's how grub_fshelp_find_file() does it.
33376
cd0d5e30 333772009-05-26 Pavel Roskin <proski@gnu.org>
33378
f0f8bbe2 33379 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33380 to `str'.
33381
cd0d5e30 33382 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33383 possibly unused.
33384
8c2cab51 333852009-05-25 Christian Franke <franke@computer.org>
33386
33387 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33388 register.
33389 (grub_atapi_identify): Add wait after drive select.
33390 (grub_ata_identify): Do more strict status register check before
33391 calling grub_atapi_identify (). Suppress error message if status
33392 register is 0x00 after command failure. Add status register
33393 check after PIO read to avoid bogus identify due to stuck DRQ.
33394 Thanks to Pavel Roskin for testing.
33395 (grub_device_initialize): Remove unsafe status register check.
33396 Thanks to 'phcoder' for problem report and patch.
33397 Prevent sign extension in debug message.
33398
230c0ad6 333992009-05-23 Colin D Bennett <colin@gibibit.com>
33400
33401 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33402 definition file, and functions defined in `normal/menu.c' have had
33403 their prototypes moved to `include/grub/menu.h' for consistency.
33404
33405 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33406 from normal.h.
33407 (grub_menu_get_entry): Likewise.
33408 (grub_menu_get_timeout): Likewise.
33409 (grub_menu_set_timeout): Likewise.
33410 (grub_menu_execute_entry): Likewise.
33411 (grub_menu_execute_with_fallback): Likewise.
33412 (grub_menu_entry_run): Likewise.
33413
33414 * include/grub/normal.h: Re-ordered and grouped function
33415 prototypes by file that the function is defined in.
33416 (grub_menu_execute_callback): Removed; moved to menu.h.
33417 (grub_menu_get_entry): Likewise.
33418 (grub_menu_get_timeout): Likewise.
33419 (grub_menu_set_timeout): Likewise.
33420 (grub_menu_execute_entry): Likewise.
33421 (grub_menu_execute_with_fallback): Likewise.
33422 (grub_menu_entry_run): Likewise.
33423 (grub_menu_addentry): Renamed from this ...
33424 (grub_normal_add_menu_entry): ... to this.
33425
33426 * normal/main.c (grub_menu_addentry): Renamed from this ...
33427 (grub_normal_add_menu_entry): ... to this.
33428
33429 * script/sh/execute.c (grub_script_execute_menuentry): Update
33430 reference to renamed grub_menu_addentry function.
33431
861f03a5 334322009-05-23 Felix Zielcke <fzielcke@z-51.de>
33433
33434 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33435
96b1619a 334362009-05-22 Pavel Roskin <proski@gnu.org>
33437
bf6a5fb2 33438 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33439 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33440 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33441 compiling for the i386 targets, but not for the utilities.
33442
96b1619a 33443 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33444 to grub_uint8_t.
33445 (grub_root_drive): Likewise.
33446 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33447 remove alignment.
33448 (grub_root_drive): Change size to byte.
33449 (grub_start_addr): Remove.
33450 (grub_end_addr): Likewise.
33451 (grub_apm_bios_info): Likewise.
33452
b729776b 334532009-05-21 Felix Zielcke <fzielcke@z-51.de>
33454
33455 * normal/i386: Remove.
33456 * normal/powerpc: Likewise.
33457 * normal/sparc64: Likewise.
33458 * normal/x86_64: Likewise.
33459
0a15ce80 334602009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33461
33462 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33463 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33464 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33465
33db9015 334662009-05-18 Colin D Bennett <colin@gibibit.com>
33467
d6da58e6 33468 Display error messages when parsing a Lua statement fails.
33469 Previously, executing a syntactically invalid statement like
33470 ")foo" or "bar;" would silently fail.
33db9015 33471
33472 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33473 (grub_lua_parse_line): Improved reporting of Lua parser and
33474 execution errors.
33db9015 33475
46422c89 334762009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33477
33478 Remove -Werror which causes build to fail on some systems
33479
33480 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33481 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33482 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33483
22f53a96 334842009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33485
33486 trampoline for linux on 64-bit platform
33487
18f547ad 33488 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33489 loader/i386/efi/linux_trampoline.S
33490 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33491 declaration
d6da58e6 33492 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33493 here
22f53a96 33494 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33495 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33496 trampoline
22f53a96 33497 (jumpvector): removed
33498 (grub_linux_trampoline_start): new declaration
33499 (grub_linux_trampoline_end): likewise
33500 (grub_linux_boot): use trampoline when on 64-bit platform
33501 * loader/i386/linux.c: likewise
33502
cb5a0f40 335032009-05-16 Pavel Roskin <proski@gnu.org>
33504
33505 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33506 const to avoid a warning.
33507 (grub_lua_setenv): Likewise.
33508 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33509 lmsg to fix a warning.
33510
334f2c28 335112009-05-16 Felix Zielcke <fzielcke@z-51.de>
33512
33513 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33514 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33515 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33516 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33517 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33518 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33519 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33520 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33521
59e5d3ec 335222009-05-16 Felix Zielcke <fzielcke@z-51.de>
33523
33524 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33525
9d87a1ba 335262009-05-16 Bean <bean123ch@gmail.com>
33527
33528 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33529 (lua_mod_SOURCES): New variable.
33530 (lua_mod_CFLAGS): Likewise.
33531 (lua_mod_LDFLAGS): Likewise.
33532
33533 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33534 (setjmp_mod_SOURCES): New variable.
33535 (setjmp_mod_CFLAGS): Likewise.
33536 (setjmp_LDFLAGS): Likewise.
33537
33538 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33539 (setjmp_mod_SOURCES): New variable.
33540 (setjmp_mod_CFLAGS): Likewise.
33541 (setjmp_LDFLAGS): Likewise.
33542
33543 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33544 (setjmp_mod_SOURCES): New variable.
33545 (setjmp_mod_CFLAGS): Likewise.
33546 (setjmp_LDFLAGS): Likewise.
33547
33548 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33549 (setjmp_mod_SOURCES): New variable.
33550 (setjmp_mod_CFLAGS): Likewise.
33551 (setjmp_LDFLAGS): Likewise.
33552
33553 * normal/i386/setjmp.S: Moved from here ...
33554 * lib/i386/setjmp.S: ... Moved here
33555 * normal/x86_64/setjmp.S: Moved from here ...
33556 * lib/x86_64/setjmp.S: ... Moved here
33557 * normal/powerpc/setjmp.S: Moved from here ...
33558 * lib/powerpc/setjmp.S: ... Moved here
33559 * normal/sparc64/setjmp.S: Moved from here ...
33560 * lib/sparc64/setjmp.S: ... Moved here
33561
33562 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33563 returns_twice in mingw.
33564
33565 * script/lua/grub_lib.c: New file.
33566 * script/lua/grub_lib.h: Likewise.
33567 * script/lua/grub_lua.h: Likewise.
33568 * script/lua/grub_main.c: Likewise.
33569 * script/lua/lapi.c: Likewise.
33570 * script/lua/lapi.h: Likewise.
33571 * script/lua/lauxlib.c: Likewise.
33572 * script/lua/lauxlib.h: Likewise.
33573 * script/lua/lbaselib.c: Likewise.
33574 * script/lua/lcode.c: Likewise.
33575 * script/lua/lcode.h: Likewise.
33576 * script/lua/ldblib.c: Likewise.
33577 * script/lua/ldebug.c: Likewise.
33578 * script/lua/ldebug.h: Likewise.
33579 * script/lua/ldo.c: Likewise.
33580 * script/lua/ldo.h: Likewise.
33581 * script/lua/ldump.c: Likewise.
33582 * script/lua/lfunc.c: Likewise.
33583 * script/lua/lfunc.h: Likewise.
33584 * script/lua/lgc.c: Likewise.
33585 * script/lua/lgc.h: Likewise.
33586 * script/lua/linit.c: Likewise.
33587 * script/lua/liolib.c: Likewise.
33588 * script/lua/llex.c: Likewise.
33589 * script/lua/llex.h: Likewise.
33590 * script/lua/llimits.h: Likewise.
33591 * script/lua/lmathlib.c: Likewise.
33592 * script/lua/lmem.c: Likewise.
33593 * script/lua/lmem.h: Likewise.
33594 * script/lua/loadlib.c: Likewise.
33595 * script/lua/lobject.c: Likewise.
33596 * script/lua/lobject.h: Likewise.
33597 * script/lua/lopcodes.c: Likewise.
33598 * script/lua/lopcodes.h: Likewise.
33599 * script/lua/loslib.c: Likewise.
33600 * script/lua/lparser.c: Likewise.
33601 * script/lua/lparser.h: Likewise.
33602 * script/lua/lstate.c: Likewise.
33603 * script/lua/lstate.h: Likewise.
33604 * script/lua/lstring.c: Likewise.
33605 * script/lua/lstring.h: Likewise.
33606 * script/lua/lstrlib.c: Likewise.
33607 * script/lua/ltable.c: Likewise.
33608 * script/lua/ltable.h: Likewise.
33609 * script/lua/ltablib.c: Likewise.
33610 * script/lua/ltm.c: Likewise.
33611 * script/lua/ltm.h: Likewise.
33612 * script/lua/lua.h: Likewise.
33613 * script/lua/luaconf.h: Likewise.
33614 * script/lua/lualib.h: Likewise.
33615 * script/lua/lundump.c: Likewise.
33616 * script/lua/lundump.h: Likewise.
33617 * script/lua/lvm.c: Likewise.
33618 * script/lua/lvm.h: Likewise.
33619 * script/lua/lzio.c: Likewise.
33620 * script/lua/lzio.h: Likewise.
33621
5e898c9d 336222009-05-16 Bean <bean123ch@gmail.com>
33623
33624 * include/grub/kernel.h (grub_module_header_types): Add type
33625 OBJ_TYPE_CONFIG.
33626
33627 * kern/main.c (grub_load_config): New function.
33628 (grub_main): Call grub_load_config to read boot config.
33629
33630 * grub-mkimage (generate_image): New parameter config_path.
33631 (options): New option --config.
33632 (main): Parse --config option, and pass it to generate_image.
33633
cf353a47 336342009-05-14 Christian Franke <franke@computer.org>
33635
33636 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33637 This fixes build on Cygwin.
33638
3834887f 336392009-05-14 Pavel Roskin <proski@gnu.org>
33640
33641 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33642 jump. This saves two bytes, so the typical case of 2 swapped
33643 drives would fit 32 bytes.
33644
8090fc01 336452009-05-13 Pavel Roskin <proski@gnu.org>
33646
ac963883 33647 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33648 grub_uint32_t to avoid a warning.
33649
8090fc01 33650 * loader/i386/linux.c (allocate_pages): When assigning
33651 real_mode_mem, cast through grub_size_t to fix a warning. The
33652 code already makes sure that the value would fit a pointer.
33653 (grub_linux_setup_video): Cast render_target->data to
33654 grub_size_t to fix a warning.
33655
18f547ad 336562009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33657
33658 * commands/i386/pc/drivemap.c: New file - implement drivemap
33659 command.
33660 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33661 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33662
6f6a8b28 336632009-05-13 Pavel Roskin <proski@gnu.org>
33664
33665 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33666 embedding_area_exists.
33667
15fbf4c4 336682009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33669
33670 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33671 it easier to understand / work with.
59978c8a 33672 Improve warning messages for cases where there's no embedding area,
33673 or when it is too small (or core.img too large).
15fbf4c4 33674
238e871f 336752009-05-13 Pavel Roskin <proski@gnu.org>
33676
0ab3a9a4 33677 * loader/i386/pc/multiboot2.c: Add necessary includes for
33678 grub_multiboot2_real_boot().
33679
a2c8c5f8 33680 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33681 PX record is always little-endian. We only need the lower 2
33682 bytes of the mode.
33683
faec96af 33684 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33685 facilitate code reuse.
33686 (grub_cpio_mount): Use "struct head", not a char buffer. This
33687 fixes a warning reported by gcc 4.4.
33688
238e871f 33689 * kernel/disk.c (grub_disk_read): Use void pointer for the
33690 buffer.
33691 (grub_disk_write): Use const void pointer for the buffer.
33692 Adjust all callers. Remove unnecessary casts.
33693
901d2f0c 336942009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33695
33696 * util/i386/pc/grub-install.in: Update copyright year.
33697
18f547ad 336982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33699
33700 gptsync
33701
33702 * commands/gptsync.c: new file
33703 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33704 (gptsync_mod_SOURCES): new variable
33705 (gptsync_mod_CFLAGS): likewise
33706 (gptsync_mod_LDFLAGS): likewise
18f547ad 33707 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33708 new definition
33709 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33711 * conf/i386-ieee1275.rmk: likewise
33712 * conf/i386-pc.rmk: likewise
33713 * conf/powerpc-ieee1275.rmk: likewise
33714
b4ba690a 337152009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33716
33717 Fixed grub-emu
33718
33719 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33720 (grub_dl_ref): likewise
33721
317e1a44 337222009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33723
33724 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33725 split in two functions (one for msdos and one for gpt).
33726
041b8094 337272009-05-08 Pavel Roskin <proski@gnu.org>
33728
752473c2 33729 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33730 not modified.
33731
041b8094 33732 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33733 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33734 Initialize them with -1. Add sanity check for bad1. Eliminate
33735 nerr variable.
33736
172800ce 337372009-05-08 David S. Miller <davem@davemloft.net>
33738
33739 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33740
29aa5e81 337412009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33742
33743 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33744 existence.
29aa5e81 33745
96613b62 337462009-05-05 Felix Zielcke <fzielcke@z-51.de>
33747
33748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33749 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33750
eef73c8a 337512009-05-05 David S. Miller <davem@davemloft.net>
33752
33753 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33754
119494b5 337552009-05-05 Pavel Roskin <proski@gnu.org>
33756
33757 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33758 of grub_dl_ref() and grub_dl_unref().
33759 * commands/parttool.c: Remove preprocessor conditionals around
33760 grub_dl_ref() and grub_dl_unref().
33761 * fs/affs.c: Likewise.
33762 * fs/afs.c: Likewise.
33763 * fs/cpio.c: Likewise.
33764 * fs/ext2.c: Likewise.
33765 * fs/fat.c: Likewise.
33766 * fs/hfs.c: Likewise.
33767 * fs/hfsplus.c: Likewise.
33768 * fs/iso9660.c: Likewise.
33769 * fs/jfs.c: Likewise.
33770 * fs/minix.c: Likewise.
33771 * fs/ntfs.c: Likewise.
33772 * fs/reiserfs.c: Likewise.
33773 * fs/sfs.c: Likewise.
33774 * fs/udf.c: Likewise.
33775 * fs/ufs.c: Likewise.
33776 * fs/xfs.c: Likewise.
33777 * include/grub/dl.h: Likewise.
33778 * loader/xnu.c: Likewise.
33779
de5fd76e 337802009-05-04 Pavel Roskin <proski@gnu.org>
33781
33782 * commands/acpi.c: Remove unused variable my_mod.
33783 * partmap/amiga.c: Likewise.
33784 * partmap/apple.c: Likewise.
33785 * partmap/gpt.c: Likewise.
33786 * partmap/pc.c: Likewise.
33787 * partmap/sun.c: Likewise.
33788 * term/gfxterm.c: Likewise.
33789 * term/i386/pc/vesafb.c: Likewise.
33790 * term/i386/pc/vga.c: Likewise.
33791
983598ad 337922009-05-04 David S. Miller <davem@davemloft.net>
33793
33794 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33795 pointer args to grub_ieee1275_get_property().
33796
8aadec43 33797 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33798
9554b15e 33799 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33800 devices, and do not traverse down under controller nodes.
33801
67e23c90 33802 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33803 (grub_ofdisk_open): Use it to un-escape "," characters.
33804 * kern/disk.c (find_part_sep): New.
33805 (grub_disk_open): Use it to find the first non-escaped ','
33806 character in the disk name.
33807 * util/ieee1275/devicemap.c (escape_of_path): New.
33808 (grub_util_emit_devicemap_entry): Use it.
33809 * util/sparc64/ieee1275/grub-install.in: Update script to
33810 strip partition specifiers properly by not triggering on
33811 '\' escaped ',' characters.
33812
74bfdd2f 338132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33814
33815 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33816 to 0x300.
33817 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33818 resolutions.
33819 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33820 on documentation from Wikipedia).
33821
4241d2b1 338222009-05-04 Pavel Roskin <proski@gnu.org>
33823
33824 * disk/ata.c: Spelling fixes.
33825 * disk/raid.c: Likewise.
33826 * disk/usbms.c: Likewise.
33827 * disk/dmraid_nvidia.c: Likewise.
33828 * kern/ieee1275/openfw.c: Likewise.
33829 * kern/ieee1275/init.c: Likewise.
33830 * kern/ieee1275/cmain.c: Likewise.
33831 * boot/i386/pc/cdboot.S: Likewise.
33832 * video/readers/png.c: Likewise.
33833 * video/i386/pc/vbe.c: Likewise.
33834 * fs/udf.c: Likewise.
33835 * fs/hfs.c: Likewise.
33836 * fs/reiserfs.c: Likewise.
33837 * efiemu/runtime/efiemu.c: Likewise.
33838 * efiemu/main.c: Likewise.
33839 * efiemu/mm.c: Likewise.
33840 * include/grub/elf.h: Likewise.
33841 * include/grub/xnu.h: Likewise.
33842 * include/grub/usbdesc.h: Likewise.
33843 * include/grub/usb.h: Likewise.
33844 * include/grub/script_sh.h: Likewise.
33845 * include/grub/lib/LzmaEnc.h: Likewise.
33846 * include/grub/efiemu/efiemu.h: Likewise.
33847 * include/grub/command.h: Likewise.
33848 * normal/menu.c: Likewise.
33849 * normal/main.c: Likewise.
33850 * normal/datetime.c: Likewise.
33851 * bus/usb/uhci.c: Likewise.
33852 * mmap/i386/uppermem.c: Likewise.
33853 * mmap/mmap.c: Likewise.
33854 * commands/acpi.c: Likewise.
33855 * commands/test.c: Likewise.
33856 * partmap/apple.c: Likewise.
33857 * font/font.c: Likewise.
33858 * loader/sparc64/ieee1275/linux.c: Likewise.
33859 * loader/macho.c: Likewise.
33860 * loader/i386/bsd_trampoline.S: Likewise.
33861 * loader/i386/bsd.c: Likewise.
33862 * loader/xnu.c: Likewise.
33863 * term/i386/pc/vesafb.c: Likewise.
33864 * term/usb_keyboard.c: Likewise.
33865 * util/resolve.c: Likewise.
33866 * util/getroot.c: Likewise.
33867
0cfc0083 338682009-05-04 Felix Zielcke <fzielcke@z-51.de>
33869
33870 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33871
7c1d00cd 338722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33873
33874 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33875 build error.
33876
b01f0548 338772009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33878
33879 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33880 parameter only available on BIOS.
33881
ecc3eb22 338822009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33883
33884 Removed wrong semicolon in declaration
33885
33886 * grub/misc.h (grub_dprintf): remove semicolon
33887
112972a9 338882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33889
33890 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33891 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33892 is done by grub_cmd_linux() now).
33893 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33894 restore video to text mode.
33895 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33896 indicates lack of "vga=" parameter. "vga=0" is mapped to
33897 `GRUB_LINUX_VID_MODE_NORMAL'.
33898
afd5c115 338992009-05-04 Felix Zielcke <fzielcke@z-51.de>
33900
33901 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33902 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33903 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33904 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33905 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33906 `grub_script.tab.c'.
33907
33908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33909 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33913
faa517ce 33914 * Makefile.in: Remove duplicated 2008 in Copyright line.
33915
ae0c0bdc 339162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33917
473d1e45 33918 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33919 unconditionally.
33920 * include/grub/util/misc.h (grub_util_warn): New declaration.
33921
33922 * util/i386/pc/grub-install.in: Understand --force and pass it down
33923 to grub-setup.
33924
33925 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33926 down to setup().
33927 (setup): Improve error messages and add warnings when requested to
33928 install in odd layouts. Refuse to install using blocklists unless
33929 --force was set.
33930
18f547ad 339312009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33932
33933 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33934
6d260daa 339352009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33936
33937 Updated copyright year
33938
33939 * fs/hfsplus.c: updated copyright year
18f547ad 33940
69f853f8 339412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33942
33943 HFS+ UUID
33944
18f547ad 33945 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33946 in the space previously used by unused3
33947 (grub_hfsplus_uuid): new function
33948 (grub_hfsplus_fs): added uuid field
33949
4c402e73 339502009-05-03 Pavel Roskin <proski@gnu.org>
33951
33952 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33953 suppress warnings. It's no longer needed.
33954 * disk/host.c: Likewise.
33955 * disk/ata_pthru.c: Likewise.
33956 * disk/loopback.c: Likewise.
33957 * hook/datehook.c: Likewise.
33958 * parttool/pcpart.c: Likewise.
33959 * fs/i386/pc/pxe.c: Likewise.
33960 * fs/ntfscomp.c: Likewise.
33961 * efiemu/main.c: Likewise.
33962 * mmap/mmap.c: Likewise.
33963 * commands/crc.c: Likewise.
33964 * commands/hexdump.c: Likewise.
33965 * commands/hdparm.c: Likewise.
33966 * commands/acpi.c: Likewise.
33967 * commands/echo.c: Likewise.
33968 * commands/minicmd.c: Likewise.
33969 * commands/blocklist.c: Likewise.
33970 * commands/memrw.c: Likewise.
33971 * commands/loadenv.c: Likewise.
33972 * commands/usbtest.c: Likewise.
33973 * commands/lsmmap.c: Likewise.
33974 * commands/boot.c: Likewise.
33975 * commands/parttool.c: Likewise.
33976 * commands/configfile.c: Likewise.
33977 * commands/search.c: Likewise.
33978 * commands/ieee1275/suspend.c: Likewise.
33979 * commands/cat.c: Likewise.
33980 * commands/i386/pc/pxecmd.c: Likewise.
33981 * commands/i386/pc/play.c: Likewise.
33982 * commands/i386/pc/halt.c: Likewise.
33983 * commands/i386/pc/vbeinfo.c: Likewise.
33984 * commands/i386/pc/vbetest.c: Likewise.
33985 * commands/lspci.c: Likewise.
33986 * commands/date.c: Likewise.
33987 * commands/handler.c: Likewise.
33988 * commands/ls.c: Likewise.
33989 * commands/test.c: Likewise.
33990 * commands/cmp.c: Likewise.
33991 * commands/efi/loadbios.c: Likewise.
33992 * commands/efi/fixvideo.c: Likewise.
33993 * commands/halt.c: Likewise.
33994 * commands/help.c: Likewise.
33995 * commands/reboot.c: Likewise.
33996 * hello/hello.c: Likewise.
33997 * script/sh/main.c: Likewise.
33998 * loader/xnu.c: Likewise.
33999 * term/terminfo.c: Likewise.
34000 * term/i386/pc/serial.c: Likewise.
34001 * term/usb_keyboard.c: Likewise.
34002
515b5079 340032009-05-03 David S. Miller <davem@davemloft.net>
34004
34005 * normal/menu.c: Include grub/parser.h
34006
dfc31a22 340072009-05-03 Pavel Roskin <proski@gnu.org>
34008
2fee74f1 34009 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34010 not char*.
34011 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34012 Suggested by Javier Martín <lordhabbit@gmail.com>
34013
dfc31a22 34014 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34015 efiemu??.o doesn't exist.
34016 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34017 copying.
34018
18f547ad 340192009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34020
34021 FreeBSD 64-bit support
34022
18f547ad 34023 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34024 and loader/i386/bsd_trampoline.S
34025 (bsd_mod_ASFLAGS): new variable
34026 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34027 (FREEBSD_MODTYPE_KERNEL64): likewise
34028 (grub_bsd64_trampoline_start): likewise
34029 (grub_bsd64_trampoline_end): likewise
34030 (grub_bsd64_trampoline_selfjump): likewise
34031 (grub_bsd64_trampoline_gdt): likewise
34032 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34033 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34034 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34035 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34036 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34037 of "attrib" member
34038 * loader/i386/bsd_pagetable.c: new file
34039 * loader/i386/bsd_trampoline.S: likewise
34040 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34041 (ALIGN_VAR): likewise
34042 (entry_hi): new variable
34043 (kern_end_mdofs): likewise
34044 (is_64bit): likewise
34045 (grub_freebsd_add_meta): use ALIGN_VAR
34046 (grub_e820_mmap): new declaration
34047 (grub_freebsd_add_mmap): new function
34048 (grub_freebsd_add_meta_module): support 64 bit kernels
34049 (grub_freebsd_list_modules): use ALIGN_VAR
34050 (gdt_descriptor): new declaration
34051 (grub_freebsd_boot): support 64 bit kernels
34052 (grub_bsd_elf64_hook): new function
34053 (grub_bsd_load_elf): support elf64
34054
038c5720 340552009-05-03 Bean <bean123ch@gmail.com>
34056
34057 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34058 after we get the result of if statement.
34059
fc45fb58 340602009-05-03 Bean <bean123ch@gmail.com>
34061
34062 * Makefile.in (enable_efiemu): New variable.
34063
34064 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34065 set.
34066 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34067 path.
34068 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34069 path, add -mno-red-zone option.
34070 (efiemu64_s.o): Likewise.
34071 (efiemu64.o): Use macro $^ for source file.
34072
34073 * configure.ac (--enable-efiemu): New option.
34074
bbee0f2b 340752009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34076
34077 xnu support
34078
34079 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34080 (pkglib_MODULES): add xnu.mod
34081 (xnu_mod_SOURCES): new variable
34082 (xnu_mod_CFLAGS): likewise
34083 (xnu_mod_LDFLAGS): likewise
34084 (xnu_mod_ASFLAGS): likewise
34085 * conf/i386-pc.rmk: likewise
34086 * conf/x86_64-efi.rmk: likewise
7dd4a573 34087 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34088 new declaration
34089 * include/grub/i386/macho.h: new file
34090 * include/grub/i386/xnu.h: likewise
34091 * include/grub/macho.h: likewise
34092 * include/grub/machoload.h: likewise
34093 * include/grub/x86_64/macho.h: likewise
34094 * include/grub/x86_64/xnu.h: likewise
34095 * include/grub/xnu.h: likewise
34096 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34097 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34098 * loader/i386/efi/xnu.c: new file
34099 * loader/i386/pc/xnu.c: likewise
34100 * loader/i386/xnu.c: likewise
34101 * loader/i386/xnu_helper.S: likewise
34102 * loader/macho.c: likewise
34103 * loader/xnu.c: likewise
34104 * loader/xnu_resume.c: likewise
34105 * util/grub-dumpdevtree: likewise
34106 * include/grub/i386/pit.h: include grub/err.h
34107 (grub_pit_wait): export
34108 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34109
5caf964d 341102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34111
34112 Efiemu
7dd4a573 34113
5caf964d 34114 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34115 _linux_efi, linux_efi.
34116 new files in grub-emu
5caf964d 34117 new targets efiemu32.o and efiemu64.o
34118 * loader/linux_normal_efiemu.c: likewise
34119 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34120 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34121 files to copy
34122 * include/grub/autoefi.h: new file
7dd4a573 34123 * include/grub/i386/efiemu.h: likewise
5caf964d 34124 * include/grub/i386/pc/efiemu.h: likewise
34125 * include/grub/efi/api.h: add LL suffix when necessary
34126 new definitions relating to tables
34127 * include/grub/efiemu/efiemu.h: new file
34128 * include/grub/efiemu/runtime.h: likewise
34129 * efiemu/prepare.c: likewise
34130 * efiemu/loadcore_common.c: likewise
34131 * efiemu/loadcore64.c: likewise
34132 * efiemu/runtime/efiemu.sh: likewise
34133 * efiemu/runtime/efiemu.S: likewise
34134 * efiemu/runtime/efiemu.c: likewise
34135 * efiemu/runtime/config.h: likewise
34136 * efiemu/prepare32.c: likewise
34137 * efiemu/main.c: likewise
34138 * efiemu/modules/pnvram.c: likewise
34139 * efiemu/modules/i386: likewise
34140 * efiemu/modules/i386/pc: likewise
34141 * efiemu/modules/acpi.c: likewise
34142 * efiemu/i386/pc/cfgtables.c: likewise
34143 * efiemu/i386/loadcore64.c: likewise
34144 * efiemu/i386/loadcore32.c: likewise
34145 * efiemu/prepare64.c: likewise
34146 * efiemu/loadcore.c: likewise
34147 * efiemu/symbols.c: likewise
34148 * efiemu/mm.c: likewise
34149 * efiemu/loadcore32.c: likewise
7dd4a573 34150
341512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34152
34153 ACPI spoofing
34154
34155 * commands/acpi.c: new file
34156 * commands/i386/pc/acpi.c: likewise
34157 * commands/efi/acpi.c: likewise
34158 * include/grub/acpi.h: likewise
34159 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34160 (acpi_mod_SOURCES): new variable
34161 (acpi_mod_CFLAGS): likewise
34162 (acpi_mod_LDFLAGS): likewise
34163 * conf/i386-efi.rmk: likewise
34164 * conf/x86_64-efi.rmk: likewise
34165
7dd4a573 341662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34167
34168 Missing part from mmap patch
34169
34170 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34171 (grub_mmap_unregister)
34172 (grub_mmap_free_and_unregister): use grub_mmap_register
34173
7dd4a573 341742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34175
34176 Mmap services
34177
34178 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34179 * loader/i386/linux.c (find_mmap_size): likewise
34180 (allocate_pages): likewise
34181 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34182 (grub_fill_multiboot_mmap): likewise
34183 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34184 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34185 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34186 (OPENBSD_MMAP_RESERVED): likewise
34187 * include/grub/i386/pc/memory.h: include grub/memory.h
34188 (grub_lower_mem): removed
34189 (grub_upper_mem): likewise
34190 (GRUB_MACHINE_MEMORY_ACPI): new definition
34191 (GRUB_MACHINE_MEMORY_NVS): likewise
34192 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34193 (GRUB_MACHINE_MEMORY_HOLE): likewise
34194 (grub_machine_mmap_register): likewise
34195 (grub_machine_mmap_unregister): likewise
34196 (grub_machine_get_upper): likewise
34197 (grub_machine_get_lower): likewise
34198 (grub_machine_get_post64): likewise
34199 * include/grub/i386/efi/memory.h: new file
34200 * include/grub/x86_64/efi/memory.h: likewise
34201 * include/grub/efi/memory.h: likewise
34202 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34203 (mmap_mod_SOURCES): new variable
34204 (mmap_mod_LDFLAGS): likewise
34205 (mmap_mod_ASFLAGS): likewise
34206 * conf/i386-coreboot.rmk: likewise
34207 * conf/i386-ieee1275.rmk: likewise
34208 * conf/i386-efi.rmk: likewise
34209 * conf/x86_64-efi.rmk: likewise
34210 * include/grub/types.h (UINT_TO_PTR): new macro
34211 (PTR_TO_UINT32): likewise
34212 (PTR_TO_UINT64): likewise
34213 * include/grub/memory.h: new file
34214 * mmap/i386/pc/mmap.c: likewise
34215 * mmap/i386/pc/mmap_helper.S: likewise
34216 * mmap/i386/uppermem.c: likewise
34217 * mmap/mmap.c: likewise
34218 * mmap/efi/mmap.c: likewise
7dd4a573 34219 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34220 grub_upper_mem
34221 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34222 (grub_upper_mem): likewise
34223 (grub_machine_init): don't use grub_upper_mem,
34224 make grub_lower_mem local
34225 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34226 grub_mmap_iterate and grub_mmap_get_upper
34227 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34228
d558e6b5 342292009-05-02 Bean <bean123ch@gmail.com>
34230
34231 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34232 script/sh/parser.y.
34233 (pkglib_MODULES): Add normal.mod and sh.mod.
34234 (normal_SOURCES): New variable.
34235 (normal_mod_CFLAGS): Likewise.
34236 (normal_mod_LDFLAGS): Likewise.
34237 (sh_mod_SOURCES): Likewise.
34238 (sh_mod_CFLAGS): Likewise.
34239 (sh_mod_LDFLAGS): Likewise.
34240
34241 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34242 script/sh/lexer.c_DEPENDENCIES.
34243 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34244 kern/rescue_reader.c and kern/rescue_parser.c.
34245 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34246 (grub_emu_SOURCES): Change source files.
34247 (pkglib_MODULES): Remove normal.mod.
34248 (normal_SOURCES): Removed.
34249 (normal_mod_CFLAGS): Likewise.
34250 (normal_mod_LDFLAGS): Likewise.
34251 * conf/i386-coreboot.rmk: Likewise.
34252 * conf/i386-efi.rmk: Likewise.
34253 * conf/i386-ieee1276.rmk: Likewise.
34254 * conf/powerpc-ieee1275.rmk: Likewise.
34255 * conf/sparc64-ieee1275.rmk: Likewise.
34256 * conf/x86_64-efi.rmk: Likewise.
34257
34258 * include/grub/command.h (grub_command_execute): New inline function.
34259
34260 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34261
34262 * include/grub/normal.h: Remove <grub/setjmp.h>.
34263 (grub_fs_module_list): Moved to normal/autofs.c.
34264 (grub_exit_env): Removed.
34265 (grub_command_execute): Likewise.
34266 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34267 parameter script.
34268 (read_command_list): New function declaration.
34269 (read_fs_list): Likewise.
34270
34271 * include/parser.h: Include <grub/reader.h>.
34272 (grub_parser_split_cmdline): Change type of getline parameter.
34273 (grub_parser): New structure.
34274 (grub_parser_class): New variable.
34275 (grub_parser_execute): New function declaration.
34276 (grub_register_rescue_parser): Likewise.
34277 (grub_parser_register): New inline function.
34278 (grub_parser_unregister): Likewise.
34279 (grub_parser_get_current): Likewise.
34280 (grub_parser_set_current): Likewise.
34281
34282 * include/grub/reader.h: New file.
34283 * kern/reader.c: Likewise.
34284 * kern/rescue_parser.c: Likewise.
34285 * kern/rescue_reader.c: Likewise.
34286 * normal/autofs.c: Likewise.
34287 * normal/dyncmd.c: Likewise.
34288
34289 * include/grub/rescue.h: Removed.
34290 * normal/command.h: Likewise.
34291
34292 * include/grub/script.h: Moved to ...
34293 * include/grub/script_sh.h: ... Moved here.
34294 * normal/execute.c: Moved to ...
34295 * script/sh/execute.c: ... Moved here.
34296 * normal/function.c: Moved to ...
34297 * script/sh/function.c: ... Moved here.
34298 * normal/lexer.c: Moved to ...
34299 * script/sh/lexer.c: ... Moved here.
34300 * normal/parser.y: Moved to ...
34301 * script/sh/parser.y: ... Moved here.
34302 * normal/script.c: Moved to ...
34303 * script/sh/script.c: ... Moved here.
34304
34305 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34306 <grub/reader.h>.
34307 (grub_exit_env): Removed.
34308 (fs_module_list): Moved to normal/autofs.c.
34309 (grub_file_getline): Don't handle comment here.
34310 (free_menu): Skip removed field entry->commands.
34311 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34312 script parameter.
34313 (read_config_file): Removed nested parameter, change getline function.
34314 (grub_enter_normal_mode): Removed.
34315 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34316 (read_command_list): Likewise.
34317 (autoload_fs_module): Moved to normal/autofs.c.
34318 (read_fs_list): Likewise.
34319 (reader_nested): New variable.
34320 (grub_normal_execute): Run parser.sh to switch to sh parser.
34321 (grub_cmd_rescue): Removed.
34322 (cmd_normal): Removed.
34323 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34324 rescue command.
34325 (grub_cmdline_run): New function.
34326 (grub_normal_reader_init): Likewise.
34327 (grub_normal_read_line): Likewise.
34328 (grub_env_write_pager): Likewise.
34329 (cmdline): New variable.
34330 (grub_normal_reader): Likewise.
34331 (GRUB_MOD_INIT): Register normal reader and set as current, register
34332 pager hook, register normal command with grub_register_command_prio,
34333 so that it won't show up in command.lst.
34334 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34335 grub_fs_autoload_hook.
34336
34337 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34338 (grub_menu_execute_entry): Replace grub_script_execute with
34339 grub_parser_execute, change parameter to grub_command_execute.
34340
34341 * normal/menu_text.c: Remove <grub/script.h>.
34342
34343 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34344 and <grub/parser.h>.
34345 (run): Change editor_getline to use new parser interface. Change
34346 parameter to grub_command_execute.
34347
34348 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34349 <grub/reader.h> and <grub/parser.h>.
34350 (grub_load_normal_mode): Execute normal command.
34351 (grub_main): Call grub_register_core_commands,
34352 grub_register_rescue_parser and grub_register_rescue_reader, use
34353 grub_reader_loop to enter input loop.
34354
7dd4a573 34355 * kern/parser.c (grub_parser_split_cmdline): Change type of
34356 getline parameter.
d558e6b5 34357 (grub_parser_class): New variable.
34358 (grub_parser_execute): New function.
34359
34360 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34361 * loader/multiboot2.c: Likewise.
34362 * loader/sparc64/ieee1275/linux.c: Likewise.
34363
34364 * util/grub-emu.c (read_command_list): New dummy function.
34365
18db813d 343662009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34367
34368 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34369 count to 16 for CCISS and IDA.
34370
6c67de15 343712009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34372
34373 * normal/menu_text.c (grub_wait_after_message): Print a newline
34374 after waiting for user input.
34375
34376 * loader/i386/linux.c: Include `<grub/normal.h>'.
34377 (grub_cmd_linux): Improve the error message about `ask' mode, by
34378 waiting for user input so it's not missed (we can do this, since
34379 user requested interaction).
34380
d9dc87b0 343812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34382
34383 Added missing lst to grub-mkrescue
34384
34385 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34386 and ${input_dir}/parttool.lst
34387
ac8a2baa 343882009-04-30 David S. Miller <davem@davemloft.net>
34389
ad22a610 34390 * util/hostdisk.c (device_is_wholedisk): New function.
34391 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34392 zero only if device_is_wholedisk() returns true.
34393
6966215d 34394 * util/hostdisk.c (convert_system_partition_to_system_disk):
34395 Handle virtual disk devices named /dev/vdiskX as found on sparc
34396 and powerpc.
34397
ac8a2baa 34398 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34399 lettered partition specifier is found, convert to numbered.
34400
979b4fb4 344012009-04-29 David S. Miller <davem@davemloft.net>
34402
e2bf39b2 34403 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34404 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34405
3c64e104 34406 * normal/command.c: Add missing newline at end of file.
34407
979b4fb4 34408 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34409 warnings.
34410 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34411 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34412 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34413 ihandles have a 32-bit type but need to be stored in a "void *".
34414
136d9f82 344152009-04-28 Pavel Roskin <proski@gnu.org>
34416
9459c306 34417 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34418 not disk. Adjust all dependencies.
2e08a26a 34419 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34420 grub_disk_close().
34421
136d9f82 34422 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34423 parent's partition, don't copy it by reference, as it gets freed
34424 on close.
34425
7dd4a573 344262009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34427
34428 Preboot hooks support
34429
34430 * commands/boot.c (struct grub_preboot_t): new declaration
34431 (preboots_head): new variable
34432 (preboots_tail): likewise
34433 (grub_loader_register_preboot_hook): new function
34434 (grub_loader_unregister_preboot_hook): likewise
34435 (grub_loader_set): launch preboot hooks
34436 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34437 (grub_loader_register_preboot_hook): new declaration
34438 (grub_loader_unregister_preboot_hook): likewise
34439
5af922b5 344402009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34441
34442 Warning fix
34443
7dd4a573 34444 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34445 calling grub_dprintf
34446
a5562c30 344472009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34448
34449 Bug and warning fixes
34450
7dd4a573 34451 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34452 declaration
34453 * commands/test.c (test_parse): fixed bug with file tests and corrected
34454 declaration of find_file
34455
4006f85c 344562009-04-26 Pavel Roskin <proski@gnu.org>
34457
34458 * Makefile.in: Don't install empty manual pages if help2man is
34459 missing. Use help2man option for output, not shell redirection.
34460
5c77c3de 344612009-04-26 David S. Miller <davem@davemloft.net>
34462
34463 * util/grub-mkdevicemap.c (make_device_map): Add missing
34464 NESTED_FUNC_ATTR to process_device().
34465
033b10a8 344662009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34467
34468 Test command
34469
34470 * commands/test.c: rewritten to use bash-like test
34471
e4343593 344722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34473
34474 Parttool autoloading and improvements
34475
7dd4a573 34476 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34477 (parttool.lst): new target
34478 * genmk.rb: generate parttool-*
34479 (CLEANFILES): add #{parttool}
34480 (PARTTOOLFILES): new variable
34481 * genparttoollist.sh: new file
7dd4a573 34482 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34483 (grub_pcpart_type): likewise
34484 * commands/parttool.c (helpmsg): new variable
34485 (grub_cmd_parttool): output help if not enough arguments are supplied
34486 autoload modules
34487 (GRUB_MOD_INIT(parttool)): use helpmsg
34488
0d312500 344892009-04-24 David S. Miller <davem@davemloft.net>
34490
7dd4a573 34491 Avoiding opening same device multiple times in device iterator.
0d312500 34492
34493 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34494 and use it to build a list of partitions in iterate_disk() and
0d312500 34495 iterate_partition().
34496
ac20caff 34497 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34498 on disk->data.
34499
0dcf7495 34500 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34501 grub_devalias_iterate() result instead of unconditional 0.
34502 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34503 Also, capture hook return value, either directly or via
34504 grub_children_iterate(), and propagate to caller.
34505 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34506 grub_children_iterate): Return value is now 'int' instead of
34507 'grub_err_t'.
34508 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34509 like a proper iterator, stopping when hooks return non-zero.
34510 (grub_devalias_iterate): Likewise.
34511
c8c08833 345122009-04-23 David S. Miller <davem@davemloft.net>
34513
34514 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34515
f01005a8 345162009-04-22 David S. Miller <davem@davemloft.net>
34517
34518 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34519 is larger than address_cells, use that value for address_cells too.
34520
4e8269da 34521 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34522 IEEE1275_MAX_PATH_LEN): Define.
34523 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34524 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34525 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34526 'devtype'. Explicitly NULL terminate devalias expansion.
34527
a1447506 34528 * util/sparc64/ieee1275/misc.c: New file.
34529 * util/sparc64/ieee1275/grub-setup.c: New file.
34530 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34531 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34532 * util/sparc64/ieee1275/grub-install.in: New file.
34533 * util/ieee1275/ofpath.c: New file.
34534 * util/ieee1275/devicemap.c: New file.
34535 * util/devicemap.c: New file.
34536 * util/deviceiter.c: New file.
34537 * kern/sparc64/ieee1275/init.c: New file.
34538 * include/grub/util/ofpath.h: New file.
34539 * include/grub/util/deviceiter.h: New file.
34540 * util/grub-mkdevicemap.c: Include deviceiter.h.
34541 Implement using grub_util_emit_devicemap_entry and
34542 grub_util_iterate_devices.
34543 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34544 util/devicemap.c into grub-mkdevicemap
34545 * conf/i386-efi.rmk: Likewise.
34546 * conf/i386-ieee1275.rmk: Likewise.
34547 * conf/i386-pc.rmk: Likewise.
34548 * conf/powerpc-ieee1275.rmk: Likewise.
34549 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34550 images and installation utilities. Build kernel as image
34551 instead of as elf binary. Use common rules as much as possible.
34552
7dd4a573 345532009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34554
34555 Correct GPT definition
34556
7dd4a573 34557 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34558 of "attrib" member
34559
c6c5219f 345602009-04-19 Felix Zielcke <fzielcke@z-51.de>
34561
34562 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34563
0552ff9f 345642009-04-19 David S. Miller <davem@davemloft.net>
34565
34566 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34567 (grub_rescue_cmd_linux): Rename to...
34568 (grub_cmd_linux): and fix prototype.
34569 (grub_rescue_cmd_initrd): Rename to...
34570 (grub_cmd_initrd): and fix prototype.
34571 (cmd_linux, cmd_initrd): New.
34572 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34573 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34574
d1a282fc 345752009-04-17 Pavel Roskin <proski@gnu.org>
34576
07c5039f 34577 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34578 format.
34579 (grub_ohci_transfer): Likewise.
34580
b012002d 34581 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34582
1bc09c35 34583 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34584 return without a value. Fix inconsistent indentation.
34585
e0ff9126 34586 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34587 match struct grub_fs.
34588
d1a282fc 34589 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34590 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34591 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34592 * commands/lspci.c (grub_lspci_iter): Likewise.
34593
a96df3f2 345942009-04-16 Bean <bean123ch@gmail.com>
34595
34596 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34597 value.
34598
41bb0fe9 345992009-04-15 Pavel Roskin <proski@gnu.org>
34600
34601 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34602 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34603 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34604 definitions.
34605
596c6970 346062009-04-15 Felix Zielcke <fzielcke@z-51.de>
34607
34608 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34609 that no multiple data or metadata areas are supported and `Unknown
596c6970 34610 metadata header'.
34611
7dd4a573 346122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34613
34614 Move loader out of the kernel
34615
34616 * kern/loader.c: moved to ...
34617 * commands/boot.c: ... moved here
34618 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34619 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34620 * include/grub/kernel.h (grub_machine_fini): export
34621 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34622 (grub_loader_set): likewise
34623 (grub_loader_unset): likewise
34624 (grub_loader_boot): likewise
34625 * conf/common.rmk: new module boot.mod
34626 (pkglib_MODULES): add boot.mod
34627 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34628 (grub_emu_SOURCES): likewise
34629 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34630 (grub_emu_SOURCES): likewise
34631 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34632 (grub_emu_SOURCES): likewise
34633 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34634 (grub_emu_SOURCES): likewise
34635 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34636 (grub_emu_SOURCES): likewise
7dd4a573 34637 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34638 (grub_emu_SOURCES): likewise
0d5d5653 34639 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34640 (grub_emu_SOURCES): likewise
0d5d5653 34641
7dd4a573 346422009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34643
34644 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34645
5999d619 34646 * kern/misc.c (grub_itoa): Removed function
34647 (grub_ltoa): likewise
34648 (grub_vsprintf): use grub_lltoa
34649
7dd4a573 346502009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34651
34652 Restore grub-emu
34653
34654 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34655 * conf/i386-coreboot.rmk: likewise
34656 * conf/i386-ieee1275.rmk: likewise
34657 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34658
20318222 346592009-04-15 Felix Zielcke <fzielcke@z-51.de>
34660
34661 * INSTALL: Add that `./autogen.sh' needs to be run before
34662 `./configure.'.
34663
d05f0df3 346642009-04-14 Bean <bean123ch@gmail.com>
34665
34666 * Makefile.in (pkglib_DATA): Add handler.lst.
34667 (handler.lst): New rule.
34668
34669 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34670 * conf/i386-coreboot.rmk: Likewise.
34671 * conf/i386-ieee1275.rmk: Likewise.
34672 * conf/i386-efi.rmk: Likewise.
34673 * conf/x86_64-efi.rmk: Likewise.
34674 * conf/powerpc-ieee1275.rmk: Likewise.
34675 * conf/sparc64-ieee1275.rmk: Likewise.
34676
34677 * genhandlerlist.sh: New file.
34678
34679 * genmk.rb: Add rules to generate handler.lst.
34680
34681 * include/grub/normal.h (grub_file_getline): New function definition.
34682 (read_handler_list): Likewise.
34683 (free_handler_list): Likewise.
34684
34685 * include/grub/term.h (grub_term_register_input): Add name parameter
34686 for auto generation of handler.lst.
34687 (grub_term_register_output): Likewise.
34688
34689 * normal/handler.c: New file.
34690
34691 * normal/main.c (get_line): Renamed to grub_file_getline.
34692 (read_config_file): Use the newly renamed grub_file_getline.
34693 (read_command_list): Likewise.
34694 (read_fs_list): Likewise.
34695 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34696 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34697
34698 * term/efi/console.c (grub_console_init): Add name parameter for auto
34699 generation of handler.lst.
34700 * term/gfxterm.c: Likewise.
34701 * term/i386/pc/at_keyboard.c: Likewise.
34702 * term/i386/pc/console.c: Likewise.
34703 * term/i386/pc/serial.c: Likewise.
34704 * term/i386/pc/vesafb.c: Likewise.
34705 * term/i386/pc/vga.c: Likewise.
34706 * term/i386/pc/vga_text.c: Likewise.
34707 * term/ieee1275/ofconsole.c: Likewise.
34708 * term/usb_keyboard.c: Likewise.
34709
33c846be 347102009-04-14 Bean <bean123ch@gmail.com>
34711
34712 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34713 properly with null character.
34714
4484e01e 347152009-04-14 Felix Zielcke <fzielcke@z-51.de>
34716
34717 * configure: Remove.
34718 * config.h.in: Likewise.
f93d668e 34719 * stamp-h.in: Likewise.
4484e01e 34720 * DISTLIST: Likewise.
34721 * conf/common.mk: Likewise.
34722 * conf/i386-coreboot.mk: Likewise.
34723 * conf/i386-efi.mk: Likewise.
34724 * conf/i386-ieee1275.mk: Likewise.
34725 * conf/i386.mk: Likewise.
34726 * conf/i386-pc.mk: Likewise.
34727 * conf/powerpc-ieee1275.mk: Likewise.
34728 * conf/sparc64-ieee1275.mk: Likewise.
34729 * conf/x86_64-efi.mk: Likewise.
34730
34731 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34732 develop on GRUB.
34733
7dd4a573 347342009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34735 David S. Miller <davem@davemloft.net>
34736
34737 * util/hostdisk.c (make_device_name): Fix buffer length
34738 calculations.
34739
e25b5a8c 347402009-04-14 Felix Zielcke <fzielcke@z-51.de>
34741
34742 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34743 <sys/param.h> and <sys/sysctl.h>.
34744 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34745 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34746 opening the device and reset them afterwards.
34747
1f1f580c 347482009-04-13 Pavel Roskin <proski@gnu.org>
34749
34750 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34751 Reported by John Stanley <jpsinthemix@verizon.net>
34752
7ebc2d6b 347532009-04-13 Robert Millan <rmh@aybabtu.com>
34754
34755 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34756 that name for menuentries when appropriate.
7ebc2d6b 34757
d8ba3667 347582009-04-13 Felix Zielcke <fzielcke@z-51.de>
34759
34760 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34761
cba416eb 347622009-04-13 Robert Millan <rmh@aybabtu.com>
34763
34764 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34765 to Linux, simply abort telling the user it's no longer supported.
34766
a547a745 347672009-04-13 Felix Zielcke <fzielcke@z-51.de>
34768
34769 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34770 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34771 `freebsd_loadenv' only when devices.hints exist.
34772
232a769c 347732009-04-13 Pavel Roskin <proski@gnu.org>
34774
34775 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34776
c3012039 347772009-04-13 Felix Zielcke <fzielcke@z-51.de>
34778
34779 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34780 partition number.
34781 (grub_drive): Likewise.
34782
234022fe 347832009-04-13 David S. Miller <davem@davemloft.net>
34784
34785 * kern/sparc64/ieee1275/ieee1275.c: New file.
34786 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34787 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34788 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34789 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34790 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34791 grub_ieee1275_alloc_physmem): Declare new exported functions.
34792
d8e1836c 34793 * include/grub/sparc64/ieee1275/loader.h: New file.
34794 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34795 * include/grub/sparc64/kernel.h: Likewise.
34796 * loader/sparc64/ieee1275/linux.c: Likewise.
34797
96bd81ec 34798 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34799 (grub_fstest_SOURCES): Likewise.
34800
6a4737e5 34801 * util/hostdisk.c (make_device_name): Do not make any assumptions
34802 about the length of drive names.
34803
1d7a72fd 34804 * kern/dl.c (grub_dl_load_file): Close file immediately when
34805 we are done using it.
34806
56bc2471 348072009-04-12 David S. Miller <davem@davemloft.net>
34808
34809 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34810 values. Noticed by Pavel Roskin.
34811
df38d0bb 34812 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34813 target compiler.
7dd4a573 34814
e382e93a 34815 * genmk.rb: Add more flexible image type specification, also
34816 pass --strip-unneeded to objcopy.
34817 * conf/i386-pc.rmk: Use *_FORMAT.
34818 * conf/i386-pc.mk: Rebuilt.
34819
f5dbbca9 34820 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34821 (OFDISK_HASH_SZ): Define.
34822 (ofdisk_hash): New hash table.
34823 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34824 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34825 instead of device phandle which is not unique.
34826
91c88b12 34827 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34828 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34829 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34830 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34831 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34832 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34833 GRUB_KERNEL_MACHINE_DATA_END): Define.
34834 (grub_kernel_image_size, grub_total_module_size): Declare.
34835
5b5d4aa5 348362009-04-12 Pavel Roskin <proski@gnu.org>
34837
7dd4a573 34838 * configure.ac: Change the logic when we check for target tools.
34839 Do it when the target is specified and it's different from the
34840 specified value of the host.
5b5d4aa5 34841
c91e1793 348422009-04-11 Felix Zielcke <fzielcke@z-51.de>
34843
34844 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34845 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34846 GNU/kFreeBSD. Check if a device is a character device. Use
34847 DIOCGMEDIASIZE to get the size.
34848 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34849 support for GNU/kFreeBSD.
34850 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34851 is a character device instead of a block device. Add support for
34852 FreeBSD device names.
34853
34854 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34855 is a character device instead of a block device.
34856
34857 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34858 is a character device instead of a block device.
34859
b1ac8644 348602009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34861
34862 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34863 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34864 FreeBSD. Check if a device is a character device. Use
34865 DIOCGMEDIASIZE to get the size.
34866 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34867 support for FreeBSD.
34868 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34869 is a character device instead of a block device. Add support for
34870 FreeBSD device names.
34871
34872 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34873 a character device instead of a block device.
34874 (grub_util_check_char_device): New function.
34875
34876 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34877 a character device instead of a block device.
34878
34879 * include/grub/util/getroot.h (grub_util_check_char_device): New
34880 prototype.
34881
a3f7515a 348822009-04-11 David S. Miller <davem@davemloft.net>
34883
34884 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34885 static libgcc.
34886 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34887 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34888 function, if present.
34889 (__bswapdi2): Likewise.
34890
0d44993d 34891 * include/grub/sparc64/ieee1275/boot.h: New file.
34892 * boot/sparc64/ieee1275/boot.S: Likewise.
34893 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34894
ed3d2bc2 34895 * kern/misc.c (grub_ltoa): New function.
34896 (grub_vsprintf): Use it to format 'long' integers.
34897
d3bfb59c 348982009-04-10 David S. Miller <davem@davemloft.net>
34899
34900 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34901 slots are of type grub_ieee1275_cell_t.
34902 (grub_nand_read): Likewise.
34903 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34904 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34905 macros are used to compare values in arg/ret block of the call.
34906 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34907 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34908 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34909 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34910 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34911 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34912 grub_ieee1275_close, grub_ieee1275_set_property,
34913 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34914 grub_ieee1275_cell_t.
34915 * kern/ieee1275/openfw.c (grub_map): Likewise.
34916 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34917 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34918
450e2238 34919 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34920 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34921 (grub_devalias_iterate): Likewise.
34922
7dd4a573 349232009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34924
34925 UFS improvements
34926
34927 * fs/ufs.c (INODE_NBLOCKS): new definition
34928 (struct grub_ufs_dirent): added fields for non-BSD dirents
34929 (grub_ufs_get_file_block): fixed double indirect handling
34930 (grub_ufs_lookup_symlink): use more robust way to determine whether
34931 symlink is inline
34932 (grub_ufs_find_file): support for non-BSD dirents
34933 (grub_ufs_dir): support for non-BSD dirents
34934
e7e6862a 349352009-04-10 Bean <bean123ch@gnail.com>
34936
34937 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34938 attribute, otherwise the size would be wrong for i386 platform.
34939
34940 * include/grub/pci.h (grub_pci_read_word): New inline function.
34941 (grub_pci_read_byte): Likewise.
34942 (grub_pci_write): Likewise.
34943 (grub_pci_write_word): Likewise.
34944 (grub_pci_write_byte): Likewise.
34945
34946 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34947
34948 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34949 (find_framebuf): Scan pci to locate the frame buffer address.
34950
34951 * commands/efi/fixvideo.c: New file.
34952
34953 * commands/efi/loadbios.c: Likewise.
34954
34955 * commands/memrw.c: Likewise.
34956
34957 * util/grub-dumpbios.in: Likewise.
34958
34959 * conf/common.rmk (grub-dumpbios): New utility.
34960 (pkglib_MODULES): New module memrw.mod.
34961 (memrw_mod_SOURCE): New macro.
34962 (memrw_mod_CFLAGS): Likewise.
34963 (memrw_mod_LDFLAGS): Likewise.
34964
7dd4a573 34965 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34966 fixvideo.mod.
34967 (loadbios_mod_SOURCE): New macro.
34968 (loadbios_mod_CFLAGS): Likewise.
34969 (loadbios_mod_LDFLAGS): Likewise.
34970 (fixvideo_mod_SOURCE): Likewise.
34971 (fixvideo_mod_CFLAGS): Likewise.
34972 (fixvideo_mod_LDFLAGS): Likewise.
34973
7dd4a573 34974 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34975 fixvideo.mod.
34976 (loadbios_mod_SOURCE): New macro.
34977 (loadbios_mod_CFLAGS): Likewise.
34978 (loadbios_mod_LDFLAGS): Likewise.
34979 (fixvideo_mod_SOURCE): Likewise.
34980 (fixvideo_mod_CFLAGS): Likewise.
34981 (fixvideo_mod_LDFLAGS): Likewise.
34982
af63ada2 349832009-04-08 Felix Zielcke <fzielcke@z-51.de>
34984
34985 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34986
c2cdde70 349872009-04-07 David S. Miller <davem@davemloft.net>
34988
34989 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34990 support for R_SPARC_OLO10 relocations. Fix compile warning for
34991 R_SPARC_WDISP30 case.
ea3f72cf 34992 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34993
761319cf 349942009-04-06 Pavel Roskin <proski@gnu.org>
34995
1007d1f5 34996 * include/grub/misc.h (ARRAY_SIZE): New macro.
34997 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34998 New macro.
34999 * loader/i386/linux.c (allocate_pages): Use free_pages().
35000 (grub_linux_unload): Don't use free_pages().
35001 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35002 wrong index. Treat all other modes as text modes.
35003 (grub_cmd_linux): Initialize vid_mode unconditionally to
35004 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35005
761319cf 35006 * commands/help.c (print_command_help): Use cmd->prio, not
35007 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35008
ea761d40 350092009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35010
ea761d40 35011 Parttool
35012
35013 * parttool/pcpart.c: new file
35014 * commands/parttool.c: likewise
35015 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35016 (parttool_mod_SOURCES): new variable
35017 (parttool_mod_CFLAGS): likewise
35018 (parttool_mod_LDFLAGS): likewise
35019 (pcpart_mod_SOURCES): likewise
35020 (pcpart_mod_CFLAGS): likewise
35021 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35023 and parttool/pcpart.c
35024 * conf/i386-efi.rmk: likewise
35025 * conf/i386-ieee1275.rmk: likewise
35026 * conf/i386-pc.rmk: likewise
35027 * conf/powerpc-ieee1275.rmk: likewise
35028 * conf/sparc64-ieee1275.rmk: likewise
35029 * conf/x86_64-ieee1275.rmk: likewise
35030
05aaebfb 350312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35032
35033 Support for mtime and further expandability of dir command
35034
35035 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35036 * include/grub/datetime.h: ... moved here and added
05aaebfb 35037 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35038 * include/grub/fs.h: new syntax for dir and mtime functions in
35039 struct grub_fs
05aaebfb 35040 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35041 and GRUB_FSHELP_FLAGS_MASK
35042 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35043 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35044 (grub_ext2_mtime): new function
35045 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35046 (grub_hfsplus_mtime): new function
35047 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35048 (GRUB_UFS_ATTR_FILE): likewise
35049 (GRUB_UFS_ATTR_LNK): likewise
35050 (struct grub_ufs_sblock): new fields mtime
35051 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35052 all users updated
35053 (grub_ufs_dir): mtime support
35054 (grub_ufs_mtime): new function
35055 * fs/affs.c (grub_affs_dir): use new dir syntax
35056 * fs/afs.c (grub_afs_dir): likewise
35057 * fs/cpio.c (grub_cpio_dir): likewise
35058 * fs/fat.c (grub_fat_find_dir): likewise
35059 * fs/hfs.c (grub_hfs_dir): likewise
35060 * fs/iso9660.c (grub_iso9660_dir): likewise
35061 * fs/jfs.c (grub_jfs_dir): likewise
35062 * fs/minix.c (grub_minix_dir): likewise
35063 * fs/ntfs.c (grub_ntfs_dir): likewise
35064 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35065 * fs/sfs.c (grub_sfs_dir): likewise
35066 * fs/xfs.c (grub_xfs_dir): likewise
35067 * util/hostfs.c (grub_hostfs_dir): likewise
35068 * lib/datetime.c: moved to ...
35069 * normal/datetime.c: ... moved here
35070 (grub_unixtime2datetime): new function
35071 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35072 * normal/completion.c (iterate_dir): use new dir syntax
35073 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35074 last modification time of a volume
7dd4a573 35075 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35076 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35078 (normal_mod_SOURCES): likewise
35079 (datetime_mod_SOURCES): Removed lib/datetime.c
35080 * conf/i386-efi.rmk: likewise
7dd4a573 35081 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35082 * conf/i386-pc.rmk: likewise
35083 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35084 * conf/sparc64-ieee1275.rmk: likewise
35085 * conf/x86_64-efi.rmk: likewise
05aaebfb 35086
8a7e1a14 350872009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35088
35089 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35090
35091 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35092 on grub_fat_find_dir
35093 (grub_fat_find_dir): use grub_fat_iterate_dir
35094 (grub_fat_label): likewise
35095
04186a9c 350962009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35097
7dd4a573 35098 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35099 and command.h
35100 remove extraneous kernel_elf_HEADERS
35101
da4c0bb6 351022009-04-04 Bean <bean123ch@gnail.com>
35103
35104 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35105
35106 * util/misc.c: Likewise.
35107
54ad9555 351082009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35109
35110 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35111 instead of grub_printf.
35112
7a6bf9f2 351132009-04-03 Robert Millan <rmh@aybabtu.com>
35114
35115 * loader/i386/linux.c (grub_linux_setup_video): Fill
35116 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35117 values from `mode info' structure instead of hardcoded
35118 values.
35119
3fcc2083 351202009-04-01 Pavel Roskin <proski@gnu.org>
35121
35122 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35123 unused now.
35124 * genmk.rb: Likewise.
35125 * configure.ac: Likewise.
35126
5ec9740b 351272009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35128
35129 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35130 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35131
5270cec8 351322009-04-01 David S. Miller <davem@davemloft.net>
35133
35134 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35135 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35136 (grub_setjmp): Mark with 'returns_twice' attribute.
35137 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35138 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35139 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35140
9c3dd854 351412009-04-01 Robert Millan <rmh@aybabtu.com>
35142
35143 Reapply fix from 2008-07-28 which was accidentally reverted; also
35144 perform the same fix to a similar check in same function.
35145
35146 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35147 with the same number are found, just use issue a warning with
35148 grub_dprintf(), as this error has been reported to be non-fatal.
35149
0d818b7e 351502009-03-31 Pavel Roskin <proski@gnu.org>
35151
35152 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35153 for cross-compilation.
35154
95646d92 351552009-03-30 Robert Millan <rmh@aybabtu.com>
35156
35157 Fix i386-ieee1275 build.
35158
35159 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35160 Remove declaration.
35161
6a003ed1 351622009-03-30 Pavel Roskin <proski@gnu.org>
35163
35164 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35165 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35166 zero-terminated, rely only on the strlen value. Fix comparison
35167 of strings differing in length.
35168
92f33540 351692009-03-30 Robert Millan <rmh@aybabtu.com>
35170
35171 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35172 checking for abi version. Improve error messages on BIOS to notify
35173 user about `linux16' command.
35174
a8c48fd5 351752009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35176
f968172e 35177 Leak fixes
a8c48fd5 35178
f968172e 35179 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35180 in case of collision
35181 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35182
9c323f09 351832009-03-29 Robert Millan <rmh@aybabtu.com>
35184
35185 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35186 set `vid_mode' accordingly.
35187 (grub_linux_boot): Process `vid_mode' and set video mode.
35188
ae68f423 351892009-03-29 Robert Millan <rmh@aybabtu.com>
35190
35191 * util/grub.d/10_linux.in (linux_entry): New function.
35192 Factorize generation of Linux boot entries.
35193
5709cfc4 351942009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35195
35196 Make the format of Environment Block plain text. The boot loader
35197 part is not tested well yet.
7dd4a573 35198
5709cfc4 35199 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35200 (buffer): Removed.
35201 (envblk): Likewise.
35202 (usage): Remove "info" and "clear". Add "unset". Update the
35203 description of "set", as this does not delete variables any
35204 longer.
35205 (create_envblk_file): Complete rewrite.
35206 (open_envblk_file): Likewise.
35207 (cmd_info): Removed.
35208 (cmd_list): Likewise.
35209 (cmd_set): Likewise.
35210 (cmd_clear): Likewise.
35211 (list_variables): New function.
35212 (write_envblk): Likewise.
35213 (set_variables): Likewise.
35214 (unset_variables): Likewise.
35215 (main): Complete rewrite.
35216
35217 * commands/loadenv.c (buffer): Removed.
35218 (envblk): Likewise.
35219 (open_envblk_file): New function.
35220 (read_envblk_file): Complete rewrite.
35221 (grub_cmd_load_env): Likewise.
35222 (grub_cmd_list_env): Likewise.
35223 (struct blocklist): New struct.
35224 (free_blocklists): New function.
35225 (check_blocklists): Likewise.
35226 (write_blocklists): Likewise.
35227 (grub_cmd_save_env): Complete rewrite.
35228
35229 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35230 a plain text signature.
35231 (GRUB_ENVBLK_MAXLEN): Removed.
35232 (struct grub_envblk): Complete rewrite.
35233 (grub_envblk_find): Removed.
35234 (grub_envblk_insert): Likewise.
35235 (grub_envblk_open): New prototype.
35236 (grub_envblk_set): Likewise.
35237 (grub_envblk_delete): Put const to VALUE.
35238 (grub_envblk_iterate): Put const to NAME and VALUE.
35239 (grub_envblk_close): New prototype.
35240 (grub_envblk_buffer): New inline function.
35241 (grub_envblk_size): Likewise.
35242
35243 * lib/envblk.c: Include grub/mm.h.
35244 (grub_env_find): Removed.
35245 (grub_envblk_open): New function.
35246 (grub_envblk_close): Likewise.
35247 (escaped_value_len): Likewise.
35248 (find_next_line): Likewise.
35249 (grub_envblk_insert): Removed.
35250 (grub_envblk_set): New function.
35251 (grub_envblk_delete): Complete rewrite.
35252 (grub_envblk_iterate): Likewise.
35253
a9368fd3 352542009-03-28 Robert Millan <rmh@aybabtu.com>
35255
35256 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35257 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35258 variables. Use 16-bit loader.
35259 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35260 loader.
35261 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35262 (grub_linux16_boot): ... this. Update all users.
35263 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35264 (grub_linux_boot): ... this. Update all users.
35265
35266 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35267 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35268 commands to `linux16' and `initrd16'.
35269 (GRUB_MOD_FINI(linux)): Rename to ...
35270 (GRUB_MOD_FINI(linux16)): ... this.
35271
e4dd5a7e 352722009-03-24 Pavel Roskin <proski@gnu.org>
35273
35274 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35275 not just for compilation.
35276
c04d6e05 352772009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35278
35279 Move multiboot helper out of kernel
35280
35281 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35282 `loader/i386/multiboot_helper.S'.
35283 * conf/i386-coreboot.rmk: Likewise
35284 * conf/i386-ieee1275.rmk: Likewise
35285
35286 * kern/i386/loader.S: Move multiboot helpers from here...
35287 * loader/i386/multiboot_helper.S: ...moved here
35288 * include/grub/i386/loader.h: Move declarations of multiboot
35289 helpers from here...
35290 * include/grub/i386/multiboot.h: ...moved here
35291 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35292
42a5b3fc 352932009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35294
35295 * kern/env.c (grub_env_context_open): Added an argument to specify
35296 whether a new context inherits exported variables from current
35297 one. This is useful when making a sandbox to interpret a config
35298 file.
35299 All callers updated.
35300
35301 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35302
b28bbc4e 353032009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35304
35305 * kern/env.c (grub_env_context_close): Fix memory leaks.
35306
f04f02e4 353072009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35308
35309 * normal/main.c (grub_normal_execute): Added an argument
35310 BATCH to specify if an interactive interface should be provided
35311 after reading a config file.
35312 All callers updated.
35313 (read_command_list): Prevent being executed twice.
35314 (read_fs_list): Likewise.
35315
42a5b3fc 35316 * include/grub/normal.h (grub_normal_execute): Updated the
35317 prototype.
f04f02e4 35318
41473ac2 353192009-03-22 Pavel Roskin <proski@gno.org>
35320
fbc00b0c 35321 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35322 _start.
35323 * kern/i386/pc/startup.S: Likewise.
35324 * kern/i386/efi/startup.S: Likewise.
35325 * kern/i386/ieee1275/startup.S: Likewise.
35326 * kern/i386/coreboot/startup.S: Likewise.
35327 * kern/x86_64/efi/startup.S: Likewise.
35328
41473ac2 35329 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35330 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35331 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35332
2274cc8f 353332009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35334
35335 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35336
35337 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35338 limit detection.
35339 Use vaddr of correct segment for entry_point.
35340
b1b797cb 353412009-03-21 Bean <bean123ch@gmail.com>
35342
35343 * commands/blocklist.c: Add include file <grub/command.h>, remove
35344 <grub/normal.h> and <grub/arg.h>.
35345 (grub_cmd_blocklist): Use the new command interface.
35346 (GRUB_MOD_INIT): Likewise.
35347 (GRUB_MOD_FINI): Likewise.
35348 * commands/boot.c: Likewise.
35349 * commands/cat.c: Likewise.
35350 * commands/cmp.c: Likewise.
35351 * commands/configfile.c: Likewise.
35352 * commands/crc.c: Likewise.
35353 * commands/echo.c: Likewise.
35354 * commands/halt.c: Likewise.
35355 * commands/handler.c: Likewise.
35356 * commands/hdparm.c: Likewise.
35357 * commands/help.c: Likewise.
35358 * commands/hexdump.c: Likewise.
35359 * commands/loadenv.c: Likewise.
35360 * commands/ls.c: Likewise.
35361 * commands/lsmmap.c: Likewise.
35362 * commands/lspci.c: Likewise.
35363 * commands/loadenv.c: Likewise.
35364 * commands/read.c: Likewise.
35365 * commands/reboot.c: Likewise.
35366 * commands/search.c: Likewise.
35367 * commands/sleep.c: Likewise.
35368 * commands/test.c: Likewise.
35369 * commands/usbtest.c: Likewise.
35370 * commands/videotest.c: Likewise.
35371 * commands/i386/cpuid.c: Likewise.
35372 * commands/i386/pc/halt.c: Likewise.
35373 * commands/i386/pc/play.c: Likewise.
35374 * commands/i386/pc/pxecmd.c: Likewise.
35375 * commands/i386/pc/vbeinfo.c: Likewise.
35376 * commands/i386/pc/vbetest.c: Likewise.
35377 * commands/ieee1275/suspend.c: Likewise.
35378 * disk/loopback.c: Likewise.
35379 * font/font_cmd.c: Likewise.
35380 * hello/hello.c: Likewise.
35381 * loader/efi/appleloader.c: Likewise.
35382 * loader/efi/chainloader.c: Likewise.
35383 * loader/i386/bsd.c: Likewise.
35384 * loader/i386/efi/linux.c: Likewise.
35385 * loader/i386/ieee1275/linux.c: Likewise.
35386 * loader/i386/linux.c: Likewise.
35387 * loader/i386/pc/chainloader.c: Likewise.
35388 * loader/i386/pc/linux.c: Likewise.
35389 * loader/powerpc/ieee1275/linux.c: Likewise.
35390 * loader/multiboot_loader.c: Likewise.
35391 * term/gfxterm.c: Likewise.
35392 * term/i386/pc/serial.c: Likewise.
35393 * term/terminfo.c: Likewise.
35394
35395 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35396 * term/i386/pc/vga.c: Likewise.
35397 * video/readers/jpeg.c: Likewise.
35398 * video/readers/png.c: Likewise.
35399 * video/readers/tga.c: Likewise.
35400
35401 * util/grub-fstest (cmd_loopback): Removed.
35402 (cmd_blocklist): Likewise.
35403 (cmd_ls): Likewise.
35404 (grub_register_command): Likewise.
35405 (grub_unregister_command): Likewise.
35406 (execute_command): Use grub_command_find to locate command and execute
35407 it.
35408
35409 * include/grub/efi/chainloader.h: Removed.
35410 * loader/efi/chainloader_normal.c: Likewise.
35411 * loader/i386/bsd_normal.c: Likewise.
35412 * loader/i386/pc/chainloader_normal.c: Likewise.
35413 * loader/i386/pc/multiboot_normal.c: Likewise.
35414 * loader/linux_normal.c: Likewise.
35415 * loader/multiboot_loader_normal.c: Likewise.
35416 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35417
35418 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35419 and grub_register_command_p1.
35420
35421 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35422 kern/command.c, lib/arg.c and commands/extcmd.c.
35423 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35424 (minicmd_mod_SOURCES): New variable.
35425 (minicmd_mod_CFLAGS): Likewise.
35426 (minicmd_mod_LDFLAGS): Likewise.
35427 (extcmd_mod_SOURCES): Likewise.
35428 (extcmd_mod_CFLAGS): Likewise.
35429 (extcmd_mod_LDFLAGS): Likewise.
35430 (boot_mod_SOURCES): Removed.
35431 (boot_mod_CFLAGS): Likewise.
35432 (boot_mod_LDFLAGS): Likewise.
35433
35434 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35435 kern/corecmd.c.
35436 (kernel_img_HEADERS): Add command.h.
35437 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35438 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35439 and lib/arg.c.
35440 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35441 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35442 remove the corresponding normal mode command.
35443 (normal_mod_SOURCES): Remove normal/arg.c.
35444 * conf/i386-coreboot.rmk: Likewise.
35445 * conf/i386-efi.rmk: Likewise.
35446 * conf/i386-ieee1275.rmk: Likewise.
35447 * conf/powerpc-ieee1275.rmk: Likewise.
35448 * conf/x86_64-efi.rmk: Likewise.
35449
35450 * include/grub/arg.h: Move from here ...
35451 * include/grub/lib/arg.h: ... to here.
35452
35453 * normal/arg.c: Move from here ...
35454 * lib/arg.c: ... to here.
35455
35456 * commands/extcmd.c: New file.
35457 * commands/minicmd.c: Likewise.
35458 * include/grub/command.h: Likewise.
35459 * include/grub/extcmd.h: Likewise.
35460 * kern/command.c: Likewise.
35461 * kern/corecmd.c: Likewise.
35462
35463 * kern/list.c (grub_list_iterate): Return int instead of void.
35464 (grub_list_insert): New function.
35465 (grub_prio_list_insert): Likewise.
35466
35467 * kern/rescue.c (grub_rescue_command): Removed.
35468 (grub_rescue_command_list): Likewise.
35469 (grub_rescue_register_command): Likewise.
35470 (grub_rescue_unregister_command): Likewise.
35471 (grub_rescue_cmd_boot): Move to minicmd.c
35472 (grub_rescue_cmd_help): Likewise.
35473 (grub_rescue_cmd_info): Likewise.
35474 (grub_rescue_cmd_boot): Likewise.
35475 (grub_rescue_cmd_testload): Likewise.
35476 (grub_rescue_cmd_dump): Likewise.
35477 (grub_rescue_cmd_rmmod): Likewise.
35478 (grub_rescue_cmd_lsmod): Likewise.
35479 (grub_rescue_cmd_exit): Likewise.
35480 (grub_rescue_print_devices): Moved to corecmd.c.
35481 (grub_rescue_print_files): Likewise.
35482 (grub_rescue_cmd_ls): Likewise.
35483 (grub_rescue_cmd_insmod): Likewise.
35484 (grub_rescue_cmd_set): Likewise.
35485 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35486 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35487 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35488 commands, remove grub_rescue_register_command calls.
b1b797cb 35489
7d074e3c 35490 * normal/command.c (grub_register_command): Removed.
b1b797cb 35491 (grub_unregister_command): Likewise.
35492 (grub_command_find): Likewise.
35493 (grub_iterate_commands): Likewise.
35494 (rescue_command): Likewise.
35495 (export_command): Moved to corecmd.c.
35496 (set_command): Removed.
35497 (unset_command): Likewise.
35498 (insmod_command): Likewise.
35499 (rmmod_command): Likewise.
35500 (lsmod_command): Likewise.
35501 (grub_command_init): Likewise.
35502
35503 * normal/completion.c (iterate_command): Use cmd->prio to check for
35504 active command.
35505 (complete_arguments): Use grub_extcmd_t structure to find options.
35506 (grub_normal_do_completion): Change function grub_iterate_commands to
35507 grub_command_iterate.
35508
35509 * normal/execute.c (grub_script_execute_cmd): No need to parse
35510 argument here.
35511
35512 * normal/main.c (grub_dyncmd_dispatcher): New function.
35513 (read_command_list): Register unload commands as dyncmd.
35514 (grub_cmd_normal): Use new command interface, register rescue,
35515 unregister normal at entry, register normal, unregister rescue at exit.
35516
35517 * include/grub/list.h (grub_list_test_t): New type.
35518 (grub_list_iterate): Return int instead of void.
35519 (grub_list_insert): New function.
35520 (GRUB_AS_NAMED_LIST_P): New macro.
35521 (GRUB_AS_PRIO_LIST): Likewise.
35522 (GRUB_AS_PRIO_LIST_P): Likewise.
35523 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35524 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35525 (grub_prio_list): New structure.
35526 (grub_prio_list_insert): New function.
35527 (grub_prio_list_remove): New inline function.
35528
35529 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35530 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35531 (GRUB_COMMAND_FLAG_MENU): Likewise.
35532 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35533 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35534 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35535 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35536 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35537 (grub_command): Likewise.
35538 (grub_register_command): Likewise.
35539 (grub_command_find): Likewise.
35540 (grub_iterate_commands): Likewise.
35541 (grub_command_init): Likewise.
35542 (grub_arg_parse): Likewise.
35543 (grub_arg_show_help): Likewise.
35544
35545 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35546 (grub_rescue_unregister_command): Likewise.
35547
35548 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35549 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35550 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35551
35552 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35553 grub_rescue_cmd_initrd.
35554 * include/grub/i386/loader.h: Likewise.
35555 * include/grub/x86_64/loader.h: Likewise.
35556
35557 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35558
1f4147aa 355592009-03-21 Bean <bean123ch@gmail.com>
35560
35561 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35562 instead of stat in mingw environment.
35563
35564 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35565
35566 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35567
35568 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35569 AC_CONFIG_LINKS.
35570
2156d5ba 355712009-03-21 Bean <bean123ch@gmail.com>
35572
35573 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35574 out of range error.
35575
177b82ca 355762009-03-18 Michel Dänzer <michel@daenzer.net>
35577
35578 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35579 checking inode flags for EXT4_EXTENTS_FLAG.
35580
14aad807 355812009-03-18 Robert Millan <rmh@aybabtu.com>
35582
35583 * loader/i386/linux.c: Include `<grub/video.h>' and
35584 `<grub/i386/pc/vbe.h>'..
35585 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35586 (grub_linux32_boot): Attempt to configure video settings with
35587 grub_linux_setup_video().
35588 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35589 to avoid grub_console_fini() which would step out of graphical mode
35590 unconditionally.
35591
8cf83a27 355922009-03-14 Robert Millan <rmh@aybabtu.com>
35593
35594 Fix build on powerpc.
35595 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35596
40164e75 355972009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35598
35599 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35600 background image command.
35601
c58bc32a 356022009-03-12 Colin D Bennett <colin@gibibit.com>
35603
35604 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35605 (grub_gfxterm_putchar): Extract pairs of identical calls to
35606 draw_cursor out of conditional blocks.
35607
5415144a 356082009-03-11 Pavel Roskin <proski@gnu.org>
35609
35610 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35611 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35612
6394042e 356132009-03-11 Robert Millan <rmh@aybabtu.com>
35614
35615 * loader/i386/multiboot_elfxx.c
35616 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35617
b7b50e5f 356182009-03-11 Felix Zielcke <fzielcke@z-51.de>
35619
35620 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35621 `kern/handler.c'.
35622
1ca7fc96 356232009-03-11 Robert Millan <rmh@aybabtu.com>
35624
35625 * loader/i386/multiboot.c (code_size): New variable.
35626 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35627 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35628 4-byte alignment to MBI and others by increasing
7d074e3c 35629 `boot_loader_name_length' appropriately.
1ca7fc96 35630
35631 * loader/i386/multiboot_elfxx.c
35632 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35633
a83ea1d2 356342009-03-09 Felix Zielcke <fzielcke@z-51.de>
35635
35636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35637 `fs/ext2.c'.
35638
aa9f3bff 356392009-03-08 Robert Millan <rmh@aybabtu.com>
35640
35641 Make loader/i386/linux.c usable on i386-pc again.
35642
35643 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35644 memory to heap.
35645 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35646 `#error' stanza.
35647
d8b3b60e 356482009-03-07 Bean <bean123ch@gmail.com>
35649
35650 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35651 allocation.
35652
b362c9e9 356532009-03-06 Robert Millan <rmh@aybabtu.com>
35654
35655 Fix display issue on terminals with screen size other than 80x25
35656 (e.g. gfxterm with resolution higher than 640x480).
35657
35658 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35659 position relative to the center of the terminal instead of relying
b362c9e9 35660 on a hardcoded offset.
35661
9304eef1 356622009-03-04 Robert Millan <rmh@aybabtu.com>
35663
35664 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35665 installed.
35666
35667 * Makefile.in (host_kernel): New variable.
35668 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35669 scripts instead of just the windows one.
35670 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35671
eabc95fb 356722009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35673
35674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35675 `kern/handler.c'.
35676 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35677 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35680 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35681 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35682
ceb1223c 356832009-03-04 Felix Zielcke <fzielcke@z-51.de>
35684
35685 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35686 or if there's no space for the disk label and print the partition number on a
35687 invalid magic.
35688
4910684a 356892009-03-04 Felix Zielcke <fzielcke@z-51.de>
35690
35691 * util/misc.c: Include <time.h>.
35692 (grub_millisleep): New function.
35693
7e9ca17a 356942009-03-04 Bean <bean123ch@gmail.com>
35695
35696 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35697 another option -mno-red-zone.
35698
35699 * commands/handler.c: Change module description.
35700
35701 * kern/handler.c: Add missing space at the end of description line.
35702
35703 * kern/list.c: Likewise.
35704
f501677c 357052009-03-03 Robert Millan <rmh@aybabtu.com>
35706
35707 Move more components to the relocation area, and fix mbi pointer
35708 handling to use the destination rather than the origin (thanks to
35709 Vladimir Serbinenko for spotting).
35710
35711 * loader/i386/multiboot.c (mbi_dest): New variable.
35712 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35713 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35714 relocation area.
35715
9902d047 357162009-03-01 Bean <bean123ch@gmail.com>
35717
50fb7002 35718 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35719 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35720 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35721 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35722
35723 * loader/i386/efi/linux.c (acpi_guid): New variable.
35724 (acpi_guid): Likewise.
35725 (EBDA_SEG_ADDR): New constant.
35726 (LOW_MEM_ADDR): Likewise.
35727 (FAKE_EBDA_SEG): Likewise.
35728 (fake_bios_data): New function.
35729 (grub_linux_boot): Call fake_bios_data.
35730
71b9f361 357312009-03-01 Bean <bean123ch@gmail.com>
35732
35733 * commands/terminal.c: Removed.
35734
35735 * commands/handler.c: New file.
35736
35737 * include/grub/list.h: Likewise.
35738
35739 * include/grub/handler.h: Likewise.
35740
35741 * kern/list.c: Likewise.
35742
35743 * kern/handler.c: Likewise.
35744
35745 * kern/term.h: Include header file <grub/handler.h>.
35746 (grub_term_input): Move next field to the beginning.
35747 (grub_term_output): Likewise.
35748 (grub_term_input_class): New variable.
35749 (grub_term_output_class): Likewise.
35750 (grub_term_register_input): Changed to inline function.
35751 (grub_term_register_output): Likewise.
35752 (grub_term_unregister_input): Likewise.
35753 (grub_term_unregister_output): Likewise.
35754 (grub_term_set_current_input): Likewise.
35755 (grub_term_set_current_output): Likewise.
35756 (grub_term_get_current_input): Likewise.
35757 (grub_term_get_current_output): Likewise.
35758 (grub_term_iterate_input): Removed.
35759 (grub_term_iterate_output): Likewise.
35760
35761 * kern/term.c (grub_term_list_input): Removed.
35762 (grub_term_list_output): Likewise.
35763 (grub_term_input_class): New variable.
35764 (grub_term_output_class): Likewise.
50fb7002 35765 (grub_cur_term_input): Change variable as macro.
71b9f361 35766 (grub_cur_term_output): Likewise.
35767 (grub_term_register_input): Removed.
35768 (grub_term_register_output): Likewise.
35769 (grub_term_unregister_input): Likewise.
35770 (grub_term_unregister_output): Likewise.
35771 (grub_term_set_current_input): Likewise.
35772 (grub_term_set_current_output): Likewise.
35773 (grub_term_iterate_input): Likewise.
35774 (grub_term_iterate_output): Likewise.
35775 (grub_term_get_current_input): Likewise.
35776 (grub_term_get_current_output): Likewise.
35777
35778 * util/grub-editenv.c: Include header file <grub/handler.h>.
35779 (grub_term_get_current_input): Removed.
35780 (grub_term_get_current_output): Likewise.
35781 (grub_term_input_class): New variable.
50fb7002 35782 (grub_term_output_class): Likewise.
71b9f361 35783
35784 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35785 (grub_term_get_current_output): Likewise.
35786 (grub_term_input_class): New variable.
50fb7002 35787 (grub_term_output_class): Likewise.
71b9f361 35788
35789 * util/grub-probe.c (grub_term_get_current_input): Removed.
35790 (grub_term_get_current_output): Likewise.
35791 (grub_term_input_class): New variable.
50fb7002 35792 (grub_term_output_class): Likewise.
71b9f361 35793
35794 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35795 (grub_term_get_current_output): Likewise.
35796 (grub_term_input_class): New variable.
50fb7002 35797 (grub_term_output_class): Likewise.
71b9f361 35798
35799 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35800 (terminal_mod_SOURCES): Likewise.
35801 (terminal_mod_CFLAGS): Likewise.
35802 (terminal_mod_LDFLAGS): Likewise.
35803
35804 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35805 handler.c.
35806 (kernel_img_SOURCES): Add list.c and handler.c.
35807 (kernel_img_HEADERS): Add list.h and handler.h.
35808
35809 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35810 handler.c.
35811 (kernel_mod_SOURCES): Add list.c and handler.c.
35812 (kernel_mod_HEADERS): Add list.h and handler.h.
35813
35814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35815 handler.c.
35816 (kernel_elf_SOURCES): Add list.c and handler.c.
35817 (kernel_elf_HEADERS): Add list.h and handler.h.
35818
35819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35820 handler.c.
35821 (kernel_elf_SOURCES): Add list.c and handler.c.
35822 (kernel_elf_HEADERS): Add list.h and handler.h.
35823
35824 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35825 handler.c.
35826 (kernel_mod_SOURCES): Add list.c and handler.c.
35827 (kernel_mod_HEADERS): Add list.h and handler.h.
35828
35829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35830 handler.c.
35831 (kernel_elf_SOURCES): Add list.c and handler.c.
35832 (kernel_elf_HEADERS): Add list.h and handler.h.
35833
8a31787f 358342009-02-27 Robert Millan <rmh@aybabtu.com>
35835
35836 Factorize elf32 / elf64 code in Multiboot loader. This will
35837 prevent it from getting out of sync again.
35838
35839 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35840 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35841 grub_multiboot_load_elf64): Move from here ...
35842 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35843 grub_multiboot_load_elf): ... to here (new file).
35844
51cd3dfc 358452009-02-27 Robert Millan <rmh@aybabtu.com>
35846
35847 * util/grub.d/10_linux.in: Rename "single-user mode" to
35848 "recovery mode".
35849
6e8c9c3a 358502009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35851
35852 Don't leak in SCSI code.
35853 * disk/scsi.c (grub_scsi_close): free `scsi'.
35854
4b6bf4f9 358552009-02-27 Robert Millan <rmh@aybabtu.com>
35856
35857 * loader/i386/pc/multiboot.c: Move from here ...
35858 * loader/i386/multiboot.c: ... to here. Update all users.
35859
b9413424 358602009-02-27 Robert Millan <rmh@aybabtu.com>
35861
35862 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35863 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35864
50fb7002 358652009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35866
35867 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35868 b-tree.
35869
8cc50345 358702009-02-27 Robert Millan <rmh@aybabtu.com>
35871
35872 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35873 `0x' qualifier as 0 when base is specified as parameter).
35874
6e09b8b7 358752009-02-24 Bean <bean123ch@gmail.com>
35876
35877 * configure.ac: Check for -mcmodel=large in x86_64 target.
35878
35879 * include/grub/efi/api.h (efi_call_10): New macro.
35880 (efi_wrap_10): New function.
35881
35882 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35883 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35884 (GRUB_PE32_REL_BASED_LOW): Likewise.
35885 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35886 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35887 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35888 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35889 (GRUB_PE32_REL_BASED_REL): Likewise.
35890 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35891 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35892 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35893
35894 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35895 issue.
35896
35897 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35898 (efi_wrap_10): New function.
35899
35900 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35901
35902 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35903 MB/MBP model (NV chipset).
35904 (devdata_devs): Add devpath_5 to the list.
35905
35906 * load/i386/efi/linux.c (video_base): Remove variable.
35907 (RGB_MASK): New macro.
35908 (RGB_MAGIC): Likewise.
35909 (LINE_MIN): Likewise.
35910 (LINE_MAX): Likewise.
35911 (FBTEST_STEP): Likewise.
35912 (FBTEST_COUNT): Likewise.
35913 (fb_list): New variable.
35914 (grub_find_video_card): Remove function.
35915 (find_framebuf): New function.
35916 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35917 line length.
35918
35919 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35920 problem for x86_64.
35921
74b21bee 359222009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35923
35924 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35925
35926 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35927 coding tool name.
35928
a455f472 359292009-02-22 Robert Millan <rmh@aybabtu.com>
35930
35931 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35932 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35933 in our relocation, instead of using it directly from heap. Also
35934 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35935
6374daf3 359362009-02-21 Robert Millan <rmh@aybabtu.com>
35937
35938 Implement USB keyboard support (based on patch by Marco Gerards)
35939
35940 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35941 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35942 (usb_keyboard_mod_LDFLAGS): New variables.
35943
35944 * term/usb_keyboard.c: New file.
35945
8fa4ea70 359462009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35947
35948 Corrected wrong declaration
35949
35950 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35951
353976ac 359522009-02-14 Christian Franke <franke@computer.org>
35953
35954 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35955 (grub_lspci_iter): Print class code and programming interface byte.
35956
6aa1169b 359572009-02-14 Christian Franke <franke@computer.org>
35958
35959 * gendistlist.sh: Ignore `.svn' directories.
35960
265372ca 359612009-02-14 Felix Zielcke <fzielcke@z-51.de>
35962
35963 * fs/fat.c: Add 2009 to Copyright line.
35964
9ff516f3 359652009-02-14 Christian Franke <franke@computer.org>
35966
35967 * commands/hdparm.c: New file. Provides `hdparm' command
35968 which sends ATA commands via grub_disk_ata_pass_through ().
35969
35970 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35971
35972 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35973 and <grub/cpu/io.h> to include/grub/ata.h.
35974 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35975 (GRUB_CDROM_SECTOR_SIZE): Remove.
35976 (GRUB_ATA_*): Move to include/grub/ata.h.
35977 (GRUB_ATAPI_*): Likewise.
35978 (enum grub_ata_commands): Likewise.
35979 (enum grub_ata_timeout_milliseconds): Likewise.
35980 (struct grub_ata_device): Likewise.
35981 (grub_ata_regset): Likewise.
35982 (grub_ata_regget): Likewise.
35983 (grub_ata_regset2): Likewise.
35984 (grub_ata_regget2): Likewise.
35985 (grub_ata_check_ready): Likewise.
35986 (grub_ata_wait_not_busy): Remove static, exported in
35987 include/grub/ata.h.
35988 (grub_ata_wait_drq): Likewise.
35989 (grub_ata_pio_read): Likewise.
35990
35991 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35992 function for hdparm.mod.
35993
35994 * include/grub/ata.h: New file, contains declarations from
35995 disk/ata.c.
35996 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35997
35998 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35999 (grub_disk_ata_pass_through): New exported variable.
36000
36001 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36002
772e23da 360032009-02-13 Colin D Bennett <colin@gibibit.com>
36004
36005 Support multiple fallback entries, and provide an API to support
36006 executing default+fallback menu entries. Renamed the `terminal' menu
36007 viewer to `text'.
36008
36009 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36010 variable declaration.
36011 (grub_menu_execute_callback): New structure declaration.
36012 (grub_menu_execute_callback_t): New typedef.
36013 (grub_menu_execute_with_fallback): New function declaration.
36014 (grub_menu_get_entry): Likewise.
36015 (grub_menu_get_timeout): Likewise.
36016 (grub_menu_set_timeout): Likewise.
36017
36018 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36019
36020 * normal/menu.c (grub_wait_after_message): Moved to
36021 `normal/menu_text.c'.
36022 (draw_border): Likewise.
36023 (print_message): Likewise.
36024 (print_entry): Likewise.
36025 (print_entries): Likewise.
36026 (grub_menu_init_page): Likewise.
36027 (get_entry_number): Likewise.
36028 (print_timeout): Likewise.
36029 (run_menu): Likewise.
36030 (grub_menu_execute_entry): Likewise.
36031 (show_text_menu): Likewise.
36032 (get_and_remove_first_entry_number): New function.
36033 (grub_menu_execute_with_fallback): Likewise.
36034 (get_entry): Renamed to ...
36035 (grub_menu_get_entry): .. this and made it global.
36036 (get_timeout): Renamed to ...
36037 (grub_menu_get_timeout): ... this and made it global.
36038 (set_timeout): Renamed to ...
36039 (grub_menu_set_timeout): ... this and made it global.
36040 (grub_normal_terminal_menu_viewer): Renamed to ...
36041 (grub_normal_text_menu_viewer): ... this.
36042
36043 * normal/menu_text.c: New file. Extracted text-menu-specific code
36044 from normal/menu.c.
36045
36046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36047 (normal_mod_SOURCES): Likewise.
36048
36049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36050 (normal_mod_SOURCES): Likewise.
36051
36052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36053 (normal_mod_SOURCES): Likewise.
36054
36055 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36056 (normal_mod_SOURCES): Likewise.
36057
36058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36059 (normal_mod_SOURCES): Likewise.
36060
36061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36062 (normal_mod_SOURCES): Likewise.
36063
36064 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36065 (normal_mod_SOURCES): Likewise.
36066
16ac430e 360672009-02-11 Robert Millan <rmh@aybabtu.com>
36068
36069 * util/grub.d/00_header.in: Update old reference to `font' command.
36070
06ff20fc 360712009-02-10 Felix Zielcke <fzielcke@z-51.de>
36072
36073 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36074
36075 Based on patch from Javier Martín.
36076
96da9407 360772009-02-09 Felix Zielcke <fzielcke@z-51.de>
36078
36079 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36080 to avoid false positives with FAT.
96da9407 36081 (grub_fstest_SOURCES): Likewise.
36082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36088
6dca6fe4 360892009-02-09 Felix Zielcke <fzielcke@z-51.de>
36090
06ff20fc 36091 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36092 bpb.version_specific.fat12_or_fat16.fstype and
36093 bpb.version_specific.fat32.fstype.
36094
2550c62f 360952009-02-08 Robert Millan <rmh@aybabtu.com>
36096
be110b30 36097 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36098
56978920 360992009-02-08 Robert Millan <rmh@aybabtu.com>
36100
36101 * Makefile.in (host_os, host_cpu): New variables.
36102 (target_os): Remove. Update all users.
36103
d64399b5 361042009-02-08 Marco Gerards <marco@gnu.org>
36105
36106 * Makefile.in (enable_grub_emu_usb): New variable.
36107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36108 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36109 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36110 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36111 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36112 `usbtest.mod' and `usbms.mod'.
36113 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36114 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36115 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36116 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36117 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36118 variables.
36119
36120 * disk/usbms.c: New file.
36121
36122 * include/grub/usb.h: Likewise.
36123
36124 * include/grub/usbtrans.h: Likewise.
36125
36126 * include/grub/usbdesc.h: Likewise.
36127
36128 * bus/usb/usbtrans.c: Likewise.
36129
36130 * bus/usb/ohci.c: Likewise.
36131
36132 * bus/usb/uhci.c: Likewise.
36133
36134 * bus/usb/usbhub.c: Likewise.
36135
36136 * bus/usb/usb.c: Likewise.
36137
36138 * commands/usbtest.c: Likewise.
36139
36140 * util/usb.c: Likewise.
50fb7002 36141
d64399b5 36142 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36143
36144 * configure.ac: Test for libusb presence.
50fb7002 36145
d64399b5 36146 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36147
2b40d6bb 361482009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36149
36150 * kern/mm.c: Add more comments.
36151
73a4ce81 361522009-02-08 Robert Millan <rmh@aybabtu.com>
36153
36154 Patch from Javier Martín.
36155 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36156 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36157
f821ce59 361582009-02-08 Robert Millan <rmh@aybabtu.com>
36159
36160 * fs/cpio.c: Split tar functionality to ...
36161 * fs/tar.c: ... here (new file). Update all users.
36162
aebfc4b0 361632009-02-07 Robert Millan <rmh@aybabtu.com>
36164
36165 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36166 backward-incompatible features.
36167
36168 Based on patch from Javier Martín, with some adjustments.
36169
50fb7002 361702009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36171
36172 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36173
0bb5115e 361742009-02-07 Robert Millan <rmh@aybabtu.com>
36175
36176 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36177 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36178 after the RAID stuff.
36179
38a0f8e7 361802009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36181
50fb7002 36182 Fixes problem when running vbetest command as reported by
38a0f8e7 36183 Vladimir Serbinenko <phcoder@gmail.com>.
36184
36185 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36186
3143cc1c 361872009-02-04 Felix Zielcke <fzielcke@z-51.de>
36188
36189 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36190 /dev/md/NpN style mdraid devices.
36191
9cba6fce 361922009-02-03 Felix Zielcke <fzielcke@z-51.de>
36193
36194 * util/unifont2pff.rb: Remove.
36195
e507a2c1 361962009-02-03 Felix Zielcke <fzielcke@z-51.de>
36197
36198 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36199 `#'.
36200
d2c2b4cd 362012009-02-03 Felix Zielcke <fzielcke@z-51.de>
36202
36203 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36205 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36206 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36209 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36210
b4315fb0 362112009-02-02 Christian Franke <franke@computer.org>
36212
36213 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36214
de3aa260 362152009-02-01 Felix Zielcke <fzielcke@z-51.de>
36216
7c3ff286 36217 * INSTALL: Note that we now require at least autoconf 2.59 and
36218 that LZO is optional.
de3aa260 36219
825a182b 362202009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36221
36222 Base on patch on bug #24154 created by Tomas Tintera
36223 <trosos@seznam.cz>.
36224
36225 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36226
a69ef770 362272009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36228
7c3ff286 36229 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36230 <bero@arklinux.org>.
36231
36232 * normal/parser.y (script_init): Add missing semicolon.
36233
6fa42fa6 362342009-01-31 Colin D Bennett <colin@gibibit.com>
36235
7c3ff286 36236 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36237 (free_menu_entry_classes): Added.
36238 (grub_normal_menu_addentry): Added class property handling.
36239 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36240 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36241
36242 * normal/menu_viewer.c: New file.
36243
36244 * normal/menu.c (run_menu_entry): Renamed to ...
36245 (grub_menu_execute_entry): ... this and made it as global.
36246 (grub_menu_run): Renamed to ...
36247 (show_text_menu): ... this and made it local.
36248 (show_text_menu): Adapt to new function names.
36249 (grub_normal_terminal_menu_viewer): New global variable.
36250
36251 * include/grub/menu.h: New file.
36252
36253 * include/grub/menu_viewer.h: New file.
36254
36255 * include/grub/normal.h: Added include to grub/menu.h.
36256 (grub_menu_entry): Moved to include/grub/menu.h.
36257 (grub_menu_entry_t): Likewise.
36258 (grub_menu): Likewise.
36259 (grub_menu_t): Likewise.
36260 (grub_normal_terminal_menu_viewer): Added.
36261 (grub_menu_execute_entry): Likewise.
36262 (grub_menu_run): Removed.
36263
36264 * DISTLIST: Added include/grub/menu.h.
36265 Added include/grub/menu_viewer.h.
36266 Added normal/menu_viewer.c.
36267
362682009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36269
36270 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36271 arglist for menutitle arguments.
36272
36273 * normal/main.c (grub_normal_menu_addentry): Likewise.
36274
36275 * normal/parser.y (menuentry): Likewise.
36276
36277 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36278
36279 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36280 (grub_script_create_cmdmenu): Likewise.
36281
36282 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36283
36284 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36285 changes.
36286
36287 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36288
36289 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36290
36291 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36292
36293 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36294
36295 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36296
36297 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36298
56192c23 362992009-01-30 Christian Franke <franke@computer.org>
36300
36301 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36302 in option help text.
36303
d72521b3 363042009-01-27 Pavel Roskin <proski@gnu.org>
36305
36306 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36307
994b5e84 363082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36309
36310 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36311
36312 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36313
36314 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36315 unregister function.
36316
6a7eab2c 363172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36318
36319 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36320
36321 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36322
36323 * util/grub-mkfont.c (usage): Fix typo.
36324
36325 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36326
1806b56e 363272009-01-26 Daniel Mierswa <impulze@impulze.org>
36328
3fb18f09 36329 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36330
336e1fb9 36331 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36332
1806b56e 36333 * kern/misc.c (grub_strcasecmp): New function.
36334 (grub_strcasecmp): Use grub_size_t instead of int for length.
36335 Fix return value.
36336 * include/grub/misc.h: Update function prototypes.
36337
580b2a0f 363382009-01-26 Robert Millan <rmh@aybabtu.com>
36339
36340 * configure.ac: Fix cross-compilation check.
ef257b36 36341
d31c24f1 363422009-01-22 Christian Franke <franke@computer.org>
36343
36344 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36345 (precision) digit string. Allow `.format2' without `format1' (width).
36346 Limit input chars for `%s' output to `format2' if specified. This is
36347 compatible with standard printf ().
36348
3138b44c 363492009-01-22 Christian Franke <franke@computer.org>
36350
36351 * disk/ata.c (grub_ata_wait_status): Replace by ...
36352 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36353 other status bits may be invalid while BSY is asserted.
36354 (grub_ata_check_ready): New function.
36355 (grub_ata_cmd): Removed.
36356 (grub_ata_wait_drq): New function.
36357 (grub_ata_strncpy): Remove inline.
36358 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36359 and error check now done by grub_ata_wait_drq ().
36360 (grub_ata_pio_write): Likewise.
36361 (grub_atapi_identify): Set DEV before check for !BSY. Use
36362 grub_ata_wait_drq () to wait for data.
36363 (grub_ata_device_initialize): Add status register check to
36364 detect missing SATA slave devices. Add debug messages.
36365 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36366 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36367 transfer loop by grub_ata_pio_write ().
36368 (grub_ata_identify): Set DEV before check for !BSY. Use
36369 grub_ata_wait_drq () to wait for data.
ef257b36 36370 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36371 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36372 read/write in one loop. Fix invalid command on write. Fix incomplete
36373 command on (size % batch) == 0. Add missing error check after write of
36374 last block. Add debug messages.
36375 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36376
59a64ef6 363772009-01-19 Christian Franke <franke@computer.org>
36378
36379 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36380 (GRUB_ATAPI_IREASON_*): Likewise.
36381 (grub_ata_pio_write): Fix timeout error return.
36382 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36383 (grub_atapi_wait_drq): New function.
36384 (grub_atapi_packet): New parameter `size'.
36385 Use grub_atapi_wait_drq () and direct write instead of
36386 grub_ata_pio_write ().
36387 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36388 reads the number of bytes requested by the device for each DRQ
36389 assertion.
36390 (grub_atapi_write): Remove old implementation, return not
36391 implemented instead.
36392
1cfe20b3 363932009-01-19 Christian Franke <franke@computer.org>
36394
36395 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36396 of 512 to calculate data size.
36397 (grub_scsi_read12): Likewise.
36398 (grub_scsi_write10): Likewise.
36399 (grub_scsi_write12): Likewise.
36400 (grub_scsi_read): Adjust size according to blocksize.
36401 Add checks for invalid blocksize and unaligned transfer.
36402
bee5fe5d 364032009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36404
36405 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36406
ef257b36 36407 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36408 width glyphs.
36409
3e643f8c 364102009-01-19 Robert Millan <rmh@aybabtu.com>
36411
36412 * config.guess: Update to latest version from config git.
36413 * config.sub: Likewise.
36414
4fa80998 364152009-01-17 Felix Zielcke <fzielcke@z-51.de>
36416
36417 * Makefile.in: Change font compilation to use new grub-mkfont instead
36418 of java version.
36419
36420 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36421 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36422 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36423 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36424 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36425 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36426 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36427 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36428 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36429
7086085b 364302009-01-16 Christian Franke <franke@computer.org>
36431
36432 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36433 (enum grub_ata_timeout_milliseconds): New enum.
36434 (grub_ata_wait_status): Add parameter milliseconds.
36435 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36436 recovery from timed-out commands.
36437 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36438 return grub_errno instead of REG_ERROR.
36439 (grub_ata_pio_write): Add parameter milliseconds.
36440 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36441 Pass milliseconds to grub_ata_wait_status () and
36442 grub_ata_pio_read ().
36443 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36444 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36445 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36446 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36447 It is not suitable for device detection, because DEV bit is ignored,
36448 the command may run too long, and not all devices set the signature
36449 properly.
36450 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36451 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36452 Fix device selection, DEV bit must be set first to address the registers
36453 of the correct device.
36454 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36455 grub_ata_pio_read/write ().
36456 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36457 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36458
4a412913 364592009-01-13 Carles Pina i Estany <carles@pina.cat>
36460
36461 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36462
7795c55e 364632009-01-13 Bean <bean123ch@gmail.com>
d913988c 36464
36465 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36466
7795c55e 364672009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36468
36469 * Makefile.in: (enable_grub_mkfont): New variable.
36470 (freetype_cflags): Likewise.
36471 (freetype_libs): Likewise.
36472
36473 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36474 (grub_mkfont_SOURCES): New variable.
36475 (grub_mkfont_CFLAGS): Likewise.
36476 (grub_mkfont_LDFLAGS): Likewise.
36477
36478 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36479 library if `--enable-grub-mkfont' is requested.
36480 (enable_grub_mkfont): New variable.
36481 (freetype_cflags): Likewise.
36482 (freetype_libs): Likewise.
36483
36484 * util/grub-mkfont.c: New file.
36485
093af1fe 364862009-01-12 Christian Franke <franke@computer.org>
36487
36488 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36489 mode check. Fix setting of compat_use[].
36490
f36cc108 364912009-01-10 Robert Millan <rmh@aybabtu.com>
36492
36493 Update a few copyright years which we forgot to do in 2008 (only for
36494 files whose changes made in 2008 were copyright-significant)
36495
36496 * Makefile.in: Add 2008 to Copyright line.
36497 * disk/ieee1275/ofdisk.c: Likewise.
36498 * disk/efi/efidisk.c: Likewise.
36499 * kern/dl.c: Likewise.
36500 * kern/sparc64/ieee1275/init.c: Likewise.
36501 * kern/mm.c: Likewise.
36502 * kern/efi/mm.c: Likewise.
36503 * boot/i386/pc/boot.S: Likewise.
36504 * genfslist.sh: Likewise.
36505 * fs/iso9660.c: Likewise.
36506 * fs/hfs.c: Likewise.
36507 * fs/jfs.c: Likewise.
36508 * fs/minix.c: Likewise.
36509 * fs/ufs.c: Likewise.
36510 * gensymlist.sh.in: Likewise.
36511 * genkernsyms.sh.in: Likewise.
36512 * include/grub/misc.h: Likewise.
36513 * include/grub/types.h: Likewise.
36514 * include/grub/symbol.h: Likewise.
36515 * include/grub/elf.h: Likewise.
36516 * include/grub/kernel.h: Likewise.
36517 * include/grub/disk.h: Likewise.
36518 * include/grub/dl.h: Likewise.
36519 * include/grub/i386/linux.h: Likewise.
36520 * include/grub/i386/pc/biosdisk.h: Likewise.
36521 * include/grub/efi/api.h: Likewise.
36522 * include/grub/efi/pe32.h: Likewise.
36523 * include/grub/util/misc.h: Likewise.
36524 * normal/execute.c: Likewise.
36525 * normal/arg.c: Likewise.
36526 * normal/completion.c: Likewise.
36527 * normal/lexer.c: Likewise.
36528 * normal/parser.y: Likewise.
36529 * normal/misc.c: Likewise.
36530 * commands/i386/pc/vbeinfo.c: Likewise.
36531 * commands/hexdump.c: Likewise.
36532 * commands/terminal.c: Likewise.
36533 * commands/ls.c: Likewise.
36534 * commands/help.c: Likewise.
36535 * partmap/pc.c: Likewise.
36536 * loader/efi/chainloader.c: Likewise.
36537 * loader/multiboot_loader.c: Likewise.
36538 * loader/i386/pc/multiboot2.c: Likewise.
36539 * term/efi/console.c: Likewise.
36540 * term/i386/pc/serial.c: Likewise.
36541 * util/lvm.c: Likewise.
36542 * util/console.c: Likewise.
36543 * util/i386/efi/grub-mkimage.c: Likewise.
36544 * util/raid.c: Likewise.
36545
7f02114b 365462009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36547
36548 * commands/videotest.c: Removed include to grub/machine/memory.h.
36549
36550 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36551 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36552 (video_mod_SOURCES): Removed.
36553 (video_mod_CFLAGS): Likewise.
36554 (video_mod_LDFLAGS): Likewise.
36555 (gfxterm_mod_SOURCES): Likewise.
36556 (gfxterm_mod_CFLAGS): Likewise.
36557 (gfxterm_mod_LDFLAGS): Likewise.
36558 (videotest_mod_SOURCES): Likewise.
36559 (videotest_mod_CFLAGS): Likewise.
36560 (videotest_mod_LDFLAGS): Likewise.
36561 (bitmap_mod_SOURCES): Likewise.
36562 (bitmap_mod_CFLAGS): Likewise.
36563 (bitmap_mod_LDFLAGS): Likewise.
36564 (tga_mod_SOURCES): Likewise.
36565 (tga_mod_CFLAGS): Likewise.
36566 (tga_mod_LDFLAGS): Likewise.
36567 (jpeg_mod_SOURCES): Likewise.
36568 (jpeg_mod_CFLAGS): Likewise.
36569 (jpeg_mod_LDFLAGS): Likewise.
36570 (png_mod_SOURCES): Likewise.
36571 (png_mod_CFLAGS): Likewise.
36572 (png_mod_LDFLAGS): Likewise.
36573
36574 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36575 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36576 (video_mod_SOURCES): Added.
36577 (video_mod_CFLAGS): Likewise.
36578 (video_mod_LDFLAGS): Likewise.
36579 (videotest_mod_SOURCES): Likewise.
36580 (videotest_mod_CFLAGS): Likewise.
36581 (videotest_mod_LDFLAGS): Likewise.
36582 (bitmap_mod_SOURCES): Likewise.
36583 (bitmap_mod_CFLAGS): Likewise.
36584 (bitmap_mod_LDFLAGS): Likewise.
36585 (tga_mod_SOURCES): Likewise.
36586 (tga_mod_CFLAGS): Likewise.
36587 (tga_mod_LDFLAGS): Likewise.
36588 (jpeg_mod_SOURCES): Likewise.
36589 (jpeg_mod_CFLAGS): Likewise.
36590 (jpeg_mod_LDFLAGS): Likewise.
36591 (png_mod_SOURCES): Likewise.
36592 (png_mod_CFLAGS): Likewise.
36593 (png_mod_LDFLAGS): Likewise.
36594 (gfxterm_mod_SOURCES): Likewise.
36595 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36596 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36597
36598 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36599 grub/machine/console.h.
36600
644fff97 366012009-01-04 Jerone Young <jerone@gmail.com>
36602
36603 Make on screen instructions clearer
36604
36605 Based on patch created by Jidanni <jidanni@jidanni.org>
36606
36607 * normal/menu.c: print clearer instructions on the screen
36608
1e901a75 366092009-01-02 Colin D Bennett <colin@gibibit.com>
36610
36611 New font engine.
34c44600 36612
1e901a75 36613 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36614 build system and fixed gfxterm.c to work with different sized fonts.
36615
36616 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36617
1e901a75 36618 * configure: Re-generated.
34c44600 36619
1e901a75 36620 * DISTLIST: Removed font/manager.c.
36621 Added font/font.c.
36622 Added font/font_cmd.c.
34c44600 36623
1e901a75 36624 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36625 compilation.
34c44600 36626
1e901a75 36627 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36628
36629 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36630
36631 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36632
1e901a75 36633 * normal/menu.c: Likewise.
34c44600 36634
1e901a75 36635 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36636 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36637
1e901a75 36638 * include/grub/font.h: Replaced with new file.
34c44600 36639
1e901a75 36640 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36641 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36642 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36643 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36644 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36645 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36646 fg_red, fg_green, fg_blue, fg_alpha.
36647 (grub_video_adapter): Removed blit_glyph.
34c44600 36648 (grub_video_blit_glyph): Removed.
36649
1e901a75 36650 * font/manager.c: Removed file.
34c44600 36651
36652 * font/font.c: New file.
36653
1e901a75 36654 * font/font_cmd.c: Likewise.
34c44600 36655
1e901a75 36656 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36657
1e901a75 36658 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36659 (grub_video_vbe_map_rgba): Likewise.
36660 (grub_video_vbe_unmap_color_int): Likewise.
36661 (grub_video_vbe_blit_glyph): Removed.
36662 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36663
1e901a75 36664 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36665 (get_pixel): Likewise.
34c44600 36666 (set_pixel): Likewise.
36667
1e901a75 36668 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36669
1e901a75 36670 * term/gfxterm.c: Adapted to new font engine.
34c44600 36671
1e901a75 36672 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36673
1e901a75 36674 * term/i386/pc/vga.c: Likewise.
34c44600 36675
1e901a75 36676 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36677
1e901a75 36678 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36679
1e901a75 36680 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36681
1e901a75 36682 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36683
1e901a75 36684 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36685
1e901a75 36686 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36687
1e901a75 36688 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36689
1e901a75 36690 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36691
1e901a75 36692 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36693
36694 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36695
1e901a75 36696 * util/grub-mkconfig_lib.in: Changed font extension.
36697
278922e8 366982008-12-28 Felix Zielcke <fzielcke@z-51.de>
36699
36700 * util/getroot.c (grub_util_get_grub_dev): Add support for
36701 /dev/md/dNNpNN style partitionable mdraid devices.
36702
3ced05cf 367032008-12-12 Alex Smith <alex@alex-smith.me.uk>
36704
36705 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36706 at a time limit of the PXE TFTP API correctly.
36707 (grub_pxefs_close): Likewise.
36708
7fd0ee30 367092008-11-29 Robert Millan <rmh@aybabtu.com>
36710
34c44600 36711 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36712 grub_ata_device_initialize() calls.
36713
34c44600 367142008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36715
36716 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36717 iteration failed.
36718 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36719
89313780 367202008-11-28 Robert Millan <rmh@aybabtu.com>
36721
36722 Fix build on powerpc-ieee1275. Based on patch created by
36723 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36724 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36725 `kern/ieee1275/mmap.c'.
36726 * include/grub/powerpc/ieee1275/memory.h: New file.
36727
15257703 36728 Provide grub-install on coreboot.
36729 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36730 (grub_install_SOURCES): New variable.
36731 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36732 usable on coreboot.
36733
9fc5388a 367342008-11-25 Felix Zielcke <fzielcke@z-51.de>
36735
36736 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36737 to `grub_term_input_t'.
36738 (grub_term_get_current_output): Change return type to
36739 `grub_term_output_t'.
36740
bc3a2f31 367412008-11-22 Robert Millan <rmh@aybabtu.com>
36742
34c44600 36743 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36744 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36745 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36746 grub_vga_text_cls().
36747
80fc88f2 36748 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36749 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36750
cbf36fd3 36751 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36752 to 0x200000 (avoids trouble with some OFW implementations, and matches
36753 with the one in Yaboot).
36754 Reported by Manoel Abranches
36755
73e8e268 367562008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36757
36758 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36759 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36760
73e8e268 36761 * util/grub-mkconfig_lib.in (grub_warn): New function.
36762 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36763 warnings, to obtain consistent formatting.
36764 * util/grub.d/00_header.in: Likewise.
36765 * util/update-grub_lib.in: Likewise.
36766
e94045a1 36767 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36768 Move comment text to `#error' stanza.
e94045a1 36769
79d29fd7 36770 Harmonize ieee1275's grub_available_iterate() with the generic
36771 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36772 build problem on i386-ieee1275):
36773 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36774 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36775 parameter `type'. Update all users of this function.
36776 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36777 `kern/ieee1275/mmap.c'.
36778 * kern/ieee1275/init.c
36779 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36780 with ...
36781 (grub_machine_mmap_iterate): ... this.
36782 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36783 return type to `grub_err_t'. Update all implementations of this
36784 function prototype.
36785 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36786 Likewise.
36787
60d6b16e 36788 Add `lsmmap' command (lists firmware-provided memory map):
36789 * commands/lsmmap.c: New file.
36790 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36791 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36792 variables.
36793 * conf/powerpc-ieee1275.rmk: Likewise.
36794 * conf/i386-coreboot.rmk: Likewise.
36795 * conf/i386-ieee1275.rmk: Likewise.
36796
ebaaf49b 367972008-11-19 Robert Millan <rmh@aybabtu.com>
36798
36799 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36800 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36801 constraints to initrd allocation (based on code from
36802 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36803 for Linux to find it.
ebaaf49b 36804
dfab719f 368052008-11-14 Robert Millan <rmh@aybabtu.com>
36806
36807 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36808 order to cope with duplicate slashes.
36809
10fc3eb9 368102008-11-14 Robert Millan <rmh@aybabtu.com>
36811
36812 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36813 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36814 don't want to mess with lower memory, because it is used in the Linux
36815 loader.
36816
36817 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36818 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36819 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36820 is in our heap (probably as a result of it being corrupted during
2f2a3442 36821 decompression). Add #error instance with comment to explain why this
36822 loader isn't currently usable on PC/BIOS.
10fc3eb9 36823
e2e07847 368242008-11-14 Robert Millan <rmh@aybabtu.com>
36825
36826 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36827 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36828
fe8e8d69 368292008-11-12 Robert Millan <rmh@aybabtu.com>
36830
36831 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36832
36833 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36834 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36835 from here ...
36836 * include/grub/i386/pc/memory.h: ... to here.
36837
976b07d0 368382008-11-12 Robert Millan <rmh@aybabtu.com>
36839
36840 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36841 split).
36842
36843 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36844 (grub_console_cur_color, grub_console_real_putchar)
36845 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36846 (grub_console_setcolorstate, grub_console_setcolor)
36847 (grub_console_getcolor): Move from here ...
36848 * include/grub/i386/vga_common.h: ... to here (new file).
36849
36850 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36851 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36852 `<grub/i386/io.h>'.
36853 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36854 `<grub/i386/vga_common.h>'.
36855
76679cd3 368562008-11-12 Robert Millan <rmh@aybabtu.com>
36857
36858 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36859 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36860 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36861 variables.
36862 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36863 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36864
36865 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36866 grub_console_init() with call to grub_vga_text_init().
36867 (grub_machine_fini): Replace call to
36868 grub_console_fini() with call to grub_vga_text_fini() and
36869 grub_at_keyboard_fini().
36870
36871 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36872 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36873 (grub_console_setcolorstate, grub_console_setcolor)
36874 (grub_console_getcolor): New function prototypes.
36875
36876 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36877 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36878 (grub_vga_text_setcursor): Static-ize.
36879 (grub_vga_text_term): New structure.
36880 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36881
36882 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36883 (grub_console_cur_color, grub_console_standard_color)
36884 (grub_console_normal_color, grub_console_highlight_color)
36885 (map_char, grub_console_putchar, grub_console_getcharwidth)
36886 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36887 (grub_console_getcolor): Move from here ...
36888 * term/i386/vga_common.c: ... to here (same function names).
36889
95b841d3 368902008-11-12 Robert Millan <rmh@aybabtu.com>
36891
36892 Use newly-added Multiboot support in coreboot.
36893
36894 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36895 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36896
36897 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36898 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36899 (codestart): Store the MBI in `startup_multiboot_info' when we're
36900 being loaded using Multiboot.
36901
36902 * kern/i386/coreboot/init.c (grub_machine_init): Move
36903 grub_at_keyboard_init() call to beginning of function (useful for
36904 debugging). Call grub_machine_mmap_init() before attempting to use
36905 grub_machine_mmap_iterate().
36906 (grub_lower_mem, grub_upper_mem): Move from here ...
36907 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36908 here (new file).
36909
36910 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36911 function prototype.
36912
761ca975 369132008-11-12 Robert Millan <rmh@aybabtu.com>
36914
36915 Fix a regression introduced by the at_keyboard.mod split. Because
36916 some terminals are default on some platforms and non-default on
36917 others, the first terminal being registered determines which is
36918 going to be default.
36919
36920 * kern/term.c (grub_term_register_input): If this is the first
36921 terminal being registered, set it as the current one.
36922 (grub_term_register_output): Likewise.
36923
36924 * term/efi/console.c (grub_console_init): Do not call
36925 grub_term_set_current_output() or grub_term_set_current_input().
36926 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36927 * term/i386/pc/console.c (grub_console_init): Likewise.
36928 (grub_console_fini): Do not call grub_term_set_current_input()
36929 (but leave grub_term_set_current_output() to restore text mode).
36930
6c529df7 369312008-11-10 Robert Millan <rmh@aybabtu.com>
36932
36933 * util/grub.d/00_header.in: Add backward compatibility check for
36934 versions of terminal.mod that don't understand `terminal_input' or
36935 `terminal_output'.
36936
132e4113 369372008-11-09 Robert Millan <rmh@aybabtu.com>
36938
36939 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36940 `terminal_input' / `terminal_output', not `terminal'.
36941
ac293d50 369422008-11-08 Robert Millan <rmh@aybabtu.com>
36943
36944 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36945 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36946
0025933a 369472008-11-08 Robert Millan <rmh@aybabtu.com>
36948
36949 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36950 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36951 members. Update all users.
36952 * util/console.c (grub_ncurses_term): Split in ...
36953 (grub_ncurses_term_input): ... this, and ...
36954 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36955 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36956
37c86336 369572008-11-08 Robert Millan <rmh@aybabtu.com>
36958
36959 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36960 (PKGDATA): Add $(pkgdata_SRCDIR).
36961 (pkglib_BUILDDIR): New variable.
36962 (pkgdata_SRCDIR): New variable.
36963 (build_env.mk): New target.
36964 (include_DATA): New variable.
36965 (install-local): Install $(include_DATA) files in $(includedir).
36966
b6c15a2d 369672008-11-07 Pavel Roskin <proski@gnu.org>
36968
d99d46f1 36969 * gendistlist.sh: Use C locale for sorting to ensure consistent
36970 output on all systems.
36971
b6c15a2d 36972 * util/grub.d/00_header.in: Remove incorrect space before
36973 "serial".
36974
c32ee8c9 369752008-11-07 Robert Millan <rmh@aybabtu.com>
36976
36977 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36978 per specification.
36979 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36980 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36981 (based on find_multi_boot1_header).
36982 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36983 using find_multi_boot2_header(), and abort if neither Multiboot or
36984 Multiboot headers were found.
36985
651c29b7 369862008-11-07 Robert Millan <rmh@aybabtu.com>
36987
36988 Modularize at_keyboard.mod:
36989
36990 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36991 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36992 (at_keyboard_mod_LDFLAGS): New variables.
36993
36994 Actual terminal split:
36995
36996 * include/grub/term.h (struct grub_term): Split in ...
36997 (struct grub_term_input): ... this, and ...
36998 (struct grub_term_output): ... this. Update all users.
36999 (grub_term_set_current): Split in ...
37000 (grub_term_set_current_input): ... this, and ...
37001 (grub_term_set_current_output): ... this.
37002 (grub_term_get_current): Split in ...
37003 (grub_term_get_current_input): ... this, and ...
37004 (grub_term_get_current_output): ... this.
37005 (grub_term_register): Split in ...
37006 (grub_term_register_input): ... this, and ...
37007 (grub_term_register_output): ... this.
37008 (grub_term_unregister): Split in ...
37009 (grub_term_unregister_input): ... this, and ...
37010 (grub_term_unregister_output): ... this.
37011 (grub_term_iterate): Split in ...
37012 (grub_term_iterate_input): ... this, and ...
37013 (grub_term_iterate_output): ... this.
37014
37015 * kern/term.c (grub_term_list): Split in ...
37016 (grub_term_list_input): ... this, and ...
37017 (grub_term_list_output): ... this. Update all users.
37018 (grub_cur_term): Split in ...
37019 (grub_cur_term_input): ... this, and ...
37020 (grub_cur_term_output): ... this. Update all users.
37021 (grub_term_set_current): Split in ...
37022 (grub_term_set_current_input): ... this, and ...
37023 (grub_term_set_current_output): ... this.
37024 (grub_term_get_current): Split in ...
37025 (grub_term_get_current_input): ... this, and ...
37026 (grub_term_get_current_output): ... this.
37027 (grub_term_register): Split in ...
37028 (grub_term_register_input): ... this, and ...
37029 (grub_term_register_output): ... this.
37030 (grub_term_unregister): Split in ...
37031 (grub_term_unregister_input): ... this, and ...
37032 (grub_term_unregister_output): ... this.
37033 (grub_term_iterate): Split in ...
37034 (grub_term_iterate_input): ... this, and ...
37035 (grub_term_iterate_output): ... this.
37036
37037 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37038 a check for input and one for output (and only attempt to get keys
37039 from user when input works).
37040
37041 * util/grub-probe.c (grub_term_get_current): Split in ...
37042 (grub_term_get_current_input): ... this, and ...
37043 (grub_term_get_current_output): ... this.
37044 * util/grub-fstest.c: Likewise.
37045 * util/i386/pc/grub-setup.c: Likewise.
37046 * util/grub-editenv.c: Likewise.
37047
37048 Portability adjustments:
37049
37050 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37051 `term/i386/pc/at_keyboard.c'.
37052 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37053 grub_keyboard_controller_init() (now handled by terminal .init).
37054 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37055 grub_at_keyboard_init().
37056 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37057 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37058 at_keyboard.mod via input terminal interface).
37059 * include/grub/i386/coreboot/console.h: Convert into a stub for
37060 `<grub/i386/pc/console.h>'.
37061
37062 Migrate full terminals to new API:
37063
37064 * term/efi/console.c (grub_console_term): Split into ...
37065 (grub_console_term_input): ... this, and ...
37066 (grub_console_term_output): ... this. Update all users.
37067 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37068 (grub_ofconsole_init): Split into ...
37069 (grub_ofconsole_init_input): ... this, and ...
37070 (grub_ofconsole_init_output): ... this.
37071 (grub_ofconsole_term): Split into ...
37072 (grub_ofconsole_term_input): ... this, and ...
37073 (grub_ofconsole_term_output): ... this. Update all users.
37074 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37075 (grub_serial_term_input): ... this, and ...
37076 (grub_serial_term_output): ... this. Update all users.
37077 * term/i386/pc/console.c (grub_console_term): Split into ...
37078 (grub_console_term_input): ... this, and ...
37079 (grub_console_term_output): ... this. Update all users.
37080 (grub_console_term_input): Only enable it on PC/BIOS platform.
37081 (grub_console_init): Remove grub_keyboard_controller_init() call.
37082
37083 Migrate input terminals to new API:
37084
37085 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37086 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37087 i386-specific anyway).
37088 (grub_console_checkkey): Rename to ...
37089 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37090 users.
37091 (grub_keyboard_controller_orig): New variable.
37092 (grub_console_getkey): Rename to ...
37093 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37094 users.
37095 (grub_keyboard_controller_init): Static-ize. Save original
37096 controller value so that it can be restored ...
37097 (grub_keyboard_controller_fini): ... here (new function).
37098 (grub_at_keyboard_term): New structure.
37099 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37100 functions.
37101
37102 Migrate output terminals to new API:
37103
37104 * term/i386/pc/vga.c (grub_vga_term): Change type to
37105 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37106 members. Update all users.
37107 * term/gfxterm.c (grub_video_term): Change type to
37108 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37109 members. Update all users.
37110 * include/grub/i386/pc/console.h (grub_console_checkkey)
37111 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37112 etc).
37113
37114 Migrate `terminal' command and userland tools to new API:
37115
37116 * commands/terminal.c (grub_cmd_terminal): Split into ...
37117 (grub_cmd_terminal_input): ... this, and ...
37118 (grub_cmd_terminal_output): ... this.
37119 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37120 `terminal_input' and `terminal_output'.
37121 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37122 `terminal_input' / `terminal_output' API.
37123 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37124 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37125 provided ${GRUB_TERMINAL}, convert it).
37126
96e5d876 371272008-11-04 Robert Millan <rmh@aybabtu.com>
37128
37129 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37130 for FreeBSD.
37131 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37132
556f3775 371332008-11-03 Bean <bean123ch@gmail.com>
37134
37135 * kern/elf.c (grub_elf32_load): Revert to previous code.
37136 (grub_elf64_load): Likewise.
37137
37138 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37139
926b9823 371402008-11-01 Robert Millan <rmh@aybabtu.com>
37141
37142 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37143 (TARGET_CPPFLAGS): Likewise.
37144 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37145
1432e958 371462008-11-01 Carles Pina i Estany <carles@pina.cat>
37147
37148 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37149
dba3f844 371502008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37151
37152 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37153 addition of objects until the code is not going to be able to fail.
37154
dba3f844 371552008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37156
37157 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37158 (add a missing NULL check, and correct them by moving the pointer
37159 operations after the actual check).
37160
7ab28c21 371612008-10-29 Robert Millan <rmh@aybabtu.com>
37162
37163 * util/i386/pc/grub-install.in: Handle empty string as output from
37164 make_system_path_relative_to_its_root().
37165
1b7748eb 371662008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37167
37168 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37169 circular metadata worst case scenario. If the metadata is circular
37170 then copy the wrap in place.
37171 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37172 project lib/format_text/layout.h
37173 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37174
c9618ab2 371752008-10-03 Felix Zielcke <fzielcke@z-51.de>
37176
7a36edca 37177 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37178
bf981c62 371792008-10-03 Felix Zielcke <fzielcke@z-51.de>
37180
37181 * util/update-grub_lib.in: Mention filename in warning message.
37182
6d994591 371832008-09-29 Felix Zielcke <fzielcke@z-51.de>
37184
37185 * NEWS: Update for rename of update-grub to grub-mkconfig.
37186
18ade780 371872008-09-29 Felix Zielcke <fzielcke@z-51.de>
37188
37189 * util/update-grub_lib.in: Copy to ...
37190 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37191 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37192 * util/update-grub.in: Rename to ...
37193 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37194 option. Add `--output' option to allow users to specify the generated
37195 configuration file. Default to stdout.
37196 (update_grub_dir): Rename to ...
37197 (grub_mkconfig_dir): ... this.
37198 (grub_cfg): Default to an empty string.
37199 * conf/common.rmk (update-grub): Rename to ...
37200 (grub-mkconfig): ... this.
37201 (update-grub_lib): Copy to ...
37202 (grub-mkconfig_lib): ... this.
37203 (update-grub_SCRIPTS): Copy to ...
37204 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37205 (update-grub_DATA): Rename to ...
37206 (grub-mkconfig_DATA): ... this.
37207
556ce6ac 372082008-09-28 Robert Millan <rmh@aybabtu.com>
37209
37210 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37211 to `modified'. Add the real `created' field.
37212 (grub_iso9660_uuid): Use `modified' rather than `created' for
37213 constructing the UUID.
37214
372152008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37216
37217 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37218 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37219
92274e85 372202008-09-28 Bean <bean123ch@gmail.com>
37221
37222 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37223 Thanks to Christian Franke for finding this bug.
37224
add6f17a 372252008-09-25 Robert Millan <rmh@aybabtu.com>
37226
37227 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37228 instances of grub_util_get_disk_name() (see previous commit).
37229
d2a367b8 372302008-09-25 Robert Millan <rmh@aybabtu.com>
37231
37232 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37233 `util/i386/get_disk_name.c'.
37234 * conf/i386-efi.rmk: Likewise.
37235 * conf/x86_64-efi.rmk: Likewise.
37236 * conf/i386-coreboot.rmk: Likewise.
37237 * conf/i386-ieee1275.rmk: Likewise.
37238 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37239 `util/ieee1275/get_disk_name.c'.
37240 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37241 * util/ieee1275/get_disk_name.c: Remove file.
37242 * util/i386/get_disk_name.c: Remove file.
37243 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37244 "hd%d" for device.map entries, rather than using
37245 grub_util_get_disk_name().
37246
81a06771 372472008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37248
37249 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37250 warning.
37251 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37252
5a004279 372532008-09-24 Carles Pina i Estany <carles@pina.cat>
37254
37255 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37256 Changed to 0x5100.
37257 (GRUB_TERM_PPAGE): Changed to 0x4900.
37258
397093d3 372592008-09-24 Robert Millan <rmh@aybabtu.com>
37260
37261 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37262 macros (they were i386-pc specific).
37263 * include/grub/sparc64/ieee1275/console.h: Likewise.
37264 * include/grub/efi/console.h: Likewise.
37265
a91b6c7c 372662008-09-22 Bean <bean123ch@gmail.com>
37267
37268 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37269 resident and in attribute list.
37270
37271 * include/grub/ntfs.h (BMP_LEN): Removed.
37272
c40fd116 372732008-09-22 Bean <bean123ch@gmail.com>
37274
81a06771 37275 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37276 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37277
37278 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37279 error occurs, as grub_disk_open will call grub_disk_close, which will
37280 call p->close (scsi).
37281
81a06771 372822008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37283
37284 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37285 (AC_PREREQ): Bumped to 2.59.
37286 (AC_TRY_COMPILE): Replace obsolete macro with ...
37287 (AC_COMPILE_IFELSE): ... this.
37288 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37289 (AC_LINK_IFELSE): ... this.
37290
5dc43410 372912008-09-21 Felix Zielcke <fzielcke@z-51.de>
37292
37293 * autogen.sh: Add a call to `gendistlist.sh'.
37294
9035dce4 372952008-09-19 Christian Franke <franke@computer.org>
37296
37297 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37298 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37299 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37300 Export __enable_execute_stack() to modules.
37301 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37302 New function.
37303
7fd75377 373042008-09-09 Felix Zielcke <fzielcke@z-51.de>
37305
040030b3 37306 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37307 Sort the list.
37308
373092008-09-09 Felix Zielcke <fzielcke@z-51.de>
37310
37311 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37312 #include <grub/util/hostdisk.h>.
37313
89d5ffcf 373142008-09-08 Robert Millan <rmh@aybabtu.com>
37315
37316 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37317 segments when their filesz is zero (grub_file_read() interprets
81a06771 37318 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37319 Use `lowest_segment' rather than 0 for calculating the current
37320 segment load address.
37321
40da438f 373222008-09-08 Robert Millan <rmh@aybabtu.com>
37323
37324 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37325 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37326 clobbered useful information.
37327
ddbf5556 373282008-09-08 Robert Millan <rmh@aybabtu.com>
37329
37330 * include/grub/util/biosdisk.h: Move to ...
37331 * include/grub/util/hostdisk.h: ... here. Update all users.
37332 * util/biosdisk.c: Move to ...
37333 * util/hostdisk.c: ... here. Update all users.
37334
783d0f48 373352008-09-07 Robert Millan <rmh@aybabtu.com>
37336
37337 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37338 variables.
37339 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37340 and length can be stored directly in the `mbi->mmap_addr' and
37341 `mbi->mmap_length' struct fields.
37342
548e2ea5 373432008-09-07 Robert Millan <rmh@aybabtu.com>
37344
37345 * conf/i386.rmk: New file. Provides declaration for building
37346 `cpuid.mod'.
37347 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37348 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37349 variables.
37350 Include `conf/i386.mk'.
37351 * conf/i386-efi.rmk: Likewise.
37352 * conf/x86_64-efi.rmk: Likewise.
37353 * conf/i386-coreboot.rmk: Likewise.
37354 * conf/i386-ieee1275.rmk: Likewise.
37355
0ea85a37 373562008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37357
37358 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37359 Adds optimization support for BGR based modes.
37360
37361 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37362 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37363 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37364 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37365 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37366 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37367 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37368 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37369 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37370 (grub_video_i386_vbeblit_index_index): Likewise.
37371 (grub_video_i386_vbeblit_replace_directN): Added.
37372 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37373 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37374 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37375 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37376 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37377 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37378 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37379 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37380 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37381 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37382 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37383 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37384 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37385
37386 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37387 (grub_video_i386_vbefill_R8G8B8): Likewise.
37388 (grub_video_i386_vbefill_index): Likewise.
37389 (grub_video_i386_vbefill_direct32): Added.
37390 (grub_video_i386_vbefill_direct24): Likewise.
37391 (grub_video_i386_vbefill_direct16): Likewise.
37392 (grub_video_i386_vbefill_direct8): Likewise.
37393
81a06771 37394 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37395 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37396 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37397 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37398 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37399 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37400
0ea85a37 37401 * video/video.c (grub_video_get_blit_format): Updated to use new
37402 blit formats. Added handling for 16 bit color modes.
81a06771 37403
37404 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37405 fillers.
37406 (common_blitter): Updated to use new blitters.
37407
37408 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37409 Removed.
37410 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37411 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37412 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37413 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37414 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37415 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37416 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37417 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37418 (grub_video_i386_vbeblit_index_index): Likewise.
37419 (grub_video_i386_vbeblit_replace_directN): Added.
37420 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37421 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37422 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37423 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37424 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37425 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37426 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37427 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37428 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37429 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37430 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37431 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37432 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37433
0ea85a37 37434 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37435 (grub_video_i386_vbefill_R8G8B8): Likewise.
37436 (grub_video_i386_vbefill_index): Likewise.
37437 (grub_video_i386_vbefill_direct32): Added.
37438 (grub_video_i386_vbefill_direct24): Likewise.
37439 (grub_video_i386_vbefill_direct16): Likewise.
37440 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37441
0ea85a37 37442 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37443 types.
81a06771 37444
0ea85a37 37445 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37446 types.
81a06771 37447
0ea85a37 37448 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37449 blitter types.
81a06771 37450
0ea85a37 37451 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37452 types.
37453
e8a83df6 374542008-09-06 Felix Zielcke <fzielcke@z-51.de>
37455
37456 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37457 RAID level 1.
37458
6bcd8ee5 374592008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37460
6bcd8ee5 37461 * fs/iso9660.c (grub_iso9660_date): New structure.
37462 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37463 (grub_iso9660_uuid): New function.
c375ae58 37464
59261157 374652008-09-05 Bean <bean123ch@gmail.com>
37466
37467 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37468
37469 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37470 insensitive bit for names in Win32 and Win32 & DOS namespace.
37471
37472 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37473
37474 * include/grub/types.h (LONG_MAX): Likewise.
37475
58b6645a 374762008-09-04 Felix Zielcke <fzielcke@z-51.de>
37477
4ee55921 37478 * util/getroot.c: Include <config.h>.
37479 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37480 add support for /dev/md/N devices and handle LVM double dash escaping.
37481
374822008-09-04 Felix Zielcke <fzielcke@z-51.de>
37483
37484 * config.guess: Update to latest version from config git.
37485 * config.sub: Likewise.
58b6645a 37486
9124f65d 374872008-09-03 Robert Millan <rmh@aybabtu.com>
37488
37489 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37490 `disk->total_sectors'.
37491
81a06771 374922008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37493
37494 * include/grub/normal.h: Fixed incorrect comment for
37495 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37496
81a06771 374972008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37498
37499 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37500 values with defines.
37501
37502 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37503 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37504 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37505 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37506 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37507 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37508 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37509 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37510 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37511 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37512 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37513 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37514 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37515 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37516 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37517 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37518 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37519 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37520 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37521
93d5cbf8 375222008-08-31 Robert Millan <rmh@aybabtu.com>
37523
37524 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37525 declaration.
37526 (grub_multiboot): Fix a few warnings.
37527
21751d50 375282008-08-31 Robert Millan <rmh@aybabtu.com>
37529
37530 * loader/i386/pc/multiboot.c: Update comment not to say that
37531 boot_device support is unimplemented.
37532
e27a75c5 375332008-08-31 Robert Millan <rmh@aybabtu.com>
37534
37535 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37536 or memory map support are unimplemented.
37537
81a06771 375382008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37539
37540 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37541
81a06771 375422008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37543
37544 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37545 total video memory in 'vbeinfo' output; show color format details for
37546 each video mode.
37547
7c5d8d95 375482008-08-30 Pavel Roskin <proski@gnu.org>
37549
37550 * util/genmoddep.c: Remove for real this time.
37551 * DISTLIST: Remove util/genmoddep.c.
37552
4cebd25a 375532008-08-30 Robert Millan <rmh@aybabtu.com>
37554
37555 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37556 as required by Multiboot spec (it was already 4-byte aligned, but
37557 only by chance).
37558
b497a269 375592008-08-29 Pavel Roskin <proski@gnu.org>
37560
e3925185 37561 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37562 * kern/powerpc/ieee1275/startup.S: ... this.
37563 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37564 * DISTLIST: Likewise.
37565
b497a269 37566 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37567 grub/cpu/kernel.h. Add start label for consistency with other
37568 platforms. Add grub_prefix immediately after start. Add jump
37569 to the code after grub_prefix.
37570 * include/grub/powerpc/kernel.h: Provide valid values for
37571 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37572
6e5a42fe 375732008-08-29 Bean <bean123ch@gmail.com>
37574
37575 * configure.ac: Change host_os to cygwin for mingw.
37576 (asprintf): New check for function.
37577
37578 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37579 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37580
37581 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37582 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37583 sync, sleep and grub_util_get_disk_size for mingw.
37584
37585 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37586 to get size in mingw.
37587 (open_device): Use flag O_BINARY if it's defined.
37588 (find_root_device): Add dummy code for mingw.
37589
37590 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37591 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37592 (get_scsi_disk_name): Return 0 for mingw.
37593
37594 * util/hostfs.c: #include <grub/util/misc.h>.
37595 (grub_hostfs_open): Use "rb" flag to open file, use
37596 grub_util_get_disk_size to get disk size for mingw.
37597
37598 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37599 (asprintf): New function if HAVE_ASPRINTF is not set.
37600 (sync): New function for mingw.
37601 (sleep): Likewise.
37602 (grub_util_get_disk_size): Likewise.
37603
ab3f2673 376042008-08-28 Pavel Roskin <proski@gnu.org>
37605
37606 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37607 kern/time.c.
37608
1c282483 376092008-08-28 Robert Millan <rmh@aybabtu.com>
37610
37611 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37612
678e849c 376132008-08-28 Robert Millan <rmh@aybabtu.com>
37614
37615 Change find_grub_drive() syntax so it doesn't prevent it from
37616 detecting NULL names as errors.
37617
37618 * util/biosdisk.c (find_grub_drive): Move free slot search code
37619 from here ...
37620 (find_free_slot): ... to here.
37621 (read_device_map): Use find_free_slot() to search for free slots.
37622
965c75ca 376232008-08-27 Marco Gerards <marco@gnu.org>
37624
37625 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37626 (scsi_mod_SOURCES): New variable.
37627 (scsi_mod_CFLAGS): Likewise
37628 (scsi_mod_LDFLAGS): Likewise.
37629
37630 * disk/scsi.c: New file.
37631
37632 * include/grub/scsi.h: Likewise.
37633
37634 * include/grub/scsicmd.h: Likewise.
37635
37636 * disk/ata.c: Include <grub/scsi.h>.
37637 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37638 instead.
37639 (grub_ata_iterate): Skip ATAPI devices.
37640 (grub_ata_open): Only handle ATAPI devices.
37641 (struct grub_atapi_read): Removed.
37642 (grub_atapi_readsector): Likewise.
37643 (grub_ata_read): No longer handle ATAPI devices.
37644 (grub_ata_write): Likewise.
37645 (grub_atapi_iterate): New function.
37646 (grub_atapi_read): Likewise.
37647 (grub_atapi_write): Likewise.
37648 (grub_atapi_open): Likewise.
37649 (grub_atapi_close): Likewise.
37650 (grub_atapi_dev): New variable.
37651 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37652 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37653
37654 * include/grub/disk.h (enum grub_disk_dev_id): Add
37655 `GRUB_DISK_DEVICE_SCSI_ID'.
37656
c07ae501 376572008-08-26 Robert Millan <rmh@aybabtu.com>
37658
37659 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37660 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37661 descriptive.
37662
5ed20adc 376632008-08-23 Bean <bean123ch@gmail.com>
37664
37665 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37666 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37667 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37668 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37669 dm_nv.mod.
37670 (raid5rec_mod_SOURCES): New macro.
37671 (raid5rec_mod_CFLAGS): Likewise.
37672 (raid5rec_mod_LDFLAGS): Likewise.
37673 (raid6rec_mod_SOURCES): Likewise.
37674 (raid6rec_mod_CFLAGS): Likewise.
37675 (raid6rec_mod_LDFLAGS): Likewise.
37676 (mdraid_mod_SOURCES): Likewise.
37677 (mdraid_mod_CFLAGS): Likewise.
37678 (mdraid_mod_LDFLAGS): Likewise.
37679 (dm_nv_mod_SOURCES): Likewise.
37680 (dm_nv_mod_CFLAGS): Likewise.
37681 (dm_nv_mod_LDFLAGS): Likewise.
37682
37683 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37684 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37685 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37686
37687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37688 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37689
37690 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37691
37692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37693
37694 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37695
37696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37697
37698 * disk/raid5_recover.c: New file.
37699
37700 * disk/raid6_recover.c: Likewise.
37701
37702 * disk/mdraid_linux.c: Likewise.
37703
37704 * disk/dmraid_nvidia.c: Likewise.
37705
37706 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37707 ULONG_MAX.
37708
37709 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37710 calculate the size of raid device.
37711 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37712 different layout of raid5.
37713 (grub_raid_scan_device): Remove code specific to mdraid.
37714 (grub_raid_list): New variable.
37715 (free_array): New function.
37716 (grub_raid_register): Likewise.
37717 (grub_raid_unregister): Likewise.
37718 (grub_raid_rescan): Likewise.
37719 (GRUB_MOD_INIT): Don't iterate device here.
37720 (GRUB_MOD_FINI): Use free_array to release resource.
37721
37722 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37723 (grub_raid5_recover_func_t): New function variable type.
37724 (grub_raid6_recover_func_t): Likewise.
37725 (grub_raid5_recover_func): New variable.
37726 (grub_raid6_recover_func): Likewise.
37727 (grub_raid_register): New function.
37728 (grub_raid_unregister): Likewise.
37729 (grub_raid_rescan): Likewise.
37730 (grub_raid_block_xor): Likewise.
37731
37732 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37733 (CMD_CRC): New macro.
37734 (part): Removed.
37735 (read_file): Handle device as well as file.
37736 (cmd_crc): New function.
37737 (fstest): Handle multiple disks.
37738 (options): Remove part, raw and long, add root and diskcount.
37739 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37740 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37741 add handling for the new options, support multiple disks.
37742
37743 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37744
29c18915 377452008-08-23 Bean <bean123ch@gmail.com>
37746
37747 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37748
37749 * genfslist.sh: Ignore kernel.mod.
37750
37751 * genpartmaplist.sh: Likewise.
37752
8415f261 377532008-08-23 Robert Millan <rmh@aybabtu.com>
37754
37755 * util/getroot.c (find_root_device): Skip anything that starts with
37756 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37757
d5a7dc5b 377582008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37759
d5a7dc5b 37760 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37761 * util/grub.d/00_header.in: Allow the administrator to change default
37762 gfxmode via ${GRUB_GFXMODE}.
37763
380cfbb4 377642008-08-21 Felix Zielcke <fzielcke@z-51.de>
37765
37766 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37767
c9baafe7 377682008-08-21 Robert Millan <rmh@aybabtu.com>
37769
37770 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37771 loader.
37772 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37773 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37774
e290bef2 377752008-08-20 Carles Pina i Estany <carles@pina.cat>
37776
37777 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37778 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37779
f9dbfc96 377802008-08-19 Robert Millan <rmh@aybabtu.com>
37781
37782 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37783 (struct grub_virtual_screen): Remove `cursor_color'.
37784 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37785 initialization.
37786 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37787
dd6bd6ab 377882008-08-18 Robert Millan <rmh@aybabtu.com>
37789
37790 Unify (identical) linux_normal.c files.
37791 * loader/i386/efi/linux_normal.c: Move from here ...
37792 * loader/linux_normal.c: ... to here. Update all users.
37793 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37794 * loader/i386/ieee1275/linux_normal.c: Likewise.
37795
7f42f83e 377962008-08-18 Robert Millan <rmh@aybabtu.com>
37797
37798 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37799 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37800 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37801 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37802 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37803 New macros.
37804 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37805 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37806 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37807 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37808 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37809 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37810 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37811 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37812 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37813 portably using grub_getxy().
37814 Replace `-EFI' with `-bzImage' in boot message.
37815
38487ddb 378162008-08-17 Robert Millan <rmh@aybabtu.com>
37817
37818 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37819
deceb3ec 378202008-08-17 Robert Millan <rmh@aybabtu.com>
37821
37822 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37823
37824 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37825 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37826 (grub_machine_mmap_iterate): New function declaration.
37827 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37828 structure.
37829 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37830 macros.
37831
37832 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37833 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37834 Move e820 parsing from here ...
37835 * kern/i386/pc/mmap.c: New file.
37836 (grub_machine_mmap_iterate): ... to here.
37837
37838 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37839 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37840 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37841 (grub_available_iterate): Redeclare to return `void', and redeclare
37842 its hook to use grub_uint64_t as addr and size parameters, and rename
37843 to ...
37844 (grub_machine_mmap_iterate): ... this. Update all users.
37845
37846 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37847 to make it more readable. Rename to ...
37848 (grub_machine_mmap_iterate): ... this.
37849
37850 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37851 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37852 (grub_multiboot): Allocate an extra region after the payload, and fill
37853 it with a Multiboot memory map. Adjust a.out loader to calculate size
37854 with the extra space.
37855 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37856 with the extra space.
37857
f8aa0f43 378582008-08-17 Carles Pina i Estany <carles@pina.cat>
37859
9807deb9 37860 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37861
605f5bb6 378622008-08-17 Felix Zielcke <fzielcke@z-51.de>
37863
37864 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37865 mdate-sh to the list `find' searches for.
37866 * DISTLIST: Regenerated.
37867
210db6c6 378682008-08-16 Felix Zielcke <fzielcke@z-51.de>
37869
37870 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37871 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37872 genmoddep.awk, gensymlist.sh.in.
37873 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37874 * DISTLIST: Regenerated.
48cdbfd4 37875 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37876
1082b929 378772008-08-16 Robert Millan <rmh@aybabtu.com>
37878
37879 * disk/raid.c (grub_raid_init): Handle/report errors set by
37880 grub_device_iterate().
37881 * disk/lvm.c (grub_lvm_init): Likewise.
37882
42ce5170 378832008-08-15 Bean <bean123ch@gmail.com>
37884
37885 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37886 and datehook.mod.
37887 (datetime_mod_SOURCES): New macro.
37888 (datetime_mod_CFLAGS): Likewise.
37889 (datetime_mod_LDFLAGS): Likewise.
37890 (date_mod_SOURCES): Likewise.
37891 (date_mod_CFLAGS): Likewise.
37892 (date_mod_LDFLAGS): Likewise.
37893 (datehook_mod_SOURCES): Likewise.
37894 (datehook_mod_CFLAGS): Likewise.
37895 (datehook_mod_LDFLAGS): Likewise.
37896
37897 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37898 and datehook.mod.
37899 (datetime_mod_SOURCES): New macro.
37900 (datetime_mod_CFLAGS): Likewise.
37901 (datetime_mod_LDFLAGS): Likewise.
37902 (date_mod_SOURCES): Likewise.
37903 (date_mod_CFLAGS): Likewise.
37904 (date_mod_LDFLAGS): Likewise.
37905 (datehook_mod_SOURCES): Likewise.
37906 (datehook_mod_CFLAGS): Likewise.
37907 (datehook_mod_LDFLAGS): Likewise.
37908
37909 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37910 and datehook.mod.
37911 (datetime_mod_SOURCES): New macro.
37912 (datetime_mod_CFLAGS): Likewise.
37913 (datetime_mod_LDFLAGS): Likewise.
37914 (date_mod_SOURCES): Likewise.
37915 (date_mod_CFLAGS): Likewise.
37916 (date_mod_LDFLAGS): Likewise.
37917 (datehook_mod_SOURCES): Likewise.
37918 (datehook_mod_CFLAGS): Likewise.
37919 (datehook_mod_LDFLAGS): Likewise.
37920
37921 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37922 and datehook.mod.
37923 (datetime_mod_SOURCES): New macro.
37924 (datetime_mod_CFLAGS): Likewise.
37925 (datetime_mod_LDFLAGS): Likewise.
37926 (date_mod_SOURCES): Likewise.
37927 (date_mod_CFLAGS): Likewise.
37928 (date_mod_LDFLAGS): Likewise.
37929 (datehook_mod_SOURCES): Likewise.
37930 (datehook_mod_CFLAGS): Likewise.
37931 (datehook_mod_LDFLAGS): Likewise.
37932
37933 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37934 and datehook.mod.
37935 (datetime_mod_SOURCES): New macro.
37936 (datetime_mod_CFLAGS): Likewise.
37937 (datetime_mod_LDFLAGS): Likewise.
37938 (date_mod_SOURCES): Likewise.
37939 (date_mod_CFLAGS): Likewise.
37940 (date_mod_LDFLAGS): Likewise.
37941 (datehook_mod_SOURCES): Likewise.
37942 (datehook_mod_CFLAGS): Likewise.
37943 (datehook_mod_LDFLAGS): Likewise.
37944
37945 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37946
37947 * commands/date.c: New file.
37948
37949 * hook/datehook.c: Likewise.
37950
37951 * include/grub/lib/datetime.h: Likewise.
37952
37953 * include/grub/i386/cmos.h: Likewise.
37954
37955 * lib/datetime.c: Likewise.
37956
37957 * lib/i386/datetime.c: Likewise.
37958
37959 * lib/efi/datetime.c: Likewise.
37960
0e9242da 379612008-08-14 Robert Millan <rmh@aybabtu.com>
37962
37963 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37964 (grub_mkelfimage_SOURCES): New variable.
37965 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37966
37967 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37968 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37969 * conf/powerpc-ieee1275.rmk: Likewise.
37970 * conf/i386-ieee1275.rmk: Likewise.
37971
37972 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37973 * kern/i386/coreboot/init.c: Likewise.
37974
37975 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37976 with `<grub/cpu/kernel.h>'.
37977 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37978 to ...
37979 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37980 * kern/i386/coreboot/startup.S: Likewise.
37981
37982 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37983 (GRUB_MOD_GAP): Remove.
37984 * include/grub/powerpc/kernel.h: New file.
37985 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37986 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37987 * include/grub/i386/kernel.h: New file.
37988 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37989 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37990 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37991
37992 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37993 `grub-mkelfimage'.
37994 Use --directory when invoking grub_mkimage.
37995
37996 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37997 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37998 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37999 and GRUB_KERNEL_CPU_PREFIX.
38000
b86408f8 380012008-08-14 Felix Zielcke <fzielcke@z-51.de>
38002
d5e619ca 38003 * include/grub/err.h (grub_err_printf): New function prototype.
38004 * util/misc.c (grub_err_printf): New function.
38005 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38006 grub_printf.
38007 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38008
7161f0e0 380092008-08-13 Robert Millan <rmh@aybabtu.com>
38010
38011 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38012
a1967522 380132008-08-13 Robert Millan <rmh@aybabtu.com>
38014
38015 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38016 boot entry.
38017
371458b5 380182008-08-12 Robert Millan <rmh@aybabtu.com>
38019
38020 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38021 of the relocation code from here ...
38022 (grub_multiboot): ... to here.
38023 (forward_relocator, backward_relocator): Move from here ...
38024 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38025 (grub_multiboot_backward_relocator): ... to here.
38026 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38027 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38028 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38029 (grub_multiboot_forward_relocator_end)
38030 (grub_multiboot_backward_relocator)
38031 (grub_multiboot_backward_relocator_end): New variables.
38032
05f9452b 380332008-08-12 Bean <bean123ch@gmail.com>
38034
38035 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38036
20024ab0 380372008-08-11 Robert Millan <rmh@aybabtu.com>
38038
38039 * kern/i386/linuxbios/startup.S: Move from here ...
38040 * kern/i386/coreboot/startup.S: ... to here.
38041
38042 * kern/i386/linuxbios/init.c: Move from here ...
38043 * kern/i386/coreboot/init.c: ... to here.
38044
38045 * kern/i386/linuxbios/table.c: Move from here ...
38046 * kern/i386/coreboot/mmap.c: ... to here.
38047
38048 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38049
e352e9cd 380502008-08-11 Robert Millan <rmh@aybabtu.com>
38051
38052 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38053 errors. Leave it to the upper layer to handle them.
38054
2d05bc6a 380552008-08-09 Christian Franke <franke@computer.org>
38056
38057 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38058 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38059 Install `grub.d/10_windows' only on Cygwin.
38060 * configure.ac: Add subst of `target_os'.
38061 Check `target_os' also before setting TARGET_OBJ2ELF.
38062 Add `--enable-grub-pe2elf'.
38063
042bd419 380642008-08-08 Robert Millan <rmh@aybabtu.com>
38065
38066 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38067 (grub_last_time): Change type to grub_uint64_t.
38068 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38069 (grub_disk_close): Likewise.
38070
38071 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38072 (run_menu): Migrate code from to using grub_get_time_ms().
38073
38074 * util/misc.c (grub_get_time_ms): New function.
38075
7f280db5 380762008-08-08 Marco Gerards <marco@gnu.org>
38077
38078 * disk/ata.c (grub_ata_regget): Change return type to
38079 `grub_uint8_t'.
38080 (grub_ata_regget2): Likewise.
38081 (grub_ata_wait_status): New function.
38082 (grub_ata_wait_busy): Removed function, updated all users to use
38083 `grub_ata_wait_status'.
38084 (grub_ata_wait_drq): Likewise.
38085 (grub_ata_cmd): New function.
38086 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38087 error handling.
38088 (grub_ata_pio_write): Add error handling.
38089 (grub_atapi_identify): Likewise.
38090 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38091 handling.
38092 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38093 handling. Actually use the detected registers. Reorder the
38094 detection logic such that it is easier to read.
38095 (grub_ata_pciinit): Do not assign the same ID to each controller.
38096 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38097 handling.
38098 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38099
38100 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38101
1fbc5e66 381022008-08-08 Marco Gerards <marco@gnu.org>
38103
38104 * NEWS: Update.
38105
819ce6c0 381062008-08-07 Bean <bean123ch@gmail.com>
38107
38108 * include/grub/x86_64/pci.h: New file.
38109
5c41d44d 381102008-08-07 Christian Franke <franke@computer.org>
38111
38112 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38113 (TIMER2_GATE): Likewise.
38114 (grub_pit_wait): Add enable/disable of the timer2 gate
38115 bit of port 0x61. This fixes a possible infinite loop.
38116
5ebc275d 381172008-08-07 Bean <bean123ch@gmail.com>
38118
38119 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38120 kern/i386/tsc.c and kern/i386/pit.c.
38121
38122 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38123 x86_64 platform.
38124
38125 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38126 <grub/i386/tsc.h>.
38127
38128 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38129
e383b3d0 381302008-08-07 Bean <bean123ch@gmail.com>
38131
38132 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38133
38134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38135
38136 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38137 multiple inclusion. Add #include <grub/types.h>.
38138
1cbb58ac 381392008-08-06 Christian Franke <franke@computer.org>
38140
38141 * conf/common.rmk: Build and install `10_windows'.
38142 * util/grub.d/10_windows.in: New script.
38143
337f5a1e 381442008-08-06 Pavel Roskin <proski@gnu.org>
38145
38146 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38147
057bc4ac 381482008-08-06 Robert Millan <rmh@aybabtu.com>
38149
38150 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38151 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38152
2b99f123 381532008-08-06 Bean <bean123ch@gmail.com>
38154
38155 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38156 (grub_pxefs_fs_int): Remove dummy definition.
38157 (grub_pxefs_open): Use data->block_size to store the current block
38158 size setting.
38159 (grub_pxefs_read): Use block size stored in data->block_size. As the
38160 value of grub_pxe_blksize can be changed after the file is opened.
38161
9f0234cb 381622008-08-06 Bean <bean123ch@gmail.com>
38163
38164 * fs/i386/pc/pxe.c (curr_file): new variable.
38165 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38166 require the dummy internal file system anymore.
38167 (grub_pxefs_read): Removed.
38168 (grub_pxefs_close): Likewise.
38169 (grub_pxefs_fs_int): Likewise.
38170 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38171 connection when we switch file.
38172 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38173
a55d42e0 381742008-08-06 Robert Millan <rmh@aybabtu.com>
38175
38176 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38177 `halt.mod'.
38178 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38179 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38180
38181 * kern/i386/halt.c: New file.
38182 * kern/i386/reboot.c: Likewise.
38183 * include/grub/i386/reboot.h: Likewise.
38184 * include/grub/i386/halt.h: Likewise.
38185
38186 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38187 Include `<grub/cpu/halt.h>'.
38188 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38189 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38190
38191 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38192 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38193 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38194 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38195 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38196 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38197 from here ...
38198 * include/grub/i386/at_keyboard.h: ... to here.
38199
24371d26 382002008-08-05 Robert Millan <rmh@aybabtu.com>
38201
38202 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38203 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38204 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38205 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38206 `kern/generic/millisleep.c'.
38207
38208 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38209 instead of grub_get_rtc().
38210 (grub_tsc_init): Initialize `tsc_boot_time'.
38211
38212 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38213 (grub_machine_init): Use grub_tsc_init() rather than
38214 installing an RTC-based handler via grub_install_get_time_ms().
38215
38216 * kern/i386/pit.c: New file.
38217 * include/grub/i386/pit.h: Likewise.
38218
9e7007b3 382192008-08-05 Bean <bean123ch@gmail.com>
38220
38221 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38222
38223 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38224 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38225 (pxe_mod_SOURCES): New macro.
38226 (pxe_mod_CFLAGS): Likewise.
38227 (pxe_mod_LDFLAGS): Likewise.
38228 (pxecmd_mod_SOURCES): Likewise.
38229 (pxecmd_mod_CFLAGS): Likewise.
38230 (pxecmd_mod_LDFLAGS): Likewise.
38231
38232 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38233 (grub_pxe_call): Likewise.
38234
38235 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38236
38237 * commands/i386/pc/pxecmd.c: New file.
38238
9f0234cb 38239 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38240
38241 * include/grub/i386/pc/pxe.h: Likewise.
38242
6977d49f 382432008-08-05 Bean <bean123ch@gmail.com>
38244
38245 * util/console.c (grub_console_cur_color): New variable.
38246 (grub_console_standard_color): Likewise.
38247 (grub_console_normal_color): Likewise.
38248 (grub_console_highlight_color): Likewise.
38249 (color_map): Likewise.
38250 (use_color): Likewise.
38251 (NUM_COLORS): New macro.
38252 (grub_ncurses_setcolorstate): Handle color properly.
38253 (grub_ncurses_setcolor): Don't change color here, just remember the
38254 settings, color will be set in grub_ncurses_setcolorstate.
38255 (grub_ncurses_getcolor): New function.
38256 (grub_ncurses_init): Initialize color pairs.
38257 (grub_ncurses_term): New member grub_ncurses_getcolor.
38258
9c2ff3ee 382592008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38260
9c2ff3ee 38261 High resolution timer support. Implemented for x86 CPUs using TSC.
38262 Extracted generic grub_millisleep() so it's linked in only as needed.
38263 This requires a Pentium compatible CPU; if the RDTSC instruction is
38264 not supported, then it falls back on the generic grub_get_time_ms()
38265 implementation that uses the machine's RTC.
38266
38267 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38268 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38269 `kern/generic/millisleep.c'.
38270
38271 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38272 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38273
38274 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38275 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38276
38277 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38278
38279 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38280 `kern/generic/millisleep.c'.
38281
38282 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38283
38284 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38285
38286 * kern/generic/rtc_get_time_ms.c: New file.
38287
38288 * kern/generic/millisleep.c: New file.
337f5a1e 38289
9c2ff3ee 38290 * kern/misc.c: Don't include
38291 <kern/time.h> anymore.
38292 (grub_millisleep_generic): Removed.
38293
38294 * commands/sleep.c (grub_interruptible_millisleep): Uses
38295 grub_get_time_ms() instead of grub_get_rtc().
38296
38297 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38298 function.
38299 (grub_cpu_is_cpuid_supported): New inline function.
38300 (grub_cpu_is_tsc_supported): New inline function.
38301 (grub_tsc_init): New function prototype.
38302 (grub_tsc_get_time_ms): New function prototype.
38303
38304 * kern/i386/tsc.c (grub_get_time_ms): New file.
38305
38306 * include/grub/time.h: Include <grub/types.h.
38307 (grub_millisleep_generic): Removed.
38308 (grub_get_time_ms): New prototype.
38309 (grub_install_get_time_ms): New prototype.
38310 (grub_rtc_get_time_ms): New prototype.
38311
38312 * kern/time.c (grub_get_time_ms): New function.
38313 (grub_install_get_time_ms): New function.
38314
38315 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38316 <grub/time.h> anymore.
38317 (grub_millisleep): Removed.
38318 (grub_machine_init): Call grub_tsc_init.
38319
38320 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38321 get_time_ms() implementation.
38322
38323 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38324 (ieee1275_get_time_ms): New function.
38325 (grub_machine_init): Install get_time_ms() implementation.
38326
38327 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38328 (grub_machine_init): Call grub_tsc_init().
38329 (grub_millisleep): Removed.
bf06a93f 38330
9c2ff3ee 38331 * kern/ieee1275/init.c (grub_millisleep): Removed.
38332 (grub_machine_init): Install ieee1275_get_time_ms()
38333 implementation.
38334 (ieee1275_get_time_ms): New function.
38335 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38336 real work.
38337
9ec92aaf 383382008-08-05 Marco Gerards <marco@gnu.org>
38339
38340 * disk/ata.c: Include <grub/pci.h>.
38341 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38342 (grub_ata_initialize): Rewritten.
38343 (grub_ata_device_initialize): New function.
38344
8d23f507 383452008-08-04 Pavel Roskin <proski@gnu.org>
38346
38347 * kern/main.c: Include grub/mm.h.
38348
5e15ee3d 383492008-08-04 Robert Millan <rmh@aybabtu.com>
38350
38351 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38352 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38353 corruption problem).
38354
a9053f8f 383552008-08-04 Robert Millan <rmh@aybabtu.com>
38356
38357 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38358 warnings introduced in my last commit.
38359
dd19c7d7 383602008-08-03 Robert Millan <rmh@aybabtu.com>
38361
38362 Make PCI available on all i386 architectures.
38363
38364 * include/grub/i386/pc/pci.h: Move from here ...
38365 * include/grub/i386/pci.h: ... to here.
38366
38367 * include/grub/i386/pc/pci.h: Remove.
38368 * include/grub/i386/efi/pci.h: Remove.
38369 * include/grub/x86_64/efi/pci.h: Remove.
38370
38371 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38372 `<grub/cpu/pci.h>'.
38373
38374 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38375 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38376 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38377
38378 * conf/i386-ieee1275.rmk: Likewise.
38379
e14a6184 383802008-08-03 Robert Millan <rmh@aybabtu.com>
38381
38382 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38383 (grub_console_setcursor): Make it possible to set cursor off.
38384
52768e37 383852008-08-03 Robert Millan <rmh@aybabtu.com>
38386
38387 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38388 of modules instead of assuming which platform provides what.
38389 * util/update-grub.in: Likewise.
38390
2d52f57f 383912008-08-03 Robert Millan <rmh@aybabtu.com>
38392
38393 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38394 instead of `grub_install_dos_part' to determine whether a drive needs
38395 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38396 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38397
2a5cd121 383982008-08-02 Robert Millan <rmh@aybabtu.com>
38399
38400 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38401
93808428 384022008-08-02 Robert Millan <rmh@aybabtu.com>
38403
38404 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38405 of informational grub_dprintf() calls.
38406
3bd0a12a 384072008-08-02 Robert Millan <rmh@aybabtu.com>
38408
38409 * disk/memdisk.c (memdisk_size): Don't initialize.
38410 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38411
38412 * include/grub/i386/pc/kernel.h
38413 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38414 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38415 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38416 (grub_arch_memdisk_size): Remove.
38417
38418 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38419 field (was only used to transfer a constant). Add `type' field to
38420 support multiple module types.
38421 (grub_module_iterate): New function.
38422
38423 * kern/device.c (grub_device_open): Do not hide error messages
38424 when grub_disk_open() fails. Use grub_print_error() instead.
38425
38426 * kern/i386/pc/init.c (grub_arch_modules_addr)
38427 (grub_arch_memdisk_size): Remove functions.
38428 (grub_arch_modules_addr): Return the module address in high memory
38429 (now that it isn't copied anymore).
38430
38431 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38432 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38433 decompression routine (grub_total_module_size already includes that
38434 now). Don't copy modules back to low memory.
38435
38436 * kern/main.c: Include `<grub/mm.h>'.
38437 (grub_load_modules): Split out (and use) ...
38438 (grub_module_iterate): ... this function, which iterates through
38439 module objects and runs a hook.
38440 Comment out grub_mm_init_region() call, as it would cause non-ELF
38441 modules to be overwritten.
38442
38443 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38444 the memdisk image in its own region, make it part of the module list.
38445 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38446 (main): Parse --memdisk|-m option, and pass user-provided path as
38447 parameter to generate_image().
38448 (add_segments): Pass `memdisk_path' down to load_modules().
38449 (load_modules): Embed memdisk image in module section when requested.
38450 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38451 `header.type' instead of `header.offset'.
38452
38453 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38454 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38455 (memdisk_mod_LDFLAGS): New variables.
38456 * conf/i386-coreboot.rmk: Likewise.
38457 * conf/i386-ieee1275.rmk: Likewise.
38458
a927cc73 384592008-08-02 Robert Millan <rmh@aybabtu.com>
38460
38461 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38462 (backward_relocator): New variables. Used to allocate and relocate
38463 the payload, respectively.
38464 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38465 address, install the appropriate relocator code in each bound of
a927cc73 38466 the payload, and set the entry point such that
38467 grub_multiboot_real_boot() will jump to one of them.
38468
38469 * kern/i386/loader.S (grub_multiboot_payload_size)
38470 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38471 (grub_multiboot_payload_entry_offset): New variables.
38472 (grub_multiboot_real_boot): Set cpu context to what the relocator
38473 expects, and jump to the relocator instead of the payload.
38474
38475 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38476 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38477 (grub_multiboot_payload_entry_offset): Export.
38478
b15d8a0c 384792008-08-01 Bean <bean123ch@gmail.com>
38480
38481 * normal/menu_entry.c (editor_getline): Don't return the original
38482 string as result, as it will be released by lexer once it has done
38483 using it.
38484
cdfb3d22 384852008-08-01 Robert Millan <rmh@aybabtu.com>
38486
38487 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38488 within menuentries, not before them.
38489 util/grub.d/10_hurd.in: Likewise.
38490
9175e93d 384912008-08-01 Bean <bean123ch@gmail.com>
38492
38493 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38494 (bufio_mod_SOURCES): New macro.
38495 (bufio_mod_CFLAGS): Likewise.
38496 (bufio_mod_LDFLAGS): Likewise.
38497
38498 * include/grub/bufio.h: New file.
38499
38500 * io/bufio.c: Likewise.
38501
38502 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38503 (grub_video_reader_png): Use grub_buffile_open to open file.
38504
38505 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38506 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38507
38508 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38509 (grub_video_reader_tga): Use grub_buffile_open to open file.
38510
38511 * font/manager.c: Include <grub/bufio.h>.
38512 (add_font): Use grub_buffile_open to open file.
38513
3d8383e7 385142008-07-31 Robert Millan <rmh@aybabtu.com>
38515
38516 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38517 ELF segments, use a macro for arbitrarily accessing any of them instead
38518 of preparing a pointer that allows access to one at a time.
38519 (grub_multiboot_load_elf64): Likewise.
38520
16e641b6 385212008-07-31 Bean <bean123ch@gmail.com>
38522
38523 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38524 GRUB_KERNEL_MACHINE_DATA_END.
38525
59198b72 385262008-07-30 Robert Millan <rmh@aybabtu.com>
38527
38528 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38529 Increase from 0x50 to 0x60.
38530 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38531 use UUIDs to identify the root drive for them. If that's not
38532 possible, abort.
38533 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38534 check, for cross-disk installs.
38535
ae88bca3 385362008-07-30 Robert Millan <rmh@aybabtu.com>
38537
38538 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38539 is non-empty, use it to set the `prefix' environment variable instead
38540 of the usual approach.
38541 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38542 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38543 environment variable instead of dummy make_install_device().
38544
38545 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38546 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38547 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38548
38549 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38550 New variable reference.
38551 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38552 New macro. Defines offset of `grub_prefix' within startup.S (relative
38553 to `start').
38554 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38555 section within startup.S (relative to `start').
38556 * include/grub/i386/coreboot/kernel.h: Likewise.
38557
38558 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38559 Overwrite grub_prefix with its contents, at the beginning of the
38560 first segment.
38561 (main): Understand -p|--prefix.
38562
14f41dd1 385632008-07-30 Robert Millan <rmh@aybabtu.com>
38564
38565 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38566
4ca049a3 385672008-07-30 Robert Millan <rmh@aybabtu.com>
38568
38569 * term/i386/pc/vga_text.c (grub_console_cls): Use
38570 grub_console_gotoxy() to go back to beginning of the screen.
38571 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38572
2921d337 385732008-07-29 Christian Franke <franke@computer.org>
38574
38575 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38576 Add conversion of emulated mount points on Cygwin.
38577
b609876d 385782008-07-29 Christian Franke <franke@computer.org>
38579
38580 * util/update-grub.in: Add a check for admin
38581 group on Cygwin.
38582 Remove old `grub.cfg.new' before creation.
38583 Add `-f' to `mv' to handle the different filesystem
38584 semantics of Windows.
38585
e93e4679 385862008-07-29 Bean <bean123ch@gmail.com>
38587
38588 * normal/main.c (get_line): Fix buffer overflow bug.
38589
41694fd0 385902008-07-28 Robert Millan <rmh@aybabtu.com>
38591
38592 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38593 (struct grub_apple_header): New struct. Describes the layout of
38594 the partmap header.
38595 (apple_partition_map_iterate): Check the header magic as well as the
38596 partition magic (which was already being checked).
38597
cfd0b4e6 385982008-07-28 Pavel Roskin <proski@gnu.org>
38599
38600 * genmk.rb: Add a warning to the beginning of the output that
38601 it's a generated file and should not be edited.
38602
93cce016 386032008-07-28 Robert Millan <rmh@aybabtu.com>
38604
38605 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38606 with the same number are found, just use issue a warning with
38607 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38608
cd1df915 386092008-07-27 Robert Millan <rmh@aybabtu.com>
38610
38611 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38612 information.
38613
b70a8427 386142008-07-27 Bean <bean123ch@gmail.com>
38615
38616 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38617 (grub_fat_find_dir): Ignore case when comparing filename.
38618
8f5e379f 386192008-07-27 Bean <bean123ch@gmail.com>
38620
38621 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38622 smallino, as it's more descriptive, and i8count can be confused with
38623 the other field count.
38624 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38625 inode type.
38626
a85cd5a0 386272008-07-27 Bean <bean123ch@gmail.com>
38628
38629 * commands/crc.c: New file.
38630
38631 * lib/crc.c: Likewise.
38632
38633 * include/grub/lib/crc.h: Likewise.
38634
38635 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38636
38637 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38638 (hexdump): Move this function to ...
38639
38640 * lib/hexdump.c: ... here.
38641
38642 * include/grub/hexdump.h: Renamed to ...
38643
38644 * include/grub/lib/hexdump.h: ... this.
38645
38646 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38647
38648 * util/grub-editenv.c: Likewise.
38649
38650 * include/envblk.h: Renamed to ...
38651
38652 * include/lib/envblk.h: ... this.
38653
38654 * util/envblk.c: Renamed to ...
38655
38656 * lib/envblk.c: ... this.
38657
38658 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38659 lib/hexdump.c.
38660 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38661 (pkglib_MODULES): Add crc.mod.
38662 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38663 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38664 (crc_mod_SOURCES): New macro.
38665 (crc_mod_CFLAGS): Likewise.
38666 (crc_mod_LDFLAGS): Likewise.
38667
38668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38669
38670 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38671
38672 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38673
38674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38675
38676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38677
c298def0 386782008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38679
38680 * commands/help.c: Include <grub/term.h>.
38681 (TERM_WIDTH): Removed. Updated all users.
38682
cc349fb3 386832008-07-27 Pavel Roskin <proski@gnu.org>
38684
38685 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38686 spurious warnings about a comment within a comment.
38687
9051607e 386882008-07-25 Robert Millan <rmh@aybabtu.com>
38689
38690 * util/getroot.c (find_root_device): Skip devices that match
38691 /dev/dm-[0-9]. This lets the real device be found for any type of
38692 abstraction (LVM, EVMS, RAID..).
38693 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38694 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38695 device is found first, find_root_device() will now skip it.
38696
01453bfc 386972008-07-24 Pavel Roskin <proski@gnu.org>
38698
38699 * include/grub/types.h: Use __builtin_bswap32() and
38700 __builtin_bswap64() with gcc 4.3 and newer.
38701
6af9849f 387022008-07-24 Christian Franke <franke@computer.org>
38703
3a0fa256 38704 * util/i386/pc/grub-install.in: If `--debug' is specified,
38705 pass `--verbose' to grub-setup.
38706 Abort script if make_system_path_relative_to_its_root() fails.
38707
7810e747 387082008-07-24 Bean <bean123ch@gmail.com>
38709
38710 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38711 variable `target_platform' should be `platform'.
38712
42290e17 387132008-07-24 Bean <bean123ch@gmail.com>
38714
51cc5193 38715 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38716 (grub_png_init_fixed_block): New function.
38717 (grub_png_decode_image_data): Handle fixed huffman code compression.
38718
2a8a80e4 387192008-07-24 Bean <bean123ch@gmail.com>
38720
38721 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38722 (grub_pe2elf_SOURCES): New macro.
38723 (CLEANFILES): Add grub-pe2elf.
38724
38725 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38726 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38727 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38728 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38729 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38730 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38731 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38732 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38733 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38734 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38735 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38736 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38737 (GRUB_PE32_DT_FUNCTION): Likewise.
38738 (GRUB_PE32_REL_I386_DIR32): Likewise.
38739 (GRUB_PE32_REL_I386_REL32): Likewise.
38740 (grub_pe32_symbol): New structure.
38741 (grub_pe32_reloc): Likewise.
38742
38743 * util/grub-pe2elf.c: New file.
38744
38745 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38746 start symbol in non pc platform.
38747
38748 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38749
38750 The following patches are from Christian Franke.
38751
38752 * include/grub/dl.h: Remove .previous, gas supports this only
38753 for ELF format.
38754
38755 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38756 Remove .type, gas supports this only for ELF format.
38757
38758 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38759 nullbytes in symbol table. This fixes an infinite loop if table is
38760 zero filled.
38761
38762 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38763 TARGET_IMG_LDFLAGS and EXEEXT.
38764
38765 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38766 TARGET_IMG_LDFLAGS_AC.
38767 (grub_CHECK_STACK_ARG_PROBE): New function.
38768
38769 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38770
38771 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38772
38773 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38774 to set TARGET_IMG_LD* accordingly.
38775 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38776 Add call to grub_CHECK_STACK_ARG_PROBE.
38777 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38778
38779 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38780
38781 * genmk.rb: Add EXEEXT to CLEANFILES.
38782
12ccdb75 387832008-07-23 Robert Millan <rmh@aybabtu.com>
38784
38785 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38786 define the codes for arrows and lines used for the menu).
38787 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38788 as well.
38789
38790 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38791 fonts, because the latter are too slow.
38792
18eeaf04 387932008-07-21 Bean <bean123ch@gmail.com>
38794
38795 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38796 a20. Run keyboard test last, as it will cause macbook to halt.
38797
b095e2ad 387982008-07-18 Pavel Roskin <proski@gnu.org>
38799
38800 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38801 load foreign architecture modules correctly anyway. Keep
38802 support for loading host architecture modules, whether we
38803 compile them or not.
38804
737feb35 388052008-07-17 Pavel Roskin <proski@gnu.org>
38806
3f4ce737 38807 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38808 change target_cpu. The compiler default can mismatch target_cpu
38809 in any case.
38810
4ad2d049 38811 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38812 * kern/efi/efi.c: Likewise.
38813
f6130a12 38814 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38815 target compiler is functional.
38816 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38817 are set up.
38818
58393a2d 38819 * configure.ac: Default to efi platform for x86_64-apple. Allow
38820 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38821 adjustments from the rest, only do them if target is not
38822 explicitly given. Merge other adjustments with the final sanity
38823 check. Remove an extraneous check for supported CPU. Be
38824 specific which CPU and which platform is not supported.
38825
737feb35 38826 * configure.ac: Default to pc platform for x86_64.
38827
546f966a 388282008-07-17 Robert Millan <rmh@aybabtu.com>
38829
38830 Partial LinuxBIOS -> Coreboot rename.
38831
38832 * conf/i386-linuxbios.rmk: Renamed to ...
38833 * conf/i386-coreboot.rmk: ... this.
38834 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38835 * configure.ac: Accept "coreboot" as input platform (but maintain
38836 compatibility with "linuxbios").
38837 * include/grub/i386/linuxbios: Renamed to ...
38838 * include/grub/i386/coreboot: ... this.
38839
20011694 388402008-07-17 Bean <bean123ch@gmail.com>
38841
38842 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38843 (appleldr_mod_SOURCE): New variable.
20011694 38844 (appleldr_mod_CFLAGS): Likewise.
38845 (appleldr_mod_LDFLAGS): Likewise.
38846 (pci_mod_SOURCES): Likewise.
38847 (pci_mod_CFLAGS): Likewise.
38848 (pci_mod_LDFLAGS): Likewise.
38849 (lspci_mod_SOURCES): Likewise.
38850 (lspci_mod_CFLAGS): Likewise.
38851 (lspci_mod_LDFLAGS): Likewise.
38852
38853 * conf/x86_64-efi.rmk: New file.
38854
38855 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38856 macro.
38857 (grub_efidisk_write): Likewise.
38858
38859 * include/efi/api.h (efi_call_0): New macro.
38860 (efi_call_1): Likewise.
38861 (efi_call_2): Likewise.
38862 (efi_call_3): Likewise.
38863 (efi_call_4): Likewise.
38864 (efi_call_5): Likewise.
38865 (efi_call_6): Likewise.
38866
38867 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38868 grub_rescue_cmd_chainloader.
38869
38870 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38871 (grub_pe32_optional_header): Change some fields based on i386 or
38872 x86_64 platform.
38873 (GRUB_PE32_PE32_MAGIC): Likewise.
38874
38875 * include/grub/efi/uga_draw.h: New file.
38876
38877 * include/grub/elf.h (STN_ABS): New constant.
38878 (R_X86_64_NONE): Relocation constant for x86_64.
38879 (R_X86_64_64): Likewise.
38880 (R_X86_64_PC32): Likewise.
38881 (R_X86_64_GOT32): Likewise.
38882 (R_X86_64_PLT32): Likewise.
38883 (R_X86_64_COPY): Likewise.
38884 (R_X86_64_GLOB_DAT): Likewise.
38885 (R_X86_64_JUMP_SLOT): Likewise.
38886 (R_X86_64_RELATIVE): Likewise.
38887 (R_X86_64_GOTPCREL): Likewise.
38888 (R_X86_64_32): Likewise.
38889 (R_X86_64_32S): Likewise.
38890 (R_X86_64_16): Likewise.
38891 (R_X86_64_PC16): Likewise.
38892 (R_X86_64_8): Likewise.
38893 (R_X86_64_PC8): Likewise.
38894
38895 * include/grub/i386/efi/pci.h: New file.
38896
38897 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38898 Change it value based on platform.
38899 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38900 (GRUB_E820_RAM): Likewise.
38901 (GRUB_E820_RESERVED): Likewise.
38902 (GRUB_E820_ACPI): Likewise.
38903 (GRUB_E820_NVS): Likewise.
38904 (GRUB_E820_EXEC_CODE): Likewise.
38905 (GRUB_E820_MAX_ENTRY): Likewise.
38906 (grub_e820_mmap): New structure.
38907 (linux_kernel_header): Change the efi field according to different
38908 kernel version, also field from linux_kernel_header.
38909
38910 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38911
38912 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38913 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38914 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38915 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38916 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38917 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38918 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38919 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38920 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38921 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38922
38923 * include/grub/x86_64/efi/kernel.h: New file.
38924
38925 * include/grub/x86_64/efi/loader.h: Likewise.
38926
38927 * include/grub/x86_64/efi/machine.h: Likewise.
38928
38929 * include/grub/x86_64/efi/pci.h: Likewise.
38930
38931 * include/grub/x86_64/efi/time.h: Likewise.
38932
38933 * include/grub/x86_64/linux.h: Likewise.
38934
38935 * include/grub/x86_64/setjmp.h: Likewise.
38936
38937 * include/grub/x86_64/time.h: Likewise.
38938
38939 * include/grub/x86_64/types.h: Likewise.
38940
38941 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38942 GRUB_TARGET_SIZEOF_VOID_P.
38943
38944 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38945 (grub_efi_locate_handle): Likewise.
38946 (grub_efi_open_protocol): Likewise.
38947 (grub_efi_set_text_mode): Likewise.
38948 (grub_efi_stall): Likewise.
38949 (grub_exit): Likewise.
38950 (grub_reboot): Likewise.
38951 (grub_halt): Likewise.
38952 (grub_efi_exit_boot_services): Likewise.
38953 (grub_get_rtc): Likewise.
38954
38955 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38956 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38957 (grub_efi_allocate_pages): Wrap efi calls.
38958 (grub_efi_free_pages): Wrap efi calls.
38959 (grub_efi_get_memory_map): Wrap efi calls.
38960
38961 * kern/x86_64/dl.c: New file.
38962
38963 * kern/x86_64/efi/callwrap.S: Likewise.
38964
38965 * kern/x86_64/efi/startup.S: Likewise.
38966
38967 * loader/efi/appleloader.c: Likewise.
38968
38969 * loader/efi/chainloader.c (cmdline): New variable.
38970 (grub_chainloader_unload): Wrap efi calls.
38971 (grub_chainloader_boot): Likewise.
38972 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38973 command line.
38974
38975 * loader/efi/chainloader_normal.c (chainloader_command):
38976 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38977 command line.
38978
38979 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38980 method.
38981 (grub_e820_add_region): New function.
38982 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38983 booting.
38984 (grub_find_video_card): New function.
38985 (grub_linux_setup_video): New function.
38986 (grub_rescue_cmd_linux): Probe for video information.
38987
38988 * normal/x86_64/setjmp.S: New file.
38989
38990 * term/efi/console.c (map_char): New function.
38991 (grub_console_putchar): Map unicode char.
38992 (grub_console_checkkey): Wrap efi calls.
38993 (grub_console_getkey): Likewise.
38994 (grub_console_getwh): Likewise.
38995 (grub_console_gotoxy): Likewise.
38996 (grub_console_cls): Likewise.
38997 (grub_console_setcolorstate): Likewise.
38998 (grub_console_setcursor): Likewise.
38999
39000 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39001
59652a20 390022008-07-16 Pavel Roskin <proski@gnu.org>
39003
ef294055 39004 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39005 format strings.
39006
59652a20 39007 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39008 pointer, not an integer. This fixes a warning and prevents
39009 precision loss on 64-bit systems.
39010 (relocate_addresses): Remove unneeded cast.
39011
afc3b5d7 390122008-07-15 Pavel Roskin <proski@gnu.org>
39013
506b2b3e 39014 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39015
62ead89c 39016 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39017
c4cd51d7 39018 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39019 Fix comparison between signed and unsigned.
39020
0d3d8f28 39021 * include/grub/i386/ieee1275/console.h: Declare
39022 grub_console_init() and grub_console_fini().
39023
8804b286 39024 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39025 It's empty and unused.
39026
ee01cf35 39027 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39028 beginning to avoid warnings with some compilers.
39029
afc3b5d7 39030 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39031 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39032
e4e8eaa5 390332008-07-14 Pavel Roskin <proski@gnu.org>
39034
407aceb4 39035 * kern/env.c (grub_register_variable_hook): Don't copy empty
39036 string, it leaks memory. Pass "" to grub_env_set(), it should
39037 handle constant strings.
39038
e4e8eaa5 39039 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39040 * commands/cmp.c (grub_cmd_cmp): Likewise.
39041 * kern/dl.c (grub_dl_flush_cache): Likewise.
39042 (grub_dl_load_core): Likewise.
39043 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39044 (grub_elf64_load_phdrs): Likewise.
39045
d4e2dad3 390462008-07-13 Pavel Roskin <proski@gnu.org>
39047
39048 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39049 between signed and unsigned.
39050 (LzmaEnc_Finish): Fix warning about an unused parameter.
39051
aa24b516 390522008-07-13 Bean <bean123ch@gmail.com>
39053
39054 * Makefile.in (enable_lzo): New rule.
39055
39056 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39057
39058 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39059
39060 * boot/i386/pc/lnxboot.S: #include <config.h>.
39061
39062 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39063 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39064
39065 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39066 compression algorithm according to configure macro.
39067
39068 * kern/i386/pc/startup.S (codestart): Likewise.
39069
39070 * kern/i386/pc/lzma_decode.S: New file.
39071
39072 * include/grub/lib/LzFind.h: Likewise.
39073
39074 * include/grub/lib/LzHash.h: Likewise.
39075
39076 * include/grub/lib/LzmaDec.h: Likewise.
39077
39078 * include/grub/lib/LzmaEnc.h: Likewise.
39079
39080 * include/grub/lib/LzmaTypes.h: Likewise.
39081
39082 * lib/LzFind.c: Likewise.
39083
39084 * lib/LzmaDec.c: Likewise.
39085
39086 * lib/LzmaEnc.c: Likewise.
39087
4ae821ac 390882008-07-13 Bean <bean123ch@gmail.com>
39089
39090 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39091 (grub_ext4_extent_header): New structure.
39092 (grub_ext4_extent): Likewise.
39093 (grub_ext4_extent_idx): Likewise.
39094 (grub_ext4_find_leaf): New function.
39095 (grub_ext2_read_block): Handle extents.
39096
9a745147 390972008-07-12 Robert Millan <rmh@aybabtu.com>
39098
39099 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39100
d49a4cf6 391012008-07-11 Robert Millan <rmh@aybabtu.com>
39102
39103 * util/grub.d/40_custom.in: New file. Example on how to add custom
39104 entries to /etc/grub.d.
39105 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39106 40_custom (implicitly, by merging all the grub.d rules).
39107
947414b4 391082008-07-11 Pavel Roskin <proski@gnu.org>
39109
0059cf6f 39110 * commands/read.c (grub_getline): Fix invalid memory access.
39111 Don't add newline to the variable value.
39112
947414b4 39113 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39114 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39115 (serial_hw_get_port): Check validity of the port number.
39116 (grub_cmd_serial): Check return value of serial_hw_get_port().
39117
62a02d00 391182008-07-07 Pavel Roskin <proski@gnu.org>
39119
39120 * boot/i386/pc/diskboot.S (notification_string): Replace
39121 "Loading kernel" with just "loading". This is shorter, less
39122 confusing and saves a few bytes for possible future changes.
39123
3e5581b0 391242008-07-05 Pavel Roskin <proski@gnu.org>
39125
ea387a48 39126 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39127 size for ATAPI devices, they are undefined. Output sector
39128 number in decimal form.
39129
3e5581b0 39130 * disk/ata.c: Use named constants for status bits.
39131
fdecb8fd 391322008-07-04 Pavel Roskin <proski@gnu.org>
39133
bcd35b90 39134 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39135 grub_addr_t before casting it to the void pointer to fix a
39136 warning. Non-addressable regions are discarded earlier.
39137 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39138 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39139 (check_signature): Don't shadow table_header.
39140 (grub_linuxbios_table_iterate): Cast numeric constants to
39141 grub_linuxbios_table_header_t.
39142 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39143 grub_stop().
39144
af58ab3d 39145 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39146 prevent warnings.
39147
1759aa57 39148 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39149 pointer, which can cause warnings. Support 64-bit addresses.
39150
fdecb8fd 39151 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39152 of sizeof(long). This fixes PowerPC image generation on x86_64.
39153
8516d2a8 391542008-07-04 Robert Millan <rmh@aybabtu.com>
39155
39156 This fixes a performance issue when pc & gpt partmap iterators
39157 didn't abort iteration even after our hook found what it was
fe987087 39158 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39159
39160 Some callers relied on previous buggy behaviour, since they would
34c44600 39161 raise an error when their own hooks caused early abortion of its
8516d2a8 39162 iteration.
39163
39164 * kern/device.c (grub_device_open): Improve error message.
39165 * disk/lvm.c (grub_lvm_open): Likewise.
39166 * disk/raid.c (grub_raid_open): Likewise.
39167
39168 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39169 when hook requests it, independently of grub_errno.
39170 (pc_partition_map_probe): Do not fail when find_func() caused
39171 early abortion of pc_partition_map_iterate().
39172
39173 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39174 when hook requests it, independently of grub_errno.
39175 (gpt_partition_map_probe): Do not fail when find_func() caused
39176 early abortion of gpt_partition_map_iterate().
39177
39178 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39179 when hook requests it, independently of grub_errno. Do not fail when
39180 part_map_iterate_hook() caused early abortion of p->iterate().
39181
39182 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39183 when grub_partition_iterate() returned with non-zero.
39184
277d0de9 391852008-07-03 Pavel Roskin <proski@gnu.org>
39186
39187 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39188 like we do in grub_ata_pio_read().
39189 (grub_ata_readwrite): Always write individual sectors. Fix the
39190 sector count for the remainder.
39191 (grub_ata_write): Enable writing to ATA devices. Correctly
39192 report error for ATAPI devices.
39193
d4c9b428 391942008-07-02 Pavel Roskin <proski@gnu.org>
39195
e43fc690 39196 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39197 warning.
39198
f707af42 39199 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39200 for every read sector, we already increment it for the whole
39201 batch. This fixes reading more than 256 sectors at once.
39202
11e16b15 39203 * util/grub-editenv.c (cmd_info): Cast argument to long
39204 explicitly. ptrdiff_t reduces to int on i386.
39205
cbabfdd4 39206 * util/grub-editenv.c (main): Be specific which parameter is
39207 missing.
39208
b8fbce0a 39209 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39210 (memdisk): Make memdisk_orig_addr a pointer.
39211
c9c8e606 39212 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39213 for file offsets, use grub_off_t instead. Fix printf format
39214 warnings.
39215
ca62e598 39216 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39217 there. Real unexpected warnings should not drown in the noise
39218 about known problems.
39219
ce8d1766 39220 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39221 grub_disk_addr_t for memory addresses.
39222
00c7a56a 39223 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39224 explicitly to fix a warning.
39225
08d3ef09 39226 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39227
cb71ba20 39228 * Makefile.in (MODULE_LDFLAGS): New variable.
39229 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39230 the linker accepts --build-id=none.
39231 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39232 MODULE_LDFLAGS.
39233 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39234
d4c9b428 39235 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39236 those in Linux XFS code. Provide a way to access 64-bit parent
39237 inode.
39238 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39239 the end of struct grub_xfs_dir_header.
39240
d4156eee 392412008-07-02 Bean <bean123ch@gmail.com>
39242
39243 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39244 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39245 and GRUB_IEEE1275_FLAG_NO_ANSI.
39246
39247 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39248 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39249 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39250
39251 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39252 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39253
39254 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39255 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39256
39257 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39258 esc sequence on non ANSI terminal.
39259 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39260
39261 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39262 beginning of file.
39263
2270f77b 392642008-07-02 Bean <bean123ch@gmail.com>
39265
39266 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39267 (grub_editenv_SOURCES): New variable.
39268 (pkglib_MODULES): Add loadenv.mod.
39269 (loadenv_mod_SOURCES): New variable.
39270 (loadenv_mod_CFLAGS): Likewise.
39271 (loadenv_mod_LDFLAGS): Likewise.
39272
39273 * include/grub/envblk.h: New file.
39274
39275 * util/envblk.c: New file.
39276
39277 * util/grub-editenv.c: New file.
39278
39279 * commands/loadenv.c: New file.
39280
0e9e51ec 392812008-07-01 Pavel Roskin <proski@gnu.org>
39282
d89b7634 39283 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39284 not unsigned char. This fixes warnings and is consistent with
39285 other tags.
39286
bf1835b1 39287 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39288
8222a04b 39289 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39290
6a42d99d 39291 * term/tparm.c (analyze): Always set *popcount.
39292
10b159d1 39293 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39294 cast to fix a warning.
39295
b8789f6c 39296 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39297 cast to suppress a warning.
39298
29d7e38a 39299 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39300 grub_fshelp_read_file() expects.
39301
f341f669 39302 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39303 write uuid as a 32-bit value in CPU byte order, so declare and
39304 use it as such.
39305
0e9e51ec 39306 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39307 long if the format specifier expects it.
39308 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39309 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39310 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39311 long to fix a warning.
39312 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39313 grub_dprintf() arguments to fix warnings.
39314
3aefa857 393152008-06-30 Pavel Roskin <proski@gnu.org>
39316
56c7668b 39317 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39318 install_bsd_part immediately before core.img is embedded or
39319 modified on disk. This fixes core.img verification if core.img
39320 cannot be embedded.
39321
3aefa857 39322 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39323 core_path to calculate the blocklist.
39324 Patch from Javier Martín <lordhabbit@gmail.com>
39325
5444088d 393262008-06-29 Robert Millan <rmh@aybabtu.com>
39327
39328 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39329 block to disk block.
39330 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39331 Patch from Niels Böhm <bitbucket@arcor.de>
39332
674835c8 393332008-06-29 Robert Millan <rmh@aybabtu.com>
39334
39335 * util/update-grub_lib.in (font_path): Search for fonts in
39336 /boot/grub first, which is more likely to be readable (we aren't
39337 deciding where fonts live, just looking for them).
39338
f527dbc8 393392008-06-26 Pavel Roskin <proski@gnu.org>
39340
6c2d8df6 39341 * util/biosdisk.c (read_device_map): Don't leave dead map
39342 entries for devices failing stat() check.
39343
f527dbc8 39344 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39345 core_path_dev for the core.img path on the target device.
39346
aebe3d13 393472008-06-26 Robert Millan <rmh@aybabtu.com>
39348
39349 * disk/fs_uuid.c: New file.
39350 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39351 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39352 (fs_uuid_mod_LDFLAGS): New variables.
39353 * include/grub/disk.h (grub_disk_dev_id): Add
39354 `GRUB_DISK_DEVICE_UUID_ID'.
39355 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39356 implement iterate().
39357
37aaf354 393582008-06-26 Robert Millan <rmh@aybabtu.com>
39359
39360 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39361 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39362 Linux image includes no initrd.
39363
25ff262a 393642008-06-21 Javier Martín <lordhabbit@gmail.com>
39365
39366 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39367 call to resolve the core image location that effectively appended the
39368 name twice.
39369
76a2bd44 393702008-06-21 Robert Millan <rmh@aybabtu.com>
39371
39372 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39373 call from here ...
39374
39375 * util/grub.d/10_hurd.in: ... to here ...
39376 * util/grub.d/10_linux.in: ... and here.
39377
650e1c79 393782008-06-19 Robert Millan <rmh@aybabtu.com>
39379
fe987087 39380 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39381 after it has been set by grub_machine_set_prefix().
39382
6ce63911 393832008-06-19 Robert Millan <rmh@aybabtu.com>
39384
39385 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39386 search result when not saving to variable, not the other way around.
39387 When saving to variable, abort iteration as soon as a match is found.
39388
73940cec 393892008-06-19 Robert Millan <rmh@aybabtu.com>
39390
39391 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39392 check for partition that provides /boot/grub. Its logic is flawed,
39393 as it prevents prepare_grub_to_access_device() from being called
39394 multiple times.
39395
3c62a39d 393962008-06-19 Robert Millan <rmh@aybabtu.com>
39397
39398 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39399 "insmod" command directly when abstraction modules are needed,
fe987087 39400 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39401 since it had already been processed).
39402
47395a42 394032008-06-19 Pavel Roskin <proski@gnu.org>
39404
39405 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39406 changed. This is needed in case GRUB_LIBDIR changes.
39407 * conf/i386-ieee1275.rmk: Likewise.
39408 * conf/i386-linuxbios.rmk: Likewise.
39409 * conf/i386-pc.rmk: Likewise.
39410 * conf/powerpc-ieee1275.rmk: Likewise.
39411
a145ac2d 394122008-06-18 Pavel Roskin <proski@gnu.org>
39413
39414 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39415 kernel_elf_symlist.c to symlist.c for consistency with other
39416 architectures. Update all users.
39417 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39418
7847c51e 394192008-06-18 Robert Millan <rmh@aybabtu.com>
39420
39421 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39422 it in prefix.
39423
39424 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39425 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39426 a RAID device, run setup() for all members independently on whether
39427 LVM abstraction is being used.
39428 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39429 If grub-mkimage has set `*install_dos_part == -2', don't override this
39430 value.
39431 Perform *install_dos_part adjustments independently on whether
39432 we're embedding or not.
39433 Clarify error message when image is too big for embedding.
39434 Remove duplicate *install_dos_part stanza.
39435
b23e5644 394362008-06-17 Robert Millan <rmh@aybabtu.com>
39437
39438 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39439 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39440 variables.
39441 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39442 values in grub_ofconsole_normal_color and
39443 grub_ofconsole_highlight_color (they're not directly related to
39444 background and foreground).
39445 (grub_ofconsole_setcolorstate): Extract background and foreground
39446 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39447
0aac2f79 394482008-06-17 Robert Millan <rmh@aybabtu.com>
39449
39450 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39451 /boot/grub for the check in last commit, not /boot (they could be
39452 different partitions).
39453
3cca7ef3 394542008-06-16 Robert Millan <rmh@aybabtu.com>
39455
39456 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39457 asked to setup access for the same partition that provides /boot,
39458 don't bother using UUIDs since our root already has the value we
39459 want.
39460
347396d8 394612008-06-16 Robert Millan <rmh@aybabtu.com>
39462
39463 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39464 I2O devices.
39465 Patch from Sven Mueller <sven@debian.org>.
39466
991477f8 394672008-06-16 Robert Millan <rmh@aybabtu.com>
39468
39469 * util/update-grub.in: Check for $EUID instead of $UID.
39470 Reported by Vincent Zweije.
39471
d31a32a1 394722008-06-16 Bean <bean123ch@gmail.com>
39473
fe987087 39474 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39475 (grub_ext2_read_block): Likewise.
39476 (grub_ext2_read_inode): Likewise.
39477 (grub_ext2_mount): Likewise.
39478 (grub_ext2_close): Likewise.
39479 (grub_ext3_get_journal): Removed.
39480
fe987087 39481 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39482 (grub_reiserfs_read_symlink): Likewise.
39483 (grub_reiserfs_mount): Likewise.
39484 (grub_reiserfs_open): Likewise.
39485 (grub_reiserfs_read): Likewise.
39486 (grub_reiserfs_close): Likewise.
39487 (grub_reiserfs_get_journal): Removed.
39488
39489 * fs/fshelp.c (grub_fshelp_read): Removed.
39490 (grub_fshelp_map_block): Likewise.
39491
39492 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39493 (grub_fshelp_journal): Likewise.
39494 (grub_fshelp_read): Likewise.
39495 (grub_fshelp_map_block): Likewise.
39496
3540a760 394972008-06-16 Pavel Roskin <proski@gnu.org>
39498
39499 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39500 floating point anymore.
39501 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39502
95614c84 395032008-06-15 Pavel Roskin <proski@gnu.org>
39504
39505 * commands/ls.c (grub_ls_list_files): Use integer calculations
39506 for human readable format, avoid floating point use.
39507 * kern/misc.c (grub_ftoa): Remove.
39508 (grub_vsprintf): Remove floating point support.
39509
50465dd6 395102008-06-15 Robert Millan <rmh@aybabtu.com>
39511
fe6b695a 39512 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39513 devices.
39514 Reported by Max Vozeler.
39515
a9207284 395162008-06-15 Robert Millan <rmh@aybabtu.com>
39517
39518 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39519 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39520 skipped later.
39521 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39522 the beginning of the prefix.
39523
39524 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39525 It is assumed that if we have a memdisk, grub-mkimage has set
39526 grub_prefix to include the "(memdisk)" drive in it.
39527
a7cbd45a 395282008-06-15 Robert Millan <rmh@aybabtu.com>
39529
39530 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39531 Initialize keyboard controller after registering the terminal, so that
39532 grub_printf() can be called from grub_keyboard_controller_init().
39533
21cf716a 395342008-06-15 Robert Millan <rmh@aybabtu.com>
39535
39536 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39537 extent-btree which is written as big endian on disk.
39538 Reported by Alain Greppin <al@chilibi.org>.
39539
23a64d8e 395402008-06-14 Robert Millan <rmh@aybabtu.com>
39541
39542 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39543 * util/i386/pc/grub-install.in (modules): Likewise.
39544
d687651c 395452008-06-13 Pavel Roskin <proski@gnu.org>
39546
39547 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39548
dfe9ddd4 395492008-06-13 Bean <bean123ch@gmail.com>
39550
39551 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39552
39553 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39554
39555 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39556 to indicate sparse block.
39557
16ae7781 395582008-06-12 Pavel Roskin <proski@gnu.org>
39559
e6d1a308 39560 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39561 number, grub_fshelp_read() does it for us.
39562
16ae7781 39563 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39564 linear disk read with journal translation.
39565 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39566 * include/grub/fshelp.h: Declare grub_fshelp_read().
39567
40fd3a2b 395682008-06-09 Pavel Roskin <proski@gnu.org>
39569
39570 * fs/minix.c (grub_minix_mount): Handle error reading
39571 superblock.
39572
f5679726 395732008-06-08 Robert Millan <rmh@aybabtu.com>
39574
39575 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39576 don't append the RAID prefix afterwards.
39577 Reported by Clint Adams.
39578
ce525529 395792008-06-08 Robert Millan <rmh@aybabtu.com>
39580
39581 Based on description from Pavel:
39582 * kern/disk.c (grub_disk_check_range): Rename to ...
39583 (grub_disk_adjust_range): ... this. Add a comment explaining the
39584 tasks performed by this function.
39585
ad4936a0 395862008-06-08 Robert Millan <rmh@aybabtu.com>
39587
39588 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39589 `num_serial' (for consistency with other variables).
39590 (struct grub_ntfs_data): Add `uuid' member.
39591 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39592 (grub_ntfs_uuid): New function.
39593 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39594
dc20b0f9 395952008-06-07 Pavel Roskin <proski@gnu.org>
39596
39597 * util/biosdisk.c (open_device): Revert last change to the
39598 function, it broke installation. The sector needs to be
39599 different dependent on which device is opened.
39600
c5e3cfba 396012008-06-06 Robert Millan <rmh@aybabtu.com>
39602
39603 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39604 rest of GRUB, and breakage doesn't happen if its value were modified.
39605
39606 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39607 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39608 a constant (same value).
39609 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39610 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39611
26a1f8c4 396122008-06-06 Robert Millan <rmh@aybabtu.com>
39613
39614 * util/biosdisk.c (open_device): Do not modify sector offset when
39615 accessing a partition. kern/disk.c already handles this for us.
39616
25d6b327 396172008-06-06 Robert Millan <rmh@aybabtu.com>
39618
39619 * util/grub-emu.c (grub_machine_init): Move code in this function from
39620 here ...
39621 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39622 segfault in case grub_printf() is called).
39623
39624 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39625 grub_probe. Update all users not to explicitly add it again.
39626 (grub_device): New variable; contains corresponding device for grubdir.
39627 (fs_module, partmap_module, devabstraction_module): Pass
39628 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39629 every time.
39630
9ece62fb 396312008-06-05 Robert Millan <rmh@aybabtu.com>
39632
39633 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39634 is found, print it (same layout as with labels).
39635
1ad36d37 396362008-06-04 Robert Millan <rmh@aybabtu.com>
39637
39638 * util/biosdisk.c (get_drive): Rename to ...
39639 (find_grub_drive): ... this. Update all users.
39640
39641 (get_os_disk): Rename to ...
39642 (convert_system_partition_to_system_disk): ... this. Update all users.
39643
39644 (find_drive): Rename to ...
39645 (find_system_device): ... this. Update all users.
39646
e6a30859 396472008-06-04 Robert Millan <rmh@aybabtu.com>
39648
39649 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39650 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39651 (make_device_map): Likewise.
39652
00c108a4 396532008-06-01 Robert Millan <rmh@aybabtu.com>
39654
39655 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39656 before dereferencing it.
39657
39658 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39659 union with fat12/fat16-specific ones. Add some new fields, including
39660 `num_serial' for both versions.
39661 (struct grub_fat_data): Add `uuid' member.
39662 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39663 names. Initialize `data->uuid' using `num_serial'.
39664 (grub_fat_uuid): New function.
39665 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39666
39667 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39668 (grub_reiserfs_uuid): New function.
39669 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39670 member.
39671
39672 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39673 (grub_xfs_uuid): New function.
39674 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39675
1385c5bb 396762008-06-01 Robert Millan <rmh@aybabtu.com>
39677
39678 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39679 code that is backward compatible with pre-uuid search command.
39680
c682dfd7 396812008-05-31 Robert Millan <rmh@aybabtu.com>
39682
39683 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39684 floppies after everything else, to ensure floppy drive isn't accessed
39685 unnecessarily (patch from Bean).
39686
b7db5d47 396872008-05-31 Robert Millan <rmh@aybabtu.com>
39688
39689 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39690 not print device names when we were asked to set a variable.
39691
6e037aa9 396922008-05-31 Robert Millan <rmh@aybabtu.com>
39693
39694 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39695 using "cursor-on" and "cursor-off" commands (understood at least by
39696 the Open Firmware flavour on OLPC).
39697
41305bc8 396982008-05-31 Michael Gorven <michael@gorven.za.net>
39699
39700 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39701 on and off sequences.
39702
69ba137e 397032008-05-31 Robert Millan <rmh@aybabtu.com>
39704
39705 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39706 * util/update-grub.in: Likewise.
39707
520ae21b 397082008-05-30 Pavel Roskin <proski@gnu.org>
39709
39710 * util/biosdisk.c (linux_find_partition): Simplify logic and
39711 make the code more universal. Keep special processing for
39712 devfs, but use a simple rule for all other devices. If the
39713 device ends with a number, append 'p' and the partition number.
39714 Otherwise, append only the partition number.
39715
5786569b 397162008-05-30 Robert Millan <rmh@aybabtu.com>
39717
39718 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39719 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39720 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39721 the `root' parameter to Linux.
39722
51500452 397232008-05-30 Robert Millan <rmh@aybabtu.com>
39724
39725 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39726 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39727 --fs_uuid with --fs-uuid.
39728 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39729 all filesystems support them).
39730
811d3878 397312008-05-30 Robert Millan <rmh@aybabtu.com>
39732
39733 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39734 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39735
cab63c95 397362008-05-30 Robert Millan <rmh@aybabtu.com>
39737
39738 * util/grub.d/00_header.in: Remove obsolete comment referencing
39739 convert_system_path_to_grub_path().
39740 * util/update-grub.in: Likewise.
39741 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39742 (convert_system_path_to_grub_path): Add a warning message explaining
39743 that this function is deprecated. Rely on is_path_readable_by_grub()
39744 for the readability checks.
39745 (font_path): Use is_path_readable_by_grub() for the readability
39746 check rather than convert_system_path_to_grub_path().
39747
972e2f7a 397482008-05-30 Robert Millan <rmh@aybabtu.com>
39749
39750 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39751 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39752 converting it first.
39753 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39754 grub.cfg for access to font file, and afterwards call it again to set
39755 the root device.
39756
62191274 397572008-05-30 Robert Millan <rmh@aybabtu.com>
39758
39759 * commands/search.c (options): Add --fs_uuid option.
39760 (search_fs_uuid): New function.
39761 (grub_cmd_search): Fix --set argument passing.
39762 Use search_fs_uuid() when requested via --fs_uuid.
39763 (grub_search_init): Update help message.
39764 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39765 and redeclare it as an array of 16-bit words.
39766 (grub_ext2_uuid): New function.
39767 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39768 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39769 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39770 (GRUB_DEVICE_BOOT_UUID): New variables.
39771 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39772 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39773 whenever possible.
39774 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39775 just assume `root' variable has the right value.
39776 * util/grub.d/10_linux.in: Likewise.
39777 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39778 via PRINT_FS_UUID.
39779 (main): Recognise `-t fs_uuid' argument.
39780
01b73ec8 397812008-05-30 Robert Millan <rmh@aybabtu.com>
39782
39783 * util/biosdisk.c (map): Redefine structure to hold information
39784 about GRUB drive name.
fe6b695a 39785 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39786 drive names.
39787 (call_hook): Remove.
39788 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39789 member. Assume drive has partitions.
39790 (grub_util_biosdisk_open): Access device names via `.device' struct
39791 member.
39792 (open_device): Likewise.
39793 (find_drive): Likewise.
39794 (read_device_map): Adjust map[] usage to match the new struct
39795 definition. Don't check for duplicates (still possible, but not cheap
39796 anymore).
39797 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39798 (make_device_name): Remove assumption of BIOS-like drive names.
39799
22f16596 398002008-05-30 Pavel Roskin <proski@gnu.org>
39801
39802 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39803 compiling execute.c doesn't need grub_script.tab.h anymore.
39804 (normal/command.c_DEPENDENCIES): Likewise.
39805 (normal/function.c_DEPENDENCIES): Likewise.
39806 * conf/i386-ieee1275.rmk: Likewise.
39807 * conf/i386-linuxbios.rmk: Likewise.
39808 * conf/i386-pc.rmk: Likewise.
39809 * conf/powerpc-ieee1275.rmk: Likewise.
39810 * conf/sparc64-ieee1275.rmk: Likewise.
39811
528ad8f2 398122008-05-29 Pavel Roskin <proski@gnu.org>
39813
d1dff95d 39814 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39815 when scanning metadata for volume group name.
39816
528ad8f2 39817 * include/grub/script.h: Don't include grub_script.tab.h. It's
39818 a generated file, which may only be included from the files with
39819 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39820 use union YYSTYPE, as the later allows forward declaration.
39821 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39822
47248e08 398232008-05-29 Robert Millan <rmh@aybabtu.com>
39824
39825 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39826 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39827 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39828 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39829 scan codes.
39830
ee632529 398312008-05-29 Robert Millan <rmh@aybabtu.com>
39832
39833 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39834 control key combinations.
39835
eee96e08 398362008-05-29 Robert Millan <rmh@aybabtu.com>
39837
39838 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39839 * util/ieee1275/grub-install.in: ... to here.
39840 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39841 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39842 (grub_install_SOURCES): Likewise.
39843
da9a6a94 398442008-05-29 Robert Millan <rmh@aybabtu.com>
39845
39846 * fs/affs.c: Update copyright year.
39847 * fs/ext2.c: Likewise.
39848 * fs/fshelp.c: Likewise.
39849 * fs/hfsplus.c: Likewise.
39850 * fs/ntfs.c: Likewise.
39851 * fs/xfs.c: Likewise.
39852 * include/grub/fshelp.h: Likewise.
39853 * util/grub-mkdevicemap.c: Likewise.
39854
12e65f3a 398552008-05-28 Robert Millan <rmh@aybabtu.com>
39856
39857 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39858 might need to be fatfs to support some firmware implementations
39859 (e.g. OFW or EFI).
39860
23023641 398612008-05-28 Robert Millan <rmh@aybabtu.com>
39862
39863 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39864 devices.
39865 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39866 (make_device_map): Likewise.
39867
887d2619 398682008-05-20 Bean <bean123ch@gmail.com>
39869
39870 * fs/fshelp.c (grub_fshelp_map_block): New function.
39871 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39872 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39873
39874 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39875 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39876 (grub_fshelp_journal): New structure.
39877 (grub_fshelp_map_block): New function prototype.
39878 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39879 (grub_fshelp_map_block): Likewise.
39880
39881 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39882 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39883 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39884 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39885 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39886 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39887 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39888 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39889 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39890 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39891 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39892 (grub_ext2_sblock): New members for journal support.
39893 (grub_ext3_journal_header): New structure.
39894 (grub_ext3_journal_revoke_header): Likewise.
39895 (grub_ext3_journal_block_tag): Likewise.
39896 (grub_ext3_journal_sblock): Likewise.
39897 (grub_fshelp_node): New members logfile and journal.
39898 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39899 grub_fshelp_map_block to get real block number.
39900 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39901 number.
39902 (grub_ext2_read_inode): Likewise.
39903 (grub_ext3_get_journal): New function.
39904 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39905 (grub_ext2_close): Release memory used by journal.
39906
39907 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39908 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39909 (grub_reiserfs_transaction_header): Renamed to
39910 grub_reiserfs_description_block, replace field data with real_blocks.
39911 (grub_reiserfs_commit_block): New structure.
39912 (grub_reiserfs_data): New member journal.
39913 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39914 number.
39915 (grub_reiserfs_read_symlink): Likewise.
39916 (grub_reiserfs_iterate_dir): Likewise.
39917 (grub_reiserfs_open): Likewise.
39918 (grub_reiserfs_read): Likewise.
39919 (grub_reiserfs_get_journal): New function.
39920 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39921 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39922 using grub_reiserfs_get_journal.
39923 (grub_reiserfs_close): Release memory used by journal.
39924
39925 * fs/affs.c (grub_affs_read_block): Change block type to
39926 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39927
39928 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39929
39930 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39931
39932 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39933
39934 * fs/udf.c (grub_udf_read_block): Change block type to
39935 grub_disk_addr_t. Use type cast to avoid warning.
39936
39937 * fs/xfs.c (grub_xfs_read_block): Likewise.
39938
b7c6bed5 399392008-05-16 Christian Franke <franke@computer.org>
39940
39941 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39942 to ensure that break with ESC will always work.
39943 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39944 Remove ESC from keyboard queue.
39945
eedf167f 399462008-05-16 Christian Franke <franke@computer.org>
39947
39948 * util/biosdisk.c: [__CYGWIN__] Add includes.
39949 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39950 (get_os_disk): Move variable declarations to OS specific
39951 parts to avoid warning.
39952 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39953 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39954 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39955 Cygwin.
39956 * util/getroot.c: [__CYGWIN__] Add includes.
39957 (strip_extra_slashes): Fix "/" case.
39958 [__CYGWIN__] (get_win32_path): New function.
39959 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39960 [__CYGWIN__] (find_root_device): Disable.
39961 [__CYGWIN__] (get_bootsec_serial): New function.
39962 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39963 [__linux__] (grub_guess_root_device): Add early returns to simplify
39964 structure.
39965 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39966 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39967 check for Linux only.
39968
a079699e 399692008-05-15 Bean <bean123ch@gmail.com>
39970
39971 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39972 keyboard hang problem in apple's intel mac.
39973
1cf4059a 399742008-05-09 Robert Millan <rmh@aybabtu.com>
39975
39976 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39977 devices.
39978 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39979 (make_device_map): Likewise.
39980 Reported by Aurelien Jarno <aurel32@debian.org>
39981
ed759390 399822008-05-07 Ian Campbell <ijc@hellion.org.uk>
39983
39984 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39985 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39986 (make_device_map): Output entries for xvd type disks.
39987
b56c4eaa 399882008-05-07 Robert Millan <rmh@aybabtu.com>
39989
39990 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39991 devices.
39992 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39993 (make_device_map): Likewise.
39994 Reported by Roland Dreier <rdreier@cisco.com>
39995
7f8866ed 399962008-05-07 Robert Millan <rmh@aybabtu.com>
39997
39998 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39999 grub_strstr() call. Correct a few mistakes in failure path handling.
40000
b0346e0f 400012008-05-06 Robert Millan <rmh@aybabtu.com>
40002
40003 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40004 Do not print a trailing slash (therefore, the root directory is an
40005 empty string).
40006 (convert_system_path_to_grub_path): Do not remove trailing slash
40007 from make_system_path_relative_to_its_root() output.
40008
40009 * util/i386/pc/grub-install.in: Add trailing slash to output from
40010 make_system_path_relative_to_its_root().
40011
6cf12cbd 400122008-05-06 Robert Millan <rmh@aybabtu.com>
40013
40014 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40015 ensures that output lines aren't intermangled with those sent to
40016 stderr (via grub_util_info()).
40017 * util/grub-probe.c (grub_refresh): Likewise.
40018 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40019
0fbb3117 400202008-05-05 Christian Franke <franke@computer.org>
40021
40022 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40023 Add Cygwin device names.
40024 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40025 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40026 (check_device): Return error instead of success on empty name.
40027 (make_device_map): Move label inside linux specific code to
40028 prevent compiler warning.
40029
8124cdb7 400302008-04-30 Robert Millan <rmh@aybabtu.com>
40031
40032 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40033 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40034 first boot option.
40035 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40036
094c01d0 400372008-04-29 Robert Millan <rmh@aybabtu.com>
40038
40039 * docs/grub.cfg: New file (example GRUB configuration).
40040
f4b1fc02 400412008-04-26 Robert Millan <rmh@aybabtu.com>
40042
329ce2a5 40043 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40044 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40045 and `disk/ieee1275/nand.c'.
f4b1fc02 40046
25f16ec1 400472008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40048
25f16ec1 40049 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40050 i386-linuxbios.
40051
40052 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40053 change the buffer size to 4096 for cdrom device.
40054
40055 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40056 and nand.mod.
40057 (_linux_mod_SOURCES): New variable.
40058 (_linux_mod_CFLAGS): Likewise.
40059 (_linux_mod_LDFLAGS): Likewise.
40060 (linux_mod_SOURCES): Likewise.
40061 (linux_mod_CFLAGS): Likewise.
40062 (linux_mod_LDFLAGS): Likewise.
40063 (nand_mod_SOURCES): Likewise.
40064 (nand_mod_CFLAGS): Likewise.
40065 (nand_mod_LDFLAGS): Likewise.
40066
40067 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40068 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40069 type property. (nand device in olpc don't have this property)
40070
40071 * include/grub/disk.h (grub_disk_dev_id): New macro
40072 GRUB_DISK_DEVICE_NAND_ID.
40073
40074 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40075 function prototype.
40076 (grub_rescue_cmd_initrd): Likewise.
40077
40078 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40079 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40080 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40081
25f16ec1 40082 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40083 GRUB_MACHINE_IEEE1275 is defined.
40084
40085 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40086 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40087
40088 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40089 on nested function heap_init.
40090 (grub_upper_mem): New variable for i386-ieee1275.
40091 (grub_get_extended_memory): New function for i386-ieee1275.
40092 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40093
40094 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40095 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40096 property.
f19dbdb7 40097
25f16ec1 40098 * loader/i386/ieee1275/linux.c: New file.
40099
40100 * loader/i386/ieee1275/linux_normal.c: New file.
40101
40102 * disk/ieee1275/nand.c: New file.
40103
e89d61e9 401042008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40105
40106 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40107 value.
40108 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40109
602566f6 401102008-04-18 Robert Millan <rmh@aybabtu.com>
40111
40112 Restructures early code path on ieee1275 to unify grub_main() as
40113 the first C function that is executed in every platform.
40114
40115 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40116 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40117 cmain().
40118 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40119 * kern/ieee1275/cmain.c (cmain): Rename to ...
40120 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40121 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40122 at the beginning.
40123
57490c2b 401242008-04-18 Robert Millan <rmh@aybabtu.com>
40125
40126 * util/update-grub.in: Fix syntax error when setting
40127 `GRUB_PRELOAD_MODULES'.
40128 Reported by Stephane Chazelas <stephane@artesyncp.com>
40129
1977517d 401302008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40131
40132 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40133 section into account, newer toolchains generate unique build ids
40134 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40135 we want build ids to be preserved
1977517d 40136 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40137 far from other sections don't cause the raw binary images grow
40138 size
40139
bfb1f1a2 401402008-04-15 Robert Millan <rmh@aybabtu.com>
40141
40142 * disk/lvm.c: Update copyright year.
40143 * kern/misc.c: Likewise.
40144
01979850 401452008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40146
40147 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40148 there is no memory left for physical volume name.
01979850 40149
0a1150e2 401502008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40151
40152 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40153 volume name mapping to support bigger than 9 character names properly.
40154
82ead3fe 401552008-04-13 Robert Millan <rmh@aybabtu.com>
40156
40157 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40158 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40159
e54a72f5 401602008-04-13 Christian Franke <franke@computer.org>
40161
40162 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40163 to create a floppy emulation boot CD when non emulation mode
40164 does not work.
40165 Enable Joliet CD filesystem extension.
40166
9fe86034 401672008-04-13 Robert Millan <rmh@aybabtu.com>
40168
40169 * kern/misc.c (grub_strncat): Fix off-by-one error.
40170 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40171
40172 * kern/env.c (grub_env_context_close): Clear current context, not
40173 previous one.
40174 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40175
40176 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40177
7ceeee39 401782008-04-13 Robert Millan <rmh@aybabtu.com>
40179
40180 Improve robustness when handling LVM.
40181
40182 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40183 (and leave `*p' unmodified).
7ceeee39 40184 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40185 through it.
40186 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40187 iterating through it.
40188 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40189 through it.
fe6b695a 40190 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40191 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40192 Don't assume `vg->pvs != NULL' when iterating through it.
40193
58cd3d85 401942008-04-13 Robert Millan <rmh@aybabtu.com>
40195
40196 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40197 * genmk.rb (partmap): New variable.
40198 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40199 (#{partmap}): New target rule.
40200 * genpartmaplist.sh: New file.
40201 * Makefile.in (pkglib_DATA): Add partmap.lst.
40202 (partmap.lst): New target rule.
40203 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40204 modules (including all partition maps), instead of preloading them.
40205
78b51059 402062007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40207
40208 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40209 `linux-boot-prober' (if installed) to detect other operating
40210 systems which are installed on the computer and add them to
40211 the boot menu.
40212 * conf/common.rmk: Build and install 30_os-prober.
40213
a91627b4 402142008-04-12 Robert Millan <rmh@aybabtu.com>
40215
40216 * kern/powerpc/ieee1275/init.c: Move from here ...
40217 * kern/ieee1275/init.c: ... to here. Update all users.
40218
40219 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40220 * kern/ieee1275/cmain.c: ... to here. Update all users.
40221
40222 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40223 * kern/ieee1275/openfw.c: ... to here. Update all users.
40224
40225 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40226 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40227
322562ea 402282008-04-10 Pavel Roskin <proski@gnu.org>
40229
40230 * configure.ac: Always use "_cv_" in cache variables for
40231 compatibility with Autoconf 2.62.
40232
a02a73c5 402332008-04-07 Robert Millan <rmh@aybabtu.com>
40234
40235 Revert grub/machine/init.h addition by Pavel (since it breaks on
40236 i386-ieee1275 and others):
40237 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40238 * util/powerpc/ieee1275/misc.c: Likewise.
40239
25c024b1 402402008-04-07 Robert Millan <rmh@aybabtu.com>
40241
40242 * util/grub-probe.c (probe): Improve error message.
40243
3cbd2f98 402442008-04-07 Robert Millan <rmh@aybabtu.com>
40245
40246 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40247 (this prevents the presence of a bogus entry from ruining the whole
40248 thing).
40249
87a297bf 402502008-04-06 Pavel Roskin <proski@gnu.org>
40251
36747a62 40252 * util/biosdisk.c: Include grub/util/biosdisk.h.
40253 * util/grub-fstest.c (execute_command): Make static.
40254 * util/grub-mkdevicemap.c (check_device): Likewise.
40255 * util/i386/pc/misc.c: Include grub/machine/init.h.
40256 * util/powerpc/ieee1275/misc.c: Likewise.
40257 * util/lvm.c: Include grub/util/lvm.h.
40258 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40259 grub/cache.h.
40260 * util/raid.c: Include grub/util/raid.h.
40261 (grub_util_getdiskname): Make static.
40262
87a297bf 40263 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40264 grub_hostfs_fini(), as they are called from grub_init_all() and
40265 grub_fini_all() respectively. This fixes an infinite loop in
40266 grub-fstest due to double registration of hostfs.
40267 Reported by Christian Franke <Christian.Franke@t-online.de>
40268
f6ce7629 402692008-04-05 Pavel Roskin <proski@gnu.org>
40270
40271 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40272 all 8 functions. Otherwise, probe function 0 only.
40273
070e49e4 402742008-04-04 Pavel Roskin <proski@gnu.org>
40275
8b088a4c 40276 * commands/lspci.c (grub_lspci_iter): Print the bus number
40277 correctly.
40278
4f657021 40279 * commands/lspci.c (grub_pci_classes): Fix typos.
40280 (grub_lspci_iter): Don't print func twice. Print vendor ID
40281 before device ID, as it's normally done.
40282
070e49e4 40283 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40284 Fix signedness warnings.
40285 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40286 Likewise.
40287 * util/ieee1275/get_disk_name.c: Include config.h so that
40288 _GNU_SOURCE is defined and getline() is declared. Mark an
40289 unused argument as such. Fix a signedness warning.
40290
ba7328dc 402912008-04-02 Pavel Roskin <proski@gnu.org>
40292
26887f22 40293 * genkernsyms.sh.in: Use more robust assignments for CC and
40294 srcdir. Quote srcdir.
40295 * gensymlist.sh.in: Likewise. Assert at the compile time that
40296 the symbol table is not empty.
40297
ba7328dc 40298 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40299 * fs/cpio.c (grub_cpio_read): Likewise.
40300
0f582c6b 403012008-04-01 Pavel Roskin <proski@gnu.org>
40302
4b6e1995 40303 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40304 * disk/host.c (grub_host_open): Likewise.
40305 * disk/loopback.c (grub_loopback_open): Likewise.
40306 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40307 disk->id as in disk/host.c, not a multi-character constant.
40308
828a2768 40309 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40310 later is obsolete, potentially dangerous and sets a bad example.
40311 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40312 * util/misc.c (grub_util_get_image_size): Likewise.
40313
2bb4fb47 40314 * disk/loopback.c (options): Improve help for "--partitions".
40315
0f582c6b 40316 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40317 options to align them with the short options, e.g. "echo -e".
40318
a33224e0 403192008-03-31 Bean <bean123ch@gmail.com>
40320
40321 * video/reader/png.c (grub_png_data): New member is_16bit and
40322 image_data.
40323 (grub_png_decode_image_header): Detect 16 bit png image.
40324 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40325 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40326 (grub_video_reader_png): Release memory occupied by image_data.
40327
40328 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40329 4096 bytes.
40330 (grub_nfs_mount): Skip the test for sector per cluster.
40331
40332 * include/grub/ntfs.h (MAX_SPC): Removed.
40333
86cb4f54 403342008-03-31 Bean <bean123ch@gmail.com>
40335
40336 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40337 (grub_probe_SOURCES): Add fs/afs.c.
40338 (grub_fstest_SOURCES): Likewise.
40339 (afs_mod_SOURCES): New variable.
40340 (afs_mod_CFLAGS): Likewise.
40341 (afs_mod_LDFLAGS): Likewise.
40342
40343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40344 (grub_emu_SOURCES): Likewise.
40345
40346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40347
40348 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40349
40350 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40351
40352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40353
40354 * fs/afs.c: New file.
40355
17c74c21 403562008-03-30 Pavel Roskin <proski@gnu.org>
40357
4cb68e89 40358 * disk/host.c: Include grub/misc.h to fix a warning.
40359 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40360 warnings about implicit declarations.
40361
8790bb04 40362 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40363 variable.
40364 * include/grub/i386/loader.h: Change declaration of
40365 grub_linux_boot() to match what grub_loader_set() expects.
40366 * util/getroot.c (grub_guess_root_device): Return const char* to
40367 fix a warning.
40368 * util/grub-probe.c (probe): Fix a warning about uninitialized
40369 abstraction_name variable.
40370 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40371 second argument as unused to fix a warning.
40372
9a3f3296 40373 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40374 missing grub_error() call.
40375
0ecef90d 40376 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40377 2.60 and newer uses it to define datadir.
40378
0bf6d401 40379 * commands/sleep.c: Fix warning about implicit declaration.
40380 * disk/memdisk.c: Likewise.
40381 * loader/aout.c: Likewise.
40382 * loader/i386/bsd_normal.c: Likewise.
40383 * util/grub-probe.c: Likewise.
40384
7cdacf97 40385 * commands/i386/cpuid.c (has_longmode): Make static.
40386 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40387 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40388
17c74c21 40389 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40390 GDT. This is more robust, as %ds can change.
40391 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40392 calling real_to_prot().
40393 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40394
80a3e68b 403952008-03-28 Pavel Roskin <proski@gnu.org>
40396
40397 * kern/i386/pc/startup.S: Assert that uncompressed functions
40398 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40399 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40400 code, as they push parts of the code (error handlers) beyond
40401 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40402 code as correctness and size.
40403
77bcd272 404042008-03-28 Pavel Roskin <proski@gnu.org>
40405
40406 * kern/i386/pc/startup.S
40407 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40408 data block address to the real mode, keep offset minimal. This
40409 works around a bug in AWARD BIOS on old Athlon systems, which
40410 makes CD detection hang.
40411
c5dfd43b 404122008-03-26 Pavel Roskin <proski@gnu.org>
40413
40414 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40415 const.
40416 * include/grub/normal.h: Add grub_parse_color_name_pair()
40417 declaration.
40418
bf962df2 404192008-03-24 Bean <bean123ch@gmail.com>
40420
40421 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40422 (cd_count): Removed.
40423 (cd_drive): New variable.
40424 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40425 (grub_biosdisk_call_hook): Likewise.
40426 (grub_biosdisk_iterate): Change cdrom detection method.
40427 (grub_biosdisk_open): Replace cd_start with cd_drive.
40428 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40429 detect cdrom device.
40430
40431 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40432 Removed.
40433 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40434 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40435 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40436 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40437 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40438 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40439 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40440 (grub_biosdisk_cdrp): New structure.
40441 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40442
40443 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40444
40445 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40446 device.
40447
40448 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40449 New function.
40450
68e7fc7a 404512008-03-20 Robert Millan <rmh@aybabtu.com>
40452
40453 Remove 2 TiB limit in ata.mod.
40454 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40455 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40456 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40457 grub_uint64_t instead of grub_uint32_t.
40458
38ad2cf5 404592008-03-05 Bean <bean123ch@gmail.com>
40460
40461 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40462 (grub_multiboot): Set boot device.
40463
40464 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40465
2b89344e 404662008-03-02 Bean <bean123ch@gmail.com>
40467
40468 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40469 symlink_buffer.
40470
87a95d1f 404712008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40472
40473 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40474 texinfo.tex.
40475
40476 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40477 modified.
40478
40479 * docs/fdl.texi: New file.
f19dbdb7 40480
87a95d1f 40481 * docs/mdate-sh: New file. Copied from gnulib.
40482 * docs/texinfo.tex: Likewise.
40483
40484 * config.guess: Updated from gnulib.
40485 * install-sh: Likewise.
40486
7dc15d8e 404872008-02-28 Robert Millan <rmh@aybabtu.com>
40488
40489 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40490 (aout_mod_SOURCES): New variable.
40491 (aout_mod_CFLAGS): Likewise.
40492 (aout_mod_LDFLAGS): Likewise.
40493
40494 * conf/i386-ieee1275.rmk: Likewise.
40495
b00ab696 404962008-02-28 Robert Millan <rmh@aybabtu.com>
40497
40498 * util/update-grub.in: Reorganise terminal validity check. Accept
40499 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40500 Based on suggestion by Franklin PIAT.
40501
79ca2d78 405022008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40503
40504 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40505 function.
40506 * util/getroot.c (grub_util_check_block_device): New function that
40507 returns the given argument if it is a block device and returns NULL else.
40508 * util/grub-probe.c (argument_is_device): New variable.
40509 (probe): Promote device_name from a variable to an argument. Receive
40510 device_name from grub_util_check_block_device() if path is NULL and from
40511 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40512 (options): Introduce new parameter '-d, --device'.
79ca2d78 40513 (main): Add description of the new parameter to the help screen.
40514 Rename path variable to argument. Set argument_is_device if the '-d'
40515 option is given. Pass argument to probe() depending on
40516 argument_is_device.
40517
0d16e571 405182008-02-24 Bean <bean123ch@gmail.com>
40519
40520 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40521 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40522 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40523 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40524 (GRUB_ISO9660_VOLDESC_END): Likewise.
40525 (grub_iso9660_primary_voldesc): New member escape.
40526 (grub_iso9660_data): New member joliet.
40527 (grub_iso9660_convert_string): New function.
40528 (grub_iso9660_mount): Detect joliet extension.
40529 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40530 (grub_iso9660_iso9660_label): Likewise.
40531
40532 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40533 (grub_setup_SOURCES): Add fs/udf.c.
40534 (grub_fstest_SOURCES): Likewise.
40535 (udf_mod_SOURCES): New variable.
40536 (udf_mod_CFLAGS): Likewise.
40537 (udf_mod_LDFLAGS): Likewise.
40538
40539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40540 (grub_emu_SOURCES): Likewise.
40541
40542 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40543
40544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40545
40546 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40547
40548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40549
40550 * fs/udf.c: New file.
40551
8a594a17 405522008-02-24 Robert Millan <rmh@aybabtu.com>
40553
40554 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40555 (normal/lexer.c_DEPENDENCIES): New variables.
40556 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40557 (normal/lexer.c_DEPENDENCIES): Likewise.
40558 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40559 (normal/lexer.c_DEPENDENCIES): Likewise.
40560 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40561 (normal/lexer.c_DEPENDENCIES): Likewise.
40562 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40563 (normal/lexer.c_DEPENDENCIES): Likewise.
40564 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40565 (normal/lexer.c_DEPENDENCIES): Likewise.
40566
2dc33c03 405672008-02-23 Robert Millan <rmh@aybabtu.com>
40568
40569 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40570 since they were intended to be in hex. This didn't break previously
40571 because of a bug in gpt_partition_map_iterate() (see below).
40572
40573 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40574 when checking the validity of GPT header.
40575 Remove `partno', since it always provides the same information as `i'.
40576
f6f4cfb0 405772008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40578
40579 * include/grub/efi/time.h: Fix a wrong comment.
40580
79ff665f 405812008-02-19 Pavel Roskin <proski@gnu.org>
40582
40583 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40584 message.
40585
d38e24c2 405862008-02-19 Bean <bean123ch@gmail.com>
40587
40588 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40589 (aout_mod_SOURCES): New variable.
40590 (aout_mod_CFLAGS): Likewise.
40591 (aout_mod_LDFLAGS): Likewise.
40592 (_bsd_mod_SOURCES): New variable.
40593 (_bsd_mod_CFLAGS): Likewise.
40594 (_bsd_mod_LDFLAGS): Likewise.
40595 (bsd_mod_SOURCES): New variable.
40596 (bsd_mod_CFLAGS): Likewise.
40597 (bsd_mod_LDFLAGS): Likewise.
40598
40599 * include/grub/aout.h: New file.
40600
40601 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40602
40603 * include/grub/i386/bsd.h: New file.
40604
40605 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40606 to make it public.
40607
40608 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40609 function is called, so that it's possible to change it inside the hook.
40610 (grub_elf64_load): Likewise.
40611 (grub_elf_file): Don't close the file if elf header is not found.
40612 (grub_elf_close): Close the file if grub_elf_file fails (The new
40613 grub_elf_file won't close it).
40614 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40615 (grub_elf64_size): Likewise.
40616
40617 * kern/i386/loader.S (grub_unix_real_boot): New function.
40618
40619 * loader/aout.c: New file.
40620
40621 * loader/i386/bsd.c: New file.
40622
40623 * loader/i386/bsd_normal.c: New file.
40624
40625 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40626
40627 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40628 can test other formats.
d38e24c2 40629
b93bdb0f 406302008-02-19 Robert Millan <rmh@aybabtu.com>
40631
40632 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40633 (grub_gpt_partition_type_empty): Redefine with macro from
40634 `<grub/gpt_partition.h>'.
40635 (gpt_partition_map_iterate): Adjust partition type comparison.
40636
40637 Export `entry' as partmap-specific `part.data' struct.
40638 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40639
40640 * include/grub/gpt_partition.h (grub_gpt_header)
40641 (grub_gpt_partentry): ... to here (new file).
40642
40643 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40644
40645 (grub_gpt_partition_type_bios_boot): New const variable, defined
40646 with macro from `<grub/gpt_partition.h>'.
40647
40648 (setup): Replace `first_start' with `embed_region', which keeps
40649 track of the embed region (and is partmap-agnostic).
40650
40651 Replace find_first_partition_start() with find_usable_region(),
40652 which finds a usable region for embedding using partmap-specific
40653 knowledge (supports PC/MSDOS and GPT).
40654
40655 Fix all assumptions that the embed region start at sector 1, using
40656 `embed_region.start' from now on. Similarly, use `embed_region.end'
40657 rather than `first_start' to calculate available size.
40658
40659 In grub_util_info() message, replace "into after the MBR" with an
40660 indication of the specific sector our embed region starts at.
40661
66cb40f6 406622008-02-19 Robert Millan <rmh@aybabtu.com>
40663
40664 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40665 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40666 `commands/reboot.c'.
40667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40668 (halt_mod_SOURCES): Likewise.
40669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40670 (halt_mod_SOURCES): Likewise.
40671
b7202015 406722008-02-17 Christian Franke <franke@computer.org>
40673
40674 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40675
32b0fc49 406762008-02-17 Robert Millan <rmh@aybabtu.com>
40677
40678 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40679 set `first_start' to 0 for non-PC/MSDOS partition maps.
40680
aca63502 406812008-02-16 Robert Millan <rmh@aybabtu.com>
40682
40683 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40684 do not assume partition map is PC/MSDOS before performing checks that
40685 are specific to that layout.
40686
0de8be86 406872008-02-13 Robert Millan <rmh@aybabtu.com>
40688
40689 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40690 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40691 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40692
c3db8364 406932008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40694
40695 * configure.ac: Only a cosmetic change on the handling of
40696 -fno-stack-protector.
40697
f714229e 406982008-02-12 Alexandre Boeglin <alex@boeglin.org>
40699
c3db8364 40700 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40701 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40702 reboot.c.
f714229e 40703 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40704 (halt_mod_SOURCES): New variable.
40705 (halt_mod_CFLAGS): Likewise.
40706 (halt_mod_LDFLAGS): Likewise.
40707 (reboot_mod_SOURCES): Likewise.
40708 (reboot_mod_CFLAGS): Likewise.
40709 (reboot_mod_LDFLAGS): Likewise.
40710
c3db8364 40711 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40712 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40713 reboot.c.
f714229e 40714 (halt_mod_SOURCES): Likewise.
40715 (reboot_mod_SOURCES): Likewise.
40716
c3db8364 40717 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40718 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40719 (reboot_mod_SOURCES): Likewise.
40720
40721 * commands/i386/pc/reboot.c: merge this file ...
40722
40723 * commands/ieee1275/reboot.c: ... and this file ...
40724
40725 * commands/reboot.c: ... to this file.
c3db8364 40726 Add some precompiler directive to include the correct header for
40727 each machine.
f714229e 40728
40729 * commands/ieee1275/halt.c: move this file ...
40730
40731 * commands/halt.c: ... to here.
c3db8364 40732 Add some precompiler directive to include the correct header for
40733 each machine.
f714229e 40734
40735 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40736 (grub_halt): Likewise.
40737
40738 * kern/efi/efi.c (grub_reboot): New function.
40739 (grub_halt): Likewise.
40740
c74493e0 407412008-02-12 Robert Millan <rmh@aybabtu.com>
40742
40743 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40744 /dev (like it is done for /dev/mapper). This doesn't provide support
40745 for EVMS, but at least it is now easy to identify the problem when it
40746 arises.
40747
d0db4b04 407482008-02-11 Robert Millan <rmh@aybabtu.com>
40749
40750 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40751 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40752 comparing it with -1, not 0.
40753
bf748642 407542008-02-10 Robert Millan <rmh@aybabtu.com>
40755
40756 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40757 `disk/lvm.c'.
40758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40759 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40760
40761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40762 `disk/lvm.c' to the end of the list.
40763 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40764 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40765
b5db202a 407662008-02-10 Robert Millan <rmh@aybabtu.com>
40767
40768 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40769 grub_print_error() instead. This will let user know why we're entering
40770 rescue mode.
40771 Based on suggestions from Sam Morris.
40772
83abee31 407732008-02-10 Alexandre Boeglin <alex@boeglin.org>
40774
40775 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40776 on remaining N args, instead of "--" arg N times.
40777
78d5a08b 407782008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40779
40780 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40781 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40782 pattern for unknown glyphs.
40783
68807e5f 407842008-02-09 Robert Millan <rmh@aybabtu.com>
40785
40786 * configure.ac: Probe for `help2man'.
40787 * Makefile.in (builddir): New variable.
40788 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40789 or otherwise add a few flags/options to it.
40790 (install-local): For every executable utility or script that is
40791 installed, invoke $(HELP2MAN) to install a manpage based on --help
40792 output.
40793
40794 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40795 that it doesn't prevent --help from working in build tree.
40796
40797 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40798 with `bug-grub@gnu.org'.
40799 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40800 * util/update-grub.in (usage): New function.
40801 Implement proper argument check, with support for --help and --version
40802 (as well as existing -y).
40803
408042008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40805
40806 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40807 avoid overwriting previous output.
40808 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40809
c1962162 408102008-02-09 Robert Millan <rmh@aybabtu.com>
40811
40812 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40813 drawing the menu.
40814
3dac2e3f 408152008-02-09 Robert Millan <rmh@aybabtu.com>
40816
40817 * commands/sleep.c: New file.
40818 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40819 (sleep_mod_SOURCES): New variable.
40820 (sleep_mod_CFLAGS): Likewise.
40821 (sleep_mod_LDFLAGS): Likewise.
40822
7a634e08 408232008-02-09 Robert Millan <rmh@aybabtu.com>
40824
40825 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40826 situations in which we can deduce the RAID size and the superblock
40827 doesn't match it.
40828
b92f0c18 408292008-02-09 Robert Millan <rmh@aybabtu.com>
40830
40831 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40832 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40833 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40834
40835 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40836 and return a grub_diskmemberlist_t composed of physical array members.
40837 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40838
40839 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40840 prototype.
40841 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40842 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40843 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40844
40845 * util/grub-probe.c (probe): Move partmap probing code from here ...
40846 (probe_partmap): ... to here.
40847 (probe): Use probe_partmap() once for the disk we're probing, and
40848 additionally, when such disk contains a memberlist() struct member,
40849 once for each disk that is contained in the structure returned by
40850 memberlist().
40851
91a4bf68 408522008-02-09 Robert Millan <rmh@aybabtu.com>
40853
40854 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40855 environment variable to 'all' in order to obtain debug output from
40856 non-util/ code.
40857 * util/i386/pc/grub-setup.c (main): Likewise.
40858
a96f9caa 408592008-02-08 Robert Millan <rmh@aybabtu.com>
40860
40861 * disk/raid.c (grub_raid_scan_device): Check for
40862 `array->device[sb.this_disk.number]' rather than for
40863 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40864 guaranteed to be accessible.
a96f9caa 40865
b37a9222 408662008-02-08 Robert Millan <rmh@aybabtu.com>
40867
40868 * disk/raid.c: Update copyright.
40869 * fs/cpio.c: Likewise.
40870 * include/grub/raid.h: Likewise.
40871 * loader/i386/pc/multiboot.c: Likewise.
40872 * util/hostfs.c: Likewise.
40873
5626aee1 408742008-02-08 Robert Millan <rmh@aybabtu.com>
40875
40876 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40877 to a grub_disk_t array.
40878 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40879 `device[x]'.
40880 (grub_raid_scan_device): Replace `device[x].name' accesses with
40881 `device[x]->name'. Simplify initialization of `array->device[x]'.
40882
554f0187 408832008-02-08 Robert Millan <rmh@aybabtu.com>
40884
40885 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40886 grub_dprintf() calls.
40887 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40888 error message.
40889
1ec8425d 408902008-02-07 Christian Franke <franke@computer.org>
40891
40892 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40893 instead of fseek and ftell to support large files.
40894 (grub_hostfs_read): Likewise.
40895
f2156fda 408962008-02-07 Robert Millan <rmh@aybabtu.com>
40897
40898 Patch from Jeroen Dekkers.
40899 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40900 failure, since successfully reading all array members might not be
f2156fda 40901 required.
40902
9216e0e7 409032008-02-06 Robert Millan <rmh@aybabtu.com>
40904
40905 * util/grub-probe.c (probe): Simplify partmap probing (with the
40906 assumption that the first word up to the underscore equals to
40907 the module name).
40908
b0dfd29a 409092008-02-06 Christian Franke <franke@computer.org>
40910
40911 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40912 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40913 last block of a cpio or tar stream.
40914 Check for "TRAILER!!!" instead of any empty data
40915 block to detect last block of a cpio stream.
40916 (grub_cpio_dir): Fix constness of variable np.
40917 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40918 cpio or tar trailer is detected. This fixes a crash
40919 on open of a non existing file.
40920
c32865bf 409212008-02-05 Bean <bean123ch@gmail.com>
40922
40923 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40924 address of entry.
40925 (grub_multiboot_load_elf64): Likewise.
40926 (grub_multiboot): Initialize mbi structure.
40927
40928 * util/grub-fstest.c: Don't include unused header file script.h.
40929
fe6b695a 40930 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40931 of file.
40932 (grub_fstest_SOURCES): Likewise.
40933
409480b7 409342008-02-05 Robert Millan <rmh@aybabtu.com>
40935
40936 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40937 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40938 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40939 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40940
40941 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40942 (translation_table): Replace hardcoded values with macros
40943 provided by `<grub/term.h>'.
40944
40945 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40946 (keyboard_map): Correct/add a few values, with macros provided
40947 by `<grub/term.h>'.
40948 (keyboard_map_shift): Zero values that don't differ from their
40949 `keyboard_map' equivalents.
40950 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40951 Discard the second scan code that is always sent by Caps lock.
40952 Only use `keyboard_map_shift' when it provides a non-zero value,
40953 otherwise fallback to `keyboard_map'.
40954
99fadbaa 409552008-02-04 Bean <bean123ch@gmail.com>
40956
40957 * Makefile.in (enable_grub_fstest): New variable.
40958
40959 * conf/common.rmk (grub_fstest_init.lst): New rule.
40960 (grub_fstest_init.h): Likewise.
40961 (grub_fstest_init.c): Likewise.
40962 (util/grub-fstest.c_DEPENDENCIES): New variable.
40963 (grub_fstest_SOURCES): Likewise.
40964
40965 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40966
40967 * util/grub-fstest.c: New file.
40968
bf567c50 409692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40970
40971 Make grub-setup handle a separate root device.
f19dbdb7 40972
bf567c50 40973 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40974 so that the root device can be compared with the destination
40975 device.
40976 When embedding the core image, if the root and destination devices
40977 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40978 0xFF.
40979 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40980
9be6b98b 409812008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40982
40983 Add support for having a grub directory in a different drive. This
40984 is still only the data handling part.
f19dbdb7 40985
9be6b98b 40986 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40987 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40988 (grub_root_drive): New variable.
40989
40990 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40991 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40992 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40993 as it was.
40994
40995 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40996
40997 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40998 macro.
40999 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41000
41001 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41002 is bogus, because PXE booting does not specify any drive
41003 correctly.
41004
41005 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41006 am not sure if this is really correct.
41007
41008 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41009 is always identical to the boot drive when booting from a CD.
41010
41011 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41012 longer.
41013 (root_drive): New variable.
41014 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41015 (setup_sectors): Push %dx right after popping it, because %dh will
41016 be modified later.
41017 (copy_buffer): Restore %dx.
41018
e0ca0677 410192008-02-03 Robert Millan <rmh@aybabtu.com>
41020
41021 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41022 use `cdboot.img' for cdrom images.
41023
3b3f6629 410242008-02-03 Robert Millan <rmh@aybabtu.com>
41025
41026 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41027 only setup gfxterm when `font' command has succeeded.
41028
d42b3672 410292008-02-03 Robert Millan <rmh@aybabtu.com>
41030
41031 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41032 (grub_rescue_cmd_multiboot_loader)
41033 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41034
fa370ea6 410352008-02-03 Pavel Roskin <proski@gnu.org>
41036
e0c5dacb 41037 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41038 %edx and %esi from stack only after grub_gate_a20() is called.
41039 grub_gate_a20() clobbers %edx.
41040
f2a76e1d 410412008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41042
41043 * configure.ac (AC_INIT): Bumped to 1.96.
41044
41045 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41046 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41047 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41048 video/readers/png.c.
41049
90fd32d1 410502008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41051
41052 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41053 (cdboot_img_SOURCES): New variable.
41054 (cdboot_img_ASFLAGS): New variable.
41055 (cdboot_img_LDFLAGS): New variable.
41056
41057 * boot/i386/pc/cdboot.S: New file.
41058
41059 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41060 (cd_count): Likewise.
41061 (grub_biosdisk_get_drive): Add support for cd device.
41062 (grub_biosdisk_call_hook): Likewise.
41063 (grub_biosdisk_iterate): Likewise.
41064 (grub_biosdisk_open): Likewise.
41065 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41066 (grub_biosdisk_rw): Support reading from cd device.
41067 (GRUB_MOD_INIT): Iterate cd devices.
41068
41069 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41070 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41071 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41072
41073 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41074
4020aa53 410752008-02-02 Robert Millan <rmh@aybabtu.com>
41076
41077 * commands/read.c: New file.
41078 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41079 (read_mod_SOURCES): New variable.
41080 (read_mod_CFLAGS): Likewise.
41081 (read_mod_LDFLAGS): Likewise.
41082
e03a1132 410832008-02-02 Robert Millan <rmh@aybabtu.com>
41084
41085 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41086 determining whether menu has to be displayed.
41087
58c69220 410882008-02-02 Marco Gerards <marco@gnu.org>
41089
41090 * bus/pci.c: New file.
41091
41092 * include/grub/pci.h: Likewise.
41093
41094 * include/grub/i386/pc/pci.h: Likewise.
41095
41096 * commands/lspci.c: Likewise.
41097
41098 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41099 `lspci.mod'.
41100 (pci_mod_SOURCES): New variable.
41101 (pci_mod_CFLAGS): Likewise.
41102 (pci_mod_LDFLAGS): Likewise.
41103 (lspci_mod_SOURCES): Likewise.
41104 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41105 (lspci_mod_LDFLAGS): Likewise.
58c69220 41106
c004e1b4 411072008-02-02 Bean <bean123ch@gmail.com>
41108
41109 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41110 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41111
41112 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41113 (grub_xfs_btree_node): New structure.
41114 (grub_xfs_btree_root): New structure.
41115 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41116 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41117 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41118 (GRUB_XFS_EXTENT_SIZE): Likewise.
41119 (grub_xfs_read_block): Support btree format type.
41120 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41121 Use directory block as basic unit.
41122
41123 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41124
41125 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41126 __attribute__ ((__regparm__ (1))).
41127
f95562bf 411282008-02-01 Robert Millan <rmh@aybabtu.com>
41129
41130 Correct a mistake in previous commit.
41131
41132 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41133 top.
41134 (normal/command.c_DEPENDENCIES): New variable.
41135
7d31f41f 411362008-02-01 Robert Millan <rmh@aybabtu.com>
41137
41138 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41139 top.
41140 (normal/command.c_DEPENDENCIES): New variable.
41141 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41142 * conf/i386-ieee1275.rmk: Likewise.
41143 * conf/i386-linuxbios.rmk: Likewise.
41144 * conf/i386-pc.rmk: Likewise.
41145 * conf/sparc64-ieee1275.rmk: Likewise.
41146 * conf/powerpc-ieee1275.rmk: Likewise.
41147 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41148
41149 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41150
60b6be74 411512008-02-01 Robert Millan <rmh@aybabtu.com>
41152
41153 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41154 call at beginning of function.
41155
078522ab 411562008-01-31 Pavel Roskin <proski@gnu.org>
41157
41158 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41159 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41160 (grub_mkrescue_SOURCES): Likewise.
078522ab 41161 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41162
ccaa8a5f 411632008-01-30 Robert Millan <rmh@aybabtu.com>
41164
41165 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41166 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41167 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41168 (grub_probe_SOURCES): ... to here.
41169
41170 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41171 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41172 * conf/i386-ieee1275.rmk: Likewise.
41173 * conf/i386-linuxbios.rmk: Likewise.
41174 * conf/powerpc-ieee1275.rmk: Likewise.
41175
ae5a9cd7 411762008-01-30 Tristan Gingold <gingold@free.fr>
41177
41178 * kern/rescue.c: Silently accept empty lines.
41179
70bc2ef2 411802008-01-29 Bean <bean123ch@gmail.com>
41181
41182 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41183 (real_code_2): Code cleanup and change comment style.
41184 (move_memory): Avoid using 32-bit address mode.
41185
6a4d50ea 411862008-01-29 Bean <bean123ch@gmail.com>
41187
41188 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41189 (png_mod_SOURCES): New variable.
41190 (png_mod_CFLAGS): Likewise.
41191 (png_mod_LDFLAGS): Likewise.
41192
41193 * video/readers/png.c: New file.
41194
11cc30ac 411952008-01-28 Robert Millan <rmh@aybabtu.com>
41196
41197 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41198 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41199 `ifndef GRUB_MOD_GAP' hack.
41200 * util/elf/grub-mkimage.c (add_segments): Likewise.
41201
3abc589f 412022008-01-27 Robert Millan <rmh@aybabtu.com>
41203
41204 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41205 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41206 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41207
e1907778 412082008-01-27 Robert Millan <rmh@aybabtu.com>
41209
41210 Get grub-emu to build again (including parallel builds).
41211
41212 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41213 Split into ...
41214 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41215 (normal/execute.c_DEPENDENCIES): ... this, ...
41216 (grub-emu_DEPENDENCIES): ... and this.
41217
41218 * conf/i386-efi.rmk: Likewise.
41219 * conf/i386-linuxbios.rmk: Likewise.
41220 * conf/i386-ieee1275.rmk: Likewise.
41221 * conf/powerpc-ieee1275.rmk: Likewise.
41222 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41223
2216b101 412242008-01-27 Robert Millan <rmh@aybabtu.com>
41225
41226 * NEWS: Add a few items.
41227
f75172d9 412282008-01-27 Robert Millan <rmh@aybabtu.com>
41229
41230 Fix parallel builds with grub-emu. Based on earlier commit for
41231 grub-probe and grub-setup.
41232
41233 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41234 (util/grub-emu.c_DEPENDENCIES): ... this.
41235 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41236 (util/grub-emu.c_DEPENDENCIES): ... this.
41237 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41238 (util/grub-emu.c_DEPENDENCIES): ... this.
41239 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41240 (util/grub-emu.c_DEPENDENCIES): ... this.
41241 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41242 (util/grub-emu.c_DEPENDENCIES): ... this.
41243
3f51de77 412442008-01-27 Pavel Roskin <proski@gnu.org>
41245
41246 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41247 to create a gap between _end and the modules added to the image
41248 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41249 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41250 * util/elf/grub-mkimage.c (add_segments): Likewise.
41251
2033f53e 412522008-01-26 Pavel Roskin <proski@gnu.org>
41253
41254 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41255 just return an error.
41256
22da1f6f 412572008-01-26 Bean <bean123ch@gmail.com>
41258
41259 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41260 (grub_reiserfs_get_item): Save offset of the next item.
41261 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41262
2a9525e6 412632008-01-25 Robert Millan <rmh@aybabtu.com>
41264
41265 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41266 make all filesystem sources appear together (possibly fixing omissions
41267 while at it).
41268 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41270 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41272
41273 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41274 add `kern/file.c'.
41275 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41276 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41277 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41278 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41279
41280 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41281 (probe): Add a sanity check to make sure of our ability to read
41282 requested files when probing for filesystem type.
41283
41284 * genmk.rb: Update copyright year (2007).
41285
41286 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41287 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41288 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41289 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41290 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41291 : Remove function prototypes.
41292
b95f71b5 412932008-01-25 Robert Millan <rmh@aybabtu.com>
41294
41295 Revert my previous commits (based on wrong assumption of how grub_errno
41296 works).
41297
fe6b695a 41298 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41299 * kern/file.c (grub_file_open): Likewise.
41300
d08bbb49 413012008-01-24 Pavel Roskin <proski@gnu.org>
41302
41303 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41304 that hang if GRUB tries to setup colors.
41305 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41306 colors for firmwares that don't support it.
41307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41308 Recognize Open Hack'Ware, set flags to work around its
41309 limitations.
41310
605e36ed 413112008-01-24 Robert Millan <rmh@aybabtu.com>
41312
41313 * kern/file.c (grub_file_open): Do not account previous failures of
41314 unrelated functions when grub_errno is checked for.
41315 Reported by Oleg Strikov.
41316
bac332a1 413172008-01-24 Bean <bean123ch@gmail.com>
41318
41319 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41320 (grub_ufs_sblock): New member volume name.
41321 (grub_ufs_find_file): Fix string copy bug.
41322 (grub_ufs_label): Implement this function properly.
41323
41324 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41325 (grub_hfs_iterate_records): Use the correct file number for extents
41326 and catalog file. Fix problem in next index calculation.
41327 (grub_hfs_find_node): Replace recursive function call with loop.
41328 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41329
15c80c09 413302008-01-23 Robert Millan <rmh@aybabtu.com>
41331
41332 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41333 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41334 (grub_multiboot2_real_boot): New function prototype.
41335
41336 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41337 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41338
41339 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41340 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41341
305338fd 413422008-01-23 Robert Millan <rmh@aybabtu.com>
41343
41344 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41345 #ifdef'ed out grub_printf().
41346
3ea52685 413472008-01-23 Robert Millan <rmh@aybabtu.com>
41348
41349 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41350 grub_dprintf calls, since they make "debug=all" mode unusable.
41351 (grub_console_checkkey): Likewise.
41352
5882ae4b 413532008-01-23 Robert Millan <rmh@aybabtu.com>
41354
41355 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41356 `term/i386/pc/at_keyboard.c'.
41357 (pkglib_MODULES): Add `serial.mod'.
41358 (serial_mod_SOURCES): New variable.
41359 (serial_mod_CFLAGS): Likewise.
41360 (serial_mod_LDFLAGS): Likewise.
41361
41362 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41363 `<grub/powerpc/ieee1275/console.h>'.
41364 (grub_keyboard_controller_init): New function prototype.
41365 (grub_console_checkkey): Likewise.
41366 (grub_console_getkey): Likewise.
41367
41368 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41369 keyboard on i386.
41370
41371 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41372 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41373
06ab5303 413742008-01-23 Robert Millan <rmh@aybabtu.com>
41375
41376 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41377 present, "(memdisk)/boot/grub" becomes the default prefix.
41378
41379 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41380 a memdisk tarball with all the modules. Add --overlay=DIR option that
41381 allows users to overlay additional files into the image.
41382
dbb475a4 413832008-01-23 Robert Millan <rmh@aybabtu.com>
41384
41385 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41386 and `machine/memory.h'.
41387 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41388 (_multiboot_mod_SOURCES): New variable.
41389 (_multiboot_mod_CFLAGS): Likewise.
41390 (_multiboot_mod_LDFLAGS): Likewise.
41391 (multiboot_mod_SOURCES): Likewise.
41392 (multiboot_mod_CFLAGS): Likewise.
41393 (multiboot_mod_LDFLAGS): Likewise.
41394
41395 * include/grub/i386/ieee1275/loader.h: New file.
41396
41397 * include/grub/i386/ieee1275/machine.h: Likewise.
41398
41399 * include/grub/i386/ieee1275/memory.h: Likewise.
41400
41401 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41402 variable declaration.
41403 (grub_os_area_size): Likewise.
41404
41405 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41406 (grub_lower_mem, grub_upper_mem): New variables.
41407 (grub_stop_floppy): New function (just to make
41408 grub_multiboot2_real_boot() happy).
41409
41410 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41411 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41412 (grub_stop): New function.
41413 Include `"../realmode.S"' and `"../loader.S"'.
41414
41415 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41416 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41417
41418 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41419 rely on grub_multiboot2_real_boot() for final boot.
41420
25638629 414212008-01-22 Robert Millan <rmh@aybabtu.com>
41422
41423 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41424 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41425 device that doesn't look like an SD card.
41426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41427 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41428 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41429 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41430 found.
41431
9dad816d 414322008-01-22 Robert Millan <rmh@aybabtu.com>
41433
41434 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41435 avoid claiming over our own code.
41436
34842f2d 414372008-01-22 Bean <bean123ch@gmail.com>
41438
41439 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41440 (jpeg_mod_SOURCES): New variable.
41441 (jpeg_mod_CFLAGS): Likewise.
41442 (jpeg_mod_LDFLAGS): Likewise.
41443
41444 * video/readers/jpeg.c : New file.
41445
44023a28 414462008-01-22 Bean <bean123ch@gmail.com>
41447
41448 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41449 there are no more items.
41450
bc2d8ac6 414512008-01-21 Robert Millan <rmh@aybabtu.com>
41452
41453 * kern/mm.c (grub_mm_init_region): Improve debug message.
41454
261bd4bc 414552008-01-21 Robert Millan <rmh@aybabtu.com>
41456
41457 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41458 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41459 address.
41460 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41461 a C macro.
41462 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41463 Indicates start of upper memory.
41464 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41465 (generate_image): Abort when image size is big enough to corrupt
41466 upper memory.
41467
41468 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41469 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41470 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41471 instead of hardcoding 0xA0000.
41472 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41473 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41474 instead of hardcoding 0xA0000.
41475
f970b55e 414762008-01-21 Robert Millan <rmh@aybabtu.com>
41477
41478 * disk/memdisk.c (memdisk_size): New variable.
41479 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41480 `memdisk_size'.
41481 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41482 image to dynamic memory.
41483 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41484 `memdisk_size'. Free memdisk block.
41485
1a8b0526 414862008-01-21 Robert Millan <rmh@aybabtu.com>
41487
41488 Fix detection of very small filesystems (like tar).
41489
41490 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41491 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41492 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41493 a problem with this disk).
41494
6e9b4aab 414952008-01-21 Robert Millan <rmh@aybabtu.com>
41496
41497 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41498 on grub_biosdisk_rw_standard() error.
41499
0d8837b2 415002008-01-21 Robert Millan <rmh@aybabtu.com>
41501
41502 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41503 recent changes.
41504 * kern/elf.c: Likewise.
41505 * kern/ieee1275/ieee1275.c: Likewise.
41506 * kern/powerpc/ieee1275/openfw.c: Likewise.
41507 * term/ieee1275/ofconsole.c: Likewise.
41508
ffd36e34 415092008-01-21 Robert Millan <rmh@aybabtu.com>
41510
41511 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41512
3f0093d0 41513 * include/grub/kernel.h (grub_arch_memdisk_addr)
41514 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41515
3f0093d0 41516 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41517 (grub_arch_memdisk_size): ... to here.
ffd36e34 41518
6c391b21 415192008-01-21 Robert Millan <rmh@aybabtu.com>
41520
41521 Mostly based on bugfix from Bean.
41522
41523 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41524 attribute with hook() parameter.
41525 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41526 declaration.
41527 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41528 attribute with hook() parameter.
41529 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41530 declaration.
41531
55a581dc 415322008-01-21 Robert Millan <rmh@aybabtu.com>
41533
41534 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41535 (pkglib_MODULES): Add `memdisk.mod'.
41536 (memdisk_mod_SOURCES): New variable.
41537 (memdisk_mod_CFLAGS): Likewise.
41538 (memdisk_mod_LDFLAGS): Likewise.
41539
41540 * disk/memdisk.c: New file.
41541
41542 * include/grub/disk.h (grub_disk_dev_id): Add
41543 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41544
41545 * include/grub/i386/pc/kernel.h
41546 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41547 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41548 (grub_kernel_image_size): New variable declaration.
41549 (grub_total_module_size): Likewise.
41550 (grub_memdisk_image_size): Likewise.
41551
41552 * include/grub/i386/pc/memory.h
41553 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41554
41555 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41556 (grub_arch_memdisk_addr): New variable declaration.
41557 (grub_arch_memdisk_size): Likewise.
41558
41559 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41560 (grub_arch_memdisk_size): Likewise.
41561
41562 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41563 (codestart): Replace hardcoded `0x100000' with
41564 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41565
41566 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41567 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41568 not NULL, append the contents of the file it refers to, at the end of
41569 the compressed kernel image. Initialize `grub_memdisk_image_size'
41570 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41571 (options): Add "memdisk"|'m' option.
41572 (main): Parse --memdisk|-m option, and pass user-provided path as
41573 parameter to generate_image().
41574
3d7f54c9 415752008-01-20 Robert Millan <rmh@aybabtu.com>
41576
41577 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41578 grub_dprintf() calls from here ...
41579 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41580
0bf74728 415812008-01-20 Robert Millan <rmh@aybabtu.com>
41582
41583 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41584
41585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41586 declaration.
41587 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41588 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41589 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41590 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41591 property).
41592 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41593 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41594
33bf70a7 415952008-01-19 Robert Millan <rmh@aybabtu.com>
41596
fe6b695a 41597 Get rid of confusing function (superseded by
33bf70a7 41598 `grub_ieee1275_get_integer_property')
41599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41600 prototype.
41601 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41602 function.
41603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41604 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41605 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41606
e2da7d26 416072008-01-19 Robert Millan <rmh@aybabtu.com>
41608
41609 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41610 command after "shut-down", since implementations differ on which
41611 the command for halt is.
41612
59f1fd8d 416132008-01-19 Robert Millan <rmh@aybabtu.com>
41614
41615 * include/grub/i386/linuxbios/console.h: Add header protection.
41616 (grub_keyboard_controller_init): New function prototype.
41617 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41618 (KEYBOARD_COMMAND_READ): Likewise.
41619 (KEYBOARD_COMMAND_WRITE): Likewise.
41620 (KEYBOARD_SCANCODE_SET1): Likewise.
41621 (grub_keyboard_controller_write): New function.
41622 (grub_keyboard_controller_read): Likewise.
41623 (grub_keyboard_controller_init): Likewise.
41624
41625 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41626 (grub_console_init): On coreboot/LinuxBIOS, call
41627 grub_keyboard_controller_init().
41628
5f5a7c15 416292008-01-19 Robert Millan <rmh@aybabtu.com>
41630
41631 PowerPC changes provided by Pavel Roskin.
41632
41633 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41634 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41635 don't rely on cmain() doing it.
41636 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41637 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41638
1210e168 416392008-01-16 Robert Millan <rmh@aybabtu.com>
41640
41641 * include/grub/i386/linuxbios/memory.h
41642 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41643 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41644 receive `table_header' as argument. Instead, probe for it in the
41645 known memory ranges where it can be present.
41646 (grub_available_iterate): Do not pass a fixed `table_header' address
41647 to grub_linuxbios_table_iterate().
41648
3d04eab8 416492008-01-15 Robert Millan <rmh@aybabtu.com>
41650
41651 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41652 * conf/i386-ieee1275.rmk: New file.
41653 * include/grub/i386/ieee1275/console.h: Likewise.
41654 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41655 * include/grub/i386/ieee1275/kernel.h: Likewise.
41656 * include/grub/i386/ieee1275/time.h: Likewise.
41657 * kern/i386/ieee1275/init.c: Likewise.
41658 * kern/i386/ieee1275/startup.S: Likewise.
41659
d1bc1b73 416602008-01-15 Robert Millan <rmh@aybabtu.com>
41661
41662 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41663 when pointers are 32-bit (but still do set it to one when they are
41664 64-bit).
41665
66a65807 416662008-01-15 Robert Millan <rmh@aybabtu.com>
41667
41668 * include/grub/ieee1275/ieee1275.h
41669 (grub_ieee1275_get_integer_property): New function prototype.
41670
41671 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41672 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41673 grub_ieee1275_get_property() to handle endianness.
66a65807 41674
41675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41676 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41677 where appropriate.
66a65807 41678 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41679 (grub_map): Likewise.
41680 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41681
a83ccafd 416822008-01-15 Bean <bean123ch@gmail.com>
41683
41684 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41685 (grub_script_execute_cmdline): Reset grub_errno.
41686
41687 * normal/main.c (read_config_file): Reset grub_errno.
41688
41689 * normal/parse.y (script_init): New.
41690 (script): Move function and menuentry here.
41691 (delimiter): New.
41692 (command): Add delimiter at the end of command.
41693 (commands): Adjust to match the new command.
41694 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41695 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41696 (if): Use the new commands.
41697
41698 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41699
df6ecfc6 417002008-01-15 Robert Millan <rmh@aybabtu.com>
41701
41702 * normal/menu.c (run_menu): Move timeout message from here ...
41703 (print_timeout): ... to here.
41704 (run_menu): Use print_timeout() once during initial draw to print
41705 the whole message, and again in every clock tick to update only
41706 the number of seconds.
41707
87ae25eb 417082008-01-15 Robert Millan <rmh@aybabtu.com>
41709
41710 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41711 actual size of `available' from grub_ieee1275_get_property(), and
41712 restrict parsing to that bound.
41713
47bf09a4 417142008-01-15 Christian Franke <franke@computer.org>
41715
41716 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41717 (argp_program_version): Remove variable.
41718 (argp_program_bug_address): Likewise.
41719 (options): Convert from struct argp_option to struct option.
41720 (struct arguments): Remove.
41721 (parse_opt): Remove.
41722 (usage): New function.
41723 (main): Replace struct args members by simple variables.
41724 Replace argp_parse() by getopt_long().
41725 Add switch to evaluate options.
41726 Add missing "(...)" around root_dev in prefix string.
41727
c86f1469 417282008-01-14 Robert Millan <rmh@aybabtu.com>
41729
41730 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41731 for grub_ieee1275_exit(), in order to improve portability.
41732
e622c559 417332008-01-14 Robert Millan <rmh@aybabtu.com>
41734
41735 * util/grub.d/10_linux.in (prefix): Define.
41736 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41737
44cb1ec8 417382008-01-13 Pavel Roskin <proski@gnu.org>
41739
41740 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41741 grub_errno if no errors have been detected.
41742
1eb8c802 417432008-01-12 Robert Millan <rmh@aybabtu.com>
41744
41745 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41746 (grub_util_get_dev_abstraction): New function prototype.
41747
41748 * util/getroot.c: Include `<grub/util/getroot.h>'
41749 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41750 (grub_util_get_dev_abstraction): ... here (new function).
41751
41752 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41753 `PRINT_ABSTRACTION'.
41754 (probe): Probe for abstraction type when requested.
41755 (main): Understand `--target=abstraction'.
41756
41757 * util/i386/efi/grub-install.in: Add abstraction module to core
41758 image when it is found to be necessary.
41759 * util/i386/pc/grub-install.in: Likewise.
41760 * util/powerpc/ieee1275/grub-install.in: Likewise.
41761
41762 * util/update-grub_lib.in (font_path): Return system path without
41763 converting to GRUB path.
41764 * util/update-grub.in: Convert system path returned by font_path()
41765 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41766 abstraction module is needed for loading fonts (if any). Export
41767 that as `GRUB_PRELOAD_MODULES'.
41768 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41769 insmod commands).
41770
52bd3de9 417712008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41772
41773 Remove some unused code from reiserfs.
f19dbdb7 41774
52bd3de9 41775 * fs/reiserfs.c (struct grub_reiserfs_key)
41776 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41777 (struct grub_reiserfs_node_body): Removed.
41778 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41779 Likewise.
41780 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41781 Likewise.
41782 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41783 Likewise.
41784 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41785 Likewise.
41786 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41787 Likewise.
41788 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41789 Likewise.
41790 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41791 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41792 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41793
2f80039d 417942008-01-10 Robert Millan <rmh@aybabtu.com>
41795
41796 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41797 Determines if a file is garbage left by packaging systems, etc.
41798 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41799 for processing /etc/grub.d scripts.
41800 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41801 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41802 as a condition for processing Linux images.
41803
87888032 418042008-01-10 Pavel Roskin <proski@gnu.org>
41805
41806 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41807 to compile reiserfs.c on PowerPC.
41808
7e54fced 418092008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41810
41811 * kern/device.c (grub_device_iterate): Do not abort device iteration
41812 when one of the devices cannot be opened.
41813 * kern/disk.c (grub_disk_open): Do not account previous failures of
41814 unrelated functions when grub_errno is checked for.
41815
5aa541e6 418162008-01-08 Robert Millan <rmh@aybabtu.com>
41817
41818 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41819 `! grub_linux_is_bzimage', change order of address comparison to make
41820 it more intuitive, and improve "too big zImage" error message.
41821
7076340d 418222008-01-08 Robert Millan <rmh@aybabtu.com>
41823
41824 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41825 `$(update-grub_DATA)'.
41826 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41827 targets.
41828
9ca70333 418292008-01-07 Robert Millan <rmh@aybabtu.com>
41830
41831 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41832 which instruction is modified by grub-setup during installation
41833 (since it wasn't obvious by only looking at this file).
41834
38ccf575 418352008-01-07 Robert Millan <rmh@aybabtu.com>
41836
41837 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41838 listing actual TODO items.
41839
f5db4291 418402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41841
868967cf 41842 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41843 correctly.
41844 (grub_reiserfs_get_key_offset): Likewise.
41845 (grub_reiserfs_set_key_offset): Likewise.
41846 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41847 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41848
41849 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41850 better to remove the bitfield version completely.
f19dbdb7 41851
868967cf 418522008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41853
f5db4291 41854 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41855 allocated from the heap, due to the fshelp implementation.
41856 (grub_reiserfs_dir): Free NODE, due to the same reason.
41857
492e6d9d 418582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41859
41860 Mostly from Vincent Pelletier:
f19dbdb7 41861
492e6d9d 41862 * fs/reiserfs.c: New file.
f19dbdb7 41863
492e6d9d 41864 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41865 (reiserfs_mod_SOURCES): New variable.
41866 (reiserfs_mod_CFLAGS): Likewise.
41867 (reiserfs_mod_LDFLAGS): Likewise.
41868
41869 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41870 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41871 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41872 normal/color.c.
41873
9ce3e7c1 418742008-01-06 Robert Millan <rmh@aybabtu.com>
41875
41876 * normal/color.c: Remove `<grub/env.h>'.
41877
f3b58148 418782008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41879
41880 * include/grub/normal.h: Include <grub/env.h>.
41881
7ac3bcfa 418822008-01-05 Robert Millan <rmh@aybabtu.com>
41883
41884 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41885 usage example with `(hd0,1)'.
fb358190 41886 Reported by Samuel Thibault.
7ac3bcfa 41887
c8ee99d7 418882008-01-05 Robert Millan <rmh@aybabtu.com>
41889
41890 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41891 (grub_linux_boot_zimage): Rename to ...
41892 (grub_linux_boot): ... this.
41893 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41894 (grub_linux_boot_zimage): Conditionalize zImage copy.
41895
41896 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41897 (grub_linux_boot_bzimage): Remove prototype.
41898 (grub_linux_boot_zimage): Rename to ...
41899 (grub_linux_boot): ... this.
41900
41901 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41902 (grub_linux_boot): Remove function.
41903
0ece25b1 419042008-01-05 Robert Millan <rmh@aybabtu.com>
41905
41906 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41907 (grub_env_write_color_highlight): Likewise.
41908 (grub_wait_after_message): Likewise.
41909
41910 * normal/color.c: New file.
41911
41912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41913 (normal_mod_DEPENDENCIES): Likewise.
41914
41915 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41916 (normal_mod_DEPENDENCIES): Likewise.
41917
41918 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41919 (normal_mod_DEPENDENCIES): Likewise.
41920
41921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41922 (normal_mod_DEPENDENCIES): Likewise.
41923
41924 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41925 for waiting after a message is printed.
41926 * normal/main.c (read_config_file): Likewise.
41927 (grub_normal_init): Register grub_env_write_color_normal() and
41928 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41929 `color_highlight' variables as global.
41930
41931 * normal/menu.c (grub_wait_after_message): New function.
41932 (grub_color_menu_normal): New variable. Replaces ...
41933 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41934 (grub_color_menu_highlight): New variable. Replaces ...
41935 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41936 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41937 `GRUB_TERM_COLOR_STANDARD'.
41938 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41939 `normal_code' and `highlight_code' to `old_color_normal' and
41940 `old_color_highlight', respectively.
41941 (grub_menu_init_page): Update colors when drawing the menu, based on
41942 `menu_color_normal' and `menu_color_highlight' variables.
41943 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41944 a message is printed.
41945
182dd4e5 419462008-01-05 Robert Millan <rmh@aybabtu.com>
41947
41948 * kern/env.c (grub_env_context_open): Propagate hooks for global
41949 variables to new context.
41950
41951 * kern/main.c (grub_set_root_dev): Export `root' variable.
41952
ddf8f6ad 419532008-01-05 Robert Millan <rmh@aybabtu.com>
41954
41955 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41956 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41957 them.
41958
d8b43d9b 419592008-01-05 Robert Millan <rmh@aybabtu.com>
41960
41961 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41962
2bff2de3 419632008-01-04 Christian Franke <franke@computer.org>
41964
41965 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41966 of eisa_mmap.
41967
97eab917 419682008-01-03 Pavel Roskin <proski@gnu.org>
41969
41970 * kern/i386/linuxbios/init.c: Put "void" to all function
41971 declarations with no arguments.
41972 * kern/powerpc/ieee1275/init.c: Likewise.
41973 * term/i386/pc/at_keyboard.c: Likewise.
41974 * term/i386/pc/vga_text.c: Likewise.
41975 * util/grub-mkdevicemap.c: Likewise.
41976
b9416d00 419772008-01-02 Robert Millan <rmh@aybabtu.com>
41978
41979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41980 message when loaded image is out of bounds.
41981 (grub_multiboot_load_elf64): Likewise.
41982
92695df9 419832008-01-02 Pavel Roskin <proski@gnu.org>
41984
41985 * util/grub.d/10_linux.in: Try version without ".old" when
41986 looking for initrd. It's better to use initrd from the newer
41987 kernel of the same version than no initrd at all.
41988
d98d9cad 419892008-01-01 Robert Millan <rmh@aybabtu.com>
41990
41991 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41992
dbfdce36 419932008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41994
f19dbdb7 41995 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41996 grub_video_get_active_render_target.
41997 (grub_video_adapter): Added unmap_color and get_active_render_target.
41998
f19dbdb7 41999 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42000 grub_video_get_active_render_target.
42001 (grub_video_get_info): Changed method to accept NULL pointer as an
42002 argument to allow detection of active video adapter.
42003
42004 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42005 grub_video_vbe_unmap_color_int.
42006 Added grub_video_vbe_unmap_color and
42007 grub_video_vbe_get_active_render_target.
42008 (grub_video_vbe_adapter): Added unmap_color and
42009 get_active_render_target.
42010
f19dbdb7 42011 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42012 with grub_video_vbe_unmap_color_int.
42013
42014 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42015 (DEFAULT_NORMAL_COLOR): Likewise.
42016 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42017 (DEFAULT_FG_COLOR): Removed.
42018 (DEFAULT_BG_COLOR): Likewise.
42019 (DEFAULT_CURSOR_COLOR): Changed value.
42020 (grub_virtual_screen): Added standard_color_setting,
42021 normal_color_setting, highlight_color_setting and term_color.
42022 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42023 (bitmap_width): Added.
42024 (bitmap_height): Likewise.
42025 (bitmap): Likewise.
42026 (set_term_color): Likewise.
42027 (grub_virtual_screen_setup): Changed to use new terminal coloring
42028 settings.
42029 (grub_gfxterm_init): Added init for bitmap.
42030 (grub_gfxterm_fini): Added destroy for bitmap.
42031 (redraw_screen_rect): Updated to use background bitmap and new
42032 terminal coloring.
42033 (scroll_up): Added optimization for case when there is no bitmap.
42034 (grub_gfxterm_cls): Fixed to use correct background color.
42035 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42036 coloring.
42037 (grub_virtual_screen_setcolor): Likewise.
42038 (grub_virtual_screen_getcolor): Added.
42039 (grub_gfxterm_background_image_cmd): Likewise.
42040 (grub_video_term): Added setcolor and getcolor.
42041 (MOD_INIT): Added registration of background_image command.
42042 (MOD_TERM): Added unregistration for background_image command.
42043
c3c20931 420442007-12-30 Pavel Roskin <proski@gnu.org>
42045
42046 * loader/multiboot_loader.c: Fix multiboot command
42047 unregistration. Fix all typos in the word "multiboot".
42048
df266716 420492007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42050
42051 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42052 support for initrd names used in Fedora.
42053
fc6e896c 420542007-12-26 Bean <bean123ch@gmail.com>
42055
42056 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42057 (cpio_mod_SOURCES): New variable.
42058 (cpio_mod_CFLAGS): Likewise.
42059 (cpio_mod_LDFLAGS): Likewise.
42060
42061 * fs/cpio.c: New file.
42062
42063 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42064
42065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42066
42067 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42068
42069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42070
533110ad 420712007-12-25 Robert Millan <rmh@aybabtu.com>
42072
42073 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42074 (grub_getcolor): New function.
42075
42076 * kern/term.c (grub_getcolor): New function.
42077 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42078 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42079 (print_entry): Set normal and highlight colors to
42080 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42081 respectively, before printing and restore them to old
42082 values afterwards.
42083 (grub_menu_init_page): Likewise. Fill an additional colored space
42084 that would otherwise be left blank.
42085
42086 * term/efi/console.c (grub_console_getcolor): New function.
42087 (struct grub_console_term.getcolor): New variable.
42088 * term/i386/pc/console.c (grub_console_getcolor): New function.
42089 (struct grub_console_term.getcolor): New variable.
42090 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42091 (struct grub_console_term.getcolor): New variable.
42092
42093 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42094 (struct grub_console_term.setcolor): Remove variable.
42095 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42096 (struct grub_console_term.setcolor): Remove variable.
42097 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42098 (struct grub_console_term.setcolor): Remove variable.
42099 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42100 (struct grub_console_term.setcolor): Remove variable.
42101
4931827f 421022007-12-25 Robert Millan <rmh@aybabtu.com>
42103
42104 * configure.ac: Search for possible unifont.hex locations, and
42105 define UNIFONT_HEX if found.
42106
42107 * Makefile.in (UNIFONT_HEX): Define variable.
42108 (DATA): Rename to ...
42109 (PKGLIB): ... this. Update all users.
42110 (PKGDATA): New variable.
42111 (pkgdata_IMAGES): Rename to ...
42112 (pkglib_IMAGES): ... this. Update all users.
42113 (pkgdata_MODULES): Rename to ...
42114 (pkglib_MODULES): ... this. Update all users.
42115 (pkgdata_PROGRAMS): Rename to ...
42116 (pkglib_PROGRAMS): ... this. Update all users.
42117 (pkgdata_DATA): Rename to ...
42118 (pkglib_DATA): ... this. Update all users.
42119 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42120 (unicode.pff, ascii.pff): New rules.
42121 (all-local): Add `$(PKGDATA)' dependency.
42122 (install-local): Process `$(PKGDATA)'.
42123
42124 * util/update-grub_lib.in (font_path): Search for *.pff files in
42125 a few more locations, including `${pkgdata}'.
42126
57e57e31 421272007-12-23 Robert Millan <rmh@aybabtu.com>
42128
42129 Patch from Bean <bean123ch@gmail.com>:
42130 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42131 `size'.
42132
4bc72aa9 421332007-12-21 Bean <bean123ch@gmail.com>
42134
42135 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42136 (ntfscomp_mod_SOURCES): New variable.
42137 (ntfscomp_mod_CFLAGS): Likewise.
42138 (ntfscomp_mod_LDFLAGS): Likewise.
42139
42140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42141 (grub_probe_SOURCES): Likewise.
42142 (grub_emu_SOURCES): Likewise.
42143
42144 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42145 (grub_emu_SOURCES): Likewise.
42146
42147 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42148 (grub_emu_SOURCES): Likewise.
42149
42150 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42151 (grub_emu_SOURCES): Likewise.
42152
42153 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42154 (read_run_list): Renamed to grub_ntfs_read_run_list.
42155 (decomp_nextvcn): Moved to ntfscomp.c.
42156 (decomp_getch): Likewise.
42157 (decomp_get16): Likewise.
42158 (decomp_block): Likewise.
42159 (read_block): Likewise.
42160 (read_data): Partially moved to ntfscomp.c.
42161 (fixup): Change unsigned to grub_uint16_t.
42162 (read_mft): Change unsigned long to grub_uint32_t.
42163 (read_attr): Likewise.
42164 (read_data): Likewise.
42165 (read_run_data): Likewise.
42166 (read_run_list): Likewise.
42167 (read_mft): Likewise.
42168
42169 * fs/ntfscomp.c: New file.
42170
42171 * include/grub/ntfs.h: New file.
42172
af680a87 421732007-12-16 Robert Millan <rmh@aybabtu.com>
42174
42175 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42176 IDE disk check, since Linux is known to support 20 IDE disks.
42177 Reported by Colin Watson.
42178
84be7599 421792007-12-15 Bean <bean123ch@gmail.com>
42180
42181 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42182 (lnxboot_img_SOURCES): New variable.
42183 (lnxboot_img_ASFLAGS): Likewise.
42184 (lnxboot_img_LDFLAGS): Likewise.
42185
42186 * boot/i386/pc/lnxboot.S: New file.
42187
6af9db01 421882007-11-24 Pavel Roskin <proski@gnu.org>
42189
42190 * configure.ac: Test if '--build-id=none' is supported by the
42191 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42192 objcopy to generate incorrect binary files (binutils
42193 2.17.50.0.18-1 as shipped by Fedora 8).
42194 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42195 linking, so that build ID doesn't break the test.
42196
7361cfe6 421972007-11-24 Pavel Roskin <proski@gnu.org>
42198
42199 * include/grub/i386/time.h: use "void" in the argument list
42200 of grub_cpu_idle().
42201 * include/grub/powerpc/time.h: Likewise.
42202 * include/grub/sparc64/time.h: Likewise.
42203
1593e10c 422042007-11-18 Christian Franke <franke@computer.org>
42205
42206 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42207 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42208 This fixes the problem that function keys did not work in grub-emu.
42209
3b8db1a8 422102007-11-18 Christian Franke <franke@computer.org>
42211
42212 * disk/host.c (grub_host_open): Remove attribute unused from
42213 name parameter. Add check for "host". This fixes the problem
42214 that grub-emu does not find partitions.
42215
2e29408d 422162007-11-18 Christian Franke <franke@computer.org>
42217
42218 * util/hostfs.c (is_dir): New function.
42219 (grub_hostfs_dir): Handle missing dirent.d_type case.
42220 (grub_hostfs_read): Add missing fseek().
42221 (grub_hostfs_label): Clear label pointer. This fixes a crash
42222 of grub-emu on "ls (host)".
42223
398cd047 422242007-11-18 Christian Franke <franke@computer.org>
42225
42226 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42227 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42228 to 64 bit boundary by default.
42229
c405c391 422302007-11-18 Bean <bean123ch@gmail.com>
42231
42232 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42233 (hexdump_mod_SOURCES): New variable.
42234 (hexdump_mod_CFLAGS): Likewise.
42235 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42236
c405c391 42237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42238
42239 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42240
42241 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42242
42243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42244
42245 * include/grub/hexdump.h: New file.
42246
42247 * commands/hexdump.c: New file.
42248
5cced7fd 422492007-11-10 Robert Millan <rmh@aybabtu.com>
42250
42251 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42252 in grub_outb() calls.
42253 (beep_on): Likewise.
42254
8b714eb0 422552007-11-10 Christian Franke <franke@computer.org>
42256
42257 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42258 (grub_menu_run): Likewise.
42259
ce0f1839 422602007-11-10 Robert Millan <rmh@aybabtu.com>
42261
42262 * include/grub/i386/efi/machine.h: New file.
42263 * include/grub/i386/linuxbios/machine.h: Likewise.
42264 * include/grub/i386/pc/machine.h: Likewise.
42265 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42266 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42267
42268 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42269 (serial_hw_io_addr): New variable.
42270 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42271 instead of `(unsigned short *) 0x400'.
42272
270c237d 422732007-11-10 Bean <bean123ch@gmail.com>
42274
42275 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42276
a87783bf 422772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42278
42279 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42280 (vga_mod_SOURCES): Added.
42281 (vga_mod_CFLAGS): Likewise.
42282 (vga_mod_LDFLAGS): Likewise.
42283
42284 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42285 grub_outb() calls.
42286 (set_map_mask): Likewise.
42287 (set_read_map): Likewise.
42288 (set_read_address): Likewise.
42289 (vga_font): Removed variable.
42290 (get_vga_glyph): Removed function.
42291 (invalidate_char): Likewise.
42292 (write_char): Changed to use grub_font_get_glyph() for font
42293 information.
42294 (grub_vga_putchar): Likewise.
42295 (grub_vga_getcharwidth): Likewise.
42296
6433b448 422972007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42298
42299 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42300 flags.
42301 (pxeboot_img_LDFLAGS): Likewise.
42302 (diskboot_img_LDFLAGS): Likewise.
42303 (kernel_img_LDFLAGS): Likewise.
42304
49178511 423052007-11-06 Robert Millan <rmh@aybabtu.com>
42306
42307 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42308 in grub_outb() calls.
42309 (serial_hw_init): Likewise.
42310
53b052de 423112007-11-05 Robert Millan <rmh@aybabtu.com>
42312
42313 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42314 spaces. Skip non-regular files.
42315
5ab33bba 423162007-11-05 Robert Millan <rmh@aybabtu.com>
42317
42318 * kern/disk.c (grub_disk_firmware_fini)
42319 (grub_disk_firmware_is_tainted): New variables.
42320
42321 * include/grub/disk.h (grub_disk_firmware_fini)
42322 (grub_disk_firmware_is_tainted): Likewise.
42323
42324 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42325 (grub_disk_biosdisk_fini): ... to here.
42326 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42327 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42328 is set. Register grub_disk_biosdisk_fini() in
42329 `grub_disk_firmware_fini'.
42330
42331 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42332 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42333 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42334 to finish existing firmware disk interface.
42335
42336 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42337 (ata_mod_SOURCES): New variable.
42338 (ata_mod_CFLAGS): Likewise.
42339 (ata_mod_LDFLAGS): Likewise.
42340
0149ab7c 423412007-11-05 Robert Millan <rmh@aybabtu.com>
42342
42343 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42344 (grub_ata_wait): Reimplement using grub_millisleep().
42345
42346 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42347 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42348
be7ac41e 423492007-11-03 Marco Gerards <marco@gnu.org>
42350
42351 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42352 (CRTC_ADDR_PORT): New macro.
42353 (CRTC_DATA_PORT): Likewise.
42354 (CRTC_CURSOR): Likewise.
42355 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42356 (CRTC_CURSOR_ADDR_LOW): Likewise.
42357 (update_cursor): New function.
42358 (grub_console_real_putchar): Call `update_cursor'.
42359 (grub_console_gotoxy): Likewise.
42360 (grub_console_cls): Set the default color when clearing the
42361 screen.
42362 (grub_console_setcursor): Implemented.
42363
bb06ab2e 423642007-11-03 Marco Gerards <marco@gnu.org>
42365
42366 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42367 become activate.
42368 (grub_ata_pio_write): Likewise.
42369
42370 (grub_atapi_identify): Wait after issuing an ATA command.
42371 (grub_atapi_packet): Likewise.
42372 (grub_ata_identify): Likewise.
42373 (grub_ata_readwrite): Likewise.
42374
cf8f780b 423752007-11-03 Marco Gerards <marco@gnu.org>
42376
42377 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42378 (grub_ata_pio_write): Likewise.
42379 (grub_ata_readwrite): Use `grub_error', instead of
42380 returning `grub_errno'.
42381
ed649e54 423822007-11-03 Marco Gerards <marco@gnu.org>
42383
42384 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42385 grub_ata_pio_write once for every single sector, instead of for
42386 multiple sectors.
42387
ca25d8f0 423882007-10-31 Robert Millan <rmh@aybabtu.com>
42389
42390 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42391
42392 * conf/i386-linuxbios.rmk: New file.
42393
42394 * kern/i386/pc/hardware.c: Likewise.
42395 * term/i386/pc/at_keyboard.c: Likewise.
42396 * term/i386/pc/vga_text.c: Likewise.
42397
42398 * include/grub/i386/linuxbios/boot.h: Likewise.
42399 * include/grub/i386/linuxbios/console.h: Likewise.
42400 * include/grub/i386/linuxbios/init.h: Likewise.
42401 * include/grub/i386/linuxbios/kernel.h: Likewise.
42402 * include/grub/i386/linuxbios/loader.h: Likewise.
42403 * include/grub/i386/linuxbios/memory.h: Likewise.
42404 * include/grub/i386/linuxbios/serial.h: Likewise.
42405 * include/grub/i386/linuxbios/time.h: Likewise.
42406
42407 * kern/i386/linuxbios/init.c: Likewise.
42408 * kern/i386/linuxbios/startup.S: Likewise.
42409 * kern/i386/linuxbios/table.c: Likewise.
42410
e911ecc1 424112007-10-31 Marco Gerards <marco@gnu.org>
42412
42413 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42414 (ata_mod_SOURCES): New variable.
42415 (ata_mod_CFLAGS): Likewise.
42416 (ata_mod_LDFLAGS): Likewise.
42417
42418 * disk/ata.c: New file.
42419
42420 * include/grub/disk.h (grub_disk_dev_id): Add
42421 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42422
7f66d0e0 424232007-10-31 Robert Millan <rmh@aybabtu.com>
42424
42425 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42426 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42427
42428 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42429 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42430
42431 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42432 `<grub/types.h>'.
42433
42434 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42435
5cd7dd46 424362007-10-27 Robert Millan <rmh@aybabtu.com>
42437
3236ca65 42438 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42439
2ebfc90f 424402007-10-22 Robert Millan <rmh@aybabtu.com>
42441
42442 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42443 `"../realmode.S"'.
42444 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42445
73fcb0f3 424462007-10-22 Robert Millan <rmh@aybabtu.com>
42447
42448 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42449 (pkgdata_MODULES): Add `biosdisk.mod'.
42450 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42451 variables.
42452
42453 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42454 (grub_biosdisk_init): Replace with ...
42455 (GRUB_MOD_INIT(biosdisk)): ... this.
42456 (grub_biosdisk_fini): Replace with ...
42457 (GRUB_MOD_FINI(biosdisk)): ... this.
42458
42459 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42460 (grub_machine_init): Remove call to grub_biosdisk_init().
42461 (grub_machine_fini): Remove call to grub_machine_fini().
42462
42463 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42464
3381d274 424652007-10-22 Robert Millan <rmh@aybabtu.com>
42466
42467 * include/grub/time.h: New file.
42468 * include/grub/i386/time.h: Likewise.
42469 * include/grub/powerpc/time.h: Likewise.
42470 * include/grub/sparc64/time.h: Likewise.
42471
42472 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42473 instances to ...
42474 (KERNEL_MACHINE_TIME_HEADER): ... this.
42475 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42476 instances to ...
42477 (KERNEL_MACHINE_TIME_HEADER): ... this.
42478 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42479 instances to ...
42480 (KERNEL_MACHINE_TIME_HEADER): ... this.
42481
42482 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42483 (grub_millisleep): New function.
42484 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42485 (grub_millisleep): New function.
42486 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42487 Remove `grub/machine/time.h' include.
42488 (grub_millisleep): New function.
42489 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42490 Remove `grub/machine/time.h' include.
42491 (grub_millisleep): New function.
42492
42493 * include/grub/misc.h (grub_div_roundup): New function.
42494
42495 * kern/misc.c: Include `<grub/time.h>'.
42496 (grub_millisleep_generic): New function.
42497
42498 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42499 Add `time.h'.
42500 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42501 Add `time.h'.
42502 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42503 `machine/time.h'. Add `time.h'.
42504 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42505
a39a0312 425062007-10-21 Robert Millan <rmh@aybabtu.com>
42507
42508 * include/grub/misc.h (grub_max): New function.
42509
2aad70e2 425102007-10-21 Robert Millan <rmh@aybabtu.com>
42511
42512 * util/misc.c (grub_util_info): Call fflush() before returning.
42513
54b71c4b 425142007-10-20 Robert Millan <rmh@aybabtu.com>
42515
42516 * genmk.rb (Image): Copy `extra_flags' from here ...
42517 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42518
42519 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42520 to `argc' and `args' arguments.
42521
a979f513 425222007-10-17 Robert Millan <rmh@aybabtu.com>
42523
42524 * kern/i386/loader.S: New file.
42525
42526 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42527 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42528 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42529 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42530 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42531 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42532 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42533 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42534 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42535 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42536 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42537 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42538 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42539 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42540
42541 * kern/i386/realmode.S: New file.
42542
42543 * kern/i386/pc/startup.S (protstack): Moved from here ...
42544 * kern/i386/realmode.S (protstack)... to here.
42545 * kern/i386/pc/startup.S (gdt): Moved from here ...
42546 * kern/i386/realmode.S (gdt)... to here.
42547 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42548 * kern/i386/realmode.S (prot_to_real)... to here.
42549
42550 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42551 `kern/i386/realmode.S'.
42552
825fc8fd 425532007-10-17 Robert Millan <rmh@aybabtu.com>
42554
42555 * include/grub/i386/loader.h: New file.
42556
42557 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42558 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42559 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42560 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42561 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42562 * include/grub/i386/loader.h (grub_linux_prot_size)
42563 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42564 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42565 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42566 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42567
42568 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42569
e179b2f4 425702007-10-15 Robert Millan <rmh@aybabtu.com>
42571
42572 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42573 filesystem when dev->disk is unset.
42574 Do probe for filesystem even when dev->disk->has_partitions is set.
42575 In case a filesystem is found, always report it.
42576 In case it isn't, if dev->disk->has_partitions is set, report that
42577 a partition table was found instead of reporting that no filesystem
42578 could be identified.
42579
5db82af6 425802007-10-12 Robert Millan <rmh@aybabtu.com>
42581
42582 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42583 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42584
68f6ac74 42585 * include/grub/types.h (grub_host_to_target16): New macro.
42586 (grub_host_to_target32): Likewise.
42587 (grub_host_to_target64): Likewise.
42588 (grub_target_to_host16): Likewise.
42589 (grub_target_to_host32): Likewise.
42590 (grub_target_to_host64): Likewise.
5db82af6 42591
42592 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42593 Renamed from to ...
42594 (GRUB_MOD_ALIGN): ...this. Update all users.
42595
68f6ac74 42596 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42597 grub_host_to_target32.
42598 Replace grub_be_to_cpu32 with grub_target_to_host32.
42599 (load_modules): Likewise.
42600 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42601 Replace grub_be_to_cpu32 with grub_target_to_host32.
42602 Replace grub_cpu_to_be16 with grub_host_to_target16.
42603 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42604
3cf497cc 426052007-10-12 Robert Millan <rmh@aybabtu.com>
42606
42607 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42608 * util/elf/grub-mkimage.c: ... here.
42609
42610 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42611 `util/powerpc/ieee1275/grub-mkimage.c'.
42612
c8cc3692 426132007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42614
c8cc3692 42615 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42616 and make it easier to figure out.
42617 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42618 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42619 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42620 leave us with less than HEAP_MIN_SIZE total heap.
42621 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42622
5c58b791 426232007-10-03 Robert Millan <rmh@aybabtu.com>
42624
42625 * include/grub/i386/io.h: New file.
42626 * commands/i386/pc/play.c (inb): Removed.
42627 (outb): Removed.
42628 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42629 with grub_outb().
afcd2ef8 42630 * term/i386/pc/serial.c (inb): Removed.
42631 (outb): Removed.
42632 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42633 with grub_outb().
42634 * term/i386/pc/vga.c (inb): Removed.
42635 (outb): Removed.
42636 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42637 with grub_outb().
5c58b791 42638
1a477ed6 426392007-10-02 Robert Millan <rmh@aybabtu.com>
42640
42641 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42643 Reported by Marcin Kurek.
42644
6b5d80fa 426452007-09-07 Robert Millan <rmh@aybabtu.com>
42646
42647 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42648 SmartFirmware version updates (as released by Sven Luther), and avoid
42649 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42650 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42651 known broken.
42652
5618afbf 426532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42654
42655 From Hitoshi Ozeki:
42656 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42657 when merging two regions.
42658
6139dcd9 426592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42660
508e39ee 42661 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42662 * normal/completion.c (grub_normal_do_completion): Likewise.
42663 Reported by Hitoshi Ozeki.
42664
426652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42666
6139dcd9 42667 Do not use devices at boot in chainloading.
f19dbdb7 42668
6139dcd9 42669 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42670 (boot_part_addr): Likewise.
42671 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42672 with BOOT_DRIVE and BOOT_PART_ADDR.
42673 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42674 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42675
38da6516 426762007-08-29 Robert Millan <rmh@aybabtu.com>
42677
42678 Patch from Simon Peter <dn.tlp@gmx.net>:
42679 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42680 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42681 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42682 util/i386/pc/grub-setup.c_DEPENDENCIES.
42683 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42684 util/grub-probe.c_DEPENDENCIES.
42685 * conf/powerpc-ieee1275.rmk: Likewise.
42686
29d0928c 426872007-08-28 Robert Millan <rmh@aybabtu.com>
42688
42689 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42690 to tell grub-mkdevicemap how to name devices.
42691 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42692 feature).
42693
42694 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42695 util/i386/get_disk_name.c.
42696 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42697 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42698 util/ieee1275/get_disk_name.c.
42699
42700 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42701
42702 * DISTLIST: Add util/i386/get_disk_name.c and
42703 util/ieee1275/get_disk_name.c.
42704
42705 * util/grub-mkdevicemap.c: Replace device naming logic with
42706 grub_util_get_disk_name() calls.
42707
5a0d3cca 427082007-08-20 Robert Millan <rmh@aybabtu.com>
42709
42710 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42711 (so that it works for both plural and singular quantities).
42712
8b72db2f 427132007-08-05 Robert Millan <rmh@aybabtu.com>
42714
42715 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42716 so that [xz] isn't taken into account when determining order.
42717
352466bf 427182007-08-02 Marco Gerards <marco@gnu.org>
42719
42720 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42721 `include/multiboot2.h', `include/grub/elfload.h',
42722 `include/multiboot.h', `include/grub/multiboot.h',
42723 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42724 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42725 `kern/elf.c', `loader/multiboot_loader.c',
42726 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42727 `loader/i386/pc/multiboot2.c',
42728 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42729 `util/i386/pc/grub-mkrescue.in'. Remove
42730 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42731 `include/grub/i386/pc/util/biosdisk.h' and
42732 `include/grub/powerpc/ieee1275/multiboot.h'.
42733
8f096014 427342007-08-02 Bean <bean123ch@gmail.com>
42735
42736 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42737 (ntfs_mod_SOURCES): New variable.
42738 (ntfs_mod_CFLAGS): Likewise.
42739 (ntfs_mod_LDFLAGS): Likewise.
42740
42741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42742 (grub_probe_SOURCES): Likewise.
42743 (grub_emu_SOURCES): Likewise.
42744
42745 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42746 (grub_emu_SOURCES): Likewise.
42747
42748 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42749 (grub_emu_SOURCES): Likewise.
f19dbdb7 42750
8f096014 42751 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42752
42753 * fs/ntfs.c: New file.
42754
9959f7db 427552007-08-02 Bean <bean123ch@gmail.com>
42756
42757 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42758
42759 * file.h (grub_file): Likewise.
42760
42761 * fshelp.h (grub_fshelp_read_file): Likewise.
42762
42763 * util/i386/pc/grub-setup.c (setup): Likewise.
42764 (save_first_sector): Likewise.
42765 (save_blocklists): Likewise.
f19dbdb7 42766
9959f7db 42767 * fs/affs.c (grub_affs_read_file): Likewise.
42768
42769 * fs/ext2.c (grub_ext2_read_file): Likewise.
42770
42771 * fs/fat.c (grub_fat_read_data): Likewise.
42772
42773 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42774
42775 * fs/hfs.c (grub_hfs_read_file): Likewise.
42776
42777 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42778
42779 * fs/jfs.c (grub_jfs_read_file): Likewise.
42780
42781 * fs/minix.c (grub_minix_read_file): Likewise.
42782
42783 * fs/sfs.c (grub_sfs_read_file): Likewise.
42784
42785 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42786
9959f7db 42787 * fs/xfs.c (grub_xfs_read_file): Likewise.
42788
42789 * command/blocklist.c (read_blocklist): Likewise.
42790 (print_blocklist): Likewise.
42791
0a203f83 427922007-08-02 Marco Gerards <marco@gnu.org>
42793
42794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42795 `util/hostfs.c'.
42796
42797 * disk/host.c: New file.
42798
42799 * util/hostfs.c: Likewise.
42800
42801 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42802 return `GRUB_ERR_BAD_FS'.
42803 * fs/sfs.c (grub_sfs_mount): Likewise.
42804 * fs/xfs.c (grub_xfs_mount): Likewise.
42805
42806 * include/grub/disk.h (enum grub_disk_dev_id): Add
42807 `GRUB_DISK_DEVICE_HOST_ID'.
42808
42809 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42810
e5dfe777 428112007-07-24 Jerone Young <jerone@gmail.com>
42812
f19dbdb7 42813 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42814 modules for compilation.
42815 * conf/powerpc-ieee1275.rmk: Likewise.
42816
42817 * include/multiboot.h: Move multiboot definitions to one file. Rename
42818 many definitions to not get grub specific.
42819 * include/multiboot2.h: Create header with multiboot 2 definitions.
42820 * include/grub/multiboot.h: Header for grub specific function
42821 prototypes and definitions.
42822 * include/grub/multiboot2.h: Likewise.
42823 * include/grub/multiboot_loader.h: Likewise.
42824 * include/grub/i386/pc/multiboot.h: Removed.
42825 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42826
42827 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42828 and 2 to allow for one multiboot and module commands.
42829 * loader/multiboot2.c: Add multiboot2 functionality.
42830 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42831 and definition names.
42832 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42833 2 functions.
42834 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42835 ieee1275 specific multiboot2 code.
42836
42837 * kern/i386/pc/startup.S: Change headers and definition names for
42838 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42839
daf0f0ba 428402007-07-22 Robert Millan <rmh@aybabtu.com>
42841
42842 * geninitheader.sh: Process file specified in first parameter rather
42843 than hardcoding grub_modules_init.lst.
fe6b695a 42844 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42845 than hardcoding grub_modules_init.h.
42846
42847 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42848 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42849 grub_probe_init.[ch] and grub_setup_init.[ch].
42850
42851 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42852 grub_modules_init.h with grub_emu_init.h.
42853 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42854 grub_probe_init.[ch] files.
42855 * conf/i386-efi.rmk: Likewise.
42856 * conf/i386-pc.rmk: Likewise.
42857 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42858 grub_setup_init.[ch] files.
42859
42860 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42861 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42862 to initialize modules rather than a list of hardcoded functions.
42863 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42864 grub_init_all() to initialize modules rather than a list of hardcoded
42865 functions.
42866
54cdc1cc 428672007-07-22 Robert Millan <rmh@aybabtu.com>
42868
42869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42870 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42871
ad0686cc 428722007-07-22 Robert Millan <rmh@aybabtu.com>
42873
42874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42875 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42876 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42877 flag when running on SmartFirmware.
42878 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42879 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42880 was set.
42881
42882 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42883 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42884 rather than decreasing it.
42885
42886 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42887 there's not enough space to do it, fail in the same way as when it
42888 can't be done because there are no partitions.
42889
42890 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42891 when nvsetenv failed.
42892
969c02ec 428932007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42894
42895 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42896 because this rule is automatically generated.
42897 (grub-mkrescue): Removed for the same reason as above.
42898
5a79f472 428992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42900
42901 Migrate to GNU General Public License Version 3.
f19dbdb7 42902
5a79f472 42903 * COPYING: Replaced with the plain text version of GPLv3.
42904
42905 * config.guess: Updated from gnulib.
42906 * config.sub: Likewise.
42907
42908 * geninit.sh: Output a GPLv3 copyright notice.
42909 * geninitheader.sh: Likewise.
42910 * genmodsrc.sh: Likewise.
42911 * gensymlist.sh.in: Likewise.
42912
42913 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42914 * boot/i386/pc/diskboot.S: Likewise.
42915 * boot/i386/pc/pxeboot.S: Likewise.
42916 * commands/blocklist.c: Likewise.
42917 * commands/boot.c: Likewise.
42918 * commands/cat.c: Likewise.
42919 * commands/cmp.c: Likewise.
42920 * commands/configfile.c: Likewise.
42921 * commands/echo.c: Likewise.
42922 * commands/help.c: Likewise.
42923 * commands/ls.c: Likewise.
42924 * commands/search.c: Likewise.
42925 * commands/terminal.c: Likewise.
42926 * commands/test.c: Likewise.
42927 * commands/videotest.c: Likewise.
42928 * commands/i386/cpuid.c: Likewise.
42929 * commands/i386/pc/halt.c: Likewise.
42930 * commands/i386/pc/play.c: Likewise.
42931 * commands/i386/pc/reboot.c: Likewise.
42932 * commands/i386/pc/vbeinfo.c: Likewise.
42933 * commands/i386/pc/vbetest.c: Likewise.
42934 * commands/ieee1275/halt.c: Likewise.
42935 * commands/ieee1275/reboot.c: Likewise.
42936 * commands/ieee1275/suspend.c: Likewise.
42937 * disk/loopback.c: Likewise.
42938 * disk/lvm.c: Likewise.
42939 * disk/raid.c: Likewise.
42940 * disk/efi/efidisk.c: Likewise.
42941 * disk/i386/pc/biosdisk.c: Likewise.
42942 * disk/ieee1275/ofdisk.c: Likewise.
42943 * font/manager.c: Likewise.
42944 * fs/affs.c: Likewise.
42945 * fs/ext2.c: Likewise.
42946 * fs/fat.c: Likewise.
42947 * fs/fshelp.c: Likewise.
42948 * fs/hfs.c: Likewise.
42949 * fs/hfsplus.c: Likewise.
42950 * fs/iso9660.c: Likewise.
42951 * fs/jfs.c: Likewise.
42952 * fs/minix.c: Likewise.
42953 * fs/sfs.c: Likewise.
42954 * fs/ufs.c: Likewise.
42955 * fs/xfs.c: Likewise.
42956 * hello/hello.c: Likewise.
42957 * include/grub/acorn_filecore.h: Likewise.
42958 * include/grub/arg.h: Likewise.
42959 * include/grub/bitmap.h: Likewise.
42960 * include/grub/boot.h: Likewise.
42961 * include/grub/cache.h: Likewise.
42962 * include/grub/device.h: Likewise.
42963 * include/grub/disk.h: Likewise.
42964 * include/grub/dl.h: Likewise.
42965 * include/grub/elfload.h: Likewise.
42966 * include/grub/env.h: Likewise.
42967 * include/grub/err.h: Likewise.
42968 * include/grub/file.h: Likewise.
42969 * include/grub/font.h: Likewise.
42970 * include/grub/fs.h: Likewise.
42971 * include/grub/fshelp.h: Likewise.
42972 * include/grub/gzio.h: Likewise.
42973 * include/grub/hfs.h: Likewise.
42974 * include/grub/kernel.h: Likewise.
42975 * include/grub/loader.h: Likewise.
42976 * include/grub/lvm.h: Likewise.
42977 * include/grub/misc.h: Likewise.
42978 * include/grub/mm.h: Likewise.
42979 * include/grub/net.h: Likewise.
42980 * include/grub/normal.h: Likewise.
42981 * include/grub/parser.h: Likewise.
42982 * include/grub/partition.h: Likewise.
42983 * include/grub/pc_partition.h: Likewise.
42984 * include/grub/raid.h: Likewise.
42985 * include/grub/rescue.h: Likewise.
42986 * include/grub/script.h: Likewise.
42987 * include/grub/setjmp.h: Likewise.
42988 * include/grub/symbol.h: Likewise.
42989 * include/grub/term.h: Likewise.
42990 * include/grub/terminfo.h: Likewise.
42991 * include/grub/tparm.h: Likewise.
42992 * include/grub/types.h: Likewise.
42993 * include/grub/video.h: Likewise.
42994 * include/grub/efi/api.h: Likewise.
42995 * include/grub/efi/chainloader.h: Likewise.
42996 * include/grub/efi/console.h: Likewise.
42997 * include/grub/efi/console_control.h: Likewise.
42998 * include/grub/efi/disk.h: Likewise.
42999 * include/grub/efi/efi.h: Likewise.
43000 * include/grub/efi/pe32.h: Likewise.
43001 * include/grub/efi/time.h: Likewise.
43002 * include/grub/i386/linux.h: Likewise.
43003 * include/grub/i386/setjmp.h: Likewise.
43004 * include/grub/i386/types.h: Likewise.
43005 * include/grub/i386/efi/kernel.h: Likewise.
43006 * include/grub/i386/efi/loader.h: Likewise.
43007 * include/grub/i386/efi/time.h: Likewise.
43008 * include/grub/i386/pc/biosdisk.h: Likewise.
43009 * include/grub/i386/pc/boot.h: Likewise.
43010 * include/grub/i386/pc/chainloader.h: Likewise.
43011 * include/grub/i386/pc/console.h: Likewise.
43012 * include/grub/i386/pc/init.h: Likewise.
43013 * include/grub/i386/pc/kernel.h: Likewise.
43014 * include/grub/i386/pc/loader.h: Likewise.
43015 * include/grub/i386/pc/memory.h: Likewise.
43016 * include/grub/i386/pc/multiboot.h: Likewise.
43017 * include/grub/i386/pc/serial.h: Likewise.
43018 * include/grub/i386/pc/time.h: Likewise.
43019 * include/grub/i386/pc/vbe.h: Likewise.
43020 * include/grub/i386/pc/vbeblit.h: Likewise.
43021 * include/grub/i386/pc/vbefill.h: Likewise.
43022 * include/grub/i386/pc/vbeutil.h: Likewise.
43023 * include/grub/i386/pc/vga.h: Likewise.
43024 * include/grub/ieee1275/ieee1275.h: Likewise.
43025 * include/grub/ieee1275/ofdisk.h: Likewise.
43026 * include/grub/powerpc/libgcc.h: Likewise.
43027 * include/grub/powerpc/setjmp.h: Likewise.
43028 * include/grub/powerpc/types.h: Likewise.
43029 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43030 * include/grub/powerpc/ieee1275/console.h: Likewise.
43031 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43032 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43033 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43034 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43035 * include/grub/powerpc/ieee1275/time.h: Likewise.
43036 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43037 * include/grub/sparc64/libgcc.h: Likewise.
43038 * include/grub/sparc64/setjmp.h: Likewise.
43039 * include/grub/sparc64/types.h: Likewise.
43040 * include/grub/sparc64/ieee1275/console.h: Likewise.
43041 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43042 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43043 * include/grub/sparc64/ieee1275/time.h: Likewise.
43044 * include/grub/util/biosdisk.h: Likewise.
43045 * include/grub/util/getroot.h: Likewise.
43046 * include/grub/util/lvm.h: Likewise.
43047 * include/grub/util/misc.h: Likewise.
43048 * include/grub/util/raid.h: Likewise.
43049 * include/grub/util/resolve.h: Likewise.
43050 * io/gzio.c: Likewise.
43051 * kern/device.c: Likewise.
43052 * kern/disk.c: Likewise.
43053 * kern/dl.c: Likewise.
43054 * kern/elf.c: Likewise.
43055 * kern/env.c: Likewise.
43056 * kern/err.c: Likewise.
43057 * kern/file.c: Likewise.
43058 * kern/fs.c: Likewise.
43059 * kern/loader.c: Likewise.
43060 * kern/main.c: Likewise.
43061 * kern/misc.c: Likewise.
43062 * kern/mm.c: Likewise.
43063 * kern/parser.c: Likewise.
43064 * kern/partition.c: Likewise.
43065 * kern/rescue.c: Likewise.
43066 * kern/term.c: Likewise.
43067 * kern/efi/efi.c: Likewise.
43068 * kern/efi/init.c: Likewise.
43069 * kern/efi/mm.c: Likewise.
43070 * kern/i386/dl.c: Likewise.
43071 * kern/i386/efi/init.c: Likewise.
43072 * kern/i386/efi/startup.S: Likewise.
43073 * kern/i386/pc/init.c: Likewise.
43074 * kern/i386/pc/lzo1x.S: Likewise.
43075 * kern/i386/pc/startup.S: Likewise.
43076 * kern/ieee1275/ieee1275.c: Likewise.
43077 * kern/powerpc/cache.S: Likewise.
43078 * kern/powerpc/dl.c: Likewise.
43079 * kern/powerpc/ieee1275/cmain.c: Likewise.
43080 * kern/powerpc/ieee1275/crt0.S: Likewise.
43081 * kern/powerpc/ieee1275/init.c: Likewise.
43082 * kern/powerpc/ieee1275/openfw.c: Likewise.
43083 * kern/sparc64/cache.S: Likewise.
43084 * kern/sparc64/dl.c: Likewise.
43085 * kern/sparc64/ieee1275/init.c: Likewise.
43086 * kern/sparc64/ieee1275/openfw.c: Likewise.
43087 * loader/efi/chainloader.c: Likewise.
43088 * loader/efi/chainloader_normal.c: Likewise.
43089 * loader/i386/efi/linux.c: Likewise.
43090 * loader/i386/efi/linux_normal.c: Likewise.
43091 * loader/i386/pc/chainloader.c: Likewise.
43092 * loader/i386/pc/chainloader_normal.c: Likewise.
43093 * loader/i386/pc/linux.c: Likewise.
43094 * loader/i386/pc/linux_normal.c: Likewise.
43095 * loader/i386/pc/multiboot.c: Likewise.
43096 * loader/i386/pc/multiboot_normal.c: Likewise.
43097 * loader/powerpc/ieee1275/linux.c: Likewise.
43098 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43099 * normal/arg.c: Likewise.
43100 * normal/cmdline.c: Likewise.
43101 * normal/command.c: Likewise.
43102 * normal/completion.c: Likewise.
43103 * normal/execute.c: Likewise.
43104 * normal/function.c: Likewise.
43105 * normal/lexer.c: Likewise.
43106 * normal/main.c: Likewise.
43107 * normal/menu.c: Likewise.
43108 * normal/menu_entry.c: Likewise.
43109 * normal/misc.c: Likewise.
43110 * normal/parser.y: Likewise.
43111 * normal/script.c: Likewise.
43112 * normal/i386/setjmp.S: Likewise.
43113 * normal/powerpc/setjmp.S: Likewise.
43114 * normal/sparc64/setjmp.S: Likewise.
43115 * partmap/acorn.c: Likewise.
43116 * partmap/amiga.c: Likewise.
43117 * partmap/apple.c: Likewise.
43118 * partmap/gpt.c: Likewise.
43119 * partmap/pc.c: Likewise.
43120 * partmap/sun.c: Likewise.
43121 * term/gfxterm.c: Likewise.
43122 * term/terminfo.c: Likewise.
43123 * term/efi/console.c: Likewise.
43124 * term/i386/pc/console.c: Likewise.
43125 * term/i386/pc/serial.c: Likewise.
43126 * term/i386/pc/vesafb.c: Likewise.
43127 * term/i386/pc/vga.c: Likewise.
43128 * term/ieee1275/ofconsole.c: Likewise.
43129 * util/biosdisk.c: Likewise.
43130 * util/console.c: Likewise.
43131 * util/genmoddep.c: Likewise.
43132 * util/getroot.c: Likewise.
43133 * util/grub-emu.c: Likewise.
43134 * util/grub-mkdevicemap.c: Likewise.
43135 * util/grub-probe.c: Likewise.
43136 * util/lvm.c: Likewise.
43137 * util/misc.c: Likewise.
43138 * util/raid.c: Likewise.
43139 * util/resolve.c: Likewise.
43140 * util/update-grub.in: Likewise.
43141 * util/update-grub_lib.in: Likewise.
43142 * util/grub.d/00_header.in: Likewise.
43143 * util/grub.d/10_hurd.in: Likewise.
43144 * util/grub.d/10_linux.in: Likewise.
43145 * util/i386/efi/grub-install.in: Likewise.
43146 * util/i386/efi/grub-mkimage.c: Likewise.
43147 * util/i386/pc/grub-install.in: Likewise.
43148 * util/i386/pc/grub-mkimage.c: Likewise.
43149 * util/i386/pc/grub-mkrescue.in: Likewise.
43150 * util/i386/pc/grub-setup.c: Likewise.
43151 * util/i386/pc/misc.c: Likewise.
43152 * util/powerpc/ieee1275/grub-install.in: Likewise.
43153 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43154 * util/powerpc/ieee1275/misc.c: Likewise.
43155 * video/bitmap.c: Likewise.
43156 * video/video.c: Likewise.
43157 * video/i386/pc/vbe.c: Likewise.
43158 * video/i386/pc/vbeblit.c: Likewise.
43159 * video/i386/pc/vbefill.c: Likewise.
43160 * video/i386/pc/vbeutil.c: Likewise.
43161 * video/readers/tga.c: Likewise.
43162
3572d015 431632007-07-02 Robert Millan <rmh@aybabtu.com>
43164
43165 * conf/i386-efi.rmk: Replace obsolete reference to
43166 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43167 with util/getroot.c.
43168 * conf/powerpc-ieee1275.rmk: Likewise.
43169 * conf/sparc64-ieee1275.rmk: Likewise.
43170
43171 * util/grub-emu.c (main): Fix unchecked pointer handling.
43172
2c2a681b 431732007-07-02 Robert Millan <rmh@aybabtu.com>
43174
43175 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43176 invocation to fail, in order to support partition-less media.
43177
43178 * util/i386/pc/grub-install.in: Likewise.
43179
43180 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43181 which fs or partmap modules are needed (akin to its sister scripts).
43182
43183 Also use grub-probe to get rid of unportable /proc/mounts check.
43184
43185 Print the same informational message that the other scripts do, before
fe6b695a 43186 exiting.
2c2a681b 43187
6193defe 431882007-06-23 Robert Millan <rmh@aybabtu.com>
43189
fe6b695a 43190 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43191 a font file can be found and, if so, echo the GRUB path to it.
43192
43193 * util/update-grub.in: Handle multiple terminals depending on user
43194 input, platform availability and font file presence. Propagate
43195 variables of our findings to /etc/grub.d/ children.
43196
43197 * util/grub.d/00_header.in: Handle multiple terminals, based on
43198 environment setup by update-grub.
43199
eface1dc 432002007-06-23 Robert Millan <rmh@aybabtu.com>
43201
ba50d28f 43202 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43203
bf697e28 432042007-06-21 Robert Millan <rmh@aybabtu.com>
43205
43206 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43207 indicate end of data section in kernel image.
43208 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43209 GRUB_KERNEL_MACHINE_DATA_END.
43210
43211 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43212 space for it.
43213 * kern/i386/efi/startup.S: Likewise.
43214
43215 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43216 during image generation. Implement --prefix option to override this
43217 patch.
43218 * util/i386/efi/grub-mkimage.c: Likewise.
43219
43220 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43221 code to make path relative to its root into a separate function.
43222
43223 * util/i386/pc/grub-install.in: Use newly provided
43224 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43225 pass the result to grub-install --prefix.
43226
baa574b4 432272007-06-13 Robert Millan <rmh@aybabtu.com>
43228
43229 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43230 DEFAULT_DEVICE_MAP.
43231 * util/grub-emu.c: Use above definitions from misc.h instead of
43232 defining them.
43233 * util/grub-mkdevicemap.c: Likewise.
43234 * util/i386/pc/grub-setup.c: Likewise.
43235 * util/grub-probe.c: Likewise.
43236 (probe): Abort with grub_util_error() when either
43237 grub_guess_root_device or grub_util_get_grub_dev fails.
43238
0215dcbf 432392007-06-12 Robert Millan <rmh@aybabtu.com>
43240
43241 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43242 "pager" assignment.
43243 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43244 "pcdata".
43245 * util/grub-probe.c (probe): Likewise for "drive_name".
43246
8af2ab7b 432472007-06-11 Robert Millan <rmh@aybabtu.com>
43248
43249 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43250 not just the cdrom one.
43251
59d31694 432522007-06-11 Robert Millan <rmh@aybabtu.com>
43253
43254 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43255 Add --pkglibdir=DIR option to override pkglibdir.
43256 Mention --image-type=TYPE in help output.
43257 Fix --grub-mkimage (it was a no-op).
fe6b695a 43258 Abort gracefully when no parameter is given.
59d31694 43259
7ee367e4 432602007-06-11 Robert Millan <rmh@aybabtu.com>
43261
43262 * util/i386/pc/grub-mkrescue.in: New file.
43263 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43264 * Makefile.in: Handle bin_SCRIPTS.
43265
29b0ed46 432662007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43267
43268 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43269 list of video modes.
43270
c0f90770 432712007-06-06 Robert Millan <rmh@aybabtu.com>
43272
43273 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43274 file doesn't exist, or if it is in a filesystem grub can't read.
43275
43276 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43277 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43278 header comment to fit in 80 columns when the variables are resolved.
43279
43280 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43281 could be identified by update-grub. Remove redundant check for
fe6b695a 43282 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43283 handles that).
43284
fb36dc26 432852007-06-04 Robert Millan <rmh@aybabtu.com>
43286
43287 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43288
43289 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43290
43291 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43292
0c68c93e 432932007-06-04 Robert Millan <rmh@aybabtu.com>
43294
43295 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43296
43297 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43298 grub_apple_partition_map_fini.
43299
43300 * util/biosdisk.c
43301 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43302 to access >2 TiB disks).
43303
43304 Print disk->total_sectors with %llu instead of %lu, since this
43305 variable is always 64-bit (prevents wrong disk size from being displayed
43306 on either >2 TiB disk or big-endian CPU).
43307
43308 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43309 into a generic case that supports all (sane) partition maps.
43310
43311 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43312 breaks big-endian.
43313
43314 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43315 and grub_apple_partition_map_fini() after that.
43316
0f23eb74 433172007-06-01 Robert Millan <rmh@aybabtu.com>
43318
43319 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43320
43321 * util/grub.d/00_header.in: Only enable gfxterm when
43322 convert_system_path_to_grub_path() succeeds.
43323
42c71976 433242007-05-20 Robert Millan <rmh@aybabtu.com>
43325
43326 * util/update-grub_lib.in: New file.
43327 * DISTLIST: Add update-grub_lib.in.
43328 * conf/common.rmk: Generate update-grub_lib and install it in
43329 $(lib_DATA).
43330 * Makefile.in: Add install routine for $(lib_DATA).
43331
43332 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43333 function provided by update-grub_lib to support arbitrary paths of
43334 unifont.pff.
43335 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43336 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43337
5beb2291 433382007-05-19 Robert Millan <rmh@aybabtu.com>
43339
43340 * commands/i386/cpuid.c: New module.
43341 * DISTLIST: Add it.
43342 * conf/i386-efi.rmk: Enable cpuid.mod.
43343 * conf/i386-pc.rmk: Likewise.
43344
7262eca1 433452007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43346
43347 * kern/disk.c (grub_disk_read): Check return value of
43348 grub_realloc().
43349
260ba823 433502007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43351
43352 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43353 arrays.
43354 * disk/raid.c (grub_raid_open): Likewise.
43355
1ecb6cf2 433562007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43357
43358 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43359 stack instead of on the heap.
43360
43361 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43362 before doing a read on it.
43363
43364 * configure.ac: Only use -fno-stack-protector for the target
43365 environment.
f19dbdb7 43366
21c8cbb1 433672007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43368
43369 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43370 __attribute_ ((unused)) to mode_type argument.
43371
43372 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43373
21c8cbb1 43374 * kern/misc.c (memcmp): Fix prototype.
43375
43376 * include/grub/partition.h [GRUB_UTIL]
43377 (grub_gpt_partition_map_init): Add prototype.
43378 (grub_gpt_partition_map_fini): Likewise.
43379
43380 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43381 at the right place.
43382
43383 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43384 (grub_fat_read_data): Likewise.
43385 (grub_fat_find_dir): Likewise.
43386
43387 * font/manager.c (find_glyph): Make table a const.
43388 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43389
849d55d3 433902007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43391
43392 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43393 code, first search for device in /dev/mapper, then in /dev.
43394 (grub_util_get_grub_dev): New function.
43395 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43396 prototype.
43397 * util/grub-probe.c (probe): Remove check for RAID, call
43398 grub_util_get_grub_dev() instead of
43399 grub_util_biosdisk_get_grub_dev().
43400 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43401 grub_util_biosdisk_get_grub_dev().
43402 * util/i386/pc/grub-setup.c (main): Likewise.
43403
8fff7c2f 434042007-05-16 Robert Millan <rmh@aybabtu.com>
43405
43406 * DISTLIST: Update for the latest changes.
43407 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43408 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43409 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43410 grub/util/biosdisk.h.
43411 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43412 grub/util/biosdisk.h.
43413
48e12b52 434142007-05-16 Robert Millan <rmh@aybabtu.com>
43415
43416 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43417
46b9d128 434182007-05-16 Robert Millan <rmh@aybabtu.com>
43419
43420 * util/i386/efi/grub-install.in: New.
43421 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43422 newly added grub-install.
43423 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43424 include.
43425 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43426 grub/util/biosdisk.h.
43427 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43428 grub/util/biosdisk.h.
43429
2d1a40a9 434302007-05-16 Robert Millan <rmh@aybabtu.com>
43431
43432 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43433 * include/grub/util/biosdisk.h: ... here.
43434 * util/i386/pc/biosdisk.c: Moved to ...
43435 * util/biosdisk.c: ... here.
43436 * util/i386/pc/getroot.c: Moved to ...
43437 * util/getroot.c: ... here.
43438 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43439 * util/grub-mkdevicemap.c: ... here.
43440 * util/i386/pc/grub-probe.c: Moved to ...
43441 * util/grub-probe.c: ... here.
43442
9e26e3bc 434432007-05-15 Robert Millan <rmh@aybabtu.com>
43444
43445 * util/update-grub.in: Remove duplicated line in grub.cfg header
43446 message.
43447
57f96397 434482007-05-13 Robert Millan <rmh@aybabtu.com>
43449
43450 * util/update-grub.in: Fix a few assumptions about the devices holding
43451 /, /boot and /boot/grub being the same.
43452 * util/grub.d/00_header.in: Likewise.
43453 * util/grub.d/10_hurd.in: Likewise.
43454 * util/grub.d/10_linux.in: Likewise.
43455
43456 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43457 patterns. Use that to define the `.old' suffix as older than `'.
43458
43459 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43460
43461 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43462 the grub.cfg header message.
43463
2e610d62 434642007-05-11 Robert Millan <rmh@aybabtu.com>
43465
43466 * util/update-grub.in: Create device.map if it doesn't already exist,
43467 before attempting to run grub-probe.
43468 Check for grub-probe and grub-mkdevicemap with the same code
43469 grub-install is using.
43470 Remove test mode.
43471
3f6a10ef 434722007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43473
43474 * Makefile.in: Add the datarootdir autoconf variable.
43475
02e7b75e 434762007-05-09 Robert Millan <rmh@aybabtu.com>
43477
43478 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43479 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43480
75f396cc 434812007-05-07 Robert Millan <rmh@aybabtu.com>
43482
43483 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43484 determine partition map module.
43485 * util/i386/pc/grub-install.in: Use this feature to decide which
43486 partition module to load, instead of hardcoding pc and gpt.
43487
da65cb36 434882007-05-07 Robert Millan <rmh@aybabtu.com>
43489
43490 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43491 source directory differs from build directory.
43492
b57d6a91 434932007-05-05 Robert Millan <rmh@aybabtu.com>
43494
43495 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43496 initialisation.
43497
509d00f1 434982007-05-05 Robert Millan <rmh@aybabtu.com>
43499
43500 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43501
c48f23ef 435022007-05-05 Robert Millan <rmh@aybabtu.com>
43503
43504 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43505 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43506
20b97658 435072007-05-05 Robert Millan <rmh@aybabtu.com>
43508
43509 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43510 (grub_probe_SOURCES): Likewise.
43511 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43512 GPT and initialize dos_part and bsd_part accordingly.
43513 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43514 install_bsd_part.
43515 (main): Activate gpt module for use during partition identification,
43516 and deactivate it afterwards.
43517 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43518 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43519 partition identification, and deactivate it afterwards.
43520
99123174 435212007-05-05 Robert Millan <rmh@aybabtu.com>
43522
43523 * term/i386/pc/console.c (grub_console_fini): Call
43524 grub_term_set_current() before grub_term_unregister().
43525
ebd97f6e 435262007-05-04 Robert Millan <rmh@aybabtu.com>
43527
43528 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43529 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43530 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43531 and update-grub_DATA.
43532 * conf/common.rmk: Build and install update-grub components.
43533 * conf/common.mk: Regenerate.
43534 * util/update-grub.in: New. Core of update-grub.
43535 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43536 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43537 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43538 * util/grub.d/README: New. Document grub.d directory layout.
43539
b06a264d 435402007-05-01 Robert Millan <rmh@aybabtu.com>
43541
43542 * util/grub-emu.c: Move initialization functions
43543 grub_util_biosdisk_init() and grub_init_all() before
43544 grub_util_biosdisk_get_grub_dev(), which relies on them.
43545
41f0050e 435462007-04-19 Robert Millan <rmh@aybabtu.com>
43547
43548 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43549 it is used later.
43550
04582bb3 435512007-04-18 Jerone Young <jerone@gmail.com>
43552
f19dbdb7 43553 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43554 stanza.
43555
08db4632 435562007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43557
08db4632 43558 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43559 continue on and look for device node with real device name.
43560
801b76be 435612007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43562
fe6b695a 43563 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43564 ability.
43565 * Makefile.in: Add autoconf package transformation code.
43566 * util/i386/pc/grub-install.in: Likewise.
43567 * util/powerpc/ieee1275/grub-install.in: Likewise.
43568
6795c4e1 435692007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43570
43571 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43572 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43573 (EXT2_REVISION): Likewise.
43574 (EXT2_INODE_SIZE): Likewise.
43575 (struct grub_ext2_block_group): Added a missing member
43576 "used_dirs".
43577 (grub_ext2_read_inode): Divide by the inode size in a superblock
43578 instead of 128 to obtain INODES_PER_BLOCK.
43579 Use the macro EXT2_INODE_SIZE instead of directly using
43580 SBLOCK->INODE_SIZE.
43581
d70af616 435822007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43583
43584 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43585 superblock instead of the structure size to compute an
43586 offset. This fixes the problem that GRUB could not read a
43587 filesystem when inode size is different from 128-byte.
43588
3b801603 435892007-03-05 Marco Gerards <marco@gnu.org>
43590
43591 * normal/main.c (read_config_file): When "menu" is not set, create
43592 an initial context.
43593
4785bfe4 435942007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43595
43596 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43597 (HEAP_LIMIT): New macro.
43598 (grub_claim_heap): Claim memory up to `heaplimit'.
43599
a0cbb023 436002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43601
43602 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43603 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43604 (_start): Likewise.
43605 (grub_arch_modules_addr): Return address after `_end'.
43606 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43607 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43608 (add_segments): Calculate `_end' from phdr size and location.
43609 (ALIGN_UP): Moved to ...
43610 * include/grub/misc.h: here.
43611 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43612 New macro.
43613 (GRUB_IEEE1275_MODULE_BASE): Removed.
43614
fd7d8eba 436152007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43616
43617 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43618 loop boundary.
43619
9b09e6fc 436202007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43621
43622 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43623 All users updated.
43624 (grub_elf64_load_hook_t): Likewise.
43625 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43626 debug output.
43627
3ce27299 436282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43629
43630 * kern/mm.c: Update copyright.
43631 (grub_mm_debug): Correct syntax error.
43632 (grub_mm_dump_free): New function.
43633 (grub_debug_free): Call `grub_free'.
43634 * include/grub/mm.h: Update copyright.
43635 (grub_mm_dump_free): Add declaration.
43636
077d5fee 436372007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43638
43639 * include/grub/ieee1275/ieee1275.h: Update copyright.
43640 * kern/powerpc/ieee1275/init.c: Likewise.
43641 * kern/powerpc/ieee1275/openfw.c: Likewise.
43642
43643 * loader/powerpc/ieee1275/linux.c: Likewise.
43644 * include/grub/elfload.h: Likewise.
43645 * kern/elf.c: Likewise.
43646 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43647 callers.
43648 (grub_elf64_load): Likewise.
43649 (grub_elf32_load_segment): Move to a nested function.
43650 (grub_elf64_load_segment): Likewise.
43651
dc946850 436522007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43653
43654 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43655 prototype.
43656 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43657 (grub_heap_len): Likewise.
43658 (HEAP_SIZE): New macro.
43659 (grub_claim_heap): New function.
43660 (grub_machine_init): Don't claim heap directly. Call
43661 `grub_claim_heap'.
43662 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43663 (grub_available_iterate): New function.
43664
baa2a121 436652007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43666
43667 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43668 * configure.ac: Use it for testing the HOST and TARGET compilers.
43669
4fe9862e 436702006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43671
43672 * Makefile.in (enable_grub_emu): New variable.
43673 * configure.ac (--enable-grub-emu): New option.
43674 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43675 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43676 * conf/i386-pc.rmk: Likewise.
43677 * conf/powerpc-ieee1275.rmk: Likewise.
43678 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43679
a8aa5762 436802006-12-12 Marco Gerards <marco@gnu.org>
43681
43682 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43683
43684 * kern/env.c (grub_env_unset): Don't free the member `value' when
43685 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43686 pointer.
43687
43688 * normal/main.c (current_menu): Removed.
43689 (free_menu): Unset the `menu' environment variable.
43690 (grub_normal_menu_addentry): Make use of the environment variable
43691 `menu', instead of using the global `current_menu'. Allocate
43692 memory for the sourcecode of this entry.
43693 (read_config_file): New argument `nested', changed all callers.
43694 Only in the case of a new context, initialize a new menu. Set the
43695 `menu' environment variable.
43696 (grub_normal_execute): Don't set and unset the environment
43697 variable `menu' here anymore. Only free the menu when leaving the
43698 context.
43699
43700 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43701 leak.
43702
957b3a3e 437032006-12-11 Marco Gerards <marco@gnu.org>
43704
43705 * normal/menu_entry.c (run): Fix off by one bug so the last line
43706 is executed. Move the loader check to outside the loop.
43707
ef875714 437082006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43709
43710 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43711
4e739985 437122006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43713
43714 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43715 the number of sectors. Reported by Andrey Shuvikov
43716 <mr_hyro@yahoo.com>.
f19dbdb7 43717
790707f2 437182006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43719
43720 * kern/disk.c (grub_disk_read): When there is a read error, always
43721 try to read only the necessary data.
f19dbdb7 43722
790707f2 43723 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43724 disk/raid.c.
43725 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43726 prototype.
43727 [GRUB_UTIL] (grub_raid_fini): Likewise.
43728 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43729 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43730 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43731 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43732 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43733 and grub_raid_fini().
f19dbdb7 43734
03e58196 437352006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43736
43737 * include/grub/types.h (__unused): Rename to UNUSED.
43738 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43739 (grub_elf64_size): Likewise.
f19dbdb7 43740
ae4f23bf 437412006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43742
43743 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43744 grub_error_push and grub_error_pop in the error-handling path.
43745 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43746 length.
43747
2166cc83 437482006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43749
43750 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43751 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43753 (kernel_elf_SOURCES): Likewise.
43754 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43755 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43756 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43757 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43758 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43759 (elf_mod_SOURCES): New variable.
43760 (elf_mod_CFLAGS): Likewise.
43761 (elf_mod_LDFLAGS): Likewise.
43762 * include/grub/types.h (__unused): New macro.
43763 * include/grub/elfload.h: New file.
43764 * kern/elf.c: Likewise.
43765 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43766 (ELF32_LOADMASK): New macro.
43767 (ELF64_LOADMASK): Likewise.
43768 (vmlinux): Removed.
43769 (grub_linux_load32): New function.
43770 (grub_linux_load64): Likewise.
43771 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43772 Use grub_elf_t instead of grub_file_t.
43773
a09d5aa5 437742006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43775
43776 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43777 `catch_result' to struct set_color_args.
43778
d976fc51 437792006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43780
43781 * normal/menu.c: Include grub/script.h.
43782 * normal/menu_entry.c: Likewise.
43783 * include/grub/normal.h: Do not include grub/script.h.
43784
67507549 437852006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43786
43787 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43788
69203a99 437892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43790
43791 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43792 disk.
43793 (grub_disk_close): Print debug messages when closing a disk.
43794 (grub_disk_read): Print debug messages when disk read fails.
43795 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43796 filesystem type.
43797 * kern/partition.c: Include misc.h.
43798 (grub_partition_iterate): Print debug messages when detecting
43799 partition type.
43800
e2b8278c 438012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43802
43803 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43804 is negative.
43805 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43806
97b2f2ff 438072006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43808
43809 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43810 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43811
6555d655 438122006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43813
43814 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43815 instead of sizeof(lv). Patch by Michael Guntsche.
43816
4d42b77f 438172006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43818
43819 * disk/lvm.c: Rename VGS to VG_LIST.
43820 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43821 (grub_lvm_open): Likewise.
43822 Thanks to Michael Guntsche for finding this bug.
43823
5d74d927 438242006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43825
43826 * configure.ac (AC_INIT): Bumped to 1.95.
43827
a1bb27e4 438282006-10-14 Robert Millan <rmh@aybabtu.com>
43829
43830 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43831 with "/dev/.static/dev/md".
43832
e0994b8b 438332006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43834
43835 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43836 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43837 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43838 DRIVE_NAME are always freed.
43839
43840 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43841 DOS_PART, as a DOS partition is counted from one instead of zero
43842 now. Reported by Robert Millan.
43843
ddd5cee9 438442006-10-14 Robert Millan <rmh@aybabtu.com>
43845
43846 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43847 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43848 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43849 string returned by grub_guess_root_device.
43850 * util/i386/pc/grub-setup.c: Likewise.
43851 * util/i386/pc/grub-probefs.c: Likewise.
43852
43853 * util/i386/pc/grub-probefs.c: Rename to ...
43854 * util/i386/pc/grub-probe.c: ... this.
43855 * DISTLIST: Remove grub-probefs, add grub-probe.
43856 * conf/i386-efi.rmk: Likewise.
43857 * conf/i386-pc.rmk: Likewise.
43858 * util/i386/pc/grub-install.in: Likewise.
43859
43860 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43861 choose which information we want to print.
43862
2b002173 438632006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43864
43865 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43866 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43867 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43868 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43869 video/readers/tga.c and video/i386/pc/vbeutil.c.
43870
438712006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43872
43873 Added support for RAID and LVM.
f19dbdb7 43874
2b002173 43875 * disk/lvm.c: New file.
43876 * disk/raid.c: Likewise.
43877 * include/grub/lvm.h: Likewise.
f19dbdb7 43878 * include/grub/raid.h: Likewise.
2b002173 43879 * include/grub/util/lvm.h: Likewise.
43880 * include/grub/util/raid.h: Likewise.
43881 * util/lvm.c: Likewise.
43882 * util/raid.c: Likewise.
43883
43884 * include/grub/disk.h (grub_disk_dev_id): Add
43885 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43886 (grub_disk_get_size): New prototype.
43887 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43888 returns a partition.
43889 (grub_disk_get_size): New function.
f19dbdb7 43890
2b002173 43891 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43892 verbatim if grub_install_dos_part is -2.
43893
43894 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43895 and LVM devices.
43896
43897 * util/i386/pc/grub-setup.c (setup): New argument
43898 MUST_EMBED. Force embedding of GRUB when the argument is
43899 true. Close FILE before returning.
43900 (main): Add support for RAID and LVM.
f19dbdb7 43901
2b002173 43902 * conf/common.rmk: Add RAID and LVM modules.
43903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43904 util/lvm.c.
43905 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43906
43907 * kern/misc.c (grub_strstr): New function.
43908 * include/grub/misc.h (grub_strstr): New prototype.
43909
050548d0 439102006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43911
43912 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43913
da849d2d 439142006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43915
43916 * kern/misc.c (grub_strtoull): Guess the base only if not
43917 specified.
43918
97b2f2ff 439192006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43920
43921 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43922 PowerMac support.
43923
97b2f2ff 439242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43925
43926 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43927
43928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43929 Remove `flags' argument. All callers changed.
43930 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43931 (IEEE1275_IHANDLE_INVALID): New variable.
43932 (IEEE1275_CELL_INVALID): New variable.
43933 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43934 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43935 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43936 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43937 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43938 codes from Open Firmware. All callers updated.
43939 (grub_ieee1275_next_property): Directly return Open Firmware return
43940 code.
43941 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43942 Standardize error checking from `grub_ieee1275_get_property'.
43943 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43944 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43945
97b2f2ff 439462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43947
43948 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43949 `instance_to_package_args' to `instance_to_path_args'.
43950
43951 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43952 `grub_ieee1275_chosen'.
43953
43954 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43955 `grub_ieee1275_interpret'.
43956
97b2f2ff 439572006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43958
43959 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43960
97b2f2ff 439612006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43962
43963 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43964 (__cmpdi): Likewise.
43965
43966 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43967 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43968 `grub_ssize_t'.
43969
02bb8acc 43970 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43971
43972 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43973 to type `grub_ssize_t'.
43974 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43975
7f9a8531 439762006-09-22 Marco Gerards <marco@gnu.org>
43977
43978 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43979 newlines.
43980
b5ef1102 439812006-09-22 Marco Gerards <marco@gnu.org>
43982
43983 * commands/echo.c: New file.
43984
43985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43986
43987 * conf/common.rmk (echo_mod_SOURCES): New variable.
43988 (echo_mod_CFLAGS): Likewise.
43989 (echo_mod_LDFLAGS): Likewise.
43990
2cff3677 439912006-09-22 Marco Gerards <marco@gnu.org>
43992
43993 * normal/main.c (get_line): Malloc memory instead of using
43994 preallocated memory. Removed the arguments `cmdline' and
43995 `max_len'. Updated all callers.
43996
6ba4688b 439972006-09-22 Marco Gerards <marco@gnu.org>
43998
43999 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44000 (normal_mod_DEPENDENCIES): Likewise.
44001
44002 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44003 (normal_mod_DEPENDENCIES): Likewise.
44004
44005 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44006
e02ac02c 440072006-09-22 Johan Rydberg <jrydberg@gnu.org>
44008
44009 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44010 programs.
44011 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44012 (normal_mod_DEPENDENCIES): Likewise.
44013 * conf/i386-pc.mk: Regenerate.
44014 * conf/i386-efi.mk: Likewise
44015 * conf/common.mk: Likewise.
44016 * conf/powerpc-ieee1275.mk: Likewise.
44017 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44018
8d252e44 440192006-09-22 Robert Millan <rmh@aybabtu.com>
44020
44021 Sync with i386 version.
44022 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44023 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44024
209bf7ac 440252006-09-21 Robert Millan <rmh@aybabtu.com>
44026
44027 Import from GRUB Legacy (lib/device.c):
44028 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44029 (init_device_map) [__linux__]: Add support for I2O devices.
44030
6b146090 440312006-09-14 Marco Gerards <marco@gnu.org>
44032
44033 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44034 `-melf_i386'.
44035
e38600a8 440362006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44037
44038 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44039 /boot/grub/*.lst.
78fa1790 44040
2952da5d 44041 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44042
2952da5d 44043 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44044 before adding it to device.map.
44045
01b82a64 440462006-08-15 Johan Rydberg <jrydberg@gnu.org>
44047
fe6b695a 44048 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44049 compiles a file; using the -MD option.
44050 * conf/common.mk: Regenerate.
44051 * conf/i386-pc.mk: Likewise.
44052 * conf/i386-efi.mk: Likewise.
44053 * conf/powerpc-ieee1275.mk: Likewise.
44054 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44055
1064790d 440562006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44057
44058 Move the prototypes of grub_setjmp and grub_longjmp to
44059 cpu/setjmp.h, so that each architecture may specify different
44060 attributes.
f19dbdb7 44061
1064790d 44062 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44063 (grub_longjmp): Likewise.
44064 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44065 (grub_longjmp): Likewise.
44066 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44067 (grub_longjmp): Likewise.
44068
44069 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44070 [!GRUB_UTIL] (grub_longjmp): Removed.
44071
29dda3ed 440722006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44073
44074 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44075 "color!" method does not return any value.
44076
ad2a06ed 440772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44078
44079 * include/grub/bitmap.h: New file.
44080
44081 * include/grub/i386/pc/vbeutil.h: Likewise.
44082
44083 * video/bitmap.c: Likewise.
44084
44085 * video/readers/tga.c: Likewise.
44086
44087 * video/i386/pc/vbeutil.c: Likewise.
44088
44089 * commands/videotest.c: Code cleanup and updated to reflect to new
44090 video API.
44091
44092 * term/gfxterm.c: Likewise.
44093
44094 * video/video.c: Likewise.
44095
44096 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44097 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44098 (bitmap_mod_SOURCES): New entry.
44099 (bitmap_mod_CFLAGS): Likewise.
44100 (bitmap_mod_LDFLAGS): Likewise.
44101 (tga_mod_SOURCES): Likewise.
44102 (tga_mod_CFLAGS): Likewise.
44103 (tga_mod_LDFLAGS): Likewise.
44104
44105 * include/grub/video.h (grub_video_blit_operators): New enum type.
44106 (grub_video_render_target): Changed as forward declaration and moved
44107 actual definition to be video driver specific.
44108 (grub_video_adapter.blit_bitmap): Added blitting operator.
44109 (grub_video_adapter.blit_render_target): Likewise.
44110 (grub_video_blit_bitmap): Likewise.
44111 (grub_video_blit_render_target): Likewise.
44112
44113 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44114 driver specific render target definition.
44115 (grub_video_vbe_map_rgba): Added driver internal helper.
44116 (grub_video_vbe_unmap_color): Updated to use
44117 grub_video_i386_vbeblit_info.
44118 (grub_video_vbe_get_video_ptr): Likewise.
44119
44120 * include/grub/i386/pc/vbeblit.h
44121 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44122 grub_video_i386_vbeblit_info.
44123 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44124 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44125 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44126 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44127 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44128 (grub_video_i386_vbeblit_index_index): Likewise.
44129 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44130 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44131 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44132 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44133 operator.
44134 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44135 operator.
44136
44137 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44138 include/grub/i386/pc/vbeblit.h.
44139
44140 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44141 Updated to use grub_video_i386_vbeblit_info.
44142 (grub_video_i386_vbefill_R8G8B8): Likewise.
44143 (grub_video_i386_vbefill_index): Likewise.
44144 (grub_video_i386_vbefill): Added generic filler.
44145
44146 * video/i386/pc/vbefill.c: Updated to reflect changes on
44147 include/grub/i386/pc/vbefill.h.
44148
44149 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44150 grub_video_i386_vbeblit_info.
44151 (grub_video_vbe_unmap_color): Likewise.
44152 (grub_video_vbe_blit_glyph): Likewise.
44153 (grub_video_vbe_scroll): Likewise.
44154 (grub_video_vbe_draw_pixel): Removed function.
44155 (grub_video_vbe_get_pixel): Likewise.
44156 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44157 updated code to use it.
44158 (common_blitter): Added common blitter for render target and bitmap.
44159 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44160 (grub_video_vbe_blit_render_target): Likewise.
44161
bc8c036d 441622006-07-30 Johan Rydberg <jrydberg@gnu.org>
44163
44164 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44165 is in text mode if there is no console control protocol instance
44166 available.
44167
684a8eff 441682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44169
44170 * include/grub/video.h: Code cleanup.
44171
44172 * include/grub/i386/pc/vbe.h: Likewise.
44173
44174 * video/i386/pc/vbe.c: Likewise.
44175
44176 * video/i386/pc/vbeblit.c: Likewise.
44177
44178 * video/i386/pc/vbefill.c: Likewise.
44179
44180 * video/video.c: Likewise. Also added more comments.
44181
5915059b 441822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44183
44184 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44185 (struct grub_biosdisk_dap): Likewise.
44186
44187 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44188 linkage settings for all functions.
44189
90ce5d56 441902006-07-12 Marco Gerards <marco@gnu.org>
44191
44192 * configure.ac (--enable-mm-debug): Fix typo.
44193
44194 * genkernsyms.sh.in: Use proper quoting for `CC'.
44195
43e7f879 441962006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44197
44198 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44199 (normal_mod_ASFLAGS): Remove "-m32".
44200
4889bdec 442012006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44202
44203 * util/misc.c: Include config.h.
44204 [!HAVE_MEMALIGN]: Do not include malloc.h.
44205 (grub_memalign): Use posix_memalign, if present. Then, use
44206 memalign, if present. Otherwise, emit an error.
44207
44208 * util/grub-emu.c: Do not include malloc.h.
44209
44210 * include/grub/util/misc.h: Include unistd.h. This is required for
44211 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44212 D. Eades III <hde@foobar-qux.org>.
44213
44214 * configure.ac (AC_GNU_SOURCE): Added.
44215 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44216 type.
44217
fd39d4da 442182006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44219
44220 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44221 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44222
b786f3b5 442232006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44224
44225 * include/grub/types.h (grub_host_addr_t): Rename to
44226 grub_target_addr_t.
44227 (grub_host_off_t): Rename to grub_target_off_t.
44228 (grub_host_size_t): Rename to grub_target_size_t.
44229 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44230 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44231
44232 * include/grub/kernel.h (struct grub_module_header): Change type
44233 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44234 (grub_module_info): Likewise.
f19dbdb7 44235
051988bb 442362006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44237
44238 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44239 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44240 Velazquez <jesus.velazquez@gmail.com>.
44241
deae281b 442422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44243
44244 Count partitions from 1 instead of 0 in the string representation
44245 of partitions. Still use 0-based internally.
f19dbdb7 44246
deae281b 44247 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44248 (sun_partition_map_iterate): Use grub_partition_t instead of
44249 struct grub_partition *. Cast DESC->START_CYLINDER to
44250 grub_uint64_t after converting the endian.
44251 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44252 (sun_partition_map_get_name): Add 1 to P->INDEX.
44253
44254 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44255 PCDATA->DOS_PART.
44256 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44257
44258 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44259 zero instead of one.
44260 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44261 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44262
44263 * partmap/apple.c (apple_partition_map_iterate): Change the type
44264 of POS to unsigned.
44265 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44266 (apple_partition_map_get_name): Add 1 into P->INDEX.
44267
44268 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44269 of POS to unsigned.
44270 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44271 calculate the offset of a partition.
44272 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44273 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44274
44275 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44276 SECTOR to grub_disk_addr_t.
44277 (acorn_partition_map_iterate): Likewise.
44278 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44279 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44280 top.
44281 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44282
44283 * kern/i386/pc/init.c (make_install_device): Add 1 into
44284 GRUB_INSTALL_DOS_PART.
44285
44286 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44287 conditional.
44288
524a1e6a 442892006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44290
44291 Clean up the code to support 64-bit addressing in disks and
44292 files. This change is not enough for filesystems yet.
f19dbdb7 44293
524a1e6a 44294 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44295 type of "start" to grub_uint64_t.
44296 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44297 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44298 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44299 convert addresses.
44300
44301 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44302 to grub_disk_addr_t.
44303
44304 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44305 string.
44306
44307 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44308
44309 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44310 to char *.
44311
44312 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44313
44314 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44315
44316 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44317
44318 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44319 to grub_off_t, to detect an error from grub_file_seek.
44320 (grub_multiboot_load_elf32): Likewise.
44321
44322 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44323 maximum unsigned long value when an overflow is detected.
44324 (grub_strtoull): New function.
44325 (grub_divmod64): Likewise.
44326 (grub_lltoa): use grub_divmod64.
44327
44328 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44329 grub_disk_addr_t.
44330 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44331 the pointer to next character. Use grub_strtoull instead of
44332 grub_strtoul.
44333 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44334 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44335 respectively.
44336
fe6b695a 44337 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44338 return value is signed.
44339 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44340 test if OFFSET is less than zero, as OFFSET is unsigned now.
44341
44342 * kern/disk.c (struct grub_disk_cache): Change the type of
44343 "sector" to grub_disk_addr_t.
44344 (grub_disk_cache_get_index): Change the type of SECTOR to
44345 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44346 unsigned after shifting.
44347 (grub_disk_cache_invalidate): Change the type of SECTOR to
44348 grub_disk_addr_t.
44349 (grub_disk_cache_unlock): Likewise.
44350 (grub_disk_cache_store): Likewise.
44351 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44352 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44353 grub_disk_addr_t and grub_uint64_t, respectively.
44354 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44355 body, as the value of OFFSET is tweaked by
44356 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44357 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44358 respectively.
44359 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44360 body, as the value of OFFSET is tweaked by
44361 grub_disk_check_range. Change the types of LEN and N to
44362 grub_size_t.
44363
44364 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44365 and "saved_offset" to grub_off_t.
44366 (test_header): Cast BUF to char *.
44367 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44368 to char *.
44369 (grub_gzio_read): Change the types of OFFSET and SIZE to
44370 grub_off_t and grub_size_t, respectively.
44371
44372 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44373 Removed.
44374 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44375 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44376 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44377 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44378 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44379
44380 * include/grub/types.h (grub_off_t): Unconditionally set to
44381 grub_uint64_t.
44382 (grub_disk_addr_t): Changed to grub_uint64_t.
44383
44384 * include/grub/partition.h (struct grub_partition): Change the
44385 types of "start", "len" and "offset" to grub_disk_addr_t,
44386 grub_uint64_t and grub_disk_addr_t, respectively.
44387 (grub_partition_get_start): Return grub_disk_addr_t.
44388 (grub_partition_get_len): Return grub_uint64_t.
44389
44390 * include/grub/misc.h (grub_strtoull): New prototype.
44391 (grub_divmod64): Likewise.
44392
44393 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44394 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44395 grub_off_t, respectively.
44396 All callers and references changed.
44397
44398 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44399 grub_size_t in "read".
44400 All callers and references changed.
44401
44402 * include/grub/file.h (struct grub_file): Change the types of
44403 "offset" and "size" to grub_off_t and grub_off_t,
44404 respectively. Change the type of SECTOR to grub_disk_addr_t in
44405 "read_hook".
44406 (grub_file_read): Change the type of LEN to grub_size_t.
44407 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44408 grub_off_t.
44409 (grub_file_size): Return grub_off_t.
44410 (grub_file_tell): Likewise.
44411 All callers and references changed.
44412
44413 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44414 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44415 "write".
44416 (struct grub_disk): Change the type of "total_sectors" to
44417 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44418 "read_hook".
524a1e6a 44419 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44420 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44421 (grub_disk_write): Likewise.
44422 All callers and references changed.
44423
44424 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44425 char * for grub_strncmp to silence gcc.
44426 (grub_iso9660_mount): Likewise.
44427 (grub_iso9660_mount): Likewise.
44428 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44429 return statement.
44430 (grub_iso9660_iterate_dir): Likewise.
44431 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44432
44433 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44434 LEN to grub_disk_addr_t and grub_size_t, respectively.
44435
44436 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44437
44438 * fs/jfs.c (grub_jfs_read_file): Likewise.
44439
44440 * fs/minix.c (grub_jfs_read_file): Likewise.
44441
44442 * fs/sfs.c (grub_jfs_read_file): Likewise.
44443
44444 * fs/ufs.c (grub_jfs_read_file): Likewise.
44445
44446 * fs/xfs.c (grub_jfs_read_file): Likewise.
44447
44448 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44449 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44450 respectively.
44451
44452 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44453 BLKNR to -1 instead of returning GRUB_ERRNO.
44454 (grub_ext2_read_file): Change the types of SECTOR and
44455 LEN to grub_disk_addr_t and grub_size_t, respectively.
44456
44457 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44458 LEN to grub_disk_addr_t and grub_size_t, respectively.
44459
44460 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44461 grub_file_read.
44462
44463 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44464 string. Do not cast SECTOR explicitly.
44465
44466 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44467 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44468 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44469 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44470 over 2TB and LBA mode is not supported, raise an error.
44471 (get_safe_sectors): New function.
44472 (grub_biosdisk_read): Use get_safe_sectors.
44473 (grub_biosdisk_write): Likewise.
44474
44475 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44476 (grub_efidisk_write): Likewise.
44477
44478 * disk/loopback.c (delete_loopback): Cosmetic changes.
44479 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44480 correctly.
44481 (grub_loopback_open): Likewise.
44482 (grub_loopback_read): Likewise. Also, change the type of POS to
44483 grub_off_t, and fix the usage of grub_memset.
44484
44485 * commands/i386/pc/play.c: Include grub/machine/time.h.
44486
44487 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44488 print FILE->SIZE.
44489
44490 * commands/configfile.c: Include grub/env.h.
44491
44492 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44493 GRUB_ERRNO directly instead. Change the type of POS to
44494 grub_off_t. Follow the coding standard.
44495
44496 * commands/blocklist.c: Include grub/partition.h.
44497 (grub_cmd_blocklist): Return an error if the underlying device is
44498 not a disk. Take the starting sector of a partition into account,
44499 if a partition is used.
44500
44501 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44502 a length field.
44503 (lba_mode): Support 64-bit addresses.
44504 (chs_mode): Likewise.
44505 (copy_buffer): Adapted to the new offsets of a length field and a
44506 segment field.
44507 (blocklist_default_start): Allocate 64-bit space.
44508
44509 * boot/i386/pc/boot.S (force_lba): Removed.
44510 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44511 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44512 space.
44513 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44514 is useless.
44515 (lba_mode): Refactored to support a 64-bit address. More size
44516 optimization.
44517 (setup_sectors): Likewise.
44518
53af98ad 445192006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44520
44521 * DISTLIST: Added include/grub/i386/linux.h. Removed
44522 include/grub/i386/pc/linux.h
44523
44524 * configure.ac (AC_INIT): Bumped to 1.94.
44525
44526 * config.guess: Updated from gnulib.
44527 * config.sub: Likewise.
44528 * install-sh: Likewise.
44529 * mkinstalldirs: Likewise.
44530
b4c1940a 445312006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44532
44533 * conf/common.rmk (grub_modules_init.lst): Depended on
44534 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44535 MODSRCFILES.
44536
44537 * genmk.rb (PModule::rule): Reverted the previous change.
44538
cfca1cfd 445392006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44540
44541 * conf/common.rmk (grub_modules_init.lst): Depends on
44542 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44543 that the target does not exist before producing.
44544 (grub_modules_init.h): Remove the target before generating.
44545 (grub_emu_init.c): Likewise.
44546
44547 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44548
aa6d7826 445492006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44550
44551 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44552 for the target-specific tests. Make sure that we also have the
44553 up-to-date target variables for those tests.
44554
26c607b9 445552006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44556
44557 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44558 (PModule::rule): Likewise.
44559
0162321a 445602006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44561
44562 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44563 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44564 target-specific flags should be prefixed.
44565 (PModule::rule): Likewise.
44566
6c826348 445672006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44568
44569 * configure.ac (CMP): Check if cmp is available explicitly.
44570
b977bf01 445712006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44572
44573 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44574 (target_cpu): New variable.
44575 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44576
b977bf01 44577 * util/i386/pc/grub-install.in (host_cpu): Removed.
44578 (target_cpu): New variable.
44579 (pkglibdir): Use target_cpu instead of host_cpu.
44580
44581 * util/genmoddep.c: Removed.
f19dbdb7 44582
b977bf01 44583 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44584 instead of GRUB_HOST_SIZEOF_VOID_P.
44585 * kern/dl.c: Likewise.
44586
44587 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44588 ...
44589 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44590 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44591 (GRUB_TARGET_SIZEOF_LONG): ... this.
44592 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44593 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44594 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44595 to ...
44596 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44597 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44598 (GRUB_TARGET_SIZEOF_LONG): ... this.
44599 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44600 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44601 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44602 to ...
44603 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44604 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44605 (GRUB_TARGET_SIZEOF_LONG): ... this.
44606 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44607 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44608
44609 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44610 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44611 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44612 instead of GRUB_HOST_SIZEOF_LONG.
44613 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44614 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44615 GRUB_CPU_WORDS_BIGENDIAN.
44616 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44617 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44618 grub_host_ssize_t.
44619
44620 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44621 (genmoddep_SOURCES): Likewise.
44622 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44623 (genmoddep_SOURCES): Likewise.
44624 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44625 (genmoddep_SOURCES): Likewise.
44626 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44627 Likewise.
44628 (genmoddep_SOURCES): Likewise.
44629
44630 * genmoddep.awk: New file.
44631
44632 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44633 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44634 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44635 (PModule::rule): Likewise.
44636 (Program::rule): Likewise.
44637 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44638 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44639 respectively.
44640
44641 * configure.ac: Rewritten intensively to use host and target
44642 instead of build and host, respectively.
44643
44644 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44645 (host_cpu): Removed.
44646 (target_cpu): New variable.
44647 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44648 (BUILD_CC): Removed.
44649 (BUILD_CFLAGS): Likewise.
44650 (BUILD_CPPFLAGS): Likewise.
44651 (TARGET_CC): New variable.
44652 (TARGET_CFLAGS): Likewise.
44653 (TARGET_CPPFLAGS): Likewise.
44654 (TARGET_LDFLAGS): Likewise.
44655 (AWK): Likewise.
44656 (include): Use target_cpu instead of host_cpu.
44657 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44658
b977bf01 44659 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44660
f09771a1 446612006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44662
44663 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44664 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44665 field 'false' to 'exec_on_false'.
44666 (grub_script_create_cmdif): Renamed argument names to reflect above
44667 changes.
44668
44669 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44670
44671 * normal/script.c (grub_script_create_cmdif): Likewise.
44672
118f4fb3 446732006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44674
44675 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44676 top.
44677 (grub_hfsplus_btree_recptr): Likewise.
44678 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44679 FILEBLOCK both to pass a block number and store next block
44680 number.
44681 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44682 overflow file correctly. Specify errors appropriately, because
44683 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44684 grub_hfsplus_btree_recptr to get the pointer to a found key.
44685 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44686 is found.
44687
44688 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44689 linux.mod.
44690 (_linux_mod_SOURCES): New variable.
44691 (_linux_mod_CFLAGS): Likewise.
44692 (_linux_mod_LDFLAGS): Likewise.
44693 (linux_mod_SOURCES): Likewise.
44694 (linux_mod_CFLAGS): Likewise.
44695 (linux_mod_LDFLAGS): Likewise.
44696
44697 * DISTLIST: Added loader/i386/efi/linux.c,
44698 loader/i386/efi/linux_normal.c and
44699 include/grub/i386/efi/loader.h.
44700
44701 * loader/i386/efi/linux.c: New file.
44702 * loader/i386/efi/linux_normal.c: Likewise.
44703 * include/grub/i386/efi/loader.h: Likewise.
44704
89a7d726 447052006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44706
44707 * commands/blocklist.c: New file.
44708
44709 * DISTLIST: Added commands/blocklist.c.
44710
44711 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44712 color for the background, and a darker color for the foreground.
89a7d726 44713 (grub_console_checkkey): Return READ_KEY.
44714 (grub_console_cls): Set the background to
44715 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44716
44717 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44718
44719 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44720 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44721
44722 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44723 prototype.
44724
44725 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44726 BG. The spec is wrong again.
44727
44728 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44729 prototype.
44730 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44731
44732 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44733 commands/blocklist.c.
44734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44735
89a7d726 44736 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44737 (blocklist_mod_SOURCES): New variable.
44738 (blocklist_mod_CFLAGS): Likewise.
44739 (blocklist_mod_LDFLAGS): Likewise.
44740
75c8f258 447412006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44742
44743 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44744 duplication.
44745 (lba_mode): Use %eax more intensively to reduce the code size.
44746
da2eb181 447472006-05-20 Marco Gerards <marco@gnu.org>
44748
44749 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44750
44751 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44752 for `menuentry'.
44753 (script): Accept leading newlines.
44754 (newlines): New rule to describe 0 or more newlines.
44755 (commands): Accept `command' with trailing newline. Fixed the
44756 order in which arguments were passed to `grub_script_add_cmd'.
44757 Accept commands separated by newlines.
44758 (function): Changed to accept newlines.
44759 (menuentry) Rewritten.
44760
44761 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44762 front of the list, instead of to the end.
44763
577b4050 447642006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44765
44766 * util/i386/pc/grub-install.in (bindir): New variable.
44767 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44768 Shaver <lbgwjl@gmail.com>.
44769
0d6e1189 447702006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44771
44772 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44773 grub/machine/linux.h
44774 * loader/i386/pc/linux.c: Likewise.
44775
44776 * include/grub/i386/pc/linux.h: Moved to ...
44777 * include/grub/i386/linux.h: ... here.
44778
44779 * include/grub/i386/linux.h (struct linux_kernel_params): New
44780 struct.
f19dbdb7 44781
31b86e9f 447822006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44783
44784 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44785 checking.
44786 (grub_video_vbe_blit_glyph): Likewise.
44787 (grub_video_vbe_blit_bitmap): Likewise.
44788 (grub_video_vbe_blit_render_target): Likewise.
44789
83b984de 447902006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44791
44792 * configure.ac (--with-platform): Properly quote the square
44793 brackets.
44794
5f0413bd 447952006-05-08 Marco Gerards <marco@gnu.org>
44796
44797 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44798 this...
44799 (kernel_elf_HEADERS): ...to this. Updated all users.
44800 (grubof_symlist.c): Renamed from this...
44801 (kernel_elf_symlist.c): ...to this. Updated all users.
44802 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44803 (grubof_SOURCES): Renamed from this...
44804 (kernel_elf_SOURCES): ...to this.
44805 (grubof_HEADERS): Renamed from this...
44806 (kernel_elf_HEADERS): ...to this.
44807 (grubof_CFLAGS): Renamed from this...
44808 (kernel_elf_CFLAGS): ...to this.
44809 (grubof_ASFLAGS): Renamed from this...
44810 (kernel_elf_ASFLAGS): ...to this.
44811 (grubof_LDFLAGS): Renamed from this...
44812 (kernel_elf_LDFLAGS): ...to this.
44813
44814 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44815 this...
44816 (kernel_elf_HEADERS): ...to this. Updated all users.
44817 (grubof_symlist.c): Renamed from this...
44818 (kernel_elf_symlist.c): ...to this. Updated all users.
44819 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44820 (grubof_SOURCES): Renamed from this...
44821 (kernel_elf_SOURCES): ...to this.
44822 (grubof_HEADERS): Renamed from this...
44823 (kernel_elf_HEADERS): ...to this.
44824 (grubof_CFLAGS): Renamed from this...
44825 (kernel_elf_CFLAGS): ...to this.
44826 (grubof_ASFLAGS): Renamed from this...
44827 (kernel_elf_ASFLAGS): ...to this.
44828 (grubof_LDFLAGS): Renamed from this...
44829 (kernel_elf_LDFLAGS): ...to this.
44830
44831 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44832 `kernel.elf' instead of `grubof'.
44833
05568c2e 448342006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44835
44836 Add --with-platform to configure. Use pkglibdir instead of
44837 pkgdatadir. This is reported by Roger Leigh.
44838
44839 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44840 (host_vendor): Likewise.
44841 (host_os): Likewise.
44842 (pkgdatadir): Likewise.
44843 (platform): New variable.
44844 (pkglibdir): Likewise.
44845 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44846
05568c2e 44847 * util/i386/pc/grub-install.in (datadir): Removed.
44848 (host_vendor): Likewise.
44849 (host_os): Likewise.
44850 (pkgdatadir): Likewise.
44851 (platform): New variable.
44852 (pkglibdir): Likewise.
44853 Use PKGLIBDIR instead of PKGDATADIR.
44854
44855 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44856 instead of GRUB_DATADIR.
44857 (main): Likewise.
44858 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44859 (main): Likewise.
44860 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44861 (main): Likewise.
44862
44863 * configure.ac (--with-platform): New option.
44864 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44865
44866 * Makefile.in: Include a makefile based on PLATFORM instead of
44867 HOST_VENDOR.
44868 (pkgdatadir): Not appended by the machine type.
44869 (pkglibdir): Appended by the machine type.
44870 (host_vendor): Removed.
44871 (platform): New variable.
44872 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44873 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44874 (uninstall): Likewise.
44875
4e93851c 448762006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44877
44878 Use the environment context in the menu. Remove the commands
44879 "default" and "timeout", and use variables instead.
f19dbdb7 44880
4e93851c 44881 * normal/menu.c: Include grub/env.h.
44882 (print_entry): Cast TITLE to silence gcc.
44883 (get_timeout): New function.
44884 (set_timeout): Likewise.
44885 (get_entry_number): Likewise.
44886 (run_menu): Use a default entry, a fallback entry and a timeout
44887 in the environment variables "default", "fallback" and
44888 "timeout". Also, tweak the default entry if it is not within the
44889 current menu entries.
44890 (grub_menu_run): Use a fallback entry in the environment variable
44891 "fallback".
44892
44893 * normal/main.c (read_config_file): Do not initialize
44894 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44895 NEWMENU->TIMEOUT.
44896 (grub_normal_execute): Use a data slot to store the menu.
44897
44898 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44899 fallback_entry and timeout.
44900 (struct grub_menu_list): Removed.
44901 (grub_menu_list_t): Likewise.
44902 (struct grub_context): Likewise.
44903 (grub_context_t): Likewise.
44904 (grub_context_get): Likewise.
44905 (grub_context_get_current_menu): Likewise.
44906 (grub_context_push_menu): Likewise.
44907 (grub_context_pop_menu): Likewise.
44908 (grub_default_init): Likewise.
44909 (grub_default_fini): Likewise.
44910 (grub_timeout_init): Likewise.
44911 (grub_timeout_fini): Likewise.
44912
44913 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44914 and timeout.mod.
44915 (normal_mod_SOURCES): Removed normal/context.c.
44916
44917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44918 commands/default.c, commands/timeout.c and normal/context.c.
44919 (normal_mod_SOURCES): Removed normal/context.c.
44920
44921 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44922 commands/timeout.c and normal/context.c.
44923 (normal_mod_SOURCES): Removed normal/context.c.
44924
44925 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44926 commands/default.c, commands/timeout.c and normal/context.c.
44927 (normal_mod_SOURCES): Removed normal/context.c.
44928
44929 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44930 timeout.mod.
44931 (default_mod_SOURCES): Removed.
44932 (default_mod_CFLAGS): Likewise.
44933 (default_mod_LDFLAGS): Likewise.
44934 (timeout_mod_SOURCES): Removed.
44935 (timeout_mod_CFLAGS): Likewise.
44936 (timeout_mod_LDFLAGS): Likewise.
44937
44938 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44939 normal/context.c.
44940
44941 * commands/default.c: Removed.
44942 * commands/timeout.c: Likewise.
44943 * normal/context.c: Likewise.
44944
1eb9cc1d 449452006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44946
44947 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44948
385bd9c1 449492006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44950
44951 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44952 "next" to "prev" for readability.
44953 (struct grub_env_sorted_var): New struct.
44954 (grub_env_context): Renamed to ...
44955 (initial_context): ... this.
44956 (grub_env_var_context): Renamed to ...
44957 (current_context): ... this.
44958 (grub_env_find): Look only at CURRENT_CONTEXT.
44959 (grub_env_context_open): Rewritten to copy exported variables from
44960 previous context.
44961 (grub_env_context_close): Rewritten according to the new
44962 scheme. Also, add an assertion to prevent the initial context from
44963 removed.
44964 (grub_env_insert): Removed the code for the sorted list.
44965 (grub_env_remove): Likewise.
44966 (grub_env_export): Simply mark the variable with
44967 GRUB_ENV_VAR_GLOBAL.
44968 (grub_env_set): A cosmetic change for naming consistency.
44969 (grub_env_get): Likewise.
44970 (grub_env_unset): Likewise.
44971 (grub_env_iterate): Rewritten to sort variables within this
44972 function.
44973 (grub_register_variable_hook): Fixed for naming consistency. Call
44974 grub_env_find again, only if NAME is not found at the first time.
44975 (mangle_data_slot_name): New function.
44976 (grub_env_set_data_slot): Likewise.
44977 (grub_env_get_data_slot): Likewise.
44978 (grub_env_unset_data_slot): Likewise.
44979
44980 * include/grub/env.h (grub_env_var_type): New enum.
44981 (GRUB_ENV_VAR_LOCAL): New constant.
44982 (GRUB_ENV_VAR_GLOBAL): Likewise.
44983 (GRUB_ENV_VAR_DATA): Likewise.
44984 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44985 "type".
44986 (grub_env_set): Replace VAR with NAME for consistency.
44987 (grub_register_variable_hook): Likewise.
44988 (grub_env_export): Specify the name of the argument.
44989 (grub_env_set_data_slot): New prototype.
44990 (grub_env_get_data_slot): Likewise.
44991 (grub_env_unset_data_slot): Likewise.
44992
7f362539 449932006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44994
44995 Extend the loader so that GRUB can accept a loader which comes
44996 back to GRUB when a loaded image exits. Also, this change adds
44997 support for a chainloader on EFI.
f19dbdb7 44998
7f362539 44999 * term/efi/console.c: Include grub/misc.h.
45000 (grub_console_checkkey): Display a scan code on the top for
45001 debugging. This will be removed once the EFI port gets stable.
45002 Correct the scan code mapping.
45003
45004 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45005 allocate memory from larger regions, in order to reduce the number
45006 of allocated regions. Otherwise, the MacOSX loader panics.
45007 (filter_memory_map): Avoid less than 1MB for compatibility with
45008 other loaders.
45009 (add_memory_regions): Allocate from the tail of a region, if
45010 possible, to avoid allocating a region near to 1MB, for the MacOSX
45011 loader.
45012
45013 * kern/efi/init.c (grub_efi_set_prefix): Specify
45014 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45015
45016 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45017 argument IMAGE_HANDLE and specify it to get a loaded image.
45018 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45019 grub_efi_get_loaded_image.
fe6b695a 45020 (grub_efi_get_filename): Divide the length by the size of
7f362539 45021 grub_efi_char16_t.
45022 (grub_efi_get_device_path): New function.
45023 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45024 the length by the size of grub_efi_char16_t for a file path device
45025 path node.
45026
45027 * kern/loader.c (grub_loader_noreturn): New variable.
45028 (grub_loader_set): Accept a new argument NORETURN. Set
45029 GRUB_LOADER_NORETURN to NORETURN.
45030 All callers changed.
45031 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45032 grub_machine_fini.
45033
45034 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45035 prototype.
45036 (grub_efi_get_loaded_image): Take an argument to specify an image
45037 handle.
45038
45039 * include/grub/loader.h (grub_loader_set): Added one more argument
45040 NORETURN.
45041
45042 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45043 instead of grub_efi_open_protocol.
45044 (grub_efidisk_get_device_name): Likewise.
45045 (grub_efidisk_close): Print a newline.
45046 (grub_efidisk_get_device_handle): Fixed to use
45047 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45048 GRUB_EFI_DEVICE_PATH_TYPE.
45049
45050 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45051 * kern/efi/efi.c (device_path_guid): ... here.
45052
45053 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45054 chain.mod.
45055 (kernel_mod_HEADERS): Added efi/disk.h.
45056 (_chain_mod_SOURCES): New variable.
45057 (_chain_mod_CFLAGS): Likewise.
45058 (_chain_mod_LDFLAGS): Likewise.
45059 (chain_mod_SOURCES): Likewise.
45060 (chain_mod_CFLAGS): Likewise.
45061 (chain_mod_LDFLAGS): Likewise.
45062
45063 * DISTLIST: Added include/grub/efi/chainloader.h,
45064 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45065
45066 * include/grub/efi/chainloader.h: New file.
45067 * loader/efi/chainloader.c: Likewise.
45068 * loader/efi/chainloader_normal.c: Likewise.
45069
c0111d6e 450702006-04-30 Marco Gerards <marco@gnu.org>
45071
45072 * commands/configfile.c (grub_cmd_source): New function.
45073 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45074 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45075
df5341da 450762006-04-30 Marco Gerards <marco@gnu.org>
45077
45078 * normal/execute.c (grub_script_execute_cmd): Change the return
45079 type to `grub_err_t'. Correctly return the error.
45080 (grub_script_execute_cmdline): In case a command line is not a
45081 command or a function, try to interpret it as an assignment.
45082
f85934bd 450832006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45084
45085 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45086 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45087 skip a node whose name is obviously invalid as UTF-16,
45088 i.e. contains a NUL character. Stop the iteration when the last
45089 directory entry is found. Instead of using the return value of
45090 grub_hfsplus_btree_iterate_node, store the value in RET and use
45091 it, because the iterator can be stopped by the last directory
45092 entry.
45093
8f8a2cf8 450942006-04-30 Marco Gerards <marco@gnu.org>
45095
45096 * include/grub/env.h (grub_env_export): New prototype. Reported
45097 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45098
a27e84ce 450992006-04-30 Marco Gerards <marco@gnu.org>
45100
45101 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45102 size of the extents in a catalog file record.
45103
eaef0553 451042006-04-29 Marco Gerards <marco@gnu.org>
45105
45106 * commands/configfile.c (grub_cmd_configfile): Execute the
45107 configfile within its own context.
45108
45109 * include/grub/env.h (grub_env_context_open): New prototype.
45110 (grub_env_context_close): Likewise.
45111
45112 * kern/env.c (grub_env): Removed.
45113 (grub_env_sorted): Likewise.
45114 (grub_env_context): New variable.
45115 (grub_env_var_context): Likewise.
45116 (grub_env_find): Search both the active context and the global
45117 context.
45118 (grub_env_context_open): New function.
45119 (grub_env_context_close): Likewise.
45120 (grub_env_insert): Likewise.
45121 (grub_env_remove): Likewise.
45122 (grub_env_export): Likewise.
45123 (grub_env_set): Changed to use helper functions to avoid code
45124 duplication.
45125 (grub_env_iterate): Rewritten so both the current context and the
45126 global context are being used.
45127
45128 * normal/command.c (export_command): New function.
45129 (grub_command_init): Register the `export' function.
45130
7b455f4d 451312006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45132
45133 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45134 explicitly to suppress gcc's warnings.
45135 * fs/fat.c (grub_fat_find_dir): Likewise.
45136 (grub_fat_label): Likewise.
45137 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45138 (grub_xfs_mount): Likewise.
45139 (grub_xfs_label): Likewise.
45140 * fs/affs.c (grub_affs_mount): Likewise.
45141 (grub_affs_label): Likewise.
45142 (grub_affs_iterate_dir): Likewise.
45143 * fs/sfs.c (grub_sfs_mount): Likewise.
45144 (grub_sfs_iterate_dir): Likewise.
45145 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45146 * fs/hfs.c (grub_hfs_mount): Likewise.
45147 (grub_hfs_cmp_catkeys): Likewise.
45148 (grub_hfs_find_dir): Likewise.
45149 (grub_hfs_dir): Likewise.
45150 (grub_hfs_label): Likewise.
45151 * fs/jfs.c (grub_jfs_mount): Likewise.
45152 (grub_jfs_opendir): Likewise.
45153 (grub_jfs_getent): Likewise.
45154 (grub_jfs_lookup_symlink): Likewise.
45155 (grub_jfs_label): Likewise.
45156 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45157 (grub_hfsplus_iterate_dir): Likewise.
45158 (grub_hfsplus_btree_iterate_node): Made static.
45159
45160 * util/grub-emu.c (prefix): New variable.
45161 (grub_machine_set_prefix): New function.
45162 (main): Do not set the environment variable "prefix" here. Only
45163 set PREFIX, which is used later by grub_machine_set_prefix.
45164
45165 * include/grub/video.h: Do not include grub/symbol.h.
45166 (grub_video_register): Not exported. This symbol is not defined in
45167 the kernel.
45168 (grub_video_unregister): Likewise.
45169 (grub_video_iterate): Likewise.
45170 (grub_video_setup): Likewise.
45171 (grub_video_restore): Likewise.
45172 (grub_video_get_info): Likewise.
45173 (grub_video_get_blit_format): Likewise.
45174 (grub_video_set_palette): Likewise.
45175 (grub_video_get_palette): Likewise.
45176 (grub_video_set_viewport): Likewise.
45177 (grub_video_get_viewport): Likewise.
45178 (grub_video_map_color): Likewise.
45179 (grub_video_map_rgb): Likewise.
45180 (grub_video_map_rgba): Likewise.
45181 (grub_video_fill_rect): Likewise.
45182 (grub_video_blit_glyph): Likewise.
45183 (grub_video_blit_bitmap): Likewise.
45184 (grub_video_blit_render_target): Likewise.
45185 (grub_video_scroll): Likewise.
45186 (grub_video_swap_buffers): Likewise.
45187 (grub_video_create_render_target): Likewise.
45188 (grub_video_delete_render_target): Likewise.
45189 (grub_video_set_active_render_target): Likewise.
45190
45191 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45192 Undefined.
45193 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45194
45195 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45196 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45197 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45198 instead of $(srcdir)/genkernsyms.sh.
45199
45200 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45201 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45202 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45203 instead of $(srcdir)/genkernsyms.sh.
45204
45205 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45206 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45207 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45208 instead of $(srcdir)/genkernsyms.sh.
45209
45210 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45211 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45212 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45213 instead of $(srcdir)/genkernsyms.sh.
45214
45215 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45216 genkernsyms.sh.
45217
45218 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45219 genkernsyms.sh.
45220 (gensymlist.sh): New target.
45221 (genkernsyms.sh): Likewise.
45222
45223 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45224 genkernsyms.sh.in and gensymlist.sh.in.
45225
45226 * genkernsyms.sh: Removed.
45227 * gensymlist.sh: Likewise.
f19dbdb7 45228
7b455f4d 45229 * genkernsyms.sh.in: New file.
45230 * gensymlist.sh.in: Likewise.
45231
1885bb27 452322006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45233
45234 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45235 clobber "prefix", since we may have already set it manually.
45236
71538dff 452372006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45238
45239 * kern/misc.c (abort): New alias for grub_abort.
45240
2965c7cc 452412006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45242
45243 A new machine-specific function "grub_machine_set_prefix" is
45244 defined. This is called after loading modules, so that a prefix
45245 initialization can use modules. Also, this change adds an
45246 intensive debugging feature for the memory manager via the
45247 configure option "--enable-mm-debug".
f19dbdb7 45248
2965c7cc 45249 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45250 PART.LEN.
45251
45252 * kern/sparc64/ieee1275/init.c (abort): Removed.
45253 (grub_stop): Likewise.
45254 (grub_exit): New function.
45255 (grub_set_prefix): Renamed to ...
45256 (grub_machine_set_prefix): ... this.
45257 (grub_machine_init): Do not call grub_set_prefix.
45258
45259 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45260 (grub_machine_set_prefix): ... this.
45261 (grub_machine_init): Do not call grub_set_prefix.
45262
45263 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45264 (grub_machine_init): Do not set the prefix here.
45265
45266 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45267
45268 * kern/efi/init.c: Include grub/mm.h.
45269 (grub_efi_set_prefix): New function.
45270
45271 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45272 (grub_efi_get_filename): New function.
45273 (grub_print_device_path): Renamed to ...
45274 (grub_efi_print_device_path): ... this.
45275
45276 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45277 [MM_DEBUG] (grub_realloc): Likewise.
45278 [MM_DEBUG] (grub_free): Likewise.
45279 [MM_DEBUG] (grub_memalign): Likewise.
45280 [MM_DEBUG] (grub_mm_debug): New variable.
45281 [MM_DEBUG] (grub_debug_malloc): New function.
45282 [MM_DEBUG] (grub_debug_free): New function.
45283 [MM_DEBUG] (grub_debug_realloc): New function.
45284 [MM_DEBUG] (grub_debug_memalign): New function.
45285
45286 * kern/misc.c (grub_abort): Print a newline to distinguish
45287 the message.
45288
45289 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45290 grub_set_root_dev after loading modules. This is necessary when
45291 setting a prefix depends on modules.
45292
45293 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45294 (grub_efi_print_device_path): ... this.
45295 (grub_efi_get_filename): New prototype.
45296 (grub_efi_set_prefix): Likewise.
45297
45298 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45299 and grub/disk.h.
45300 (grub_efidisk_get_device_handle): New prototype.
45301 (grub_efidisk_get_device_name): Likewise.
45302
45303 * include/grub/mm.h: Include config.h.
45304 (MM_DEBUG): Removed.
45305 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45306 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45307 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45308 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45309 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45310 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45311 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45312 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45313 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45314
45315 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45316
45317 * disk/efi/efidisk.c: Include grub/partition.h.
45318 (iterate_child_devices): New function.
45319 (add_device): First, compare only last device path nodes, so that
45320 devices are sorted by the types.
45321 (grub_efidisk_get_device_handle): New function.
45322 (grub_efidisk_get_device_name): Likewise.
45323
45324 * configure.ac (--enable-mm-debug): New option to enable the
45325 memory manager debugging feature. This makes the binary much
45326 bigger, so is disabled by default.
45327
9cacaa17 453282006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45329
45330 Use grub_abort instead of grub_stop, and grub_exit must be
45331 define in each architecture now. Also, this change adds support
45332 for EFI disks.
f19dbdb7 45333
9cacaa17 45334 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45335 (grub_getkey): New function.
45336 (grub_term_get_current): Likewise.
45337
45338 * util/i386/pc/grub-setup.c: Include grub/term.h.
45339 (grub_getkey): New function.
45340 (grub_term_get_current): Likewise.
45341
45342 * util/misc.c (grub_stop): Renamed to ...
45343 (grub_exit): ... this.
45344
45345 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45346 (grub_exit): ... this.
45347 (grub_machine_init): Use grub_abort instead of abort.
45348 (grub_stop): Removed.
45349
45350 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45351 abort.
45352
45353 * kern/i386/pc/startup.S (grub_exit): New function.
45354 (cold_reboot): New label.
45355
45356 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45357 (grub_efi_init): Call grub_efidisk_init.
45358 (grub_efi_fini): Call grub_efidisk_fini.
45359
45360 * kern/efi/efi.c: Include grub/mm.h.
45361 (grub_efi_console_control_guid): Renamed to ...
45362 (console_control_guid): ... this.
45363 (grub_efi_loaded_image_guid): Renamed to ...
45364 (loaded_image_guid): ... this.
45365 (grub_efi_locate_handle): New function.
45366 (grub_efi_open_protocol): Likewise.
45367 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45368 GRUB_EFI_CONSOLE_CONTROL_GUID.
45369 (grub_efi_exit): Removed.
45370 (grub_stop): Likewise.
45371 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45372 (grub_exit): New function.
45373 (grub_print_device_path): Likewise.
45374
45375 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45376 (grub_enter_rescue_mode): Register "exit".
45377
45378 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45379 (grub_abort): New function.
45380
45381 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45382
45383 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45384
45385 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45386
45387 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45388 (grub_print_device_path): New prototype.
45389 (grub_efi_locate_handle): Likewise.
45390 (grub_efi_open_protocol): Likewise.
45391
45392 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45393 * disk/efi/efidisk.c: Likewise.
45394
45395 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45396
45397 * include/grub/efi/console_control.h
45398 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45399
45400 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45401 last 8 bytes as an array.
45402 (GRUB_EFI_DISK_IO_GUID): New macro.
45403 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45404 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45405 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45406 grub_uint8_t.
45407 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45408 (struct grub_efi_device_path): Rename the member "sub_type" to
45409 "subtype".
45410 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45411 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45412 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45413 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45414 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45415 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45416 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45417 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45418 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45419 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45420 (struct grub_efi_pci_device_path): New structure.
45421 (grub_efi_pci_device_path_t): New type.
45422 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45423 (struct grub_efi_pccard_device_path): New structure.
45424 (grub_efi_pccard_device_path_t): New type.
45425 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45426 (struct grub_efi_memory_mapped_device_path): New structure.
45427 (grub_efi_memory_mapped_device_path_t): New type.
45428 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45429 (struct grub_efi_vendor_device_path): New structure.
45430 (grub_efi_vendor_device_path_t): New type.
45431 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45432 (struct grub_efi_controller_device_path): New structure.
45433 (grub_efi_controller_device_path_t): New type.
45434 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45435 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45436 (struct grub_efi_acpi_device_path): New structure.
45437 (grub_efi_acpi_device_path_t): New type.
45438 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45439 (struct grub_efi_expanded_acpi_device_path): New structure.
45440 (grub_efi_expanded_acpi_device_path_t): New type.
45441 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45442 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45443 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45444 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45445 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45446 (struct grub_efi_atapi_device_path): New structure.
45447 (grub_efi_atapi_device_path_t): New type.
45448 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45449 (struct grub_efi_fibre_channel_device_path): New structure.
45450 (grub_efi_fibre_channel_device_path_t): New type.
45451 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45452 (struct grub_efi_1394_device_path): New structure.
45453 (grub_efi_1394_device_path_t): New type.
45454 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45455 (struct grub_efi_usb_device_path): New structure.
45456 (grub_efi_usb_device_path_t): New type.
45457 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45458 (struct grub_efi_usb_class_device_path): New structure.
45459 (grub_efi_usb_class_device_path_t): New type.
45460 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45461 (struct grub_efi_i2o_device_path): New structure.
45462 (grub_efi_i2o_device_path_t): New type.
45463 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45464 (struct grub_efi_mac_address_device_path): New structure.
45465 (grub_efi_mac_address_device_path_t): New type.
45466 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45467 (struct grub_efi_ipv4_device_path): New structure.
45468 (grub_efi_ipv4_device_path_t): New type.
45469 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45470 (struct grub_efi_ipv6_device_path): New structure.
45471 (grub_efi_ipv6_device_path_t): New type.
45472 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45473 (struct grub_efi_infiniband_device_path): New structure.
45474 (grub_efi_infiniband_device_path_t): New type.
45475 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45476 (struct grub_efi_uart_device_path): New structure.
45477 (grub_efi_uart_device_path_t): New type.
45478 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45479 (struct grub_efi_vendor_messaging_device_path): New structure.
45480 (grub_efi_vendor_messaging_device_path_t): New type.
45481 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45482 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45483 (struct grub_efi_hard_drive_device_path): New structure.
45484 (grub_efi_hard_drive_device_path_t): New type.
45485 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45486 (struct grub_efi_cdrom_device_path): New structure.
45487 (grub_efi_cdrom_device_path_t): New type.
45488 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45489 (struct grub_efi_vendor_media_device_path): New structure.
45490 (grub_efi_vendor_media_device_path_t): New type.
45491 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45492 (struct grub_efi_file_path_device_path): New structure.
45493 (grub_efi_file_path_device_path_t): New type.
45494 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45495 (struct grub_efi_protocol_device_path): New structure.
45496 (grub_efi_protocol_device_path_t): New type.
45497 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45498 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45499 (struct grub_efi_bios_device_path): New structure.
45500 (grub_efi_bios_device_path_t): New type.
45501 (struct grub_efi_disk_io): New structure.
45502 (grub_efi_disk_io_t): New type.
45503 (struct grub_efi_block_io_media): New structure.
45504 (grub_efi_block_io_media_t): New type.
45505 (struct grub_efi_block_io): New structure.
45506 (grub_efi_block_io_t): New type.
45507
45508 * include/grub/misc.h (grub_stop): Removed.
45509 (grub_exit): New prototype.
45510 (grub_abort): Likewise.
45511
45512 * include/grub/disk.h (enum grub_disk_dev_id): Added
45513 GRUB_DISK_DEVICE_EFIDISK_ID.
45514
45515 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45516 disk/efi/efidisk.c.
45517 (kernel_syms.lst): Remove the target if an error occurs.
45518
49986a9f 455192006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45520
45521 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45522 as it was simply too buggy.
45523
970d3b8a 455242006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45525
45526 * kern/misc.c (grub_lltoa): New function.
45527 (grub_vsprintf): Added support for the long long suffix,
45528 i.e. "ll".
45529
ff04ec24 455302006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45531
45532 * Makefile.in (LDFLAGS): Add variable.
45533 (LD): Remove variable.
45534 * configure.ac: Add -m32 to LDFLAGS.
45535 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45536 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45537 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45538 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45539 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45540 variables.
45541 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45542 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45543 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45544
37e5e1a4 455452006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45546
45547 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45548 length for unknown glyph.
45549
c352d8dd 455502006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45551
2eab1c0d 45552 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45553
2eab1c0d 45554 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45555 completely. Accept one more argument DIR. The caller has changed.
45556
45557 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45558
45559 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45560 (grub_efi_loaded_image_guid): New variable.
45561 (grub_efi_get_loaded_image): New function.
45562 (grub_arch_modules_addr): Likewise.
45563
45564 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45565 prototype.
45566
45567 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45568 (struct grub_efi_loaded_image): New structure.
45569 (grub_efi_loaded_image_t): New type.
45570
455712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45572
c352d8dd 45573 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45574 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45575 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45576
6d01d6b4 455772006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45578
45579 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45580
976a4ea0 455812006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45582
45583 * DISTLIST: Added include/grub/efi/console.h,
45584 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45585 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45586
45587 * include/grub/efi/console.h: New file.
45588 * include/grub/efi/time.h: Likewise.
45589 * include/grub/i386/efi/kernel.h: Likewise.
45590 * kern/efi/init.c: Likewise.
45591 * kern/efi/mm.c: Likewise.
45592 * term/efi/console.c: Likewise.
f19dbdb7 45593
976a4ea0 45594 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45595 (grub_stop): Removed.
45596 (grub_get_rtc): Likewise.
45597 (grub_machine_init): Simply call grub_efi_init.
45598 (grub_machine_fini): Call grub_efi_fini.
45599
45600 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45601 (grub_efi_output_string): Removed.
45602 (grub_efi_stall): New function.
45603 (grub_stop): Likewise.
45604 (grub_get_rtc): Likewise.
45605
45606 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45607 (grub_efi_stall): New prototype.
45608 (grub_efi_allocate_pages): Likewise.
45609 (grub_efi_free_pages): Likewise.
45610 (grub_efi_get_memory_map): Likewise.
45611 (grub_efi_mm_init): Likewise.
45612 (grub_efi_mm_fini): Likewise.
45613 (grub_efi_init): Likewise.
45614 (grub_efi_fini): Likewise.
45615
45616 * include/grub/i386/efi/time.h: Do not include
45617 grub/symbol.h. Include grub/efi/time.h.
45618 (GRUB_TICKS_PER_SECOND): Removed.
45619 (grub_get_rtc): Likewise.
45620
45621 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45622 Added padding. The EFI spec is buggy.
45623 (GRUB_EFI_BLACK): New macro.
45624 (GRUB_EFI_BLUE): Likewise.
45625 (GRUB_EFI_GREEN): Likewise.
45626 (GRUB_EFI_CYAN): Likewise.
45627 (GRUB_EFI_RED): Likewise.
45628 (GRUB_EFI_MAGENTA): Likewise.
45629 (GRUB_EFI_BROWN): Likewise.
45630 (GRUB_EFI_LIGHTGRAY): Likewise.
45631 (GRUB_EFI_BRIGHT): Likewise.
45632 (GRUB_EFI_DARKGRAY): Likewise.
45633 (GRUB_EFI_LIGHTBLUE): Likewise.
45634 (GRUB_EFI_LIGHTGREEN): Likewise.
45635 (GRUB_EFI_LIGHTCYAN): Likewise.
45636 (GRUB_EFI_LIGHTRED): Likewise.
45637 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45638 (GRUB_EFI_YELLOW): Likewise.
45639 (GRUB_EFI_WHITE): Likewise.
45640 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45641 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45642 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45643 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45644 (GRUB_EFI_BACKGROUND_RED): Likewise.
45645 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45646 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45647 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45648 (GRUB_EFI_TEXT_ATTR): Likewise.
45649
45650 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45651 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45652 (kernel_mod_HEADERS): Added efi/time.h.
45653
83709125 456542006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45655
45656 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45657 include/grub/efi/api.h, include/grub/efi/console_control.h,
45658 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45659 include/grub/i386/efi/time.h, kern/efi/efi.c,
45660 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45661 and util/i386/efi/grub-mkimage.c.
45662
45663 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45664
45665 * genmk.rb (PModule#rule): Do not export symbols if
45666 #{prefix}_EXPORTS is set to "no".
45667
45668 * conf/i386-efi.mk: New file.
45669 * conf/i386-efi.rmk: Likewise.
45670 * include/grub/efi/api.h: Likewise.
45671 * include/grub/efi/console_control.h: Likewise.
45672 * include/grub/efi/efi.h: Likewise.
45673 * include/grub/efi/pe32.h: Likewise.
45674 * include/grub/i386/efi/time.h: Likewise.
45675 * kern/efi/efi.c: Likewise.
45676 * kern/i386/efi/init.c: Likewise.
45677 * kern/i386/efi/startup.S: Likewise.
45678 * util/i386/efi/grub-mkimage.c: Likewise.
45679
456802006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45681
45682 * include/grub/script.h: Include <grub/parser.h> and
45683 "grub_script.tab.h".
45684 (struct grub_lexer_param): New struct.
45685 (struct grub_parser_param): Likewise.
45686 (grub_script_create_arglist): Pass the state in an argument.
45687 (grub_script_add_arglist): Likewise.
45688 (grub_script_create_cmdline): Likewise.
45689 (grub_script_create_cmdblock): Likewise.
45690 (grub_script_create_cmdif): Likewise.
45691 (grub_script_create_cmdmenu): Likewise.
45692 (grub_script_add_cmd): Likewise.
45693 (grub_script_arg_add): Likewise.
45694 (grub_script_lexer_ref): Likewise.
45695 (grub_script_lexer_deref): Likewise.
45696 (grub_script_lexer_record_start): Likewise.
45697 (grub_script_lexer_record_stop): Likewise.
45698 (grub_script_mem_record): Likewise.
45699 (grub_script_mem_record_stop): Likewise.
45700 (grub_script_malloc): Likewise.
45701 (grub_script_yylex): Likewise.
45702 (grub_script_yyparse): Likewise.
45703 (grub_script_yyerror): Likewise.
45704 (grub_script_yylex): Likewise.
45705 (grub_script_lexer_init): Return the state.
45706
45707 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45708 (grub_script_lexer_done): Likewise.
45709 (grub_script_lexer_getline): Likewise.
45710 (grub_script_lexer_refs): Likewise.
45711 (script): Likewise.
45712 (newscript): Likewise.
45713 (record): Likewise.
45714 (recording): Likewise.
45715 (recordpos): Likewise.
45716 (recordlen): Likewise.
45717 (grub_script_lexer_init): Return the state instead of setting
45718 global variables.
45719 (grub_script_lexer_ref): Use the newly added argument for state
45720 instead of globals.
45721 (grub_script_lexer_deref): Likewise.
45722 (grub_script_lexer_record_start): Likewise.
45723 (grub_script_lexer_record_stop): Likewise.
45724 (recordchar): Likewise.
45725 (nextchar): Likewise.
45726 (grub_script_yylex2): Likewise.
45727 (grub_script_yylex): Likewise.
45728 (grub_script_yyerror): Likewise.
45729
45730 * normal/parser.y (func_mem): Removed variable.
45731 (menu_entry): Likewise.
45732 (err): Likewise.
45733 (%lex-param): New parser option.
45734 (%parse-param): Likewise.
45735 (script): Always return the AST.
45736 (argument): Pass the state around.
45737 (arguments): Likewise.
45738 (grubcmd): Likewise.
45739 (commands): Likewise.
45740 (function): Likewise.
45741 (menuentry): Likewise.
45742 (if_statement): Likewise.
45743 (if): Likewise.
45744
45745 * normal/script.c (grub_script_memused): Removed variable.
45746 (grub_script_parsed): Likewise.
45747 (grub_script_malloc): Added a state argument. Use that instead of
45748 global variables.
45749 (grub_script_mem_record): Likewise.
45750 (grub_script_mem_record_stop): Likewise.
45751 (grub_script_arg_add): Likewise.
45752 (grub_script_add_arglist): Likewise.
45753 (grub_script_create_cmdline): Likewise.
45754 (grub_script_create_cmdif): Likewise.
45755 (grub_script_create_cmdmenu): Likewise.
45756 (grub_script_add_cmd): Likewise.
45757 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45758
e2a8c904 457592006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45760
45761 * normal/command.c (grub_command_init): Remove the title command.
45762
45763 * normal/lexer.c (grub_script_yylex): Renamed from this...
45764 (grub_script_yylex2): ... to this.
45765 (grub_script_yylex): New function. Temporary
45766 introduced to filter some tokens.
45767 (grub_script_yyerror): Print a newline.
45768
45769 * normal/main.c (read_config_file): Output information about the
45770 lines that contain errors. Wait for a key after all lines have
45771 been processed. Don't return an empty menu.
45772
45773 * normal/parser.y (func_mem): Don't initialize.
45774 (menu_entry): Likewise.
45775 (err): New variable.
45776 (script): Don't return anything when an error was encountered.
45777 (ws, returns): Removed rules.
45778 (argument): Disabled concatenated variable support.
45779 (arguments): Remove explicit separators.
45780 (grubcmd): Likewise.
45781 (function): Likewise.
45782 (menuentry): Likewise.
45783 (if): Likewise.
45784 (commands): Likewise. Add error handling.
45785
45786 * normal/script.c (grub_script_create_cmdline): If
45787 `grub_script_parsed' is 0, assume the parser encountered an error.
45788
c9a86192 457892006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45790
45791 * configure.ac: Add support for EFI. Fix the typo
45792 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45793
70f3b243 457942006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45795
45796 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45797 foreign multibyte characters should be shown correctly.
45798
65f201ad 457992006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45800
45801 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45802 calculation.
45803 (read_config_file): Made it to close file before returning.
45804
b4b93674 458052006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45806
45807 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45808 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45809 video/i386/pc/vbefill.c.
45810
45811 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45812 video/i386/pc/vbefill.c.
45813
45814 * include/grub/video.h (grub_video_blit_format): New enum.
45815 (grub_video_mode_info): Added new member blit_format.
45816 (grub_video_get_blit_format): New function prototype.
45817
45818 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45819 function prototype.
45820 (grub_video_vbe_map_rgb): Likewise.
45821 (grub_video_vbe_unmap_color): Likewise.
45822
45823 * include/grub/i386/pc/vbeblit.h: New file.
45824
45825 * include/grub/i386/pc/vbefill.h: New file.
45826
45827 * video/video.c (grub_video_get_blit_format): New function.
45828 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45829 (grub_video_vbe_map_rgb): Likewise.
45830 (grub_video_vbe_unmap_color): Likewise.
45831
45832 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45833 optimized fills.
45834 (grub_video_vbe_blit_render_target): Changed to use more optimized
45835 blits.
45836 (grub_video_vbe_setup): Added detection for optimized settings.
45837 (grub_video_vbe_create_render_target): Likewise.
45838
45839 * video/i386/pc/vbeblit.c: New file.
45840
45841 * video/i386/pc/vbefill.c: New file.
45842
c2379b9c 458432006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45844
45845 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45846 here...
45847
45848 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45849 parsing to support both hex and dec ranges. If filename was missing
45850 show usage information.
45851
bd0d7896 458522006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45853
45854 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45855 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45856
45857 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45858 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45859 (video_mod_SOURCES): Added.
45860 (video_mod_CFLAGS): Likewise.
45861 (video_mod_LDFLAGS): Likewise.
45862 (gfxterm_mod_SOURCES): Likewise.
45863 (gfxterm_mod_CFLAGS): Likewise.
45864 (gfxterm_mod_LDFLAGS): Likewise.
45865 (videotest_mod_SOURCES): Likewise.
45866 (videotest_mod_CFLAGS): Likewise.
45867 (videotest_mod_LDFLAGS): Likewise.
45868 (vesafb_mod_SOURCES): Removed.
45869 (vesafb_mod_CFLAGS): Likewise.
45870 (vesafb_mod_LDFLAGS): Likewise.
45871 (vga_mod_SOURCES): Likewise.
45872 (vga_mod_CFLAGS): Likewise.
45873 (vga_mod_LDFLAGS): Likewise.
45874
45875 * commands/videotest.c: New file.
45876
45877 * font/manager.c (fill_with_default_glyph): Modified to use
45878 grub_font_glyph.
45879 (grub_font_get_glyph): Likewise.
45880 (fontmanager): Renamed from this...
45881 (font_manager): ... to this.
45882
45883 * include/grub/font.h (grub_font_glyph): Added new structure.
45884 (grub_font_get_glyph): Modified to use grub_font_glyph.
45885
45886 * include/grub/misc.h (grub_abs): Added as inline function.
45887
45888 * include/grub/video.h: New file.
45889
45890 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45891 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45892 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45893 (grub_vbe_get_controller_info): Renamed from this...
45894 (grub_vbe_bios_get_controller_info): ... to this.
45895 (grub_vbe_get_mode_info): Renamed from this...
45896 (grub_vbe_bios_get_mode_info): ... to this.
45897 (grub_vbe_set_mode): Renamed from this...
45898 (grub_vbe_bios_set_mode): ... to this.
45899 (grub_vbe_get_mode): Renamed from this...
45900 (grub_vbe_bios_get_mode): ... to this.
45901 (grub_vbe_set_memory_window): Renamed from this...
45902 (grub_vbe_bios_set_memory_window): ... to this.
45903 (grub_vbe_get_memory_window): Renamed from this...
45904 (grub_vbe_bios_get_memory_window): ... to this.
45905 (grub_vbe_set_scanline_length): Renamed from this...
45906 (grub_vbe_set_scanline_length): ... to this.
45907 (grub_vbe_get_scanline_length): Renamed from this...
45908 (grub_vbe_bios_get_scanline_length): ... to this.
45909 (grub_vbe_set_display_start): Renamed from this...
45910 (grub_vbe_bios_set_display_start): ... to this.
45911 (grub_vbe_get_display_start): Renamed from this...
45912 (grub_vbe_bios_get_display_start): ... to this.
45913 (grub_vbe_set_palette_data): Renamed from this...
45914 (grub_vbe_bios_set_palette_data): ... to this.
45915 (grub_vbe_set_pixel_rgb): Removed.
45916 (grub_vbe_set_pixel_index): Likewise.
45917
45918 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45919 from this...
45920 (grub_vbe_bios_get_controller_info): ... to this.
45921 (grub_vbe_get_mode_info): Renamed from this...
45922 (grub_vbe_bios_get_mode_info): ... to this.
45923 (grub_vbe_set_mode): Renamed from this...
45924 (grub_vbe_bios_set_mode): ... to this.
45925 (grub_vbe_get_mode): Renamed from this...
45926 (grub_vbe_bios_get_mode): ... to this.
45927 (grub_vbe_set_memory_window): Renamed from this...
45928 (grub_vbe_bios_set_memory_window): ... to this.
45929 (grub_vbe_get_memory_window): Renamed from this...
45930 (grub_vbe_bios_get_memory_window): ... to this.
45931 (grub_vbe_set_scanline_length): Renamed from this...
45932 (grub_vbe_set_scanline_length): ... to this.
45933 (grub_vbe_get_scanline_length): Renamed from this...
45934 (grub_vbe_bios_get_scanline_length): ... to this.
45935 (grub_vbe_set_display_start): Renamed from this...
45936 (grub_vbe_bios_set_display_start): ... to this.
45937 (grub_vbe_get_display_start): Renamed from this...
45938 (grub_vbe_bios_get_display_start): ... to this.
45939 (grub_vbe_set_palette_data): Renamed from this...
45940 (grub_vbe_bios_set_palette_data): ... to this.
45941 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45942 getting corrupted after calling it. Added more pushes and pops.
45943 (grub_vbe_bios_set_mode): Likewise.
45944 (grub_vbe_bios_get_mode): Likewise.
45945 (grub_vbe_bios_get_memory_window): Likewise.
45946 (grub_vbe_bios_set_scanline_length): Likewise.
45947 (grub_vbe_bios_get_scanline_length): Likewise.
45948 (grub_vbe_bios_get_display_start): Likewise.
45949 (grub_vbe_bios_set_palette_data): Likewise.
45950
45951 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45952 (cl_insert): Likewise.
45953 (cl_delete): Likewise.
45954
45955 * term/gfxterm.c: New file.
45956
45957 * term/i386/pc/vesafb.c: Removed file.
45958
45959 * video/video.c: New file.
45960
45961 * video/i386/pc/vbe.c (real2pm): Added new function.
45962 (grub_video_vbe_draw_pixel): Likewise.
45963 (grub_video_vbe_get_video_ptr): Likewise.
45964 (grub_video_vbe_get_pixel): Likewise
45965 (grub_video_vbe_init): Likewise.
45966 (grub_video_vbe_fini): Likewise.
45967 (grub_video_vbe_setup): Likewise.
45968 (grub_video_vbe_get_info): Likewise.
45969 (grub_video_vbe_set_palette): Likewise.
45970 (grub_video_vbe_get_palette): Likewise.
45971 (grub_video_vbe_set_viewport): Likewise.
45972 (grub_video_vbe_get_viewport): Likewise.
45973 (grub_video_vbe_map_color): Likewise.
45974 (grub_video_vbe_map_rgb): Likewise.
45975 (grub_video_vbe_map_rgba): Likewise.
45976 (grub_video_vbe_unmap_color): Likewise.
45977 (grub_video_vbe_fill_rect): Likewise.
45978 (grub_video_vbe_blit_glyph): Likewise.
45979 (grub_video_vbe_blit_bitmap): Likewise.
45980 (grub_video_vbe_blit_render_target): Likewise.
45981 (grub_video_vbe_scroll): Likewise.
45982 (grub_video_vbe_swap_buffers): Likewise.
45983 (grub_video_vbe_create_render_target): Likewise.
45984 (grub_video_vbe_delete_render_target): Likewise.
45985 (grub_video_vbe_set_active_render_target): Likewise.
45986 (grub_vbe_set_pixel_rgb): Remove function.
45987 (grub_vbe_set_pixel_index): Likewise.
45988 (index_color_mode): Remove static variable.
45989 (active_mode): Likewise.
45990 (framebuffer): Likewise.
45991 (bytes_per_scan_line): Likewise.
45992 (grub_video_vbe_adapter): Added new static variable.
45993 (framebuffer): Likewise.
45994 (render_target): Likewise.
45995 (initial_mode): Likewise.
45996 (mode_in_use): Likewise.
45997 (mode_list): Likewise.
45998
5f97350b 459992006-03-10 Marco Gerards <marco@gnu.org>
46000
46001 * configure.ac (AC_INIT): Bumped to 1.93.
46002
46003 * DISTLIST: Added `include/grub/hfs.h'.
46004
a3c5c6f8 460052006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46006
46007 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46008 18H, which might help the BIOS falling back to next boot media.
46009
6de53d26 460102006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46011
46012 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46013 Poe Chen <poe.poechen@gmail.com>.
46014
77c4a393 460152006-01-17 Marco Gerards <marco@gnu.org>
46016
46017 * include/grub/normal.h: Include <grub/script.h>.
46018 (grub_command_list): Removed struct.
46019 (grub_command_list_t): Removed type.
46020 (grub_menu_entry): Remove members `num' and `command_list'. Add
46021 members `commands' and `sourcecode'.
46022 * include/grub/script.h: Add inclusion guards.
46023 (grub_script_cmd_menuentry): New struct.
46024 (grub_script_execute_menuentry): New prototype.
46025 (grub_script_lexer_record_start): Likewise.
46026 (grub_script_lexer_record_stop): Likewise.
46027 * normal/execute.c (grub_script_execute_menuentry): New function.
46028 * normal/lexer.c (record, recording, recordpos, recordlen): New
46029 variables.
46030 (grub_script_lexer_record_start): New function.
46031 (grub_script_lexer_record_stop): Likewise.
46032 (recordchar): Likewise.
46033 (nextchar): Likewise.
46034 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46035 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46036 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46037 (current_menu): New variable.
46038 (free_menu): Mainly rewritten.
46039 (grub_normal_menu_addentry): New function.
46040 (read_config_file): Rewritten.
46041 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46042 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46043 the menu entry.
46044 (run): Mainly rewritten.
46045 * normal/parser.y (menu_entry): New variable.
46046 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46047 (menuentry): New rule.
46048 (command): Add `menuentry'.
46049 (if_statement): Allow additional returns before `fi'.
46050 * normal/script.c (grub_script_create_cmdmenu): New function.
46051
144f1f98 460522006-01-03 Marco Gerards <marco@gnu.org>
46053
46054 * INSTALL: GNU Bison is required.
46055 * configure.ac: Rewritten the test to detect Bison.
46056 * Makefile.in (YACC): New variable. Reported by Xun Sun
46057 <xun.sun.cn@gmail.com>.
46058
af4b2d89 460592006-01-03 Marco Gerards <marco@gnu.org>
46060
46061 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46062 the HFS+ filesystem to filesystem blocks.
46063 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46064 GCC warning is silenced.
46065
15643b71 460662006-01-03 Marco Gerards <marco@gnu.org>
46067
46068 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46069 read from disk from big endian to host byte order.
46070
00905879 460712006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46072
46073 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46074 documentation.
46075 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46076 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46077 embedded HFS+ filesystem.
46078 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46079 (grub_hfs_sblock): Move from here...
46080 * include/grub/hfs.h: To here... New file.
46081 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46082 documentation.
46083 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46084 New macros.
46085 (grub_hfsplus_volheader): Change type of member `magic' to
46086 `grub_uint16_t'.
46087 (grub_hfsplus_data): Add new member `embedded_offset'.
46088 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46089 returned block.
46090 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46091 Calculate the offset.
46092
8899bc3e 460932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46094
46095 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46096 Removed.
46097 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46098
ae8c0277 460992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46100
46101 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46102 ENV->NAME is NULL after allocating ENV->VALUE.
46103
07084456 461042005-12-25 Marco Gerards <marco@gnu.org>
46105
46106 * kern/env.c (grub_env_set): Rewritten the error handling code.
46107
4750f5f1 461082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46109
46110 * geninit.sh: Made more robust, and more portable.
46111
50214199 461122005-12-25 Marco Gerards <marco@gnu.org>
46113
46114 Add support for Apple HFS+ filesystems.
f19dbdb7 46115
50214199 46116 * fs/hfsplus.c: New file.
46117
46118 * DISTLIST: Added `fs/hfsplus.c'.
46119
46120 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46121 (hfsplus_mod_SOURCES): New variable.
46122 (hfsplus_mod_CFLAGS): Likewise.
46123 (hfsplus_mod_LDFLAGS): Likewise.
46124 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46125 (grub_setup_SOURCES): Likewise.
46126 (grub_mkdevicemap_SOURCES): Likewise.
46127 (grub_emu_SOURCES): Likewise.
46128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46129
46130 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46131
46132 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46133
befaed6c 461342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46135
46136 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46137 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46138 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46139 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46140 normal/lexer.c, normal/parser.y, normal/script.c, and
46141 partmap/gpt.c.
46142 Removed kern/sparc64/cache.c.
46143
46144 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46145 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46146 grub_emu_init.c.
46147
46148 * configure.ac (AC_INIT): Bumped to 1.92.
46149
6a124103 461502005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46151
46152 * kern/err.c (grub_error_push): Added new function to support error
46153 stacks.
46154 (grub_error_pop): Likewise.
46155 (grub_error_stack_items): New local variable to support error stacks.
46156 (grub_error_stack_pos): Likewise.
46157 (grub_error_stack_assert): Likewise.
46158 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46159 stack depth.
46160 (grub_print_error): Added support to print errors from error stack.
46161
46162 * include/grub/err.h (grub_error_push): Added function prototype.
46163 (grub_error_pop): Likewise.
46164
be973c1b 461652005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46166
46167 * configure.ac: Accept `powerpc64' as host_cpu.
46168 (amd64): Rename to `biarch32'.
46169
46170 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46171 non-cacheline-aligned addresses.
46172
46173 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46174 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46175 if `size' is non-zero.
46176
b04216ab 461772005-12-03 Marco Gerards <mgerards@xs4all.nl>
46178
46179 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46180 and `cd' to make sure the filename is not prefixed with a
46181 directory name.
46182 (pkgdata_MODULES): Add `gpt.mod'.
46183 (gpt_mod_SOURCES): New variable.
46184 (gpt_mod_CFLAGS): Likewise.
46185 (gpt_mod_LDFLAGS): Likewise.
46186
46187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46188
46189 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46190 New macro.
46191
46192 * partmap/gpt.c: New file.
46193
46194 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46195 GPT partition map is detected.
46196
41730ed9 461972005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46198
46199 * commands/i386/pc/play.c: New file.
46200 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46201 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46202 macros.
f19dbdb7 46203
95dc3643 462042005-11-27 Marco Gerards <mgerards@xs4all.nl>
46205
46206 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46207 ((unused))' to silence gcc warning.
46208
1569ec51 462092005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46210
46211 * configure.ac: Correct `AC_PROG_YACC' test.
46212
9abde152 462132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46214
46215 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46216 check before installing files.
46217
44b83271 462182005-11-22 Mike Small <smallm@panix.com>
46219
46220 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46221 number regex so multidigit numbers are recognized correctly.
46222
462232005-11-22 Mike Small <smallm@panix.com>
46224
46225 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46226 debugging message before attempting to claim memory.
46227 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46228 multiple addresses in case of failure.
46229
9c12956b 462302005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46231
46232 * term/tparm.c (get_space): Remove empty `if' statement.
46233
46234 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46235
46236 * kern/parser.c (check_varstate): Rename `state' to 's'.
46237
aeaf81d9 462382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46239
46240 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46241 variable definitions to the beginning of each function. Sort stack
46242 variables by size.
46243 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46244 `buf' argument to `char *'.
46245
79bbb63f 462462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46247
46248 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46249 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46250 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46251 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46252 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46253 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46254 configfile.mod, search.mod, gzio.mod and test.mod.
46255 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46257 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46258 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46259 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46260 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46261 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46262 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46263 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46264 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46265 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46266 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46267 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46268 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46269 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46270 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46271 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46272 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46273 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46274 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46275 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46276 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46277 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46278
46279 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46280 `grep --include'.
46281 (pkgdata_MODULES): Add test.mod.
46282
233b1628 462832005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46284
46285 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46286 appending to variables with "+=".
46287 (PModule): Use full pathname to generate *.lst filenames.
46288
46289 * Makefile.in: Fixed list rules moved from genmk.rb.
46290 (.DELETE_ON_ERROR): New special target.
46291 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46292
46293 * conf/i386-pc.rmk: Include conf/common.mk.
46294 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46295 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46296 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46297 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46298 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46299 configfile.mod, search.mod, gzio.mod and test.mod.
46300 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46301 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46302 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46303 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46304 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46305 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46306 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46307 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46308 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46309 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46310 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46311 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46312 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46313 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46314 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46315 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46316 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46317 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46318 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46319 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46320 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46321 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46322 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46323 here...
46324 * conf/common.rmk: ... to here. New file.
46325
46326 * conf/common.mk: New file.
46327
16f820c8 463282005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46329
46330 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46331 (grub_script.tab.c): ... here.
46332
46333 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46334 (grub_script.tab.c): ... here.
46335
46336 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46337 (grub_script.tab.c): ... here.
46338
46339 * normal/command.c (grub_command_find): Fixed a memory leak of
46340 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46341
63ba1554 463422005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46343
46344 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46345 "@" which marks the start of a comment on ARM.
46346 (VARIABLE): Likewise.
46347
7f67dc13 463482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46349
79bbb63f 46350 Add support for Linux/ADFS partition tables.
7f67dc13 46351
46352 * partmap/acorn.c: New file.
46353
46354 * include/grub/acorn_filecore.h: Likewise.
46355
46356 * DISTLIST: Added `partmap/acorn.c' and
46357 `include/grub/acorn_filecore.h'.
f19dbdb7 46358
7f67dc13 46359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46360 `partmap/acorn.c'.
46361 (pkgdata_MODULES): Add `acorn.mod'.
46362 (acorn_mod_SOURCES): New variable.
46363 (acorn_mod_CFLAGS): Likewise.
46364
46365 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46366 `partmap/acorn.c'.
46367 (pkgdata_MODULES): Add `acorn.mod'.
46368 (acorn_mod_SOURCES): New variable.
46369 (acorn_mod_CFLAGS): Likewise.
46370
46371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46372 (pkgdata_MODULES): Add `acorn.mod'.
46373 (acorn_mod_SOURCES): New variable.
46374 (acorn_mod_CFLAGS): Likewise.
46375 (acorn_mod_LDFLAGS): Likewise.
46376
46377 * include/types.h (grub_disk_addr_t): New typedef.
46378
6d099807 463792005-11-13 Marco Gerards <mgerards@xs4all.nl>
46380
46381 * geninit.sh: New file.
46382
46383 * geninitheader.sh: Likewise.
46384
46385 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46386 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46387 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46388 * commands/configfile.c (grub_configfile_init)
46389 (grub_configfile_fini): Likewise.
46390 * commands/default.c (grub_default_init, grub_default_fini):
46391 Likewise.
46392 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46393 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46394 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46395 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46396 Likewise.
46397 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46398 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46399 Likewise.
46400 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46401 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46402 Likewise.
46403 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46404 Likewise.
fe6b695a 46405 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46406 Likewise.
46407 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46408 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46409 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46410 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46411 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46412 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46413 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46414 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46415 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46416 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46417 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46418 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46419 * partmap/amiga.c (grub_amiga_partition_map_init)
46420 (grub_amiga_partition_map_fini): Likewise.
46421 * partmap/apple.c (grub_apple_partition_map_init)
46422 (grub_apple_partition_map_fini): Likewise.
46423 * partmap/pc.c (grub_pc_partition_map_init)
46424 (grub_pc_partition_map_fini): Likewise.
46425 * partmap/sun.c (grub_sun_partition_map_init,
46426 grub_sun_partition_map_fini): Likewise.
46427 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46428 Likewise.
46429
46430 * util/grub-emu.c: Include <grub_modules_init.h>.
46431 (main): Don't initialize and de-initialize any modules directly,
46432 use `grub_init_all' and `grub_fini_all' instead.
46433
46434 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46435 `grub_vesafb_mod_init'.
46436 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46437 all users.
46438 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46439 `grub_vga_mod_init'. Updated all users.
46440 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46441
6d099807 46442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46443 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46444 rules.
46445
46446 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46447 Generate a function to initialize the module in utilities.
46448 Updated all callers.
46449 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46450 initialize the module in utilities. Updated all callers.
46451
9046bcf0 464522005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46453
46454 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46455 escape sequence and a literal ^L to clear the screen.
46456
46457 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46458 when returning from Open Firmware.
46459
d13ea639 464602005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46461
46462 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46463 (grub_ofconsole_height): Likewise.
46464 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46465 manually insert a '\n'.
46466 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46467 `grub_ofconsole_height'. Return early if these are already set.
46468
a8fcf206 464692005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46470
46471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46472 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46473 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46474 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46475 and `normal/script.c'.
46476 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46477 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46478 (test_mod_SOURCES): New variable.
46479 (test_mod_CFLAGS): Likewise.
46480 (test_mod_LDFLAGS): Likewise.
46481 (pkgdata_MODULES): Add `test.mod'.
46482 (grub_script.tab.c): New rule.
46483 (grub_script.tab.h): Likewise.
46484
b6b32745 464852005-11-07 Marco Gerards <mgerards@xs4all.nl>
46486
46487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46488 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46489 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46490 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46491 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46492 (test_mod_SOURCES): New variable.
46493 (test_mod_CFLAGS): Likewise.
46494 (pkgdata_MODULES): Add `test.mod'.
46495 (grub_script.tab.c): New rule.
46496 (grub_script.tab.h): Likewise.
46497
daac212a 464982005-11-06 Marco Gerards <mgerards@xs4all.nl>
46499
46500 Add initial scripting support.
46501
46502 * commands/test.c: New file.
46503 * include/grub/script.h: Likewise.
46504 * normal/execute.c: Likewise.
46505 * normal/function.c: Likewise.
46506 * normal/lexer.c: Likewise.
46507 * normal/parser.y: Likewise.
46508 * normal/script.c: Likewise.
46509
46510 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46511
daac212a 46512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46513 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46514 `normal/function.c' and `normal/script.c'.
46515 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46516 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46517 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46518 variables.
daac212a 46519 (pkgdata_MODULES): Add `test.mod'.
46520 (grub_script.tab.c): New rule.
46521 (grub_script.tab.h): Likewise.
46522
46523 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46524
46525 * include/grub/normal.h (grub_test_init): New prototype.
46526 (grub_test_fini): Likewise.
f19dbdb7 46527
daac212a 46528 * normal/command.c: Include <grub/script.h>.
46529 (grub_command_execute): Rewritten.
f19dbdb7 46530
daac212a 46531 * util/grub-emu.c (main): Call `grub_test_init' and
46532 `grub_test_fini'.
46533
77500b2b 465342005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46535
46536 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46537 to 0.
46538 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46539 there are no pending characters.
46540
e45deb9e 465412005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46542
46543 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46544 `grub_strndup' to drop device arguments. Replace unnecessary
46545 `grub_strndup' with `grub_strdup'.
46546
4ce32619 465472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46548
46549 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46550 `debug' environment variable has been set.
46551
465522005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46553
4ce32619 46554 * Makefile.in (install-local): Use $(DATA).
46555 (uninstall): Likewise.
46556 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46557 (sbin_UTILITIES): ... to here.
46558 (sbin_SCRIPTS): New variable.
46559 (grub_install_SOURCES): New variable.
46560 * util/powerpc/ieee1275/grub-install.in: New file.
46561 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46562 variable.
46563 (add_segments): Call `grub_util_get_path'.
46564
25fe6f03 465652005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46566
46567 From Timothy Baldwin:
46568 * commands/ls.c (grub_ls_list_files): Close FILE with
46569 grub_file_close.
46570 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46571
04ccf3ec 465722005-10-24 Marco Gerards <mgerards@xs4all.nl>
46573
46574 * include/grub/parser.h: New file.
46575
46576 * kern/parser.c: Likewise.
46577
46578 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46579 (grub_setup_SOURCES): Likewise.
46580 (grub_probefs_SOURCES): Likewise.
46581 (grub_emu_SOURCES): Likewise.
46582 (kernel_img_HEADERS): Add `parser.h'.
46583
46584 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46585 (grub_emu_SOURCES): Add `kern/parser.c'.
46586 (grubof_SOURCES): Likewise.
46587
46588 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46589 (grubof_SOURCES): Add `kern/parser.c'.
46590
46591 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46592
46593 * kern/misc.c (grub_split_cmdline): Removed function.
46594
46595 * kern/rescue.c: Include <grub/parser.h>.
46596 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46597 of `grub_split_cmdline'.
46598
46599 * normal/command.c: Include <grub/parser.h>.
46600 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46601 of `grub_split_cmdline'.
46602
46603 * normal/completion.c: Include <grub/parser.h>.
46604 (cmdline_state): New variable.
46605 (iterate_dir): End the filename with a quote depending on the
46606 command line state.
46607 (get_state): new function.
46608 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46609 split the arguments and determine the current argument. When the
46610 argument string is not quoted, escape all spaces.
46611
6d8f4b0e 466122005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46613
46614 * normal/sparc64/setjmp.S: New file.
46615
15cf03ed 466162005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46617
46618 * include/grub/sparc64/libgcc.h: New file.
46619 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46620 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46621 normal/sparc64/setjmp.c.
46622
03e8661a 466232005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46624
46625 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46626 * kern/sparc64/cache.S: New file.
46627 * kern/sparc64/cache.c: Removed.
46628 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46629 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46630 -mtune=ultrasparc.
46631 (COMMON_LDFLAGS): Add -melf64_sparc.
46632 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46633 (grubof_SOURCES): Use cache.S instead of cache.c.
46634 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46635 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46636 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46637 commented though.
46638 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46639 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46640 (linux_mod_CFLAGS): Commented out.
46641 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46642 out because module isn't built.
46643 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46644 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46645 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46646 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46647 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46648 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46649 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46650 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46651 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46652 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46653 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46654 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46655 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46656 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46657
34eeec8a 466582005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46659
46660 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46661 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46662 longer, because HFS should not be used on PC.
46663
708367a3 466642005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46665
46666 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46667 consistently within the loop.
46668
6fa1251a 466692005-10-15 Marco Gerards <mgerards@xs4all.nl>
46670
46671 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46672 directory can not be read.
46673
4801580b 466742005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46675
46676 * configure.ac (AC_INIT): Increase the version number to 1.91.
46677
46678 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46679 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46680 term/i386/pc/serial.c.
46681
219ad426 466822005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46683
46684 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46685 file size must be permitted.
46686
46687 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46688 between %ah and %al.
46689
688e5699 466902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46691
46692 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46693 grub_uint64_t.
46694 Call the hook with a NUL-terminated filename.
46695 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46696 grub_cpu_to_be32.
46697
46698 * kern/term.c (cursor_state): New variable.
46699 (grub_term_set_current): Reset the cursor state on a new
46700 terminal.
46701 (grub_setcursor): Rewritten to use CURSOR_STATE.
46702 (grub_getcursor): New function.
46703
46704 * include/grub/term.h (grub_getcursor): New prototype.
46705
46706 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46707 integers on ARM. Reported by Timothy Baldwin
46708 <T.E.Baldwin99@members.leeds.ac.uk>.
46709
bb34586c 467102005-10-11 Marco Gerards <mgerards@xs4all.nl>
46711
46712 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46713 allocated.
46714 (grub_sfs_dir): Likewise.
46715
9a909877 467162005-10-09 Marco Gerards <mgerards@xs4all.nl>
46717
46718 Add support for the SFS filesystem.
46719
46720 * fs/sfs.c: New file.
46721
46722 * DISTLIST: Added `fs/sfs.c'.
46723
46724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46725 (grub_probefs_SOURCES): Likewise.
46726 (grub_emu_SOURCES): Likewise.
46727 (pkgdata_MODULES): Add `sfs.mod'.
46728 (sfs_mod_SOURCES): New variable.
46729 (sfs_mod_CFLAGS): Likewise.
46730 (sfs_mod_LDFLAGS): Likewise.
46731
46732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46733 (pkgdata_MODULES): Add `sfs.mod'.
46734 (sfs_mod_SOURCES): New variable.
46735 (sfs_mod_CFLAGS): Likewise.
46736
46737 * util/grub-emu.c (main): Call `grub_sfs_init' and
46738 `grub_sfs_fini'.
46739
46740 * include/grub/fs.h (grub_sfs_init): New prototype.
46741 (grub_sfs_fini): Likewise.
46742
57bdbde3 467432005-10-07 Marco Gerards <mgerards@xs4all.nl>
46744
46745 Add support for the AFFS filesystem.
46746
46747 * fs/affs.c: New file.
46748
46749 * DISTLIST: Added `fs/affs.c'.
46750
46751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46752 (grub_probefs_SOURCES): Likewise.
46753 (grub_emu_SOURCES): Likewise.
46754 (pkgdata_MODULES): Add `affs.mod'.
46755 (affs_mod_SOURCES): New variable.
46756 (affs_mod_CFLAGS): Likewise.
46757 (affs_mod_LDFLAGS): Likewise.
46758
46759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46760 (pkgdata_MODULES): Add `affs.mod'.
46761 (affs_mod_SOURCES): New variable.
46762 (affs_mod_CFLAGS): Likewise.
46763
46764 * util/grub-emu.c (main): Call `grub_affs_init' and
46765 `grub_affs_fini'.
46766
46767 * include/grub/fs.h (grub_affs_init): New prototype.
46768 (grub_affs_fini): Likewise.
46769
047b67e0 467702005-10-01 Marco Gerards <mgerards@xs4all.nl>
46771
46772 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46773
59b8208a 467742005-10-01 Marco Gerards <mgerards@xs4all.nl>
46775
46776 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46777 `-m32' to CFLAGS.
46778
46779 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46780 linking.
f19dbdb7 46781
59b8208a 46782 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46783 (COMMON_LDFLAGS): New variable.
46784 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46785 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46786 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46787 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46788 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46789 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46790 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46791 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46792 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46793 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46794 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46795 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46796 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46797 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46798 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46799 variables.
46800 (normal_mod_ASFLAGS): Add `-m32'.
46801
46802 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46803 (grub_host_size_t, grub_host_ssize_t): New types.
46804 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46805 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46806 `GRUB_HOST_SIZEOF_VOID_P'.
46807
46808 * include/grub/kernel.h (struct grub_module_header): Type of
46809 member offset changed to `grub_host_off_t'. Type of member size
46810 changed to `grub_host_size_t'.
46811 (struct grub_module_info): Type of member offset changed to
46812 `grub_host_off_t'. Type of member size changed to
46813 `grub_host_size_t'.
46814
b4093103 468152005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46816
46817 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46818
b4093103 46819 * kern/i386/pc/startup.S (multiboot_header): New label.
46820 (multiboot_entry): Likewise.
46821 (multiboot_trampoline): Likewise.
46822
46823 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46824 Increased to 0x4A0.
46825
46826 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46827 put parentheses after a question mark.
46828 [!GRUB_UTIL] (my_mod): New variable.
46829
46830 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46831
b2499b29 468322005-09-28 Marco Gerards <mgerards@xs4all.nl>
46833
46834 Adds support for the XFS filesystem. Btrees are not supported
46835 yet.
46836
46837 * fs/xfs.c: New file.
46838
46839 * DISTLIST: Added `fs/xfs.c'.
46840
46841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46842 (grub_probefs_SOURCES): Likewise.
46843 (grub_emu_SOURCES): Likewise.
46844 (pkgdata_MODULES): Add `xfs.mod'.
46845 (xfs_mod_SOURCES): New variable.
46846 (xfs_mod_CFLAGS): Likewise.
46847
46848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46849 (pkgdata_MODULES): Add `xfs.mod'.
46850 (xfs_mod_SOURCES): New variable.
46851 (xfs_mod_CFLAGS): Likewise.
46852
46853 * util/grub-emu.c (main): Call `grub_xfs_init' and
46854 `grub_xfs_fini'.
46855
46856 * include/grub/fs.h (grub_xfs_init): New prototype.
46857 (grub_xfs_fini): Likewise.
46858
f19dbdb7 46859
83d37a62 468602005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46861
46862 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46863 color modes, allow greater than 16 colors to be configured as
46864 a default palette.
46865
47d2d65e 468662005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46867
46868 * normal/completion.c (complete_arguments): Add the qualifier
46869 const into OPTIONS.
46870
46871 From Omniflux <omniflux+lists@omniflux.com>:
46872 * include/grub/terminfo.h: New file.
46873 * include/grub/tparm.h: Likewise.
46874 * include/grub/i386/pc/serial.h: Likewise.
46875 * term/terminfo.c: Likewise.
46876 * term/tparm.c: Likewise.
46877 * term/i386/pc/serial.c: Likewise.
46878 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46879 serial.mod.
46880 (terminfo_mod_SOURCES): New variable.
46881 (terminfo_mod_CFLAGS): Likewise.
46882 (serial_mod_SOURCES): Likewise.
46883 (serial_mod_CFLAGS): Likewise.
46884
48b671ff 468852005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46886
46887 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46888 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46889 and kern/powerpc/ieee1275/cmain.c, respectively.
46890
46891 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46892 * kern/powerpc/ieee1275/crt0.S: ... here.
46893
46894 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46895 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46896
48b671ff 46897 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46898 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46899 instead of boot/powerpc/ieee1275/crt0.S and
46900 boot/powerpc/ieee1275/cmain.c, respectively.
46901
46902 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46903 sectors. It was not used anyway.
46904
09fc77a7 469052005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46906
46907 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46908 `unused parameter' warning.
46909
003789c7 469102005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46911
46912 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46913 function.
46914 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46915 getcharwidth.
46916
67f44c86 469172005-08-28 Marco Gerards <metgerards@student.han.nl>
46918
46919 * include/grub/normal.h (enum grub_completion_type): Added
46920 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46921
46922 * normal/cmdline.c (print_completion): Handle
46923 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46924 * normal/menu_entry.c (store_completion): Likewise.
46925
46926 * normal/completion.c (complete_arguments): New function.
46927 (grub_normal_do_completion): Call `complete_arguments' when the
46928 current words start with a dash.
46929
0b5abe02 469302005-08-27 Marco Gerards <metgerards@student.han.nl>
46931
46932 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46933 `gzio.mod' instead of `io.mod').
46934
d9864ee1 469352005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46936
46937 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46938 (DISTDIRS): Added io and video.
46939 Rewrite the search routine to make an output consistently.
46940
46941 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46942 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46943 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46944 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46945 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46946 util/powerpc/ieee1275/misc.c.
f19dbdb7 46947
d9864ee1 46948 * include/grub/gzio.h: New file.
46949 * io/gzio.c: Likewise.
f19dbdb7 46950
d9864ee1 46951 * kern/file.c (grub_file_close): Call grub_device_close only if
46952 FILE->DEVICE is not NULL.
46953
46954 * include/grub/mm.h [!NULL] (NULL): New macro.
46955
46956 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46957
46958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46959 (pkgdata_MODULES): Added gzio.mod.
46960 (gzio_mod_SOURCES): New variable.
46961 (gzio_mod_CFLAGS): Likewise.
46962
46963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46964 (pkgdata_MODULES): Added gzio.mod.
46965 (gzio_mod_SOURCES): New variable.
46966 (gzio_mod_CFLAGS): Likewise.
46967
46968 * commands/cat.c: Include grub/gzio.h.
46969 (grub_cmd_cat): Use grub_gzfile_open instead of
46970 grub_file_open.
f19dbdb7 46971
d9864ee1 46972 * commands/cmp.c: Include grub/gzio.h.
46973 (grub_cmd_cmp): Use grub_gzfile_open instead of
46974 grub_file_open.
46975
46976 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46977 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46978 grub_file_open.
46979 (grub_rescue_cmd_module): Likewise.
46980
fa46f4b5 469812005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46982
46983 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46984 kern/sparc64/ieee1275/init.c because it contains _start.
46985 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46986
e9211b5d 469872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46988
46989 * configure.ac: Add support for sparc64 host with ieee1275
46990 firmware.
46991 * configure: Generated from configure.ac.
46992 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46993 instead of int.
46994 (grub_ofdisk_read): Likewise.
46995 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46996 pointers as (void *) to remove a warning.
46997 (grub_ofdisk_close): Likewise.
46998 (grub_ofdisk_read): Likewise.
46999 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47000 returns, so make it return void to remove a warning.
47001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47002 Corresponding prototype change.
47003 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47004 values, and cast the pointers as (void *) to remove a warning.
47005 (grub_mm_dump): Likewise.
47006 * conf/sparc64-ieee1275.mk: New file.
47007 * conf/sparc64-ieee1275.rmk: Likewise.
47008 * include/grub/sparc64/setjmp.h: Likewise.
47009 * include/grub/sparc64/types.h: Likewise.
47010 * include/grub/sparc64/ieee1275/console.h: Likewise.
47011 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47012 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47013 * include/grub/sparc64/ieee1275/time.h: Likewise.
47014 * kern/sparc64/cache.c: Likewise.
47015 * kern/sparc64/dl.c: Likewise.
47016 * kern/sparc64/ieee1275/init.c: Likewise.
47017 * kern/sparc64/ieee1275/openfw.c: Likewise.
47018
385c6a92 470192005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47020
47021 * util/console.c (grub_ncurses_putchar): If C is greater than
47022 0x7f, set C to a question mark.
47023 (grub_ncurses_getcharwidth): New function.
47024 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47025 getcharwidth.
47026
47027 * normal/menu.c (print_entry): Made aware of Unicode. First,
47028 convert TITLE to UCS-4, and predict the cursor position by
47029 grub_getcharwidth.
47030
47031 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47032 const to SRC.
47033 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47034
16ccb8b1 470352005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47036
47037 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47038 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47039 grub_strcat.
47040
47041 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47042 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47043 grub_strcpy and grub_strlen. Take it into account that a space
47044 character is inserted as a delimiter.
47045
6a85ce79 470462005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47047
47048 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47049 invalid magic in the error.
6a85ce79 47050
47051 * commands/search.c: New file.
f19dbdb7 47052
6a85ce79 47053 * util/grub-emu.c (main): Call grub_search_init and
47054 grub_search_fini.
47055
47056 * kern/rescue.c (grub_rescue_print_disks): Removed.
47057 (grub_rescue_print_devices): New function.
47058 (grub_rescue_cmd_ls): Use grub_device_iterate with
47059 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47060 grub_rescue_print_disks.
47061
47062 * kern/partition.c (grub_partition_iterate): Return the result of
47063 PARTMAP->ITERATE instead of GRUB_ERRNO.
47064
47065 * kern/device.c: Include grub/partition.h.
47066 (grub_device_iterate): New function.
47067
47068 * include/grub/partition.h (grub_partition_iterate): Return int
47069 instead of grub_err_t.
47070
47071 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47072 prototype.
47073 [GRUB_UTIL] (grub_search_fini): Likewise.
47074
47075 * include/grub/device.h (grub_device_iterate): New prototype.
47076
47077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47078 commands/search.c.
47079 (pkgdata_MODULES): Added search.mod.
47080 (search_mod_SOURCES): New variable.
47081 (search_mod_CFLAGS): Likewise.
47082
47083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47084 (pkgdata_MODULES): Added search.mod.
47085 (search_mod_SOURCES): New variable.
47086 (search_mod_CFLAGS): Likewise.
47087
47088 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47089 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47090 All callers changed.
47091
47092 * DISTLIST: Added commands/search.c.
47093
ef095434 470942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47095
47096 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47097 conversion.
47098 (grub_getcharwidth): New function.
47099
47100 * kern/misc.c (grub_utf8_to_ucs4): New function.
47101
47102 * include/grub/term.h (struct grub_term): Added a new member
47103 "getcharwidth".
47104 (grub_getcharwidth): New prototype.
47105
47106 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47107
47108 * term/i386/pc/console.c (map_char): New function. Segregated from
47109 grub_console_putchar.
47110 (grub_console_putchar): Use map_char.
47111 (grub_console_getcharwidth): New function.
47112 (grub_console_term): Specified grub_console_getcharwidth as
47113 getcharwidth.
47114
47115 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47116 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47117
47118 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47119 GRUB_ERRNO.
47120 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47121 on grub_strtoul completely.
47122 (write_char): Declare local variables in the beginning of the
47123 function.
47124 (grub_vesafb_getcharwidth): New function.
47125 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47126 getcharwidth.
47127
1f0a95e4 471282005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47129
47130 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47131 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47132 commands/i386/pc/vbetest.c.
47133
47134 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47135 call grub_vbe_get_controller_info again, because the returned
47136 information is volatile.
47137 (grub_vbe_set_video_mode): Mostly rewritten.
47138 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47139 grub_vbe_status_t correctly.
47140 (grub_vbe_get_video_mode_info): Likewise.
47141 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47142 several if statements.
47143
47144 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47145 * commands/i386/pc/vbeinfo.c: ... this.
47146
47147 * commands/i386/pc/vbe_test.c: Renamed to ...
47148 * commands/i386/pc/vbetest.c: ... this.
47149
47150 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47151 ...
47152 (grub_cmd_vbeinfo): ... this. Save video modes before
47153 iterating. Skip a video mode, if it is not available, not enough
47154 information is given or it is monochrome. Show the memory
47155 model. Leave the interpretation of MODEVAR to grub_strtoul
47156 completely.
47157 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47158 (GRUB_MOD_FINI): Likewise.
47159
47160 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47161 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47162 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47163 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47164 grub_strtoul completely.
47165 (real2pm): Removed.
47166 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47167 (GRUB_MOD_FINI): Likewise.
47168
47169 * normal/misc.c: Include grub/mm.h.
47170
47171 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47172 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47173 (vbe_list_modes_mod_SOURCES): Removed.
47174 (vbe_list_modes_mod_CFLAGS): Likewise.
47175 (vbe_test_mod_SOURCES): Likewise.
47176 (vbe_test_mod_CFLAGS): Likewise.
47177 (vbeinfo_mod_SOURCES): New variable.
47178 (vbeinfo_mod_CFLAGS): Likewise.
47179 (vbetest_mod_SOURCES): Likewise.
47180 (vbetest_mod_CFLAGS): Likewise.
47181
992ffbbe 471822005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47183
47184 * normal/misc.c: New file.
47185
47186 * DISTLIST: Added normal/misc.c.
f19dbdb7 47187
992ffbbe 47188 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47189 DISK to HOOK. Call HOOK with DISK.
47190 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47191 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47192 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47193
47194 * normal/menu_entry.c (struct screen): Added a new member
47195 "completion_shown".
47196 (completion_buffer): New global variable.
47197 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47198 (store_completion): New function.
47199 (complete): Likewise.
47200 (clear_completions): Likewise.
47201 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47202 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47203 a tab, call complete.
47204
47205 * normal/completion.c (disk_dev): Removed.
47206 (print_simple_completion): Likewise.
47207 (print_partition_completion): Likewise.
47208 (print_func): New global variable.
47209 (add_completion): Do not take the arguments WHAT or PRINT any
47210 longer. Added a new argument TYPE. Instead of printing directly,
47211 call PRINT_FUNC if not NULL.
47212 All callers changed.
47213 (complete_device): Use a local variable DEV instead of
47214 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47215 (grub_normal_do_completion): Take a new argument HOOK. Do not
47216 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47217 empty string, return NULL instead.
47218 All callers changed.
47219
47220 * normal/cmdline.c (print_completion): New function.
47221
47222 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47223 to HOOK.
47224 All callers changed.
47225
47226 * kern/disk.c (grub_print_partinfo): Removed.
47227
47228 * include/grub/partition.h (struct grub_partition_map): Add a new
47229 argument DISK into HOOK of ITERATE.
47230 (grub_partition_iterate): Add a new argument DISK to HOOK.
47231
47232 * include/grub/normal.h (enum grub_completion_type): New enum.
47233 (grub_completion_type_t): New type.
47234 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47235 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47236 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47237 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47238 (grub_normal_do_completion): Added a new argument HOOK.
47239 (grub_normal_print_device_info): New prototype.
47240
47241 * include/grub/disk.h (grub_print_partinfo): Removed.
47242
47243 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47244 (normal_mod_SOURCES): Likewise.
47245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47246 (normal_mod_SOURCES): Likewise.
47247
47248 * commands/ls.c (grub_ls_list_disks): Use
47249 grub_normal_print_device_info instead of grub_print_partinfo. Free
47250 PNAME.
47251 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47252 duplicating the code.
47253
0bd41162 472542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47255
47256 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47257 follow GCS more precisely.
47258 * commands/i386/pc/vbe_test.c: Likewise.
47259 * include/grub/i386/pc/vbe.h: Likewise.
47260 * term/i386/pc/vesafb.c: Likewise.
47261 * video/i386/pc/vbe.c: Likewise.
0bd41162 47262
6323696a 472632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47264
47265 * DISTLIST: Added term/i386/pc/vesafb.c
47266 DISTLIST: Added video/i386/pc/vbe.c
47267 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47268 DISTLIST: Added commands/i386/pc/vbe_test.c.
47269 * commands/i386/pc/vbe_list_modes.c: New file.
47270 * commands/i386/pc/vbe_test.c: Likewise.
47271 * term/i386/pc/vesafb.c: Likewise.
47272 * video/i386/pc/vbe.c: Likewise.
47273 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47274 (grub_vbe_probe) Added prototype.
47275 (grub_vbe_set_video_mode) Likewise.
47276 (grub_vbe_get_video_mode) Likewise.
47277 (grub_vbe_get_video_mode_info) Likewise.
47278 (grub_vbe_set_pixel_rgb) Likewise.
47279 (grub_vbe_set_pixel_index) Likewise.
47280 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47281 (pkgdata_MODULES): Added vesafb.mod.
47282 (pkgdata_MODULES): Added vbe_list_modes.mod.
47283 (pkgdata_MODULES): Added vbe_test.mod.
47284 (vbe_mod_SOURCES): Added.
47285 (vbe_mod_CFLAGS): Likewise.
47286 (vesafb_mod_SOURCES): Likewise.
47287 (vesafb_mod_CFLAGS): Likewise.
47288 (vbe_list_modes_mod_SOURCES): Likewise.
47289 (vbe_list_modes_mod_CFLAGS): Likewise.
47290 (vbe_test_mod_SOURCES): Likewise.
47291 (vbe_test_mod_CFLAGS): Likewise.
47292
0a74e62f 472932005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47294
0a74e62f 47295 * normal/command.c (grub_command_execute): If INTERACTIVE is
47296 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47297 CMDLINE. Disable the pager if INTERACTIVE is true.
47298 All callers are changed.
47299
47300 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47301 before reading a config file.
47302 * normal/main.c (read_config_file): Even if a command is not
47303 found, register it if it is within an entry.
47304
47305 * util/grub-emu.c: Include sys/types.h and unistd.h.
47306 (options): Added --hold.
47307 (struct arguments): Added a new member "hold".
47308 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47309 missing.
47310 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47311 cleared by a debugger, if it is not zero.
47312
47313 * include/grub/normal.h (grub_command_execute): Add an argument
47314 INTERACTIVE.
47315
e51f85ae 473162005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47317
47318 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47319
e9c6f39b 473202005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47321
47322 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47323 program with another one, because the old one didn't detect a bug
47324 in gcc-3.4. Always use regparm 2, because the new test is still
47325 not enough for gcc-4.0. Someone must investigate a simple test
47326 case which detects a bug in gcc-4.0.
47327
8de3495c 473282005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47329
47330 * DISTLIST: Added normal/completion.c.
47331
47332 * normal/completion.c: New file.
f19dbdb7 47333
8de3495c 47334 * term/i386/pc/console.c (grub_console_getwh): New function.
47335 (grub_console_term): Assign grub_console_getwh to getwh.
47336
47337 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47338 function is defined in normal/completion.c as
47339 grub_normal_do_completion.
47340 (grub_cmdline_get): Use grub_normal_do_completion instead of
47341 grub_tab_complete.
47342
47343 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47344 returns non-zero, otherwise return 0.
47345 (grub_partition_iterate): First, probe the partition map. Then,
47346 call ITERATE only for this partition map.
47347
47348 * kern/misc.c (grub_strncmp): Rewritten.
47349
47350 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47351 returns non-zero. Otherwise return 0.
47352
47353 * include/grub/partition.h (grub_partition_map_iterate): Return
47354 int instead of void.
47355
47356 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47357
47358 * include/grub/misc.h (grub_strncmp): Change the type of N to
47359 grub_size_t.
47360
47361 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47362 of void.
47363
47364 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47365 unsigned explicitly before comparing it with I.
8de3495c 47366
47367 * kern/main.c (grub_env_write_root): Add the attribute unused into
47368 VAR.
47369
47370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47371 normal/completion.c.
47372 (normal_mod_SOURCES): Likewise.
47373 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47374 (normal_mod_SOURCES): Likewise.
47375
47376 * normal/command.c (grub_iterate_commands): If ITERATE returns
47377 non-zero, return one immediately.
47378
e85e144b 473792005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47380
47381 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47382 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47383 descriptions.
47384 (grub_vbe_get_controller_info): New function.
47385 (grub_vbe_get_mode_info): Likewise.
47386 (grub_vbe_set_mode): Likewise.
47387 (grub_vbe_get_mode): Likewise.
47388 (grub_vbe_set_memory_window): Likewise.
47389 (grub_vbe_get_memory_window): Likewise.
47390 (grub_vbe_set_scanline_length): Likewise.
47391 (grub_vbe_get_scanline_length): Likewise.
47392 (grub_vbe_set_display_start): Likewise.
47393 (grub_vbe_get_display_start): Likewise.
47394 (grub_vbe_set_palette_data): Likewise.
47395 * include/grub/i386/pc/vbe.h: New file.
47396
c46153d2 473972005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47398
47399 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47400 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47401 * DISTLIST: Likewise.
47402 * kern/ieee1275/of.c: Moved to ...
47403 * kern/ieee1275/ieee1275.c: ... here.
47404
0cb90c45 474052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47406
47407 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47408 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47409 Pass 0 as `end' parameter to grub_strtoul().
47410
a19fb360 474112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47412
47413 * include/grub/powerpc/ieee1275/console.h: Do not include
47414 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47415 ifdef.
47416 (grub_console_cur_color): Remove i386-specific prototype.
47417 (grub_console_real_putchar): Likewise.
47418 (grub_console_checkkey): Likewise.
47419 (grub_console_getkey): Likewise.
47420 (grub_console_getxy): Likewise.
47421 (grub_console_gotoxy): Likewise.
47422 (grub_console_cls): Likewise.
47423 (grub_console_setcursor): Likewise.
47424 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47425 Include <grub/machine/console.h>.
47426 * term/ieee1275/ofconsole.c: Likewise.
47427
4ac9bd04 474282005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47429
47430 * Makefile.in (LIBLZO): New variable.
47431
47432 * configure.ac: Check for LZO version 2.
47433
47434 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47435 lzo/lzo1x.h instead of lzo1x.h.
47436
47437 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47438 of -llzo.
47439
47440 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47441 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47442
47443 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47444 copying the data from PARTITION to P.
47445
f4917dfd 474462005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47447
47448 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47449 negative, unload the module.
47450
47451 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47452 map is "pc_partition_map" but not "pc".
47453 (usage): Fix the description. The options are --boot-image and
47454 --core-image but not --boot-file or --core-file.
47455 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47456 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47457 DEFAULT_DIRECTORY.
47458
47459 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47460 --core-file. Specify INSTALL_DEVICE as an argument.
47461
47462 * util/console.c: Include config.h.
47463 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47464 [HAVE_NCURSES_H]: Include ncurses.h.
47465 [HAVE_CURSES_H]: Include curses.h.
47466 [!A_NORMAL] (A_NORMAL): Defined as zero.
47467 [!A_STANDOUT] (A_STANDOUT): Likewise.
47468
47469 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47470 -lncurses.
47471 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47472
47473 * configure.ac: Check for curses libraries and headers.
47474
47475 * Makefile.in (LIBCURSES): New variable.
47476
47477 * genmk.rb (Script::rule): Set the executable bits.
47478
47479 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47480 name of the PC partition map is "pc_partition_map" but not "pc".
47481
0e143073 474822005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47483
47484 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47485 (modules): Likewise.
47486 (usage): Added descriptions for --modules and --grub-probefs.
47487 Handle --modules and --grub-probefs. Save the arguments in MODULES
47488 and GRUB_PROBEFS, respectively.
47489 Auto-detect a filesystem module against GRUBDIR. If the result is
47490 empty and modules are not specified explicitly, abort the
47491 installation. Add the result to MODULES.
47492
47493 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47494 disk/powerpc/ieee1275/ofdisk.c,
47495 include/grub/powerpc/ieee1275/init.h and
47496 term/powerpc/ieee1275/ofconsole.c.
47497 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47498 term/ieee1275/ofconsole.c.
47499
47500 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47501
47502 * COPYING: Upgraded to the latest version. Only the address of the
47503 FSF office has changed.
f19dbdb7 47504
efd6e6d5 475052005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47506
47507 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47508 kern/ieee1275.c with kern/ieee1275/of.c.
47509
47510 * kern/ieee1275.c: Moved to ...
47511 * kern/ieee1275/of.c: ... here.
47512
8ceafda2 475132005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47514
47515 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47516 readability.
8ceafda2 47517
47518 * config.guess: Updated to the latest version from gnulib.
47519 * config.sub: Likewise.
47520 * install.sh: Likewise.
47521 * mkinstalldirs: Likewise.
47522
47523 * include/grub/console.h: Removed. This file is arch-specific. Do
47524 not put this in include/grub.
47525
47526 * include/grub/i386/pc/console.h: Resurrected.
47527
47528 * util/console.c: Include grub/machine/console.h instead of
47529 grub/console.h.
47530 * util/grub-emu.c: Likewise.
47531
267f6cd9 475322005-08-04 Marco Gerards <metgerards@student.han.nl>
47533
47534 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47535 hardcoded value.
f19dbdb7 47536
267f6cd9 47537 From Vincent Pelletier <subdino2004@yahoo.fr>
47538 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47539 Redefined to use grub_getwh.
47540 (grub_term): New member named getwh.
47541 (grub_getwh): New prototype.
47542 * kern/term.c (grub_getwh): New function.
47543 * term/i386/pc/console.c (grub_console_getwh): New function.
47544 (grub_console_term): New member `getwh'.
47545 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47546 (grub_vga_term): New member `getwh'.
0b5abe02 47547 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47548 grub_ssize_t.
47549 (grub_ofconsole_getw): New function.
47550 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47551 (grub_ofconsole_term): New field named getwh and new initial
47552 value.
47553
3be7266d 475542005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47555
47556 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47557 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47558 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47559 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47560 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47561 of <grub/machine/ieee1275.h>.
47562 * commands/ieee1275/reboot.c: Likewise.
47563 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47564 * kern/ieee1275.c: ... to here. All users updated. Change all
47565 parameter structs to use new type `grub_ieee1275_cell_t'.
47566 * term/powerpc/ieee1275/ofconsole.c: Move ...
47567 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47568 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47569 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47570 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47571 to return int.
47572 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47573 Remove unused prototypes. All users updated.
47574 * include/grub/powerpc/ieee1275/console.h: Removed.
47575 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47576 `grub_ieee1275_cell_t'.
47577 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47578 Cast comparisons with -1 to the correct type.
47579 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47580 type to match `grub_ieee1275_entry_fn'.
47581
8b5f3938 475822005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47583
47584 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47585
47586 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47587 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47588 partmap/sun.c.
47589 (grub_probefs_SOURCES): New variable.
47590
47591 * util/i386/pc/grub-probefs.c: New file.
47592
47593 * util/i386/pc/grub-setup.c (main): Call
47594 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47595 grub_hfs_init and grub_jfs_init to initialize the system. Call
47596 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47597 grub_pc_partition_map_fini to finish the system.
47598
ea409713 475992005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47600
47601 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47602 function.
47603 (grub_multiboot_load_elf32): Likewise.
47604 (grub_multiboot_is_elf64): Likewise.
47605 (grub_multiboot_load_elf64): Likewise.
47606 (grub_multiboot_load_elf): Likewise.
47607 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47608 an ELF32 or ELF64 file.
47609 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47610
47611 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47612 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47613 NULL before calling FS->LABEL.
47614 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47615 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47616 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47617 before calling FS->LABEL.
47618
141a288b 476192005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47620
47621 * util/i386/pc/grub-install.in (datadir): New variable.
47622 (libdir): Removed.
47623 (pkgdatadir): New variable.
47624 (pkglibdir): Removed.
47625
0d5f8a54 476262005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47627
47628 * DISTLIST: Added util/i386/pc/grub-install.in.
47629
47630 * util/i386/pc/grub-install.in: New file.
47631
47632 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47633 (grub_install_SOURCES): Likewise.
47634
47635 * genmk.rb: Added support for scripts.
47636 (Script): New class.
47637 (scripts): New variable.
47638
47639 * Makefile.in (install-local): Install sbin_SCRIPTS by
47640 INSTALL_SCRIPT.
47641 (uninstall): Remove sbin_SCRIPTS.
47642
47643 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47644 device, try to get a GRUB device by
47645 grub_util_biosdisk_get_grub_dev.
47646 Free DEST_DEV.
47647
47648 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47649 description for --device-map.
47650
5f968e1e 476512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47652
47653 Change the semantics of variable hooks. They now return strings
47654 instead of error values.
f19dbdb7 47655
5f968e1e 47656 * util/i386/pc/grub-setup.c: Include grub/env.h.
47657 (setup): Use grub_device_set_root instead of grub_env_set.
47658
47659 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47660 grub_env_get instead of grub_device_set_root and
47661 grub_device_get_root, respectively.
47662
47663 * kern/main.c (grub_env_write_root): New function.
47664 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47665 grub_env_set instead of grub_device_set_root.
47666
47667 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47668 many variables.
47669 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47670 rather than calling ENV->WRITE_HOOK afterwards.
47671 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47672 passing a pointer of a pointer.
47673 (grub_register_variable_hook): Change the types of "read_hook" and
47674 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47675 respectively.
47676 Allocate the default empty string on the heap, because this string
47677 may be freed later.
47678
47679 * kern/device.c: Include grub/env.h.
47680 (grub_device_set_root): Removed.
47681 (grub_device_get_root): Likewise.
47682 (grub_device_open): Use grub_env_get instead of
47683 grub_device_get_root.
47684
47685 * include/grub/env.h (grub_env_read_hook_t): New type.
47686 (grub_env_write_hook_t): Likewise.
47687 (grub_env_var): Change the types of "read_hook" and "write_hook"
47688 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47689 (grub_register_variable_hook): Likewise.
47690
47691 * include/grub/device.h (grub_device_set_root): Removed.
47692 (grub_device_set_root): Likewise.
47693
47694 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47695 make sure that DIRNAME terminates with '/', so that
47696 grub_fat_find_dir will fail if PATH is not a directory.
47697
47698 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47699 from DIRNAME.
47700 Use the qualifier auto for print_files and print_files_long.
47701 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47702 as a regular file.
47703 Put a newline only if there is no error.
47704 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47705 used.
47706
896f0afd 477072005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47708
47709 * kern/partition.c (grub_partition_probe): Initialize PART to
47710 NULL. Otherwise, when no partition map is registered, this returns
47711 a garbage.
47712
b28b81b2 477132005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47714
47715 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47716 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47717 valid.
47718
5f3607e0 477192005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47720
47721 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47722 information on each device, if it does not have partitions. Print
47723 "Device" instead of "Disk", because this function is not specific
47724 to disk devices.
47725
47726 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47727 static to ensure that it is put on the memory rather than a
47728 register.
47729
502c87e8 477302005-07-17 Yoshinori Okuji <okuji@enbug.org>
47731
47732 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47733 (grub_cat_init): Likewise.
47734 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47735 (options): Likewise.
47736 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47737 (grub_configfile_init): Likewise.
47738 * font/manager.c (GRUB_MOD_INIT): Likewise.
47739 * commands/help.c (GRUB_MOD_INIT): Likewise.
47740 (grub_help_init): Likewise.
47741 * normal/command.c (grub_command_init): Likewise.
47742 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47743 * disk/loopback.c (grub_loop_init): Likewise.
47744 (GRUB_MOD_INIT): Likewise.
47745 * commands/ls.c (grub_ls_init): Likewise.
47746 (GRUB_MOD_INIT): Likewise.
47747 (options): Likewise.
47748 * commands/boot.c (grub_boot_init): Likewise.
47749 (GRUB_MOD_INIT): Likewise.
47750 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47751 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47752 (GRUB_MOD_INIT): Likewise.
47753 * commands/cmp.c (grub_cmp_init): Likewise.
47754 (GRUB_MOD_INIT): Likewise.
47755
47756 * normal/arg.c: Use <> instead of "" to include header files.
47757 (SHORT_ARG_HELP): New macro.
47758 (SHORT_ARG_USAGE): Likewise.
47759 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47760 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47761 descriptions.
47762 (find_short): Check if C is 'h' or 'u' explicitly.
47763 (grub_arg_show_help): Use space characters instead of tabs. Treat
47764 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47765 are shown with --help and --usage only if they are not used for
47766 the command itself.
47767 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47768 'h' and 'u'.
47769
47770 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47771 const into "longarg". Change the type of "shortarg" to int.
47772
f806d18e 477732005-07-17 Yoshinori Okuji <okuji@enbug.org>
47774
47775 * boot/i386/pc/boot.S (boot_drive_check): New label.
47776
47777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47778 macro.
47779
47780 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47781 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47782
e293232b 477832005-07-17 Yoshinori Okuji <okuji@enbug.org>
47784
47785 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47786 When turning off Gate A20, skip the check and return immediately,
47787 because this is not fatal usually.
47788
ebedfd00 477892005-07-17 Yoshinori Okuji <okuji@enbug.org>
47790
47791 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47792 be 0x7C00 instead of 0x8000.
47793
47794 * boot/i386/pc/pxeboot.S: Rewritten.
47795
47796 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47797 EXT_C.
47798 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47799 result.
47800
654fc59f 478012005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47802
47803 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47804 robustness. This routine now supports a BIOS call and System
47805 Control Port A to modify the gate A20.
47806
47807 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47808 Increased to 0x440.
47809
09f9923f 478102005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47811
47812 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47813 device path and resulting ihandle.
47814 (grub_ofdisk_close): dprintf the ihandle being closed.
47815 (grub_ofdisk_read): dprintf function parameters.
47816 * kern/mm.c (grub_mm_init_region): Likewise.
47817 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47818 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47819 size, and boot arguments.
47820 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47821 before loading into memory.
47822 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47823 before loading into memory.
47824
7ef504d8 478252005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47826
47827 * kern/mm.c: Added much documentation.
47828 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47829 8, set to 5 instead of 8.
47830
e0f050c2 478312005-07-10 Yoshinori Okuji <okuji@enbug.org>
47832
47833 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47834
47835 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47836 (grub_mkdevicemap_SOURCES): New variable.
47837
47838 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47839 lib/device.c of GRUB Legacy.
47840
7224189a 478412005-07-10 Yoshinori Okuji <okuji@enbug.org>
47842
47843 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47844 instead of PATH is NULL.
47845
68c864eb 478462005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47847
47848 * commands/cmp.c (BUFFER_SIZE): New macro.
47849 (grub_cmd_cmp): Close the right file at the right time. Compare
47850 only data just read. Don't report files of different size as
47851 identical. Dynamically allocate buffers. Move variable
47852 declarations at the beginning of function.
47853
e6f3e614 478542005-07-09 Yoshinori Okuji <okuji@enbug.org>
47855
47856 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47857 reverse.
47858
f8f1559a 478592004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47860
47861 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47862 when backspace is pressed at beginning of line.
47863
39c9d41d 478642005-07-03 Yoshinori Okuji <okuji@enbug.org>
47865
47866 * DISTLIST: Added genfslist.sh.
47867
47868 * normal/main.c (fs_module_list): New variable.
47869 (autoload_fs_module): New function.
47870 (read_fs_list): Likewise.
47871 (grub_normal_execute): Call read_fs_list.
47872
47873 * kern/fs.c (grub_fs_autoload_hook): New variable.
47874 (grub_fs_probe): Added support for auto-loading.
47875
47876 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47877 (grub_fs_module_list_t): New type.
47878
47879 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47880 (grub_fs_autoload_hook): New prototype.
47881
47882 * genfslist.sh: New file.
f19dbdb7 47883
39c9d41d 47884 * genmk.rb: Added a rule to generate a filesystem list.
47885
121c1d83 478862005-06-30 Marco Gerards <metgerards@student.han.nl>
47887
47888 * configure.ac: Fix the test for cross-compiling.
47889
47890 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47891 define GRUB_UTIL anymore.
47892
47893 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47894 so this function works on other systems than just big endian.
47895 (load_modules): Likewise.
47896 (add_segments): Likewise.
47897
e75d76e1 478982005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47899
47900 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47901 contains `l' modifier, get a long from va_arg().
47902
50b5a0a7 479032005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47904
47905 * kern/mm.c (grub_free): If the next free block which is being
47906 merged is the first free block, set the first block to the block
47907 being freed.
47908 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47909
89371b20 479102005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47911
47912 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47913 `grub_ieee1275_chosen'.
47914
168d6e58 479152005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47916
47917 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47918 (grub_ieee1275_chosen): New variable.
47919 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47920 `chosen'.
47921 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47922 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47923 Rename first argument to `phandle' for consistency.
47924 (grub_ieee1275_get_property_length): Likewise.
47925 (grub_ieee1275_next_property): Likewise. Change type of first argument
47926 to grub_ieee1275_phandle_t.
47927 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47928 Move export next to declaration.
47929 (grub_ieee1275_chosen): New variable.
47930 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47931 Correct cosmetic typo.
47932 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47933 `grub_ieee1275_chosen'.
47934 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47935 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47936 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47937 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47938 `grub_ieee1275_chosen'.
47939
ca5baa3f 479402005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47941
47942 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47943 /chosen/bootargs.
47944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47945 /chosen/bootargs as "variable=value" pairs.
47946
708b345f 479472005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47948
47949 * include/grub/misc.h (grub_dprintf): New macro.
47950 (grub_real_dprintf): New prototype.
47951 (grub_strword): Likewise.
47952 (grub_iswordseparator): Likewise.
47953 * kern/misc.c (grub_real_dprintf): New function.
47954 (grub_strword): Likewise.
47955 (grub_iswordseparator): Likewise.
47956
f4c5e67c 479572005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47958
47959 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47960 (roundup): Remove macro.
47961 (grub_ieee1275_flags): Make static.
47962 (grub_ieee1275_realmode): Remove.
47963 (grub_ieee1275_test_flag): New function.
47964 (grub_ieee1275_set_flag): Likewise.
47965 (find_options): Rename to `grub_ieee1275_find_options'; update
47966 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47967 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47968 (cmain): New prototype.
47969 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47970 `grub_ieee1275_flags' directly.
47971 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47972 machine/biosdisk.h.
47973 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47974 Don't include grub/machine/init.h.
47975 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47976 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47977 Remove prototype.
47978 (grub_ieee1275_realmode): Likewise.
47979 (grub_ieee1275_flag): New enum.
47980 (grub_ieee1275_test_flag): New prototype.
47981 (grub_ieee1275_set_flag): New prototype.
47982 * include/grub/powerpc/ieee1275/init.h: Remove file.
47983 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47984 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47985 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47986 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47987 comment.
47988 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47989 `grub_ieee1275_test_flag'.
47990 (grub_ieee1275_encode_devname): Likewise.
47991
ed16607e 479922005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47993
47994 * include/grub/powerpc/ieee1275/ieee1275.h
47995 (grub_ieee1275_encode_devname): New prototype.
47996 (grub_ieee1275_get_filename): Likewise.
47997 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47998 function.
47999 (grub_set_prefix): Likewise.
48000 (grub_machine_init): Call grub_set_prefix.
48001 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48002 (grub_parse_type): New enum.
48003 (grub_ieee1275_get_devargs): New function.
48004 (grub_ieee1275_get_devname): Likewise.
48005 (grub_ieee1275_parse_args): Likewise.
48006 (grub_ieee1275_get_filename): Likewise.
48007 (grub_ieee1275_encode_devname): Likewise.
48008
be369920 480092005-03-30 Marco Gerards <metgerards@student.han.nl>
48010
48011 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48012 `grub_loader_unset'.
48013
a5ce3a4a 480142005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48015
48016 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48017 instead of grub_ieee1275_interpret.
48018 (grub_halt_init): New function.
48019 (grub_halt_fini): Likewise.
48020 (GRUB_MOD_INIT): Correct message grammar.
48021 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48022 instead of grub_ieee1275_interpret.
48023 (grub_reboot_init): New function.
48024 (grub_reboot_fini): Likewise.
48025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48026 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48027 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48028 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48029 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48030 function.
48031 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48032 Add prototype.
48033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48034 prototype.
48035 (grub_halt): Likewise.
48036 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48037 (cmain): Remove __attribute__((unused)).
48038 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48039 (grub_heap_len): Likewise.
48040 (grub_machine_fini): New function.
48041 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48042 (grub_halt): Likewise.
48043 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48044 function.
48045 * util/powerpc/ieee1275/misc.c: New file.
48046
0058f771 480472005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48048
48049 * DISTLIST: New file.
48050 * gendistlist.sh: Likewise.
f19dbdb7 48051
0058f771 48052 * Makefile.in (COMMON_DISTFILES): Removed.
48053 (BOOT_DISTFILES): Likewise.
48054 (CONF_DISTFILES): Likewise.
48055 (DISK_DISTFILES): Likewise.
48056 (FS_DISTFILES): Likewise.
48057 (INCLUDE_DISTFILES): Likewise.
48058 (KERN_DISTFILES): Likewise.
48059 (LOADER_DISTFILES): Likewise.
48060 (TERM_DISTFILES): Likewise.
48061 (UTIL_DISTFILES): Likewise.
48062 (DISTFILES): Likewise.
48063 (uninstall): Uninstall files in $(pkgdata_DATA).
48064 (DISTLIST): New target.
48065 (distdir): Use the contents of the file DISTLIST to get a list of
48066 distributed files.
48067
46b3b8a5 480682005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48069
48070 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48071 descriptor. This is ported from GRUB Legacy.
48072
48073 * gencmdlist.sh: Added an extra semicolon to make it work with
48074 old sed versions. Reported by Robert Bihlmeyer
48075 <robbe@orcus.priv.at>.
48076
5822ff87 480772005-03-08 Yoshinori Okuji <okuji@enbug.org>
48078
48079 Automatic loading of commands is supported.
f19dbdb7 48080
5822ff87 48081 * normal/main.c (read_command_list): New function.
48082 (grub_normal_execute): Call read_command_list.
48083
48084 * normal/command.c (grub_register_command): Return zero or CMD.
48085 Allocate CMD->NAME from the heap.
48086 Initialize CMD->MODULE_NAME to zero.
48087 Find the same name as well. If the same command is found and it is
48088 a dummy command, overwrite members. If it is not a dummy command,
48089 return zero.
48090 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48091 (grub_command_find): If a dummy command is found, load a module
48092 and retry to find a command only once.
48093
48094 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48095 make sure that each command is loaded.
48096
48097 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48098 macro.
48099 (struct grub_command): Remove const from the member `name'.
48100 Add a new member `module_name'.
48101 (grub_register_command): Return grub_command_t.
48102
48103 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48104 sure that each command is loaded.
48105
48106 * genmk.rb (PModule::rule): Specify a module name without the
48107 suffix ".mod" to gencmdlist.sh.
48108
7b1f4b57 481092005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48110
48111 * gencmdlist.sh: New file.
f19dbdb7 48112
7b1f4b57 48113 * genmk.rb (PModule::rule): Generate a rule for a command list.
48114 Clean command.lst.
48115 Generate command.lst from $(COMMANDFILES).
48116
48117 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48118 (DATA): Added $(pkgdata_DATA).
48119 (install-local): Install files in $(pkgdata_DATA).
48120
062aaf39 481212005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48122
48123 * term/i386/pc/vga.c (debug_command): Removed.
48124 (GRUB_MOD_INIT): Do not register the command "debug".
48125
48126 From Hollis Blanchard:
48127 * commands/configfile.c: New file.
48128 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48129 commands/configfile.c.
48130 (pkgdata_MODULES): Added configfile.mod.
48131 (configfile_mod_SOURCES): New variable.
48132 (configfile_mod_CFLAGS): Likewise.
48133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48134 commands/configfile.c.
48135 (pkgdata_MODULES): Added configfile.mod.
48136 (configfile_mod_SOURCES): New variable.
48137 (configfile_mod_CFLAGS): Likewise.
48138 * util/grub-emu.c (main): Call grub_configfile_init and
48139 grub_configfile_fini.
48140 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48141 prototype.
48142 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48143
cee01aa6 481442005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48145
48146 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48147 address.
48148
48149 * commands/help.c (grub_cmd_help): Do not print newlines after
48150 the last command in print_command_help.
48151
93f3a1d8 481522005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48153
48154 * commands/default.h: New file.
48155 * commands/timeout.h: Likewise.
48156 * normal/context.c: Likewise.
f19dbdb7 48157
93f3a1d8 48158 * util/misc.c: Do not include sys/times.h.
48159 Include sys/time.h and grub/machine/time.h.
48160 (grub_get_rtc): Rewritten with gettimeofday.
48161
48162 * util/grub-emu.c (main): Call grub_default_init and
48163 grub_timeout_init before grub_normal_init, and call
48164 grub_timeout_fini and grub_default_fini after grub_main.
48165
48166 * util/console.c (grub_ncurses_checkkey): Return the read
48167 character or -1.
48168
48169 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48170 timeouts.
48171
48172 * normal/main.c (read_config_file): Push MENU. If this fails,
48173 print an error and wait for a user input.
48174 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48175 If a menu is empty or an error occurs, pop MENU.
48176 (grub_normal_execute): Pop and free MENU after grub_menu_run
48177 returns.
48178
48179 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48180
48181 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48182 include time.h.
48183 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48184 without GRUB_UTIL.
48185 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48186 time.h.
48187 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48188 without GRUB_UTIL.
48189
48190 * include/grub/normal.h (struct grub_menu_list): New struct.
48191 (grub_menu_list_t): New type.
48192 (struct grub_context): New struct.
48193 (grub_context_t): New type.
48194 (grub_register_command): Got rid of EXPORT_FUNC.
48195 (grub_unregister_command): Likewise.
48196 (grub_context_get): New prototype.
48197 (grub_context_get_current_menu): Likewise.
48198 (grub_context_push_menu): Likewise.
48199 (grub_context_pop_menu): Likewise.
48200 [GRUB_UTIL] (grub_default_init): Likewise.
48201 [GRUB_UTIL] (grub_default_fini): Likewise.
48202 [GRUB_UTIL] (grub_timeout_init): Likewise.
48203 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48204
48205 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48206 commands/timeout.c and normal/context.c.
48207 (pkgdata_MODULES): Added default.mod and timeout.mod.
48208 (normal_mod_SOURCES): Added normal/context.c.
48209 (default_mod_SOURCES): New variable.
48210 (default_mod_CFLAGS): Likewise.
48211 (timeout_mod_SOURCES): Likewise.
48212 (timeout_mod_CFLAGS): Likewise.
48213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48214 conf/i386-pc.rmk.
48215 (pkgdata_MODULES): Added default.mod and timeout.mod.
48216 (normal_mod_SOURCES): Added normal/context.c.
48217 (default_mod_SOURCES): New variable.
48218 (default_mod_CFLAGS): Likewise.
48219 (timeout_mod_SOURCES): Likewise.
48220 (timeout_mod_CFLAGS): Likewise.
48221
48222 * Makefile.in (all-local): Added $(MKFILES).
48223
4ed2e1dd 482242005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48225
48226 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48227 (grub_emu_SOURCES): Likewise.
48228 (pkgdata_MODULES): Add `sun.mod'.
48229 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48231 `partmap/sun.c'.
48232 (pkgdata_MODULES): Add `sun.mod'.
48233 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48234 * include/grub/partition.h (grub_sun_partition_map_init): New
48235 prototype.
48236 (grub_sun_partition_map_fini): Likewise.
48237 * partmap/sun.c: New file.
48238 * util/grub-emu.c (main): Initialize and de-initialize the sun
48239 partitionmap support.
48240
4d4e372e 482412005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48242
48243 This implements an Emacs-like menu entry editor.
f19dbdb7 48244
4d4e372e 48245 * normal/menu_entry.c: New file.
f19dbdb7 48246
4d4e372e 48247 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48248 characters to ASCII.
48249 (saved_char): New variable.
48250 (grub_ncurses_checkkey): Rewritten completely.
48251 (grub_ncurses_getkey): Likewise.
48252 (grub_ncurses_init): Call raw instead of cbreak.
48253
48254 * normal/menu.c (print_entry): Do not put a space.
48255 (init_page): Renamed to ...
48256 (grub_menu_init_page): ... this. All callers changed.
48257 (edit_menu_entry): Removed.
48258 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48259
48260 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48261
48262 * kern/misc.c (grub_vprintf): Call grub_refresh.
48263
48264 * normal/menu.c (DISP_LEFT): Renamed to ...
48265 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48266 * normal/menu.c (DISP_UP): Renamed to ...
48267 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48268 * normal/menu.c (DISP_RIGHT): Renamed to ...
48269 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48270 * normal/menu.c (DISP_DOWN): Renamed to ...
48271 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48272 * normal/menu.c (DISP_HLINE): Renamed to ...
48273 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48274 * normal/menu.c (DISP_VLINE): Renamed to ...
48275 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48276 * normal/menu.c (DISP_UL): Renamed to ...
48277 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48278 * normal/menu.c (DISP_UR): Renamed to ...
48279 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48280 * normal/menu.c (DISP_LL): Renamed to ...
48281 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48282 * normal/menu.c (DISP_LR): Renamed to ...
48283 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48284 * normal/menu.c (TERM_WIDTH): Renamed to ...
48285 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48286 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48287 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48288 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48289 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48290 * normal/menu.c (TERM_MARGIN): Renamed to ...
48291 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48292 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48293 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48294 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48295 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48296 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48297 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48298 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48299 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48300 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48301 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48302 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48303 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48304 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48305 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48306 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48307 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48308 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48309 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48310 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48311 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48312 All callers changed.
48313
48314 * include/grub/normal.h: New prototype.
48315
48316 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48317 normal/menu_entry.c.
48318 (normal_mod_SOURCES): Likewise.
48319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48320 (normal_mod_SOURCES): Likewise.
48321
e6b92c8a 483222005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48323
48324 * include/grub/normal.h (grub_halt_init): New prototype.
48325 (grub_halt_fini): Likewise.
48326 (grub_reboot_init): Likewise.
48327 (grub_reboot_fini): Likewise.
48328
48329 * util/grub-emu.c: Include signal.h.
48330 (main_env): New global variable.
48331 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48332 catch C-c.
48333 (grub_machine_fini): New function.
48334 (main): Call grub_halt_init and grub_reboot_init before
48335 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48336 Call setjmp with MAIN_ENV to go back afterwards.
48337 Call grub_machine_fini right before return.
48338
48339 * include/grub/util/misc.h: Include setjmp.h.
48340 (main_env): New prototype.
48341
48342 * include/grub/kernel.h (grub_machine_fini): New prototype.
48343 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48344 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48345
48346 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48347 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48348 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48349
e6b92c8a 48350 * util/i386/pc/misc.c: New file.
f19dbdb7 48351
e6b92c8a 48352 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48353 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48354 commands/i386/pc/reboot.c.
48355
c642636f 483562005-02-14 Guillem Jover <guillem@hadrons.org>
48357
48358 * include/grub/dl.h (grub_dl_check_header): New prototype.
48359 (grub_arch_dl_check_header): Change return type to grub_err_t,
48360 remove size parameter and export function. Update all callers.
48361 * kern/dl.c (grub_dl_check_header): New function.
48362 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48363 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48364 are inside the core.
48365 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48366 independent ELF header checks.
48367 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48368 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48369 `grub_dl_check_header' instead of explicit checks. Check for the
48370 ELF type.
48371 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48372 `grub_dl_check_header' instead of explicit checks. Remove arch
48373 specific ELF header checks.
48374
e6b92c8a 48375 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48376 argument SIZE.
48377
5eabe94b 483782005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48379
48380 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48381 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48382
1b14a681 483832005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48384
48385 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48386 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48387 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48388 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48389 * partmap/amiga.c (amiga_partition_map_iterate): Return
48390 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48391 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48392
aca108aa 483932005-02-01 Guillem Jover <guillem@hadrons.org>
48394
48395 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48396 help info.
48397
c9f9c556 483982005-01-31 Marco Gerards <metgerards@student.han.nl>
48399
48400 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48401 Removed prototype.
48402 (grub_rescue_cmd_linux): New prototype.
48403 (grub_rescue_cmd_initrd): Likewise.
48404 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48405 `bi_rec'.
48406 (grub_linux_release_mem): Release the memory for the initrd.
48407 (grub_load_linux): Renamed from this...
48408 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48409 Changed `entry' not to be static. Loop over memory regions to
48410 find another one when the default fails.
48411 (grub_rescue_cmd_initrd): New function.
48412 (grub_linux_init): Remove function.
48413 (grub_linux_fini): Likewise.
48414 (GRUB_MOD_INIT): Register `initrd'.
48415 (GRUB_MOD_FINI): Unregister `initrd'.
48416 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48417 Function removed.
48418 (grub_linux_normal_fini): Likewise.
48419 (GRUB_MOD_INIT): Register `initrd'.
48420 (GRUB_MOD_FINI): Unregister `initrd'.
48421
990cf3aa 484222005-01-31 Marco Gerards <metgerards@student.han.nl>
48423
48424 * commands/help.c: New file.
48425 * normal/arg.c (show_help): Renamed to...
48426 (grub_arg_show_help): ... this.
48427 * commands/i386/pc/halt.c: New file.
48428 * commands/i386/pc/reboot.c: Likewise.
48429 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48430 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48431 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48432 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48433 variables.
48434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48435 `commands/help.c'.
48436 (pkgdata_MODULES): Add `help.mod'.
48437 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48438 * grub/i386/pc/init.h (grub_reboot): New prototype.
48439 (grub_halt): Likewise.
48440 * include/grub/normal.h (grub_arg_show_help): New prototype.
48441 (grub_help_init): Likewise.
48442 (grub_help_fini): Likewise.
48443 * util/grub-emu.c (main): Initialize and deinitialize the help
48444 command.
48445
48446 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48447
48448 * normal/command.c (grub_command_init): Fixed the description of
48449 the `set' and `unset' commands.
48450
484512005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48452
48453 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48454 function.
48455 * commands/ieee1275/halt.c: New file.
48456 * commands/ieee1275/reboot.c: Likewise.
48457 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48458 `__attribute__ ((unused))'. Some GCS related fixed.
48459 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48460 (grub_suspend_fini): Likewise.
48461 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48462 and `halt.mod'.
48463 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48464 (halt_mod_CFLAGS): New variables.
48465 * include/grub/powerpc/ieee1275/ieee1275.h
48466 (grub_ieee1275_interpret): New prototype.
48467
1ab09cc7 484682005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48469
48470 * include/grub/misc.h (memmove): New prototype.
48471 (memcpy): Likewise.
48472
8b8cbdb2 484732005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48474
48475 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48476 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48477
e3741a27 484782005-01-22 Marco Gerards <metgerards@student.han.nl>
48479
48480 * kern/misc.c (grub_strndup): Function rewritten.
48481
776bd780 484822005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48483
48484 * normal/menu.c (TERM_WIDTH): Macro redefined.
48485 (TERM_TOP_BORDER_Y): Likewise.
48486 (draw_border): Replaced while-loop by a for-loop. Make the number
48487 of lines consistent with the number of lines displayed in
48488 print_entries. Added a margin below the rectangle.
48489 (print_entry): Make the entry fit in the rectangle.
48490 (print_entries): Display the scroll arrows next to the right
48491 border.
48492
78026bce 484932005-01-21 Marco Gerards <metgerards@student.han.nl>
48494
48495 * fs/minix.c (grub_minix_find_file): Reserve more space for
48496 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48497 `grub_strncpy' to copy `path' into it.
48498
67bbaf0f 484992005-01-21 Marco Gerards <metgerards@student.han.nl>
48500
48501 Add the loopback device, a device via which files can be accessed
48502 as devices.
f19dbdb7 48503
67bbaf0f 48504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48505 (pkgdata_MODULES): Add loopback.mod.
48506 (loopback_mod_SOURCES): New variable.
48507 (loopback_mod_CFLAGS): Likewise.
48508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48509 `disk/loopback.c'.
48510 (pkgdata_MODULES): Add loopback.mod.
48511 (loopback_mod_SOURCES): New variable.
48512 (loopback_mod_CFLAGS): Likewise.
48513 * disk/loopback.c: new file.
48514 * include/grub/normal.h (grub_loop_init): New prototype.
48515 (grub_loop_fini): New prototype.
48516 * util/grub-emu.c (main): Initialize and de-initialize loopback
48517 support.
48518 * include/grub/disk.h (grub_disk_dev_id): Add
48519 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48520
6f1c18bd 485212005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48522
48523 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48524 function.
48525 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48526 (suspend_mod_SOURCES): New variable.
48527 (suspend_mod_CFLAGS): Likewise.
48528 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48529 New prototype.
48530 * commands/ieee1275/suspend.c: New file.
48531
b38551da 485322005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48533
48534 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48535 ((unused))' to `__attribute__ ((used))'.
b38551da 48536 (GRUB_MOD_FINI): Likewise.
48537 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48538 * genmk.rb (PModule): Assign space to common symbols when linking
48539 modules.
48540
777aff39 485412005-01-20 Marco Gerards <metgerards@student.han.nl>
48542
48543 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48544 `unsigned' arguments to `grub_size_t'.
48545 (grub_malloc): Likewise.
48546 (grub_realloc): Likewise.
48547 (grub_memalign): Likewise.
48548 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48549 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48550 * util/misc.c (grub_malloc): Likewise.
48551 (grub_realloc): Likewise.
48552 * kern/mm.c (get_header_from_pointer): Change the casts to
48553 `unsigned' into a cast to `grub_size_t'.
48554
48555 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48556 point to `currnode' when `currnode' is changed.
48557
48558 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48559 Schottelius <nico-linux@schottelius.org>.
48560
d0ff18e1 485612005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48562
48563 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48564 (note_path): Remove variable.
48565 (GRUB_IEEE1275_NOTE_NAME): New macro.
48566 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48567 (grub_ieee1275_note_hdr): New structure.
48568 (grub_ieee1275_note_desc): Likewise.
48569 (grub_ieee1275_note): Likewise.
48570 (load_note): Remove `dir' argument. All callers updated. Remove
48571 `note_img' and `path'. Do not load a file from `note_path'.
48572 Initialize a struct grub_ieee1275_note and write that to `out'.
48573 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48574
4ca7004c 485752005-01-05 Marco Gerards <metgerards@student.han.nl>
48576
48577 * util/misc.c (grub_util_read_image): Revert last change. It
48578 called `grub_util_read_at', which seeks from the beginning of the
48579 file.
48580
0b412211 485812005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48582
48583 * TODO: Add note about endianness in grub-mkimage.
48584 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48585 section.
48586 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48587 (grub_mkimage_SOURCES): New target.
48588 * include/grub/kernel.h (grub_start_addr): Remove variable.
48589 (grub_end_addr): Likewise.
48590 (grub_total_module_size): Likewise.
48591 (grub_kernel_image_size): Likewise.
48592 (GRUB_MODULE_MAGIC): New constant.
48593 (grub_module_info): New structure.
48594 (grub_arch_modules_addr): New prototype.
48595 (grub_get_end_addr): Remove prototype.
48596 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48597 * include/grub/powerpc/ieee1275/kernel.h: New file.
48598 * include/grub/util/misc.h (grub_util_get_fp_size): New
48599 prototype.
48600 (grub_util_read_at): Likewise.
48601 (grub_util_write_image_at): Likewise.
48602 * kern/main.c (grub_get_end_addr): Remove function.
48603 (grub_load_modules): Call grub_arch_modules_addr instead of using
48604 grub_end_addr. Look for a grub_module_info struct in memory. Use
48605 the grub_module_info fields instead of calling grub_get_end_addr
48606 as loop conditions. Move grub_add_unused_region code here.
48607 (grub_add_unused_region): Remove function.
48608 * kern/i386/pc/init.c: Include grub/cache.h.
48609 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48610 one call to add_mem_region.
48611 (grub_arch_modules_addr): New function.
48612 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48613 (grub_total_module_size): Likewise.
48614 Include grub/machine/kernel.h.
48615 (grub_arch_modules_addr): New function.
48616 * util/grub-emu.c (grub_end_addr): Remove variable.
48617 (grub_total_module_size): Likewise.
48618 (grub_arch_modules_addr): New function.
48619 * util/misc.c: Include unistd.h.
48620 (grub_util_get_fp_size): New function.
48621 (grub_util_read_at): Likewise.
48622 (grub_util_write_image_at): Likewise.
48623 (grub_util_read_image): Call grub_util_read_at.
48624 (grub_util_write_image): Call grub_util_write_image_at.
48625 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48626 additional memory in kernel_img for a struct grub_module_info.
48627 Fill in that grub_module_info.
48628 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48629
458786f8 486302005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48631
48632 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48633 New function.
48634 * include/grub/powerpc/ieee1275/ieee1275.h
48635 (grub_ieee1275_milliseconds): New prototype.
48636 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48637 Change to 1000.
48638 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48639 grub_ieee1275_milliseconds.
48640
ac507d1b 486412005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48642
48643 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48644 variable.
48645 (find_options): New function.
48646 (cmain): Call find_options.
48647 * include/grub/powerpc/ieee1275/ieee1275.h
48648 (grub_ieee1275_realmode): New extern variable.
48649 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48650 grub_map if grub_ieee1275_realmode is false.
48651
6b8fd1c4 486522004-12-29 Marco Gerards <metgerards@student.han.nl>
48653
48654 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48655 lines are inserted and make it work like readline. Reported by
48656 Vincent Pelletier <subdino2004@yahoo.fr>.
48657
8514a1e0 486582004-12-28 Marco Gerards <metgerards@student.han.nl>
48659
48660 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48661
48662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48663 `kern/powerpc/cache.S'.
48664
924b6140 486652004-12-27 Marco Gerards <metgerards@student.han.nl>
48666
48667 * genmk.rb: Handle the `Program' class in the main loop. Written
48668 by Johan Rydberg <jrydberg@gnu.org>.
48669 (Program): New class.
48670 (programs): New variable.
48671 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48672 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48673 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48674 (help_arch): Function removed.
48675 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48676 `powerpc/libgcc.h' and `loader.h'.
48677 (pkgdata_PROGRAMS): New variable.
48678 (sbin_UTILITIES): Variable removed.
48679 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48680 (grubof_SOURCES): Variable re-defined so it only includes the
48681 core functionality.
48682 (grubof_CFLAGS): Remove `-DGRUBOF'.
48683 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48684 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48685 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48686 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48687 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48688 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48689 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48690 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48691 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48692 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48693 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48694 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48695 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48696 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48697 (pc_mod_CFLAGS): New variables.
48698 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48699 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48700 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48701 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48702 Moved from here...
48703 * include/grub/i386/pc/init.h (grub_os_area_addr)
48704 (rub_os_area_size): ... to here.
48705 * include/grub/powerpc/ieee1275/ieee1275.h
48706 (grub_ieee1275_entry_fn): Export symbol.
48707 * include/grub/powerpc/ieee1275/init.h: New file.
48708 * include/grub/powerpc/libgcc.h: Likewise.
48709 * include/grub/cache.h: Likewise.
48710 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48711 <hollis@penguinppc.org>.
48712 * kern/dl.c: Include <grub/cache.h>.
48713 (grub_dl_flush_cache): New function.
48714 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48715 for this module.
48716 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48717 (grub_console_init): Removed prototypes.
48718 (grub_machine_init): Don't initialize the modules anymore.
48719 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48720 static.
48721 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48722 Macro undef removed.
48723 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48724 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48725 relocation `R_PPC_REL32'. Return an error when the relocation is
48726 unknown.
48727 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48728 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48729 * util/misc.c (grub_arch_sync_caches): Likewise.
48730
e4b47e0c 487312004-12-19 Marco Gerards <metgerards@student.han.nl>
48732
48733 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48734 `symlist.c', add `grubof_symlist.c'.
48735 (symlist.c): Variable removed.
48736 (grubof_HEADERS): Variable added.
48737 (grubof_symlist.c): New target.
48738 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48739 `kernel_img_HEADERS'.
48740 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48741 * kern/powerpc/dl.c: New file.
48742 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48743 Function removed.
48744 (grub_arch_dl_relocate_symbols): Likewise.
48745 (grub_register_exported_symbols): Likewise.
48746
4ceb3636 487472004-12-13 Marco Gerards <metgerards@student.han.nl>
48748
48749 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48750 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48751 to fail instead. Reported by Vincent Pelletier
48752 <subdino2004@yahoo.fr>.
48753
48754 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48755 it is not allocated. Reported by Vincent Pelletier
48756 <subdino2004@yahoo.fr>.
48757
48758 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48759 output so the output looks better.
f19dbdb7 48760
3f1578fe 487612004-12-04 Marco Gerards <metgerards@student.han.nl>
48762
48763 Modulize the partition map support and add support for the amiga
48764 partition map.
f19dbdb7 48765
3f1578fe 48766 * commands/ls.c: Include <grub/partition.h> instead of
48767 <grub/machine/partition.h>.
48768 * kern/disk.c: Likewise.
48769 * kern/rescue.c: Likewise.
48770 * loader/i386/pc/chainloader.c: Likewise.
48771 * normal/cmdline.c: Likewise.
48772 * kern/powerpc/ieee1275/init.c: Likewise.
48773 (grub_machine_init): Call `grub_pc_partition_map_init',
48774 `grub_amiga_partition_map_init' and
48775 `grub_apple_partition_map_init'.
48776 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48777 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48778 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48779 `partition.h' and `pc_partition.h'.
48780 (grub_setup_SOURCES): Remove
48781 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48782 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48783 (grub_emu_SOURCES): Likewise.
48784 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48785 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48786 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48788 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48789 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48790 (grubof_SOURCES): Likewise.
48791 * disk/i386/pc/partition.c: File removed.
48792 * disk/powerpc/ieee1275/partition.c: Likewise.
48793 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48794 * include/grub/i386/pc/partition.h: Likewise.
48795 * kern/partition.c: New file.
48796 * partmap/amiga.c: Likewise.
48797 * partmap/apple.c: Likewise.
48798 * partmap/pc.c: Likewise.
48799 * include/grub/partition.h: Likewise..
48800 * include/grub/pc_partition.h: Likewise.
48801 * util/grub-emu.c: Include <grub/partition.h> instead of
48802 <grub/machine/partition.h>.
48803 (main): Call `grub_pc_partition_map_init',
48804 `grub_amiga_partition_map_init' and
48805 `grub_apple_partition_map_init' and deinitialize afterwards.
48806 * util/i386/pc/biosdisk.c: Include `#include
48807 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48808 `<grub/machine/partition.h>'.
48809 * util/i386/pc/grub-setup.c: Likewise.
48810 * util/i386/pc/biosdisk.c: Likewise.
48811 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48812 partition information in case of a PC partition.
48813 * util/i386/pc/grub-setup.c: Include `#include
48814 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48815 `<grub/machine/partition.h>'.
48816 (setup): Only access the PC specific partition information in case
48817 of a PC partition.
48818
0ef4ced9 488192004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48820
0ef4ced9 48821 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48822 (grub_longjmp): Likewise.
48823 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48824 20.
48825 * normal/powerpc/setjmp.S: New file.
48826 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48827 `normal/powerpc/setjmp.S'.
48828 (grubof_CFLAGS): Add `-DGRUBOF'.
48829 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48830 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48831
19950e29 488322004-11-16 Marco Gerards <metgerards@student.han.nl>
48833
48834 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48835 property named `name'. Correctly handle the error returned by
48836 `grub_ieee1275_finddevice' if a device can not be opened.
48837
a2fea427 488382004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48839
48840 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48841 `actual' for negativity.
48842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48843 kern/fshelp.c.
48844
41ea0ea3 488452004-11-01 Marco Gerards <metgerards@student.han.nl>
48846
48847 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48848 (PAGE_OFFSET): New macro.
48849 (CRTC_ADDR_PORT): Likewise.
48850 (CRTC_DATA_PORT): Likewise.
48851 (START_ADDR_HIGH_REGISTER): Likewise.
48852 (START_ADDR_LOW_REGISTER): Likewise.
48853 (GRAPHICS_ADDR_PORT): Likewise.
48854 (GRAPHICS_DATA_PORT): Likewise.
48855 (READ_MAP_REGISTER): Likewise.
48856 (INPUT_STATUS1_REGISTER): Likewise.
48857 (INPUT_STATUS1_VERTR_BIT): Likewise.
48858 (page): New variable.
48859 (wait_vretrace): New function.
48860 (set_read_map): Likewise.
48861 (set_start_address): Likewise.
48862 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48863 the right page.
48864 (check_vga_mem): Take the page into account.
48865 (write_char): Likewise.
48866 (write_cursor): Likewise.
48867 (scroll_up): Likewise. Copy the page to the page that is not
48868 shown and switch between both pages.
48869 (grub_vga_putchar): Fix off by one error.
48870 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48871 account.
48872
ad0bd20b 488732004-11-01 Marco Gerards <metgerards@student.han.nl>
48874
48875 Add support for iso9660 (including rockridge).
f19dbdb7 48876
ad0bd20b 48877 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48878 (iso9660_mod_SOURCES): New variable.
48879 (iso9660_mod_CFLAGS): Likewise.
48880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48881 * include/grub/fs.h (grub_iso9660_init): New prototype.
48882 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48883 * fs/iso9660.c: New file.
48884
48885 * include/grub/misc.h (grub_strncat): New prototype.
48886 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48887
ad0bd20b 48888 * fs/hfs.c (grub_hfs_mount): Translate the error
48889 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48890 * fs/jfs.c (grub_jfs_mount): Likewise.
48891 * fs/ufs.c (grub_ufs_mount): Likewise.
48892
a5477a59 488932004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48894
48895 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48896 which initialized BAT registers.
48897 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48898 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48899 Move from here...
48900 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48901 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48902 ... to here.
48903 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48904 (grub_mapclaim): Likewise.
48905 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48906 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48907 hand.
48908
9304c1f8 489092004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48910
48911 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48912 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48913 -ffreestanding and -msoft-float.
48914
86f4ae25 489152004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48916
48917 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48918 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48919 set in grub_ieee1275_flags.
48920
38912228 489212004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48922
48923 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48924 prototype.
48925 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48926 grub_console_init first.
48927 Change the memory range used for grub_ieee1275_claim and
48928 grub_mm_init_region.
48929 Print an error message if the claim fails.
48930 Include <grub/misc.h>.
48931
d1923dc8 489322004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48933
48934 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48935 Call grub_children_iterate for device nodes of type `scsi',
48936 `ide', or `ata'.
48937 (grub_ofdisk_open): Remove manual device alias resolution.
48938 Fix memory leak when device cannot be opened.
f19dbdb7 48939 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48940 (grub_children_iterate): New prototype.
48941 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48942 New function.
48943 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48944 Return -1 if args.size was -1.
48945
4512e4f3 489462004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48947
48948 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48949 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48950 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48951 Open Firmware's memory for it; claim memory from _start to _end.
48952 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48953 (_end): New extern.
48954 (_start): Zero BSS from __bss_start to _end.
48955 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48956 New extern.
48957 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48958
4d61feb0 489592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48960
ad0bd20b 48961 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48962 -1 if args.base was -1.
4d61feb0 48963
026fa2f9 489642004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48965
48966 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48967 escape sequence instead of a literal ^L. Also call
48968 grub_ofconsole_gotoxy.
48969
9f2220ef 489702004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48971
48972 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48973 void * arguments to grub_addr_t. All callers updated. Also make
48974 the `result' argument optional.
48975 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48976 All callers updated.
48977
8a572cd7 489782004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48979
48980 * commands/ls.c (grub_ls_list_files): Use the string following the
48981 initial ')', if present, as the filesystem path.
48982 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48983
48984 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48985
18aa81f2 489862004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48987
48988 Make the source code of the menu interface more readable.
f19dbdb7 48989
18aa81f2 48990 * normal/menu.c: Include grub/mm.h.
48991 (TERM_WIDTH): New macro.
48992 (TERM_HEIGHT): Likewise.
48993 (TERM_INFO_HEIGHT): Likewise.
48994 (TERM_MARGIN): Likewise.
48995 (TERM_SCROLL_WIDTH): Likewise.
48996 (TERM_TOP_BORDER_Y): Likewise.
48997 (TERM_LEFT_BORDER_X): Likewise.
48998 (TERM_BORDER_WIDTH): Likewise.
48999 (TERM_MESSAGE_HEIGHT): Likewise.
49000 (TERM_BORDER_HEIGHT): Likewise.
49001 (TERM_NUM_ENTRIES): Likewise.
49002 (TERM_FIRST_ENTRY_Y): Likewise.
49003 (TERM_ENTRY_WIDTH): Likewise.
49004 (TERM_CURSOR_X): Likewise.
49005 (draw_border): Use macros instead of magic numbers.
49006 (print_entry): Likewise.
49007 (print_entries): Likewise.
49008 (run_menu): Likewise. Also, handle the key 'e'.
49009 (run_menu_entry): Ignore empty command lines.
49010 (print_message): Added a new argument EDIT. If EDIT is true,
49011 print a different message.
49012 (init_page): Likewise.
49013 (edit_menu_entry): New function. Not implemented yet.
49014
b47efe30 490152004-09-17 Marco Gerards <metgerards@student.han.nl>
49016
49017 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49018 can be loaded from normal mode.
f19dbdb7 49019
b47efe30 49020 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49021 `multiboot.mod'.
49022 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49023 (multiboot_mod_CFLAGS): New variables.
49024 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49025 * loader/i386/pc/multiboot_normal.c: Likewise.
49026
b47efe30 49027 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49028 attribute `unused'.
f19dbdb7 49029
b47efe30 49030 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49031 `fdiro' to read the mode information from instead of `diro'.
49032
49033 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49034 looking up a symlink.
49035
49036 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49037 macro.
49038 * normal/command.c (grub_command_execute): Don't parse the
49039 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49040 flags of the command.
49041
49042 * normal/menu.c (grub_menu_run): Fix typo.
49043
da75ac71 490442004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49045
49046 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49047
49048 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49049 `y + 1' instead of `y - 1'.
49050
49051 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49052
062b24c2 490532004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49054
49055 From Hollis Blanchard <hollis@penguinppc.org>:
49056 * kern/misc.c (memmove): New alias for grub_memmove.
49057 (memcmp): New alias for grub_memcmp.
49058 (memset): New alias for grub_memset.
f19dbdb7 49059 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49060 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49061 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49062 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49063
8ddad845 490642004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49065
49066 Added normal mode command `chainloader' as module chain.mod, which
49067 depends on normal.mod and _chain.mod.
f19dbdb7 49068
8ddad845 49069 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49070 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49071 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49072 Deleted prototype.
49073 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49074 but arguments parsing moved to ...
49075 (grub_chainloader_cmd): ... here. New function.
49076 * include/grub/i386/pc/chainloader.h: New file.
49077 * loader/i386/pc/chainloader_normal.c: Likewise.
49078
2c1f4ce3 490792004-09-11 Marco Gerards <metgerards@student.han.nl>
49080
49081 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49082 (grub_mkimage_LDFLAGS): Likewise.
49083 (grub_emu_SOURCES): Likewise.
49084 (kernel_img_HEADERS): Added fshelp.h.
49085 * fs/ext2.c: Include <grub/fshelp.h>.
49086 (FILETYPE_REG): New macro.
49087 (FILETYPE_INO_REG): Likewise.
49088 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49089 Changed all users.
49090 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49091 all users.
49092 (grub_fshelp_node): New struct.
49093 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49094 to a pointer.
49095 (grub_ext2_get_file_block): Removed function.
49096 (grub_ext2_read_block): New function.
49097 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49098 This function was written.
49099 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49100 (grub_ext2_find_file): Removed function.
49101 (grub_ext2_read_symlink): New function.
49102 (grub_ext2_iterate_dir): Likewise.
49103 (grub_ext2_open): Rewritten.
49104 (grub_ext2_dir): Rewritten.
49105 * include/grub/fshelp.h: New file.
49106 * fs/fshelp.c: Likewise.
49107
3c52136a 491082004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49109
49110 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49111 (print_message): Add a missing newline.
49112 (run_menu): Added timeout support.
49113 (run_menu_entry): New local function.
49114 (grub_menu_run): Added support for booting.
49115
49116 * kern/loader.c (grub_loader_is_loaded): New function.
49117
49118 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49119 (grub_get_rtc): Exported.
49120
49121 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49122 (grub_get_rtc): Exported.
49123
49124 * include/grub/normal.h (struct grub_command_list): Remove
49125 constant from the member `command'.
49126
49127 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49128
49129 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49130
49131 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49132
aa033560 491332004-08-28 Marco Gerards <metgerards@student.han.nl>
49134
49135 Add support for the JFS filesystem.
49136
49137 * fs/jfs.c: New file.
49138 * include/grub/fs.h (grub_jfs_init): New prototype.
49139 (grub_jfs_fini): New prototype.
49140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49141 (grub_emu_SOURCES): Likewise.
49142 (pkgdata_MODULES): Add jfs.mod.
49143 (jfs_mod_SOURCES): New variable.
49144 (jfs_mod_CFLAGS): Likewise.
49145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49146 (grubof_SOURCES): Likewise.
49147 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49148
49149 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49150 endian to the host endian.
49151 (grub_fat_utf16_to_utf8): Move function from there...
49152 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49153 the endianness of the source string anymore.
aa033560 49154 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49155
94bc45af 491562004-08-24 Marco Gerards <metgerards@student.han.nl>
49157
49158 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49159 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49160 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49161 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49162
94bc45af 49163 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49164 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49165 for `node_found' and `it_dir'.
49166 (grub_hfs_dir): Add prototype for `dir_hook'.
49167
49168 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49169 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49170 and `indir32' to silence a gcc warning.
49171
49172 * include/grub/fs.h (grub_hfs_init): New prototype.
49173 (grub_hfs_fini): Likewise.
f19dbdb7 49174
49175
97543f08 491762004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49177
49178 Each disk device has its own id now. This is useful to make use
49179 of multiple disk devices.
f19dbdb7 49180
97543f08 49181 * include/grub/disk.h (grub_disk_dev_id): New enum.
49182 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49183 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49184
49185 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49186 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49187
49188 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49189 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49190
49191 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49192 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49193
49194 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49195 "id" which is used by the cache manager.
49196
49197 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49198 of just "GRUB".
49199
64372eb4 492002004-08-18 Marco Gerards <metgerards@student.han.nl>
49201
49202 * fs/hfs.c: New file.
49203 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49204 (grub_emu_SOURCES): Likewise.
49205 (pkgdata_MODULES): Add hfs.mod.
49206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49207 (grubof_SOURCES): Likewise.
49208 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49209
49210 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49211 * kern/misc.c (grub_strncasecmp): Add function.
49212
cc61b58f 492132004-08-14 Marco Gerards <metgerards@student.han.nl>
49214
49215 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49216 with parentheses.
49217
49218 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49219 (grub_ext2_dir): In case the directory entry type is unknown, read
49220 it from the inode.
49221
0ef123f6 492222004-08-02 Peter Bruin <pjbruin@dds.nl>
49223
49224 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49225 grub_load_linux instead of grub_rescue_cmd_linux as second
49226 argument of grub_rescue_register_command.
49227
49228 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49229
a447c5df 492302004-07-27 Marco Gerards <metgerards@student.han.nl>
49231
49232 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49233 function.
49234 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49235 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49236 `loader/powerpc/ieee1275/linux.c',
49237 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49238 * include/grub/powerpc/ieee1275/ieee1275.h
49239 (grub_ieee1275_release): New prototype.
49240 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49241 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49242 normal, boot, linux and linux_normal.
49243 * loader/powerpc/ieee1275/linux.c: New file.
49244 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49245
5a9e3546 492462004-07-12 Marco Gerards <metgerards@student.han.nl>
49247
49248 * normal/arg.c (grub_arg_parse): Correct error handling after
49249 reallocating the argumentlist (check if `argl' is not null instead
49250 of checking if `args' is not null).
49251 * kern/mm.c (grub_realloc): Return the same pointer when using the
49252 same region, instead of returning the header address.
49253
e15199cb 492542004-07-11 Marco Gerards <metgerards@student.han.nl>
49255
49256 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49257 one block instead of two when looking for the initial partition.
49258 (grub_partition_probe): Initialize the local variable `p' with 0.
49259 Use base 10 for the grub_strtoul call.
49260 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49261 need for one local variable.
49262 (grub_strtoul): Don't add the new value to `num', instead of that
49263 just assign it.
49264
020616c2 492652004-07-11 Marco Gerards <metgerards@student.han.nl>
49266
49267 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49268 (pxeboot_img_SOURCES): New variable.
49269 (pxeboot_img_ASFLAGS): Likewise.
49270 (pxeboot_img_LDFLAGS): Likewise.
49271 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49272 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49273 <lode_leroy@hotmail.com>.
49274
6c51eb64 492752004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49276
49277 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49278 there was no input.
49279
cfb12aff 492802004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49281
49282 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49283 the history buffer logic.
49284
6eabba74 492852004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49286
49287 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49288 (FILETYPE_INO_SYMLINK): New macros.
49289 (grub_ext2_find_file): Check if the node is a directory using the
49290 inode stat information instead of using the filetype in the
49291 dirent. Exclude the first character of an absolute symlink.
49292 (grub_ext2_dir): Mask out the filetype part of the mode member of
49293 the inode.
49294
66e19ef8 492952004-05-24 Marco Gerards <metgerards@student.han.nl>
49296
49297 Add support for UFS version 1 and 2. Add support for the minix
49298 filesystem version 1 and 2, both the variants with 14 and 30 long
49299 filenames.
f19dbdb7 49300
66e19ef8 49301 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49302 fs/minix.c.
49303 (grub_emu_SOURCES): Likewise.
49304 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49305 (ufs_mod_SOURCES): New variable.
49306 (ufs_mod_CFLAGS): Likewise.
49307 (minix_mod_SOURCES): Likewise.
49308 (minix_mod_CFLAGS): Likewise.
49309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49310 fs/minix.c.
49311 (grubof_SOURCES): Likewise.
49312 * fs/ufs.c: New file.
49313 * fs/minix.c: New file.
49314 * include/grub/fs.h (grub_ufs_init): New prototype.
49315 (grub_ufs_fini): Likewise.
49316 (grub_minix_init): Likewise.
49317 (grub_minix_fini): Likewise.
49318 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49319 minix fs.
49320
cc2e748a 493212004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49322
49323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49324 commands/ls.c, commands/terminal.c, commands/boot.c,
49325 commands/cmp.c and commands/cat.c.
49326 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49327
49328 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49329 "env.h"
49330
4b13b216 493312004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49332
49333 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49334 and grub_, respectively. Because the conversion is trivial and
49335 mechanical, I omit the details here. Please refer to the CVS
49336 if you need more information.
49337
6a142551 493382004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49339
49340 * include/pupa: Renamed to ...
49341 * include/grub: ... this.
49342 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49343 * util/i386/pc/grub-mkimage.c: ... this.
49344 * util/i386/pc/pupa-setup.c: Renamed to ...
49345 * util/i386/pc/grub-setup.c: ... this.
49346 * util/pupa-emu.c: Renamed to ...
49347 * util/grub-emu.c: ... this.
49348
e56cdf21 493492004-03-29 Marco Gerards <metgerards@student.han.nl>
49350
49351 Add support for the newworld apple macintosh (PPC). This has been
49352 tested on the powerbook 2000 only. It only adds support for
49353 generic ieee1275 functions, console and disk support. This should
49354 be easy to port to other architectures with support for Open
49355 Firmware.
f19dbdb7 49356
e56cdf21 49357 * configure.ac: Accept the powerpc as host_cpu. In the case of
49358 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49359 specific tests are only executed while building for the i386.
49360 Inverse test for crosscompile.
49361 * genmk.rb (Utility): Allow assembler files.
49362 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49363 * conf/powerpc-ieee1275.rmk: New file.
49364 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49365 * disk/powerpc/ieee1275/partition.c: Likewise.
49366 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49367 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49368 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49369 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49370 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49371 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49372 * include/pupa/powerpc/ieee1275/loader.h
49373 * include/pupa/powerpc/setjmp.h: Likewise.
49374 * include/pupa/powerpc/types.h: Likewise.
49375 * kern/powerpc/ieee1275/init.c: Likewise.
49376 * kern/powerpc/ieee1275/openfw.c: Likewise.
49377 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49378
49379 These files were written by Johan Rydberg
49380 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49381
e56cdf21 49382 * boot/powerpc/ieee1275/cmain.c: New file.
49383 * boot/powerpc/ieee1275/crt0.S: Likewise.
49384 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49385 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49386
8c8cc205 493872004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49388
49389 * Makefile.in: Update copyright.
49390 * genmodsrc.sh: Likewise.
49391 * gensymlist.sh: Likewise.
49392 * term/i386/pc/vga.c: Indent correctly.
49393
49394 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49395 bugreporting address.
49396 * util/i386/pc/pupa-setup.c (usage): Likewise,
49397 (main): Call pupa_ext2_init and pupa_ext2_fini.
49398
f19dbdb7 49399 * fs/fat.c (log2): Renamed to ...
8c8cc205 49400 (fat_log2): ... this.
49401 All callers changed.
49402 * kern/misc.c (memcpy): Alias to pupa_memmove.
49403 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49404 lvalue cast.
49405 * util/console.c (pupa_ncurses_fini): Return 0.
49406
49407 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49408 Move fail label here.
49409 [__GNU__]: Don't warn when using stat.
49410 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49411 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49412 long int. Use strtol instead of strtoul.
f19dbdb7 49413
db1771cf 494142004-03-14 Marco Gerards <metgerards@student.han.nl>
49415
49416 * commands/boot.c: New file.
49417 * commands/cat.c: Likewise.
49418 * commands/cmp.c: Likewise.
49419 * commands/ls.c: Likewise.
49420 * commands/terminal.c: Likewise.
49421 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49422 (pupa_register_command): Changed interface to match the new
49423 argument parser.
49424 (pupa_command_execute): Changed (almost rewritten) so it uses
49425 pupa_split_command. Added support for setting variables using the
49426 syntax `foo=bar'.
49427 (rescue_command): Changed to work with the new argument parser.
49428 (terminal_command): Moved from here to commands/terminal.c.
49429 (set_command): New function.
49430 (unset_command): New function.
49431 (insmod_command): New function.
49432 (rmmod_command): New function.
49433 (lsmod_command): New function.
49434 (pupa_command_init): Don't initialize the command terminal
49435 anymore. Initialize the commands set, unset, insmod, rmmod and
49436 lsmod.
49437 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49438 (kernel_img_HEADERS): Add arg.h and env.h.
49439 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49440 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49441 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49442 normal/arg.c.
49443 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49444 terminal.mod.
49445 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49446 (boot_mod_SOURCES): New variable.
49447 (terminal_mod_SOURCES): Likewise.
49448 (ls_mod_SOURCES): Likewise.
49449 (cmp_mod_SOURCES): Likewise.
49450 (cat_mod_SOURCES): Likewise.
49451
49452 * normal/arg.c: New file.
49453 * kern/env.c: Likewise.
49454 * include/pupa/arg.h: Likewise.
49455 * include/pupa/env.h: Likewise.
49456 * font/manager.c (font_command): Changed to match argument parsing
49457 interface changes.
49458 (PUPA_MOD_INIT): Likewise.
49459 * hello/hello.c (pupa_cmd_hello): Likewise.
49460 (PUPA_MOD_INIT): Likewise.
49461 * include/pupa/disk.h: Include <pupa/device.h>.
49462 (pupa_print_partinfo): New prototype.
49463 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49464 (pupa_dl_get_prefix): Likewise.
49465 * include/pupa/misc.h: Include <pupa/err.h>.
49466 (pupa_isgraph): New prototype.
49467 (pupa_isdigit): Likewise.
49468 (pupa_split_cmdline): Likewise.
49469 * include/pupa/normal.h: Include <pupa/arg.h>.
49470 (pupa_command): Changed the prototype of the member `func' to
49471 match the argument parsing interface. Added member `options'.
49472 (pupa_register_command): Updated to match function.
49473 (pupa_arg_parse): New prototype.
49474 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49475 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49476 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49477 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49478 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49479 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49480 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49481 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49482 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49483 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49484 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49485 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49486 * kern/disk.c: Include <pupa/file.h>.
49487 (pupa_print_partinfo): New function.
49488 * kern/dl.c: Include <pupa/env.h>.
49489 (pupa_dl_dir): Variable removed.
49490 (pupa_dl_load): Use the environment variable `prefix' instead of
49491 the variable pupa_dl_dir.
49492 (pupa_dl_set_prefix): Function removed.
49493 (pupa_dl_get_prefix): Likewise.
49494 * kern/i386/pc/init.c: Include <pupa/env.h>.
49495 (pupa_machine_init): Use the environment variable `prefix' instead of
49496 using pupa_dl_set_prefix to set the prefix.
49497 * kern/main.c: Include <pupa/env.h>.
49498 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49499 using pupa_dl_get_prefix to get the prefix.
49500 * kern/misc.c: Include <pupa/env.h>.
49501 (pupa_isdigit): New function.
49502 (pupa_isgraph): Likewise.
49503 (pupa_ftoa): Likewise.
49504 (pupa_vsprintf): Added support for printing values of the type
49505 `double'. Make it possible to format variable output when using
49506 formatting like `%1.2%f'.
49507 (pupa_split_cmdline): New function.
49508 * kern/rescue.c: Include <pupa/env.h>.
49509 (next_word): Removed function.
49510 (pupa_rescue_cmd_prefix): Likewise.
49511 (pupa_rescue_cmd_set): New function.
49512 (pupa_rescue_cmd_unset): New function.
49513 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49514 split the command line instead of splitting it here. Added
49515 support for setting variables using the syntax `foo=bar'. Don't
49516 initialize the prefix command anymore. Initialized the set and
49517 unset commands.
49518 * normal/cmdline.c: Include <pupa/env.h>.
49519 (pupa_tab_complete): Added prototypes for print_simple_completion,
49520 print_partition_completion, add_completion, iterate_commands,
49521 iterate_dev, iterate_part and iterate_dir. Moved code to print
49522 partition information from here to kern/disk.c.
fe6b695a 49523 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49524 * normal/main.c: Include <pupa/env.h>.
49525 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49526 instead of using pupa_dl_get_prefix to get the prefix.
49527 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49528 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49529 warning.
49530 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49531 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49532 ((unused))' to silence a gcc warning.
49533 (pupa_vga_setcolor): Likewise.
49534 (debug_command): Changed to match argument parsing
49535 interface changes.
49536 * util/pupa-emu.c: Include <pupa/env.h>.
49537 (options): Added 0's for unused fields to silence a gcc warning.
49538 (argp): Likewise.
49539 (main): Use the environment variable `prefix' instead of using
49540 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49541 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49542 and terminal.
49543
49544 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49545 * util/misc.c: Include <malloc.h>.
49546 (pupa_malloc): Rewritten so errors are correctly reported.
49547 (pupa_realloc): Likewise.
49548 (pupa_memalign): Likewise.
49549 (pupa_mm_init_region): Declare unused variables with
49550 `__attribute__ ((unused))' to silence a gcc warning.
49551 * normal/i386/setjmp.S: Remove tab at the end of the file to
49552 silence a gcc warning.
49553 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49554 variables with `__attribute__ ((unused))' to silence a gcc
49555 warning.
49556 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49557 local variable i unsigned to silence a gcc warning.
49558
49559 * kern/term.c: Include <pupa/misc.h>.
49560 (pupa_more_lines): New variable.
49561 (pupa_more): Likewise.
49562 (pupa_putcode): When the pager is active pause at the end of every
49563 screen.
49564 (pupa_set_more): New function.
49565 * include/pupa/term.h (pupa_set_more): New prototype.
49566
49567
3b1139cb 495682004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49569
49570 Now this project is GRUB 2 rather than PUPA. The location of
49571 the CVS repository was moved to GRUB's.
f19dbdb7 49572
3b1139cb 49573 * configure.ac: Use bug-grub as the reporting address.
49574 Use GRUB instead of PUPA.
49575 Change the version number to 1.90.
49576
8367695c 495772004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49578
49579 * genkernsyms.sh: Updated copyright information.
49580 * genmk.rb: Likewise.
49581 * genmodsrc.sh: Likewise.
49582 * gensymlist.sh: Likewise.
49583 * boot/i386/pc/boot.S: Likewise.
49584 * boot/i386/pc/diskboot.S: Likewise.
49585 * disk/i386/pc/biosdisk.c: Likewise.
49586 * disk/i386/pc/partition.c: Likewise.
49587 * font/manager.c: Likewise.
49588 * fs/ext2.c: Likewise.
49589 * fs/fat.c: Likewise.
49590 * include/pupa/boot.h: Likewise.
49591 * include/pupa/device.h: Likewise.
49592 * include/pupa/disk.h: Likewise.
49593 * include/pupa/dl.h: Likewise.
49594 * include/pupa/elf.h: Likewise.
49595 * include/pupa/err.h: Likewise.
49596 * include/pupa/file.h: Likewise.
49597 * include/pupa/font.h: Likewise.
49598 * include/pupa/fs.h: Likewise.
49599 * include/pupa/kernel.h: Likewise.
49600 * include/pupa/loader.h: Likewise.
49601 * include/pupa/misc.h: Likewise.
49602 * include/pupa/mm.h: Likewise.
49603 * include/pupa/net.h: Likewise.
49604 * include/pupa/normal.h: Likewise.
49605 * include/pupa/rescue.h: Likewise.
49606 * include/pupa/setjmp.h: Likewise.
49607 * include/pupa/symbol.h: Likewise.
49608 * include/pupa/term.h: Likewise.
49609 * include/pupa/types.h: Likewise.
49610 * include/pupa/i386/setjmp.h: Likewise.
49611 * include/pupa/i386/types.h: Likewise.
49612 * include/pupa/i386/pc/biosdisk.h: Likewise.
49613 * include/pupa/i386/pc/boot.h: Likewise.
49614 * include/pupa/i386/pc/console.h: Likewise.
49615 * include/pupa/i386/pc/init.h: Likewise.
49616 * include/pupa/i386/pc/kernel.h: Likewise.
49617 * include/pupa/i386/pc/linux.h: Likewise.
49618 * include/pupa/i386/pc/loader.h: Likewise.
49619 * include/pupa/i386/pc/memory.h: Likewise.
49620 * include/pupa/i386/pc/multiboot.h: Likewise.
49621 * include/pupa/i386/pc/partition.h: Likewise.
49622 * include/pupa/i386/pc/time.h: Likewise.
49623 * include/pupa/i386/pc/vga.h: Likewise.
49624 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49625 * include/pupa/util/getroot.h: Likewise.
49626 * include/pupa/util/misc.h: Likewise.
49627 * include/pupa/util/resolve.h: Likewise.
49628 * kern/device.c: Likewise.
49629 * kern/disk.c: Likewise.
49630 * kern/dl.c: Likewise.
49631 * kern/err.c: Likewise.
49632 * kern/file.c: Likewise.
49633 * kern/fs.c: Likewise.
49634 * kern/loader.c: Likewise.
49635 * kern/main.c: Likewise.
49636 * kern/misc.c: Likewise.
49637 * kern/mm.c: Likewise.
49638 * kern/rescue.c: Likewise.
49639 * kern/term.c: Likewise.
49640 * kern/i386/dl.c: Likewise.
49641 * kern/i386/pc/init.c: Likewise.
49642 * kern/i386/pc/lzo1x.S: Likewise.
49643 * kern/i386/pc/startup.S: Likewise.
49644 * loader/i386/pc/chainloader.c: Likewise.
49645 * loader/i386/pc/linux.c: Likewise.
49646 * loader/i386/pc/multiboot.c: Likewise.
49647 * normal/cmdline.c: Likewise.
49648 * normal/command.c: Likewise.
49649 * normal/main.c: Likewise.
49650 * normal/menu.c: Likewise.
49651 * normal/i386/setjmp.S: Likewise.
49652 * term/i386/pc/console.c: Likewise.
49653 * term/i386/pc/vga.c: Likewise.
49654 * util/console.c: Likewise.
49655 * util/genmoddep.c: Likewise.
49656 * util/misc.c: Likewise.
49657 * util/pupa-emu.c: Likewise.
49658 * util/resolve.c: Likewise.
49659 * util/unifont2pff.rb: Likewise.
49660 * util/i386/pc/biosdisk.c: Likewise.
49661 * util/i386/pc/getroot.c: Likewise.
49662 * util/i386/pc/pupa-mkimage.c: Likewise.
49663 * util/i386/pc/pupa-setup.c: Likewise.
49664
e6eced71 496652004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49666
49667 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49668 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49669 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49670 reading and reset it after reading.
49671 (pupa_ext2_close): Return PUPA_ERR_NONE.
49672
49673 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49674 Correct value.
49675 (struct linux_kernel_header): Add kernel_version and
49676 initrd_addr_max.
49677 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49678 pupa_file_read succeeds.
49679 (pupa_rescue_cmd_initrd): Implement.
49680
5aded270 496812003-12-03 Marco Gerards <metgerards@student.han.nl>
49682
49683 * fs/ext2.c (pupa_ext2_label): New function.
49684 (pupa_ext2_fs): Added label.
49685 * fs/fat.c (pupa_fat_label): New function.
49686 (pupa_fat_fs): Added label.
49687 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49688
49689 * kern/misc.c (pupa_strndup): New function.
49690 * include/pupa/misc.h (pupa_strndup): New prototype.
49691
49692 * include/pupa/normal.h: Include <pupa/err.h>.
49693 (pupa_set_history): New prototype.
49694 (pupa_iterate_commands): New prototype.
49695 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49696 <pupa/disk.h>, <pupa/file.h>.
49697 (hist_size): New variable.
49698 (hist_lines): Likewise.
49699 (hist_end): Likewise.
49700 (hist_used): Likewise.
49701 (pupa_set_history): New function.
49702 (pupa_history_get): Likewise.
49703 (pupa_history_add): Likewise.
49704 (pupa_history_replace): Likewise.
49705 (pupa_tab_complete): Likewise.
49706 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49707 completion shows partitionnames while completing partitions, this
49708 feature was suggested by Jeff Bailey.
49709 * normal/command.c (pupa_iterate_commands): New function.
49710 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49711 (pupa_normal_init): Initialize history buffer.
49712 (PUPA_MOD_INIT): Likewise.
49713 (pupa_normal_fini): Free the history buffer.
49714 (PUPA_MOD_FINI): Likewise.
49715
49716 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49717 key.
49718
49719 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49720 * configure.ac [i386]: Check for regparam bug.
49721 (NESTED_FUNC_ATTR) [! i386]: Defined.
49722
1f7315a3 497232003-11-17 Marco Gerards <metgerards@student.han.nl>
49724
49725 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49726 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49727 (pupa_emu_SOURCES): New variable.
49728 (pupa_emu_LDFLAGS): Likewise.
49729 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49730 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49731 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49732 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49733 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49734 (pupa_jmp_buf): New typedef.
49735 (pupa_setjmp) [PUPA_UTIL]: New macro.
49736 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49737 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49738 (pupa_refresh): New prototype.
49739 * include/pupa/util/getroot.h: New file.
49740 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49741 it.
49742 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49743 (pupa_rescue_cmd_cat): Likewise.
49744 (pupa_rescue_cmd_ls): Likewise.
49745 (pupa_rescue_cmd_testload): Likewise.
49746 (pupa_rescue_cmd_lsmod): Likewise.
49747 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49748 * normal/menu.c (run_menu): Likewise.
49749 * kern/term.c (pupa_cls): Likewise.
49750 (pupa_refresh): New function.
49751 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49752 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49753 * util/console.c: New file.
f19dbdb7 49754
1f7315a3 49755 * util/i386/pc/getroot.c: New file.
49756 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49757 (pupa_putchar): New function.
49758 (pupa_refresh): Likewise.
49759 (xgetcwd): Function moved to ...
49760 (strip_extra_slashes): Likewise.
49761 (get_prefix): Likewise.
f19dbdb7 49762 * util/i386/pc/getroot.c: ... here.
1f7315a3 49763 (find_root_device): Function moved and renamed to...
49764 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49765 Changed all callers.
49766 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49767 and renamed to...
49768 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49769 Changed all callers.
49770 * util/misc.c (pupa_memalign): New function.
49771 (pupa_mm_init_region): Likewise.
49772 (pupa_register_exported_symbols): Likewise.
49773 (pupa_putchar): Function removed.
49774 * util/pupa-emu.c: New file.
49775
9a5c1ade 497762003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49777
49778 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49779 (_multiboot_mod_SOURCES): New variable.
49780 (_multiboot_mod_CFLAGS): Likewise.
49781 * loader/i386/pc/multiboot.c: New file.
49782 * include/pupa/i386/pc/multiboot.h: Likewise.
49783 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49784 (pupa_multiboot_real_boot): New function.
49785 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49786 (pupa_multiboot_real_boot): New prototype.
49787 (pupa_rescue_cmd_multiboot): Likewise
49788 (pupa_rescue_cmd_module): Likewise.
49789
49790 * kern/loader.c (pupa_loader_set): Continue when
49791 pupa_loader_unload_func() fails.
49792 (pupa_loader_unset): New function.
49793 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49794
49795 * kern/misc.c (pupa_stpcpy): New function.
49796 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49797
8e72a9c0 497982003-11-12 Marco Gerards <metgerards@student.han.nl>
49799
49800 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49801 for available extensions.
49802
49803 * include/pupa/i386/pc/time.h: New file.
49804 * kern/disk.c: Include <pupa/machine/time.h>.
49805 (PUPA_CACHE_TIMEOUT): New macro.
49806 (pupa_last_time): New variable.
49807 (pupa_disk_open): Flush the cache when there was a timeout.
49808 (pupa_disk_close): Reset the timer.
49809 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49810 pupa_currticks.
49811 * util/misc.c: Include <sys/times.h>
49812 (pupa_get_rtc): New function.
49813
c4adbd32 498142003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49815
49816 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49817 as blocks.
49818 (pupa_ext2_get_file_block): Use blocks member.
49819
49820 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49821 first block. Return -1 instead of pupa_errno on error.
49822
bfd30f06 498232003-10-27 Marco Gerards <metgerards@student.han.nl>
49824
49825 * README: In the pupa-mkimage example use _chain instead of chain
49826 and ext2 instead of fat.
49827 * TODO: Replace ext2fs with jfs as an example. Add an item for
49828 adding journal playback for ext2fs.
49829 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49830 (pkgdata_MODULES): Added ext2.mod.
49831 (ext2_mod_SOURCES): New variable.
49832 (ext2_mod_CFLAGS): Likewise.
49833 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49834 * include/pupa/misc.h (pupa_strncpy): New prototype.
49835 (pupa_strcat): Likewise.
49836 (pupa_strncmp): Likewise.
49837 * kern/misc.c (pupa_strcat): Enable function.
49838 (pupa_strncpy): New function.
49839 (pupa_strncmp): Likewise.
49840 * fs/ext2.c: New file.
f19dbdb7 49841
bfd30f06 49842 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49843 when the read failed before retrying.
49844 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49845 (_FILE_OFFSET_BITS): Likewise.
49846 * configure.ac: Added AC_SYS_LARGEFILE.
49847
98d15063 498482003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49849
49850 * genmk.rb (PModule#rule): Make sure to get only symbol names
49851 from the output of nm.
59cad637 49852 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49853
18d9c7cd 498542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49855
49856 I forgot to check in these changes for a long time. This adds
49857 incomplete support for VGA console, and this is still very
49858 buggy. Also, a lot of consideration is required for I18N,
49859 UNICODE, and VGA font issues. Therefore, assume that this is
49860 such that "better than nothing".
f19dbdb7 49861
18d9c7cd 49862 * font/manager.c: New file.
49863 * include/pupa/font.h: Likewise.
49864 * include/pupa/i386/pc/vga.h: Likewise.
49865 * term/i386/pc/vga.c: Likewise.
49866 * util/unifont2pff.rb: Likewise.
49867
49868 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49869 (pkgdata_MODULES): Added vga.mod and font.mod.
49870 (vga_mod_SOURCES): New variables.
49871 (vga_mod_CFLAGS): Likewise.
49872 (font_mod_SOURCES): Likewise.
49873 (font_mod_CFLAGS): Likewise.
49874
49875 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49876
49877 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49878 (struct pupa_term): Added init and fini.
18d9c7cd 49879 Changed the argument of putchar to pupa_uint32_t.
49880
49881 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49882 (pupa_console_real_putchar): New prototype.
49883 (pupa_console_putchar): Removed.
49884 (pupa_console_checkkey): Exported.
49885 (pupa_console_getkey): Likewise.
49886
49887 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49888 characters.
49889
49890 * kern/term.c (pupa_term_set_current): Rewritten.
49891 (pupa_putchar): Likewise.
49892 (pupa_putcode): New function.
49893
49894 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49895 (pupa_console_real_putchar): ... this.
49896 (pupa_vga_set_mode): New function.
49897 (pupa_vga_get_font): Likewise.
49898
49899 * normal/command.c: Include pupa/term.h.
49900 (terminal_command): New function.
49901 (pupa_command_init): Register the command "terminal".
49902
49903 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49904 (DISP_UP): Likewise.
49905 (DISP_RIGHT): Likewise.
49906 (DISP_DOWN): Likewise.
49907 (DISP_HLINE): Likewise.
49908 (DISP_VLINE): Likewise.
49909 (DISP_UL): Likewise.
49910 (DISP_UR): Likewise.
49911 (DISP_LL): Likewise.
49912 (DISP_LR): Likewise.
49913
49914 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49915
977329f5 499162003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49917
49918 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49919 FIX. Reverse the path_list.
49920
49921 * include/pupa/normal.h: Export pupa_register_command and
49922 pupa_unregister_command.
49923
49924 * hello/hello.c (pupa_cmd_hello): New module.
49925 * conf/i386-pc.rmk: Added hello.mod.
49926
1f5ab428 499272003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49928
49929 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49930
1f5ab428 49931 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49932 (compress_kernel): New variable.
49933 (generate_image): Heavily modified to support compressing a
49934 large part of the core image.
49935
49936 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49937 leak.
49938 (pupa_util_load_image): New function.
49939
49940 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49941 (pupa_compressed_size): New variable.
49942 (codestart): Enable Gate A20 here.
49943 Decompress the compressed part of the core image.
49944 Rearrange the code to put functions and variables which are
49945 required for initialization in the non-compressed part.
49946 Include lzo1x.S.
49947
49948 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49949 here.
49950
49951 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49952
f19dbdb7 49953 * include/pupa/i386/pc/kernel.h
1f5ab428 49954 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49955 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49956 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49957 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49958 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49959
49960 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49961
49962 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49963 (Utility#rule): Likewise.
49964
49965 * configure.ac: Check if LZO is available.
49966
ce5bf700 499672003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49968
49969 * include/pupa/normal.h: New file.
49970 * include/pupa/setjmp.h: Likewise.
49971 * include/pupa/i386/setjmp.h: Likewise.
49972 * normal/cmdline.c: Likewise.
49973 * normal/command.c: Likewise.
49974 * normal/main.c: Likewise.
49975 * normal/menu.c: Likewise.
49976 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49977
ce5bf700 49978 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49979 (pupa_rescue_cmd_initrd): Likewise.
49980
49981 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49982 Likewise.
49983
49984 * kern/i386/pc/startup.S (translation_table): New variable.
49985 (translate_keycode): New function.
49986 (pupa_console_getkey): Call translate_keycode.
49987
49988 * kern/rescue.c (attempt_normal_mode): New function.
49989 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49990 it failed, print a message.
49991
49992 * kern/mm.c (pupa_real_malloc): Print more information when a
49993 free magic is broken.
49994 (pupa_free): If the first free header is not free actually, set
49995 it to P.
49996
49997 * kern/main.c (pupa_load_normal_mode): Just load the module
49998 "normal".
49999 (pupa_main): Don't print the message
50000 "Entering into rescue mode..." here.
50001
50002 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50003 Declared.
50004 (pupa_rescue_cmd_initrd): Likewise.
50005 (pupa_rescue_cmd_initrd): Likewise.
50006
50007 * include/pupa/symbol.h (FUNCTION): Specify the type.
50008 (VARIABLE): Likewise.
50009
50010 * include/pupa/err.h (pupa_err_t): Added
50011 PUPA_ERR_UNKNOWN_COMMAND.
50012
50013 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50014 (pupa_dl_get_prefix): Likewise.
50015
50016 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50017 Added _chain.mod and _linux.mod instead of chain.mod and
50018 linux.mod.
50019 (chain_mod_SOURCES): Renamed to ...
50020 (_chain_mod_SOURCES): ... this.
50021 (chain_mod_CFLAGS): Renamed to ...
50022 (_chain_mod_CFLAGS): ... this.
50023 (linux_mod_SOURCES): Renamed to ...
50024 (_linux_mod_SOURCES): ... this.
50025 (linux_mod_CFLAGS): Renamed to ...
50026 (_linux_mod_CFLAGS): ... this.
50027 (normal_mod_SOURCES): New variable.
50028 (normal_mod_CFLAGS): Likewise.
50029 (normal_mod_ASFLAGS): Likewise.
50030
500312003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50032
50033 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50034 possible.
50035
fe6b695a 50036 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50037 recursively.
50038 (pupa_dl_unref): Unrefer depending modules recursively.
50039 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50040 a module is unloaded before one depending on that module is
50041 unloaded.
50042 (pupa_dl_unload): Unload depending modules explicitly,
50043 if possible.
50044
c04da074 500452003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50046
50047 * include/pupa/i386/pc/linux.h: New file.
50048 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50049
c04da074 50050 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50051 Removed.
50052 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50053 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50054 of PUPA_CHAINLOADER_BOOT_SECTOR.
50055
50056 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50057 (pupa_linux_prot_size): New variable.
50058 (pupa_linux_tmp_addr): Likewise.
50059 (pupa_linux_real_addr): Likewise.
50060 (pupa_linux_boot_zimage): New function.
50061 (pupa_linux_boot_bzimage): Likewise.
50062
50063 * kern/i386/pc/init.c (struct mem_region): New structure.
50064 (MAX_REGIONS): New macro.
50065 (mem_regions): New variable.
50066 (num_regions): Likewise.
50067 (pupa_os_area_addr): Likewise.
50068 (pupa_os_area_size): Likewise.
50069 (pupa_lower_mem): Likewise.
50070 (pupa_upper_mem): Likewise.
50071 (add_mem_region): New function.
50072 (compact_mem_regions): Likewise.
50073 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50074 the size of the conventional memory and that of so-called upper
50075 memory (before the first memory hole).
50076 Instead of adding each found region to free memory, use
50077 add_mem_region and add them after removing overlaps.
50078 Also, add only 1/4 of the upper memory to free memory. The rest
50079 is used for loading OS images. Maybe this is ad hoc, but this
50080 makes it much easier to relocate OS images when booting.
50081
50082 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50083 (pupa_enter_rescue_mode): Don't register initrd and module.
50084
50085 * kern/mm.c: Include pupa/dl.h.
50086
50087 * kern/main.c: Include pupa/file.h and pupa/device.h.
50088
50089 * kern/loader.c (pupa_loader_load_module_func): Removed.
50090 (pupa_loader_load_module): Likewise.
50091
50092 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50093 ``.o''.
50094
50095 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50096 (pupa_linux_tmp_addr): Likewise.
50097 (pupa_linux_real_addr): Likewise.
50098 (pupa_linux_boot_zimage): Likewise.
50099 (pupa_linux_boot_bzimage): Likewise.
50100
50101 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50102 (pupa_upper_mem): Likewise.
50103 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50104 module is too dangerous.
50105
50106 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50107 (pupa_os_area_size): Likewise.
50108 (pupa_loader_set): Remove the first argument. Loader doesn't
50109 manage modules or initrd any longer.
50110 (pupa_loader_load_module): Removed.
50111
50112 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50113 (linux_mod_SOURCES): New variable.
50114 (linux_mod_CFLAGS): Likewise.
50115
a13f9237 501162003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50117
50118 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50119 the length of a blocklist correctly.
50120
50121 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50122 Use ioctl only if the OS file is a block device.
50123 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50124 not very useful for normal files.
50125
50126 * kern/main.c (pupa_set_root_dev): New function.
50127 (pupa_load_normal_mode): Likewise.
50128 (pupa_main): Call those above.
50129
50130 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50131 pupa_uint16_t.
50132
50133 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50134
a5ffe966 501352003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50136
50137 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50138 (setup): Configure the installed partition information and the
50139 dl prefix.
50140
50141 * loader/i386/pc/chainloader.c (my_mod): New variable.
50142 (pupa_chainloader_unload): New function.
50143 (pupa_rescue_cmd_chainloader): Refer itself.
50144 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50145
50146 * kern/i386/pc/startup.S (install_partition): Removed.
50147 (version_string): Likewise.
50148 (config_file): Likewise.
50149 (pupa_install_dos_part): New variable.
50150 (pupa_install_bsd_part): Likewise.
50151 (pupa_prefix): Likewise.
50152 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50153
50154 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50155 and pupa/misc.h.
50156 (make_install_device): New function.
50157 (pupa_machine_init): Set the dl prefix.
50158
50159 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50160 (buf): Renamed to ...
50161 (linebuf): ... this.
50162 (pupa_rescue_cmd_prefix): New function.
50163 (pupa_rescue_cmd_insmod): Likewise.
50164 (pupa_rescue_cmd_rmmod): Likewise.
50165 (pupa_rescue_cmd_lsmod): Likewise.
50166 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50167 rmmod and lsmod.
50168
50169 * kern/mm.c (pupa_memalign): If failed even after invalidating
50170 disk caches, unload unneeded modules and retry.
50171
50172 * kern/misc.c (pupa_memmove): New function.
50173 (pupa_memcpy): Removed.
50174 (pupa_strcpy): New function.
50175 (pupa_itoa): Made static.
50176
50177 * kern/dl.c (pupa_dl_iterate): New function.
50178 (pupa_dl_ref): Likewise.
50179 (pupa_dl_unref): Likewise.
50180 (pupa_dl_unload): Return if succeeded or not.
50181 (pupa_dl_unload_unneeded): New function.
50182 (pupa_dl_unload_all): Likewise.
50183 (pupa_dl_init): Renamed to ...
50184 (pupa_dl_set_prefix): ... this.
50185 (pupa_dl_get_prefix): New function.
50186
50187 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50188 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50189 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50190 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50191 (pupa_install_dos_part): Declared.
50192 (pupa_install_bsd_part): Likewise.
50193 (pupa_prefix): Likewise.
50194 (pupa_boot_drive): Likewise.
50195
50196 * include/pupa/types.h: Fix a typo.
50197
50198 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50199 pupa_memmove.
50200 (pupa_memmove): Declared.
50201 (pupa_strcpy): Likewise.
50202
50203 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50204 pupa_mod_init takes one argument, its own module.
50205 (pupa_dl_unload_unneeded): Declared.
50206 (pupa_dl_unload_all): Likewise.
50207 (pupa_dl_ref): Likewise.
50208 (pupa_dl_unref): Likewise.
50209 (pupa_dl_iterate): Likewise.
50210 (pupa_dl_init): Renamed to ...
50211 (pupa_dl_set_prefix): ... this.
50212 (pupa_dl_get_prefix): Declared.
50213
50214 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50215 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50216 unloaded.
50217 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50218 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50219
50220 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50221 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50222
012d7999 502232003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50224
50225 * util/i386/pc/pupa-setup.c (setup): Define the internal
50226 function find_first_partition_start at the top level, because GCC
50227 3.0.x cannot compile internal functions in deeper scopes
50228 correctly.
50229 (find_root_device): Use lstat instead of stat.
50230 Don't follow symbolic links.
50231 Fix the path-constructing code.
50232
50233 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50234 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50235 by a BLKGETSIZE ioctl first, because block devices don't fill
50236 the member st_mode of the structure stat on Linux.
50237 [__linux__] (linux_find_partition): Use a temporary buffer
50238 REAL_DEV for the working space. Copy it to DEV before returning.
50239 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50240 buffer cache consistent.
50241 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50242 strncmp. The previous value was merely wrong.
50243 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50244
50245 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50246 FAT size is 12. The previous value was merely wrong.
50247
50248 * kern/main.c (pupa_main): Don't split the starting message from
50249 newlines.
50250
50251 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50252 LF, because BIOS goes crazy about character attributes in this
50253 case.
50254
1cc73a62 502552003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50256
50257 * include/i386/pc/util/biosdisk.h: New file.
50258 * util/i386/pc/biosdisk.c: Likewise.
50259 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50260
1cc73a62 50261 * Makefile.in (INCLUDE_DISTFILES): Added
50262 include/pupa/i386/pc/util/biosdisk.h.
50263 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50264 directory util/i386/pc.
50265 (install-local): Added a rule for sbin_UTILITIES.
50266 (uninstall): Likewise.
50267
50268 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50269
50270 * util/misc.c (xrealloc): New function.
50271 (pupa_malloc): Likewise.
50272 (pupa_free): Likewise.
50273 (pupa_realloc): Likewise.
50274 (pupa_stop): Likewise.
50275 (pupa_putchar): Likewise.
50276
50277 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50278
50279 * include/pupa/util/misc.h (xrealloc): Declared.
50280
50281 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50282 macro.
50283 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50284 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50285
50286 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50287 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50288
50289 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50290 way should be implemented.
50291 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50292
50293 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50294 the size of NAME for safety.
50295 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50296 0x88.
50297
50298 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50299 (pupa_setup_SOURCES): Likewise.
50300
50301 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50302
08b70fe8 503032002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50304
50305 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50306 bunch of pushl's from pusha, because this destroys the return
50307 value.
50308
62ddcc8f 503092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50310
50311 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50312 This means that any missing prototypes could be fatal. Also, you
50313 must take care when writing assembly code. See the comments at
50314 the beginning of startup.S, for more details.
f19dbdb7 50315
62ddcc8f 50316 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50317 compilation mechanism.
50318 (pupa_chainloader_real_boot): Likewise.
50319 (pupa_biosdisk_rw_int13_extensions): Likewise.
50320 (pupa_biosdisk_rw_standard): Likewise.
50321 (pupa_biosdisk_check_int13_extensions): Likewise.
50322 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50323 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50324 (pupa_get_memsize): Likewise.
50325 (pupa_get_mmap_entry): Likewise.
50326 (pupa_console_putchar): Likewise.
50327 (pupa_console_setcursor): Likewise.
50328 (pupa_getrtsecs): Use pushl instead of push.
50329
50330 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50331 memory instead of the stack for a mmap entry, because some
50332 BIOSes may ignore the maximum size and overflow.
50333
50334 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50335
50336 * genmk.rb (PModule#rule): Compile automatically generated
50337 sources with module-specific CFLAGS as well as other sources.
50338
9962ed99 503392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50340
50341 * configure.ac: Check ld.
50342 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50343 respectively, before checking endianness and sizes.
50344
50345 * Makefile.in (LD): New variable.
f19dbdb7 50346
abdfc3c5 503472002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50348
50349 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50350
6a161fa9 503512002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50352
50353 * Changelog: New file.
50354